]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
[grub2.git] / ChangeLog
1 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4 New function.
5 (add_length): Likewise.
6 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
7 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
8 proto.
9 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10 __argp_get_display_len.
11
12 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13
14 $"..." support in scripts.
15
16 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
17 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
18 * grub-core/script/yylex.l: Likewise.
19 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
20 value.
21
22 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * gentpl.py: Remove obsolete pkglib_DATA handling.
25
26 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
27
28 Don't transform PACKAGE_TARNAME following a discussion on autoconf
29 mailing list.
30
31 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
32 * util/grub-kbdcomp.in: Likewise.
33 * util/grub-mkconfig.in: Likewise.
34 * util/grub-mkconfig_lib.in: Likewise.
35 * util/grub-mknetdir.in: Likewise.
36 * util/grub-mkrescue.in: Likewise.
37 * util/grub-mkstandalone.in: Likewise.
38 * util/grub-reboot.in: Likewise.
39 * util/grub-set-default.in: Likewise.
40 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
41
42 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
43
44 Remove GRUB_PREFIX.
45
46 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
47 * util/grub.d/00_header.in: Compute prefix in the only place it's still
48 used for backward compatibility.
49
50 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Add new all_video module.
53
54 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
55 * grub-core/Makefile.core.def (all_video): New module.
56 * grub-core/genmoddep.awk: Generate dependency of all_video from
57 video.lst.
58 * grub-core/lib/fake_module.c: New file.
59 * grub-core/normal/main.c (features): Add feature_all_video_module.
60 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
61 don't do explicit search again.
62 insmod all_video in load_video if available.
63
64 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Another round of string clarification and adding TRANSLATORS comments.
67
68 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
71
72 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
75 to grub_ssize_t.
76 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
77 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
78
79 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
82 trailing newline implicitly. All users updated.
83
84 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
85
86 Implement serial on IEEE1275 and EFI.
87
88 * docs/grub.texi (Platform-specific limitations): Fix the columen video
89 on emu. Mention arc and emu as the only platforms without serial
90 support.
91 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
92 ieee1275 platforms.
93 * grub-core/term/efi/serial.c: New file.
94 * grub-core/term/ieee1275/serial.c: Likewise.
95 * grub-core/term/serial.c (grub_serial_find): Disable direct port
96 specification if no ns8250 driver is available.
97 (grub_cmd_serial): Likewise.
98 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
99 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
100 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
101 (grub_efi_parity_type_t): New type.
102 (grub_efi_stop_bits_t): Likewise.
103 (grub_efi_serial_io_interface): New struct.
104 * include/grub/serial.h (grub_serial_port): Make 'broken' field
105 available for all interfaces.
106 Add EFI and IEEE1275 fields.
107 (grub_ofserial_init): New proto.
108 (grub_efiserial_init): Likeiwse.
109 * util/grub.d/00_header.in: Don't check for the presence of serial
110 module.
111
112 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
115 name as if it was an alias.
116
117 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
118
119 * grub-core/commands/lsacpi.c (options): Fix typo.
120
121 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
122
123 Convert grub-emu to argp.
124
125 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
126 emu.
127 * util/argp_common.c: Rename to ...
128 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
129 Add missing includes.
130 * grub-core/kern/emu/main.c: Convert to argp.
131 * po/POTFILES.in: Regenerate.
132 * util/grub-install.in (usage): Make first letter lowcase in messages
133 for uniformity.
134 * util/grub-setup.c (options): Likewise.
135
136 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
137
138 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
139 Put back accidently commented-out code.
140
141 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
144 loop check using Brent algorithm.
145 (grub_hfsplus_btree_search): Likewise.
146
147 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
148
149 * util/grub-install.in: Fix usage of wrong device for PreP install.
150
151 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
152
153 * conf/Makefile.common (CFLAGS_GNULIB): Add
154 -Wno-unsafe-loop-optimizations.
155 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
156 on tools.
157 * grub-core/commands/legacycfg.c: Add pragma to skip
158 -Wunsafe-loop-optimizations.
159 (check_password_md5_real): Fix loop counter type.
160 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
161 reading.
162 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
163 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
164 loop condition.
165 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
166 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
167 * grub-core/net/net.c (grub_net_route_address): Add safety loop
168 condition.
169 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
170 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
171 avoid possible infinite loops.
172 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
173 and -Wunsafe-loop-optimizations.
174 * grub-core/script/yylex.l: Likewise.
175 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
176 (print_glyphs): Avoid infinite loops.
177 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
178
179 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
180
181 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
182 to avoid infinite loop.
183 (disp_acpi_rsdt_table): Likewise.
184
185 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
186
187 * grub-core/font/font.c (grub_font_load): Add support for default
188 path for fonts ($prefix/fonts).
189 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
190 for checking if string is a path.
191 * grub-core/normal/main.c (features): Add feature_default_font_path.
192 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
193 * util/grub.d/00_header.in: Use default directory if possible.
194 * util/grub-install.in: Install unicode.pf2.
195
196 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
197
198 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
199 * po/Rules-swiss: New file.
200 * po/swiss.sed: Likewise.
201
202 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/fs/btrfs.c (find_device): Fix typos.
205 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
206 * util/grub-mkrelpath.c (argp_parser): Likewise.
207 Reported by: Yuri Chornoivan.
208
209 2012-02-23 Dalet Omega <daletomega@gmail.com>
210
211 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
212 for usual informative messages.
213
214 2012-02-23 Dalet Omega <daletomega@gmail.com>
215
216 Starfield theme.
217
218 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
219 * conf/Makefile.common: Define starfielddir.
220 * configure.ac: Configure starfield.
221 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
222 * themes/starfield/README: Likewise.
223 * themes/starfield/blob_w.png: Likewise.
224 * themes/starfield/boot_menu_c.png: Likewise.
225 * themes/starfield/boot_menu_e.png: Likewise.
226 * themes/starfield/boot_menu_n.png: Likewise.
227 * themes/starfield/boot_menu_ne.png: Likewise.
228 * themes/starfield/boot_menu_nw.png: Likewise.
229 * themes/starfield/boot_menu_s.png: Likewise.
230 * themes/starfield/boot_menu_se.png: Likewise.
231 * themes/starfield/boot_menu_sw.png: Likewise.
232 * themes/starfield/boot_menu_w.png: Likewise.
233 * themes/starfield/slider_c.png: Likewise.
234 * themes/starfield/slider_n.png: Likewise.
235 * themes/starfield/slider_s.png: Likewise.
236 * themes/starfield/src/blob_nw.xcf: Likewise.
237 * themes/starfield/src/bootmenu/: Likewise.
238 * themes/starfield/src/bootmenu/center.xcf: Likewise.
239 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
240 * themes/starfield/src/bootmenu/side.xcf: Likewise.
241 * themes/starfield/src/slider_c.xcf: Likewise.
242 * themes/starfield/src/slider_n.xcf: Likewise.
243 * themes/starfield/src/slider_s.xcf: Likewise.
244 * themes/starfield/src/terminalbox/: Likewise.
245 * themes/starfield/src/terminalbox/center.xcf: Likewise.
246 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
247 * themes/starfield/src/terminalbox/side.xcf: Likewise.
248 * themes/starfield/starfield.png: Likewise.
249 * themes/starfield/terminal_box_c.png: Likewise.
250 * themes/starfield/terminal_box_e.png: Likewise.
251 * themes/starfield/terminal_box_n.png: Likewise.
252 * themes/starfield/terminal_box_ne.png: Likewise.
253 * themes/starfield/terminal_box_nw.png: Likewise.
254 * themes/starfield/terminal_box_s.png: Likewise.
255 * themes/starfield/terminal_box_se.png: Likewise.
256 * themes/starfield/terminal_box_sw.png: Likewise.
257 * themes/starfield/terminal_box_w.png: Likewise.
258 * themes/starfield/theme.txt: Likewise.
259
260 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * util/grub.d/00_header.in: Add missing export theme.
263
264 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
265
266 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
267 already included.
268 Reported by: Eren D.
269
270 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
271
272 * conf/Makefile.common (grubdatadir): Removed.
273 (Makefile.am): Move eveything grubdata to pkgdata.
274
275 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * grub-core/commands/acpihalt.c (get_sleep_type):
278 Remove unused variable.
279
280 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
283 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
284 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
285 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
286 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
287 i18n with gettext no-op.
288 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
289 GRUB_ACPI_OPCODE_STRING_CONST.
290 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
291 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
292
293 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
294
295 * po/POTFILES.in: Regenerate.
296
297 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
300 -Wno-error=missing-noreturn.
301
302 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
305 condition to avoid possibly infinite loops.
306 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
307 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
308
309 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
310
311 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
312 condition to avoid possibly infinite loops.
313
314 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
315
316 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
317 on show_error.
318
319 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
322
323 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
324
325 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
326
327 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
328
329 * util/bin2h.c (usage): Add missing attribute noreturn.
330
331 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
332
333 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
334 if the size isn't divisible by 512.
335
336 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
337
338 Make list_push and list_remove functions rather than inline functions
339 to decrease size and avoid aliasing violations.
340
341 * include/grub/list.h (grub_list_push): Move to ...
342 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
343 * include/grub/list.h (grub_list_remove): Move to ...
344 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
345
346 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
349 and -Wunused-result.
350
351 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
354 Reported by: Seth Goldberg
355
356 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
359
360 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
361
362 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
363 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
364 command line.
365 * docs/grub.texi (Simple configuration): Document
366 GRUB_CMDLINE_GNUMACH.
367
368 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * conf/Makefile.common (platform_SCRIPTS): New variable.
371 (platform_PROGRAMS): Likewise.
372 * gentpl.py: Mark *,module and *.image for install.
373 * grub-core/gdb_grub.in: Add a notice of expected environment.
374 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
375 (gmodule.pl): Likewise.
376
377 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Replace grub_checkkey with grub_getkey_noblock.
380
381 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
382 (grub_getkey_noblock): ... this. All users updated.
383
384 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/kern/emu/console.c: Move to ...
387 * grub-core/term/emu/console.c: ...here.
388 (grub_ncurses_getkey): Fix return value if no key is detected.
389
390 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
391
392 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
393 (grub_unit_test_fini): Likewise.
394 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
395
396 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * include/grub/test.h (GRUB_UNIT_TEST)
399
400 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/script/execute.c (grub_script_break): Clarify logic.
403 Better error handling.
404 (grub_script_return): Likewise.
405 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
406
407 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
410 rimplicit redifinition.
411
412 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
413
414 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
415 GRUB.
416
417 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
418
419 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
420 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
421 prompt here.
422
423 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
426 as GRUB_ERR_BUG. Don't malloc if no device is available.
427
428 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
431 Mark calling with invalid term as GRUB_ERR_BUG.
432
433 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
436 packets rather than raising an error.
437
438 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
441 in if.
442
443 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
446 diagnostic to dprintf.
447 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
448
449 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
452 device name.
453
454 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
455
456 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
457 (grub_ntfs_iterate_dir): Likewise.
458
459 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Efiemu stylistic fixes and gettext.
462
463 * grub-core/efiemu/i386/loadcore32.c
464 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
465 * grub-core/efiemu/i386/loadcore64.c
466 (grub_arch_efiemu_relocate_symbols64): Likewise.
467 * grub-core/efiemu/i386/pc/cfgtables.c
468 (grub_machine_efiemu_init_tables): Likewise.
469 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
470 (grub_efiemu_loadcore_initXX): Add a filename argument.
471 All users updated.
472 Improved error message.
473 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
474 Add a filename argument.
475 All users updated.
476 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
477 Reclassify double relocation as GRUB_ERR_BUG.
478
479 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
482 handling.
483
484 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
487 on partition.
488
489 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
492
493 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
494
495 Improve string. Gettextize.
496
497 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
500 utils.
501 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
502
503 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
506 [GRUB_UTIL]: New function.
507 (insert_array) [GRUB_UTIL]: Store partmaps.
508 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
509 partmaps.
510 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
511 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
512 (probe_abstraction): Print diskfilter and not raid.
513 Reported by: Lennart Sorensen
514
515 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
518 * util/grub-mkimagexx.c (MASK3): New define.
519 (add_value_to_slot_20b): Use MASK3.
520 (add_value_to_slot_21): Likewise.
521 (relocate_addresses): Fix format specification.
522 (load_image): Explicitly init symtab_section.
523
524 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
527 (grub_util_biosdisk_get_grub_dev): Fix format specification.
528
529 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
532 on powerpc.
533 Reported by: Lennart Sorensen
534
535 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * gentpl.py: Add missing license header.
538 * docs/grub.texi: Update copyright year.
539
540 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
541
542 Source grub-mkconfig_lib from the build directory at build time.
543 Suggested by: Vladimir Serbinenko.
544
545 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
546 * util/grub-install.in: Define pkgdatadir if not already set, and source
547 grub-mkconfig_lib from there.
548 * util/grub-kbdcomp.in: Likewise.
549 * util/grub-mkconfig.in: Likewise.
550 * util/grub-mknetdir.in: Likewise.
551 * util/grub-mkrescue.in: Likewise.
552 * util/grub-mkstandalone.in: Likewise.
553 * util/grub-reboot.in: Likewise.
554 * util/grub-set-default.in: Likewise.
555 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
556
557 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
558
559 Increase warning level.
560
561 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
562 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
563 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
564 (TARGET_CFLAGS): Likewise.
565 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
566 * grub-core/Makefile.core.def (decompressor_xz): Add
567 -Wno-unreachable-code.
568 (normal): Add -Wno-redundant-decls.
569 (xzio): Add -Wno-unreachable-code.
570 (lzopio): Add -Wno-redundant-decls -Wno-error.
571 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
572 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
573 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
574 * grub-core/kern/dl.c: Add exception to -Wcast-align.
575 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
576 * grub-core/kern/i386/coreboot/init.c: Add exception to
577 -Wsuggest-attribute=noreturn.
578 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
579 * grub-core/kern/ia64/dl_helper.c: Likewise.
580 * grub-core/kern/mips/dl.c: Likewise.
581 * grub-core/kern/sparc64/dl.c: Likewise.
582 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
583 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
584 (memcmp): Likewise.
585 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
586 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
587 * grub-core/loader/mips/linux.c: Likewise.
588 * grub-core/loader/multiboot_elfxx.c: Likewise.
589 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
590 * grub-core/video/sm712.c: Add exception to -Wcast-align.
591 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
592 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
593 fixme.
594 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
595 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
596 Fix prototype.
597
598 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
601 address.
602
603 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
606 Avoid improper use of strings.
607 (grub_cmd_legacy_initrdnounzip): Likewise.
608
609 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
610
611 * include/grub/emu/misc.h (grub_util_warn): Add missing format
612 attribute.
613 (grub_util_info): Likewise.
614 (grub_util_error): Likewise.
615
616 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
619 * util/grub-fstest.c (fstest): Likewise.
620
621 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
624 (grub_md_sha512_real): Likewise.
625 (grub_util_get_geli_uuid): Likewise.
626 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
627 (grub_util_biosdisk_open): Fix format specification.
628 Respect format security.
629 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
630 (xrealloc): Likewise.
631 (xasprintf): Likewise.
632
633 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/import_gcry.py: Include grub/crypto.h in init.c.
636
637 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
640 (generate_image): Make prefix a const char *.
641 Fix format specifications. Respect format security.
642 Avoid void * arithmetics.
643 Avoid shadowing.
644 (argp_parser): Remove unused variable. Respect format security.
645 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
646 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
647 (count_funcs): Remove unused variable.
648 (relocate_addresses): Fix format specification.
649 Disable x86-64 with elf32. Remove unused variables.
650 (add_fixup_entry): Avoid shadowing.
651 (make_reloc_section): Fix format specification.
652 Use assert.
653 (locate_sections): Fix format specifications.
654 (load_image): Avoid shadowing.
655
656 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
659 Fix format specifications. Respect format security.
660 Don't translate already translated grub_errmsg.
661 (argp_parser): Remove unused variable
662
663 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
666
667 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
670 (main): Likewise. Use xmalloc. Respect format security.
671
672 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
675 a const char *.
676 (argp_parser): Remove unused variable.
677
678 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
679
680 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
681 (add_pixel): Make static.
682 (add_font): Likewise.
683 (write_string_section): Make name and str a const char *.
684 (write_be16_section): Make name a const char *.
685 (print_glyphs): Make static.
686 (write_font_ascii_bitmap): Likewise.
687 (write_font_width_spec): Likewise.
688 (write_font_pf2): Likewise.
689 (argp_parser): Remove unused variable.
690 Respect format security.
691 (main): Avoid shadowing. Respect format security.
692
693 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * util/grub-editenv.c (argp_parser): Make static.
696 (create_envblk_file): Use xmalloc.
697 (open_envblk_file): Likewise.
698 Resepect format security.
699 (set_variables): Respect format security.
700
701 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
702
703 * util/getroot.c (grub_find_device): Respect format security.
704 (get_mdadm_uuid): Remove unused variable.
705 (grub_util_pull_device): Dont call gettext on already translated
706 grub_errmsg.
707 (find_system_device): Remove unused variable.
708 (grub_util_get_grub_dev): Likewise.
709 (grub_make_system_path_relative_to_its_root): Respect format security.
710
711 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * util/grub-fstest.c (execute_command): Make first argument
714 a const char *.
715 (read_file): Avoid shadowing.
716 Reuse underlying error message if device open fails.
717 (cmd_cmp): Respect format security.
718 (root): Make const char *.
719 (fstest): Remove args argument and use global copy.
720 Respect format security.
721 (argp_parser): Make static.
722 (main): Make default_root const char *.
723
724 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * util/grub-mount.c (root): Make const char *.
727 (execute_command): Make first argument a const char *.
728 (fuse_init): Respect format security.
729 (argp_parser): Make static. Remove unused variable.
730 (main): Make default_root a const char *.
731 Respect format security.
732
733 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * util/grub-probe.c (probe): Don't call gettext on already translated
736 grub_errmsg.
737 Remove unused variables.
738 (argp_parser): Remove unused variable.
739
740 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * util/grub-script-check.c (argp_parser): Remove unused variable.
743 (main): Rename read to curread to avoid shadowing.
744
745 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * util/misc.c (grub_util_write_image_at): Fix format specification.
748 (grub_util_write_image): Likewise.
749 (grub_script_execute_argument_to_string): Removed (unused).
750 (grub_script_execute_menuentry): Likewise.
751 (grub_putchar): Likewise.
752
753 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
754
755 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
756 (FUNCTION) [GRUB_UTIL]: Likewise.
757 (VARIABLE) [GRUB_UTIL]: Likewise.
758
759 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
762 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
763
764 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
767 buffer.
768
769 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
772 (LzmaEnc_SaveState): Removed (unused).
773 (LzmaEnc_RestoreState): Likewise.
774 (LzmaEnc_InitPriceTables): Made static.
775 (LzmaEnc_Construct): Likewise.
776 (LzmaEnc_FreeLits): Likewise.
777 (LzmaEnc_Destruct): Likewise.
778 (LzmaEnc_Init): Likewise.
779 (LzmaEnc_InitPrices): Likewise.
780 (LzmaEnc_Finish): Likewise.
781 (LzmaEnc_PrepareForLzma2): Removed (unused).
782 (LzmaEnc_MemPrepare): Likewise.
783 (LzmaEnc_GetNumAvailableBytes): Likewise.
784 (LzmaEnc_GetCurBuf): Likewise.
785 (LzmaEnc_CodeOneMemBlock): Likewise.
786
787 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
790 (grub_util_ldm_embed): Likewise.
791
792 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * util/grub-editenv.c (print_var): Rename name to varname to
795 avoid shadowing.
796 (main): Rename index to curindex to avoid shadowing.
797 Make filename a const char *.
798
799 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
800
801 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
802 to arg_getline to avoid shadowing.
803
804 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
807 disk_ to avoid shadowing.
808
809 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
812 curindex to avoid shadowing.
813 Make static.
814 (MatchFinder_GetNumAvailableBytes): Make static.
815
816 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
819 avoid shadowing.
820
821 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
824 argument from encrypt to do_encrypt to avoid shadowing.
825
826 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
829 incorrect nesting of #if's.
830
831 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
834 checks which are always false on some platforms.
835 (grub_cmd_lsacpi): Likewise.
836 * grub-core/kern/misc.c (grub_strtoul): Likewise.
837 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
838 Likewise.
839
840 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
843 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
844
845 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
848 re_dfa_t to avoid breaking alignment invariants.
849 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
850 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
851
852 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
855 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
856
857 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
860 Fix declaration.
861
862 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
865 conserve alignment invariants.
866 (grub_ehci_ehcc_read16): Likewise.
867 (grub_ehci_oper_read32): Likewise.
868 (grub_ehci_oper_write32): Likewise.
869 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
870 Conserve alignment invariants.
871
872 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
875 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
876 declarations.
877
878 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
881 Remove unused variable.
882
883 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
886 Remove set in if.
887
888 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
889
890 * include/grub/net.h: Remove double declarations.
891
892 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
893
894 Remove "payload" command in ia64 Linux loader since I couldn't
895 find any evidence of it being used for anything.
896 Replace "relocate" command with an environment variable
897
898 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
899 fields.
900 (ia64_boot_payload): Removed.
901 (last_payload): Likewise.
902 (RELOCATE_OFF): Likewise.
903 (RELOCATE_ON): Likewise.
904 (RELOCATE_FORCE): Likewise.
905 (relocate): Likewise.
906 (free_pages): Don't free payloads.
907 (grub_load_elf64): Use common error messages.
908 Use "linux_relocate" variable.
909 Increase the space after boot_params.
910 (grub_cmd_payload): Removed.
911 (grub_cmd_relocate): Likewise.
912 (grub_cmd_fpswa): Improve messages.
913 (cmd_payload): Removed.
914 (cmd_relocate): Likewise.
915 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
916 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
917
918 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
919
920 Convert UHCI to DMA framework.
921
922 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
923 (grub_uhci_pci_iter): Fill new members
924 (grub_alloc_td): Use P2V and V2P functions.
925 (grub_free_queue): Likewise.
926 (grub_alloc_qh): Likewise.
927 (grub_uhci_setup_transfer): Likewise.
928 (grub_uhci_check_transfer): Likewise.
929
930 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
933 Remove assignment in if while on it.
934
935 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * util/grub-mkstandalone.in: Fix modules directory.
938
939 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
942 on i386-pc target.
943 (argp_parser): Accept "auto" as compression specification.
944
945 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
946
947 Fix `help' with unloaded modules.
948
949 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
950 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
951 (grub_dyncmd_dispatcher): Small stylistic fix.
952 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
953 explicit help is requested.
954
955 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
958 Explicitly init restart while on it.
959
960 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
963 uninited variable.
964
965 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * util/grub-mknetdir.in: Use . rather than source for POSIX
968 compatibility.
969
970 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
973
974 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
975
976 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
977 variable.
978
979 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
982 without quotes.
983
984 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
987
988 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
991 iteration of partitions.
992
993 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Improve gettext support. Stylistic fixes and error handling fixes while
996 on it.
997
998 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
1001 part. Instead setup the correct stack in RM.
1002 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
1003 for stack.
1004 * include/grub/i386/relocator_private.h: New file.
1005
1006 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
1009 argument.
1010 * util/grub-fstest.c (options): Add missing DEVICE part.
1011
1012 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 Clarify and unify messages.
1015
1016 * grub-core/commands/hashsum.c (options): Unify messages.
1017 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
1018 literal-only message as translatable.
1019 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
1020 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
1021 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
1022 commands.
1023 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
1024 key, not the key used to unlock. Clarify what it's used for.
1025 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
1026 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
1027 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
1028 * util/grub-editenv.c (options): Unify "verbose" message.
1029 * util/grub-fstest.c (read_file): Unify error message.
1030 (fstest): Add quotes around commands.
1031 (options): Unify "verbose" message.
1032 * util/grub-install.in: Add quotes around variable name.
1033 * util/grub-kbdcomp.in: Unify error message.
1034 * util/grub-mkfont.c (main): Likewise.
1035 * util/grub-mkrescue.in: Likewise.
1036 * util/grub-mklayout.c (options): Unify "verbose" message.
1037 * util/grub-mkstandalone.in: Unify help and verbose messages.
1038 * util/grub-mount.c (options): Unify "verbose" message.
1039 * util/grub-probe.c (options): Likewise.
1040 * util/grub-script-check.c (options): Likewise.
1041 * util/grub-setup.c (setup): Unify no-terminator message.
1042 (options): Use DEVICE and not DEV.
1043 Unify "verbose" message.
1044 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
1045
1046 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Improve and unify messages.
1049
1050 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
1051 name. All users updated.
1052 Print filename in error.
1053 (read_device_map): Print filename in error.
1054 * util/getroot.c (grub_guess_root_devices): Print filename in error.
1055 (grub_util_get_os_disk): Likewise.
1056 (grub_util_biosdisk_get_grub_dev): Likewise.
1057 (grub_util_check_block_device): Likewise.
1058 (grub_util_check_char_device): Likewise.
1059 (grub_make_system_path_relative_to_its_root): Likewise.
1060 * util/grub-editenv.c (create_envblk_file): Likewise.
1061 (open_envblk_file): Likewise.
1062 (write_envblk): Likewise.
1063 * util/grub-fstest.c (cmd_cp): Likewise.
1064 (cmd_cat): Likewise.
1065 (cmd_cmp): Likewise.
1066 * util/grub-menulst2cfg.c (main): Likewise.
1067 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
1068 (write_font_width_spec): Likewise.
1069 (write_font_pf2): Likewise.
1070 * util/grub-mkimage.c (generate_image): New argument outname.
1071 All users updated.
1072 Remove unreacheable message.
1073 (options): Unify messages.
1074 (help_filter): Likewise.
1075 * util/grub-mklayout.c (usage): Removed (unused).
1076 (main): Print filename in error.
1077 * util/grub-mkrescue.in: Fix wrong quoting.
1078 * util/grub-setup.c (setup): Print filename in error.
1079 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1080 (check_sas): Likewise.
1081 * util/misc.c (grub_util_get_fp_size): Removed.
1082 (grub_util_get_image_size): Print filename in error.
1083 (grub_util_read_at): Removed.
1084 (grub_util_read_image): Print filename in error.
1085 (grub_util_load_image): Likewise.
1086 (grub_util_write_image_at): New argument filename. All users updated.
1087 Print filename in error.
1088 (grub_util_write_image): New argument filename. All users updated.
1089 Print filename in error.
1090 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1091 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1092
1093 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/Makefile.core.def (pxechain): New module.
1096 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1097 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1098 function.
1099 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1100 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1101
1102 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1105 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1106 * include/grub/err.h (grub_error_saved): New struct.
1107 (grub_errmsg): Make array size explicit.
1108 * include/grub/misc.h (grub_error_save): New function.
1109 (grub_error_load): Likewise.
1110 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1111 (grub_error_push): Update `errno' member name.
1112 (grub_error_pop): Likewise
1113 * grub-core/net/tftp.c (tftp_data): New member save_err.
1114 (tftp_receive): Save error.
1115 (tftp_open): Restore error.
1116
1117 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1120 to real mode down to execute A20-related code in protected mode as
1121 intended.
1122
1123 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1124
1125 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1126 NULL when the argument `level' has an unexpected value.
1127
1128 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 Move platform-dependent files from $prefix to $prefix/$platform.
1131
1132 * config.h.in (GRUB_TARGET_CPU): New definition.
1133 (GRUB_PLATFORM): Likewise.
1134 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1135 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1136 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1137 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1138 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1139 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1140 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1141 * grub-core/normal/term.c (read_terminal_list): Likewise.
1142 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1143 $prefix/locale.
1144 (grub_gettext_init_ext): Likewise.
1145 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1146 grub_platform.
1147 * util/grub-install.in: Update directories.
1148 * util/grub-mknetdir.in: Likewise.
1149 * util/grub-mkrescue.in: Likewise.
1150
1151 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1154 grub_error framework. All users updated.
1155
1156 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1159 lists (by always binsearching), improve caching (cache strings
1160 used for binsearch, not only results), improve
1161 maintainability (by using more structured binary search) and correct
1162 error handling.
1163
1164 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * grub-core/script/execute.c (grub_script_return): Fix warning.
1167
1168 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * grub-core/script/execute.c (grub_script_return): Fix potential
1171 NULL-dereference.
1172 Reported by: Jim Meyering.
1173
1174 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * po/POTFILES.in: Regenerate.
1177 * util/grub-install.in: Gettextize the strings missed in first pass.
1178
1179 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * Makefile.util.def (grub-mkdevicemap): Removed.
1182 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1183 * include/grub/util/deviceiter.h: Removed.
1184 * util/deviceiter.c: Likewise.
1185 * util/getroot.c (grub_util_get_os_disk): New function.
1186 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1187 replacement for EFI.
1188 * util/grub-mkdevicemap.c: Removed.
1189 * util/grub-probe.c (probe): Handle PRINT_DISK.
1190 (argp_parser): Handle -t disk.
1191
1192 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * util/grub-mkfont.c: Migrate to argp.
1195 * util/grub-mklayout.c: Likewise.
1196 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1197 * util/grub-mkrelpath.c: Likewise.
1198 * util/grub-probe.c: Likewise.
1199 * util/grub-script-check.c: Likewise.
1200
1201 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1202
1203 * util/grub-reboot.in: Add missing datarootdir.
1204 Add missing newline.
1205 * util/grub-set-default.in: Add missing datarootdir.
1206 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1207 * util/grub-mkrescue.in: Likewise.
1208
1209 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1212
1213 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1214
1215 * util/grub-kbdcomp.in: Add decent help and gettextize.
1216 * docs/man/grub-kbdcomp.h2m: New file.
1217
1218 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Migrate grub-mkimage.c to argp.
1221
1222 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1223 (grub-setup): Likewise.
1224 * util/grub-setup.c (print_version): Move to ...
1225 * util/argp_common.c (print_version): ... here.
1226 * util/grub-setup.c (argp_program_version_hook): Move to ...
1227 * util/argp_common.c (argp_program_version_hook): ... here.
1228 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1229 safety.
1230 * util/grub-mkimage.c (main): Migrate to argp.
1231
1232 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * util/grub-mkrescue.in: Use same message as
1235 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1236 for better translations.
1237
1238 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1241 options with generic grub-mkrescue.in with the goal of future
1242 merge.
1243
1244 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1245
1246 * grub-core/kern/mm.c: Add missing include of i18n.h
1247 * grub-core/lib/relocator.c: Likewise.
1248
1249 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1252 error.
1253 (allocate_pages): Check return value.
1254 Replace fatal with error.
1255 (grub_linux_boot): Replace printf with dprintf.
1256 Check find_mmap_size return value.
1257 Replace fatal with error.
1258 Don't call grub_machine_fini.
1259 (grub_load_elf64): Replace printf with dprintf.
1260 (grub_cmd_linux): Likewise.
1261 (grub_cmd_initrd): Likewise.
1262 (grub_cmd_payload): Likewise.
1263
1264 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1267 message.
1268 * grub-core/video/radeon_fuloong2e.c
1269 (grub_video_radeon_fuloong2e_setup): Likewise.
1270 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1271 * grub-core/video/video.c (grub_video_set_mode): Don't override
1272 standard out of memory message.
1273
1274 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1275
1276 NetBSD disk wedge support.
1277
1278 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1279 [__NetBSD__]: Handle NetBSD disk wedges.
1280 * util/getroot.c (convert_system_partition_to_system_disk)
1281 [__NetBSD__]: Likewise.
1282
1283 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
1284
1285 * util/grub-mkconfig.in: Use umask rather than chmod to create
1286 grub.cfg.new to avoid insecure grub.cfg.
1287
1288 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * grub-core/commands/ls.c: Gettextize.
1291 * grub-core/commands/setpci.c: Likewise.
1292 * grub-core/commands/videotest.c: Likewise.
1293 * grub-core/disk/geli.c: Likewise.
1294 * grub-core/kern/mm.c: Likewise.
1295 * grub-core/lib/relocator.c: Likewise.
1296 * grub-core/loader/efi/appleloader.c: Likewise.
1297 * grub-core/loader/i386/xnu.c: Likewise.
1298 * grub-core/loader/ia64/efi/linux.c: Likewise.
1299 * grub-core/loader/xnu.c: Likewise.
1300 * grub-core/net/dns.c: Likewise.
1301 * grub-core/net/net.c: Likewise.
1302 * grub-core/script/lexer.c: Likewise.
1303 * grub-core/script/parser.y: Likewise.
1304 * grub-core/script/yylex.l: Likewise.
1305 * util/getroot.c: Likewise.
1306 * util/grub-setup.c: Likewise.
1307
1308 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1311 number.
1312
1313 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1316
1317 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1320 macro.
1321 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1322 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1323
1324 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1325
1326 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1327 * util/grub-install.in: Gettextize.
1328 * util/grub-mkconfig.in: Likewise.
1329 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1330 if not available.
1331 (grub_warn): Gettextize.
1332 * util/grub-mknetdir.in: Gettextize.
1333 * util/grub-mkrescue.in: Likewise.
1334 * util/grub-mkstandalone.in: Likewise.
1335 * util/grub-reboot.in: Likewise.
1336 * util/grub-set-default.in: Likewise.
1337 * util/grub.d/00_header.in: Likewise.
1338 * util/grub.d/10_hurd.in: Likewise.
1339 * util/grub.d/10_kfreebsd.in: Likewise.
1340 * util/grub.d/10_linux.in: Likewise.
1341 * util/grub.d/10_netbsd.in: Likewise.
1342 * util/grub.d/10_windows.in: Likewise.
1343 * util/grub.d/20_linux_xen.in: Likewise.
1344 * util/grub.d/30_os-prober.in: Likewise.
1345 * po/POTFILES-shell.in: Regenerate.
1346
1347 2012-02-03 Richard Laager <rlaager@wiktel.com>
1348
1349 * util/grub-mkimage.c (main): Fix format-security warning.
1350 * util/grub-mkrelpath.c (main): Likewise.
1351 * util/grub-probe.c (main): Likewise.
1352
1353 2012-02-03 Richard Laager <rlaager@wiktel.com>
1354
1355 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1356 failure.
1357 Put back lost PRINT_DRIVE.
1358
1359 2012-02-03 Richard Laager <rlaager@wiktel.com>
1360
1361 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1362 (grub_guess_root_devices): Replace strlen with sizeof.
1363 Avoid crash.
1364 (find_root_devices_from_poolname): Remove unused variable.
1365 Handle raidzN.
1366
1367 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Support install on multi-device filesystems.
1370
1371 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1372 (grub_guess_root_devices): ...this. Return char **. All users updated.
1373 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1374 Removed.
1375 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1376 (find_root_devices_from_poolname): ... here.
1377 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1378 Support zfs-fuse.
1379 (grub_guess_root_device): Rename to ...
1380 (grub_guess_root_devices): ... this. Return char **. All users updated.
1381 * util/grub-install.in: Handle multi-device filesystems.
1382 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1383 argument. All users updated.
1384 Handle multi-device filesystems.
1385 Use 'delim' as separator.
1386 Remove device check to allow filesystems on file.
1387 (main): Support -0 argument. Handle multi-device.
1388 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1389 Fix a cross-device check while on it.
1390 (arguments): Remove root_dev.
1391 (argp_parser): Remove -r.
1392 (main): Remove root_dev.
1393
1394 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1397
1398 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1401 symbol.
1402 Reported by: NODA, Kai <nodakai>.
1403
1404 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 Fix ehci on amd64.
1407
1408 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1409 pointers.
1410 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1411 (grub_ehci_setup_qh): Likewise.
1412 (grub_ehci_find_qh): Likewise.
1413 (grub_ehci_transaction): Likewise.
1414 (grub_ehci_setup_transfer): Likewise.
1415 (grub_ehci_check_transfer): Likewise.
1416 (grub_ehci_portstatus): Likewise.
1417 (grub_ehci_detect_dev): Likewise.
1418 (grub_ehci_transfer_controller_data): New field td_last_phys.
1419 (grub_ehci_setup_transfer): Fill td_last_phys.
1420 (grub_ehci_check_transfer): Use td_last_phys.
1421
1422 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1423
1424 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1425 if no submenu is present.
1426
1427 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1428
1429 CBI support.
1430
1431 * include/grub/usb.h (grub_usbms_protocol_t): New values
1432 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1433 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1434 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1435 (grub_usbms_dev): Add subclass, protocol and intrpt.
1436 Remove in_maxsz and out_maxsz.
1437 (grub_usbms_reset): Rename to ...
1438 (grub_usbms_bo_reset): .. this.
1439 (grub_usbms_cbi_cmd): New function.
1440 (grub_usbms_cbi_reset): Likewise.
1441 (grub_usbms_reset): Likewise.
1442 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1443 (grub_usbms_transfer): Rename to ...
1444 (grub_usbms_transfer_bo): ... this.
1445 (grub_usbms_transfer_cbi): Likewise.
1446 (grub_usbms_transfer): Likewise.
1447
1448 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1449 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1452 the support for the CS5536 modification thereos and few bugfixes.
1453
1454 * grub-core/Makefile.core.def (ehci): New module.
1455 * grub-core/bus/usb/ehci.c: New file.
1456 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1457 port and hubaddr. All users updated.
1458 Save port and hubaddr into dev structure.
1459 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1460 define.
1461 * include/grub/pci.h (grub_dma_phys2virt): New function.
1462 (grub_dma_virt2phys): Likewise.
1463 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1464
1465 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1468 check as some mkfs implementations omit it.
1469
1470 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1473
1474 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1477 Add new member volname2.
1478 (grub_jfs_label): Use volname2 if available.
1479
1480 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1483 over last_mounted as seen in image generated by mkfs.nilfs2.
1484 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1485
1486 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1489 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1490 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1491
1492 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1495 over the sector.
1496
1497 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1500 subvolume name (by removing a bogus and useless check).
1501
1502 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1505 sizeof while on it.
1506
1507 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1510 (grub_scsi_read_capacity10): ... this.
1511 (grub_scsi_read_capacity16): New function.
1512 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1513 0xffffffff.
1514 Fix off-by-one error.
1515 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1516 64-bit unsigned.
1517 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1518 (grub_scsi_read_capacity10): ... this.
1519 (grub_scsi_read_capacity_data): Rename to ...
1520 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1521 (grub_scsi_read_capacity16): New struct.
1522 (grub_scsi_read_capacity16_data): Likewise.
1523 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1524 grub_scsi_cmd_read_capacity10.
1525 New command grub_scsi_cmd_read_capacity16.
1526
1527 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 SCSI >2TiB support.
1530
1531 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1532 (grub_scsi_write16): Likewise.
1533 (grub_scsi_read): Use read16 when necessary.
1534 (grub_scsi_write): Likewise.
1535 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1536 (grub_scsi_write16): Likewise.
1537 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1538
1539 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 SCSI write support (for usbms mainly).
1542
1543 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1544 a const pointer.
1545 (grub_scsi_write): Implement.
1546 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1547
1548 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1551 variable.
1552
1553 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1556
1557 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * po/POTFILES.in: Regenerate.
1560
1561 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1564 with grub_printf to avoid unnecessary fatal failure.
1565
1566 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1569 (INT_MAX): Likewise.
1570 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1571 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1572 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1573 (strcpy): Likewise.
1574 (strstr): Likewise.
1575 (strchr): Likewise.
1576 (strncpy): Likewise.
1577 (strcat): Likewise.
1578 (strncat): Likewise.
1579 (strcoll): Likewise.
1580 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1581 (GRUB_INT_MAX): Likewise.
1582
1583 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1586 unexpected error.
1587 (optimize_utf8): Likewise.
1588 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1589
1590 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1591
1592 * grub-core/boot/i386/pc/lnxboot.S: Use
1593 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1594 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1595 location.
1596 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1597 definition.
1598 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1599
1600 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1603 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1604 now to avoid double free.
1605 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1606 hostdisk.
1607 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1608 * util/grub-probe.c (escape_of_path): Always return a new copy.
1609 (print_full_name): Escape path.
1610 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1611 Fix hints on abstractions.
1612
1613 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1616 Don't add "root" line if no compatibility hont is available.
1617 Suggested by: Seth Goldberg.
1618
1619 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1622 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1623 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1624 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1625
1626 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1627
1628 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1629
1630 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * util/grub-pe2elf.c (ehdr): Make static.
1633 (shdr): Likewise.
1634 (num_sections): Likewise.
1635 (offset): Likewise.
1636
1637 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 Eliminate ofpath limits and possible overflows.
1640
1641 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1642 (OF_PATH_MAX): Removed.
1643 (MAX_DISK_CAT): New const.
1644 (find_obppath): Use allocated rather than preallocated buffer.
1645 Return result. Argument of_path removed. All users updated.
1646 Add missing fdstat.
1647 (xrealpath): New function.
1648 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1649 Allocate rather than use preallocated buffer. All users updated.
1650 (__of_path_common): Use allocated rather than preallocatecd buffer.
1651 Return result. Argument of_path removed. All users updated.
1652 (vendor_is_ATA): Read only needed part form the file.
1653 (check_sas): Allocate depending on contents rather than fixed.
1654 (main) [STANDALONE]: Handle NULL result.
1655
1656 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1659
1660 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Cryptodisk write support.
1663
1664 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1665 (grub_cryptodisk_decrypt): Moved logic to ...
1666 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1667 (grub_cryptodisk_write): Implement.
1668 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1669 (grub_util_fd_write): ... this. Make global.
1670 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1671
1672 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * include/grub/list.h (grub_list_remove): Don't crash if element is
1675 removed twice.
1676
1677 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 Rename ofconsole to console.
1680
1681 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1682 as sysnonym to console.
1683 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1684 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1685 Rename grub_ofconsole_ to grub_console_. All users updated
1686 (grub_console_term_output): Rename "ofconsole" to "console".
1687 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1688 as "console".
1689
1690 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1693 handling.
1694 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1695 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1696 GRUB_DISK_DEVICE_FILE_ID.
1697
1698 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1701 and improve performance.
1702
1703 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1706 missing ieee1275/ prefix on whole disk.
1707
1708 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1711 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1712
1713 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1716
1717 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Merge common RAID and LVM logic to an abstract diskfilter.
1720 Add LDM support using the same framework.
1721
1722 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1723 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1724 (libgrubmods): Remove grub-core/disk/raid.c and
1725 grub-core/partmap/gpt.c.
1726 * grub-core/Makefile.core.def (ldm): New module.
1727 (raid): Renamed to diskfilter. All users updated.
1728 * grub-core/disk/raid.c: Moved to ...
1729 * grub-core/disk/diskfilter.c: ... here.
1730 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1731 (lv_num): New var.
1732 (find_array): Renamed to ...
1733 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1734 (grub_is_array_readable): Renamed to ...
1735 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1736 (insert_array): New argument id.
1737 (is_node_readable): New function.
1738 (scan_device): Rename to ...
1739 (scan_disk): .. this. Restrict to one disk.
1740 (scan_devices): New function.
1741 (grub_diskfilter_iterate): Support multi-LV.
1742 Skip invisible and nameless LVs.
1743 (grub_diskfilter_memberlist): Support multi-LV.
1744 (grub_diskfilter_read_node): New function.
1745 (grub_raid_read): Most of logic moved to ...
1746 (read_segment): ... here
1747 (read_lv): New function.
1748 (grub_diskfilter_get_vg_by_uuid): New function.
1749 (grub_diskfilter_make_raid): Likewise.
1750 * grub-core/disk/ldm.c: New file.
1751 * grub-core/disk/lvm.c (vg_list): Removed.
1752 (lv_count): Likewise.
1753 (scan_depth): Likewise.
1754 (is_lv_readable): Likewise.
1755 (grub_lvm_getvalue): Advance pointer past the number.
1756 (find_lv): Removed.
1757 (do_lvm_scan): Refactored into ...
1758 (grub_lvm_detect): ... this. Support raid.
1759 (grub_lvm_iterate): Removed.
1760 (grub_lvm_memberlist): Likewise.
1761 (grub_lvm_open): Likewise.
1762 (grub_lvm_close): Likewise.
1763 (read_lv): Likewise.
1764 (read_node): Likewise.
1765 (is_node_readable): Likewise.
1766 (is_lv_readable): Likewise.
1767 (grub_lvm_read): Likewise.
1768 (grub_lvm_write): Likewise.
1769 (grub_lvm_dev): Use diskfilter
1770 (GRUB_MOD_INIT): Likewise.
1771 (GRUB_MOD_FINI): Likewise.
1772 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1773 new interface.
1774 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1775 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1776 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1777 grub_diskfilter_read_node.
1778 Fix a bug with xor.
1779 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1780 grub_diskfilter_read_node.
1781 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1782 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1783 (grub_disk_dev_iterate): Move from here...
1784 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1785 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1786 Make global.
1787 (grub_hostdisk_find_partition_start): Likewise.
1788 (grub_hostdisk_os_dev_to_grub_drive): New function.
1789 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1790 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1791 * util/getroot.c (make_device_name): ... here.
1792 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1793 Move to ...
1794 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1795 * grub-core/kern/emu/hostdisk.c
1796 (convert_system_partition_to_system_disk): Move to ...
1797 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1798 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1799 * util/getroot.c (device_is_wholedisk): ... here.
1800 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1801 * util/getroot.c (find_system_device): ... here.
1802 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1803 Move to ...
1804 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1805 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1806 Move to ...
1807 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1808 Handle LDM.
1809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1810 Move to ...
1811 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1812 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1813 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1814 DISKFILTER.
1815 * include/grub/raid.h: Renamed to ...
1816 * include/grub/diskfilter.h: ... this.
1817 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1818 (GRUB_RAID_LAYOUT_*): Make into array.
1819 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1820 (grub_diskfilter_vg): New struct.
1821 (grub_diskfilter_pv_id): Likewise.
1822 (grub_raid_member): Removed.
1823 (grub_raid_array): Likewise.
1824 (grub_diskfilter_pv): New struct.
1825 (grub_diskfilter_lv): Likewise.
1826 (grub_diskfilter_segment): Likewise.
1827 (grub_diskfilter_node): Likewise.
1828 (grub_diskfilter_get_vg_by_uuid): New proto.
1829 (grub_raid_register): Inline.
1830 (grub_diskfilter_unregister): Likewise.
1831 (grub_diskfilter_make_raid): New proto.
1832 (grub_diskfilter_vg_register): Likewise.
1833 (grub_diskfilter_read_node): Likewise.
1834 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1835 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1836 (grub_util_is_ldm): Likewise.
1837 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1838 (grub_hostdisk_find_partition_start): Likewise.
1839 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1840 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1841 New definition.
1842 (grub_gpt_partition_map_iterate): New proto.
1843 * include/grub/lvm.h (grub_lvm_vg): Removed.
1844 (grub_lvm_pv): Likewise.
1845 (grub_lvm_lv): Likewise.
1846 (grub_lvm_segment): Likewise.
1847 (grub_lvm_node): Likewise.
1848 * util/getroot.c [...]
1849 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1850 (probe_abstraction): Likewise.
1851 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1852 (main): Remove dead logic.
1853
1854 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 Simplify root device discover and don't fail when trying to open
1857 incorrect devices.
1858
1859 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1860 function.
1861 (get_diskname_from_path): Likewise.
1862 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1863 of iterating.
1864
1865 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1868
1869 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1872 pastthe end.
1873
1874 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * util/grub-install.in: Add missing \.
1877 Reported by: gentoofan
1878
1879 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1882 (direct_read): Use correct compressed size.
1883 (grub_squash_read_data): Likewise.
1884
1885 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 * docs/grub.texi (Platform limitations): New section.
1888 (Platform-specific operations): Likewise.
1889 * docs/grub-dev.texi (Porting): Likewise.
1890
1891 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 IEEE1275 disk write support.
1894
1895 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1896 const void *.
1897 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1898 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1899 and seek loginc to ...
1900 (grub_ofdisk_prepare): ... here.
1901 (grub_ofdisk_write): Implement.
1902
1903 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 ARC disk write support.
1906
1907 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1908 (reopen): New argument writable. All users updated.
1909 Handle required access mode.
1910 (grub_arcdisk_write): Implement.
1911 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1912 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1913
1914 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1917 (read_sblock): Don't attempt to read superblocks outside the disk size.
1918
1919 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1922 first superblock to find the second one when possible.
1923
1924 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * util/grub-install.in: Fix an ARC bug.
1927 Print a warning if no platform-specific setup is available.
1928
1929 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 Use static allocation rather than scratch pointer in reed_solomon.
1932 It decreases its size significantly and avoids a variable in .text.
1933
1934 * grub-core/lib/reed_solomon.c (scratch): Removed.
1935 (chosenstat): New const or static array.
1936 (sigma): Likewise.
1937 (errpot): Likewise.
1938 (errpos): Likewise.
1939 (sy): Likewise.
1940 (mstat): Likewise.
1941 (errvals): Likewise.
1942 (eqstat): Likewise.
1943 (pol_evaluate): Replace x with log_x argument. All users updated.
1944 (syndroms): Removed.
1945 (gauss_solve): Use statically allocated arrays.
1946 (rs_recover): Likewise.
1947 Calculate syndroms directly.
1948 (decode_block): Use statically allocated arrays.
1949 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1950 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1951
1952 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1953
1954 Eliminate fixed limit on reed solomon decoder length.
1955
1956 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1957 rather than hardcoding the address.
1958 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1959 no_reed_solomon_length.
1960 Move gate_a20 to no-reed-solomon part.
1961 Don't force a particular size of no reed-solomon part.
1962 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1963 Removed.
1964 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1965 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1966
1967 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/commands/wildcard.c (match_files): Handle filenames
1970 without explicit device.
1971 (wildcard_expand): Don't add explicit device if not already present.
1972 * tests/grub_script_echo1.in: Add a new expansion test.
1973
1974 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 Replace single-linked with double-linked lists. It results in more
1977 compact and more efficient code.
1978
1979 * grub-core/kern/list.c (grub_list_push): Moved from here ...
1980 * include/grub/list.h (grub_list_push): ... to here. Set prev.
1981 (grub_list_remove): Moved from here ...
1982 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
1983 (grub_prio_list_insert): Set prev.
1984 * include/grub/list.h (grub_list): Add prev. All users updated.
1985
1986 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 Handle newer autotools. Add some missing quotes while on it.
1989
1990 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
1991 (pkglib_DATA): Move grub-mkconfig_lib from here ...
1992 (pkgdata_DATA): ... here.
1993 * Makefile.util.def (update-grub_lib): Removed.
1994 * conf/Makefile.common (pkglib_DATA): Removed.
1995 (pkglib_SCRIPTS): Likewise.
1996 (pkgdata_DATA): New variable.
1997 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
1998 needed.
1999 Add missing quotes.
2000 Remove unused variable while on it.
2001 * tests/util/grub-shell.in: Likewise.
2002 * util/grub-install.in: Likewise.
2003 * util/grub-mkconfig.in: Likewise.
2004 * util/grub-mknetdir.in: Likewise.
2005 * util/grub-mkrescue.in: Likewise.
2006 * util/grub-mkstandalone.in: Likewise.
2007 * util/grub.d/00_header.in: Likewise.
2008 * util/grub.d/10_hurd.in: Likewise.
2009 * util/grub.d/10_illumos.in: Likewise.
2010 * util/grub.d/10_kfreebsd.in: Likewise.
2011 * util/grub.d/10_linux.in: Likewise.
2012 * util/grub.d/10_netbsd.in: Likewise.
2013 * util/grub.d/10_windows.in: Likewise.
2014 * util/grub.d/20_linux_xen.in: Likewise.
2015 * util/grub.d/30_os-prober.in: Likewise.
2016 * util/update-grub_lib.in: Removed.
2017
2018 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
2019
2020 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
2021 a workaround for intel problem.
2022
2023 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
2024 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2025 2012-01-23 pfsmorigo
2026
2027 * util/grub-install.in: Support dd'in into PreP partition.
2028 * util/grub-probe.c (probe): Support discovering partition type.
2029 (main): Support -t msdos_parttype.
2030
2031 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
2034 infinite recursion using counter.
2035 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
2036 init to skip it if the magic check fails.
2037 (dec_stream_header): Init s->crc32.
2038
2039 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2040 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
2041 2012-01-22 Richard Laager <rlaager@wiktel.com>
2042
2043 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
2044 All users updated.
2045 (find_bestub): Determine correct size.
2046 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
2047 (scan_disk): Align the size down.
2048 Call check pool before find_bestub to have ashift.
2049
2050 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
2053 dprintf in no-malloc zone.
2054
2055 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2056
2057 * configure.ac: Add back in test for limits.h.
2058
2059 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 Support 4K-sector NTFS.
2062
2063 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
2064 (grub_ntfs_data): Remove blocksize.
2065 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
2066 Remove data argument. All users updated.
2067
2068 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2071 being in .text to avoid dprel references.
2072 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2073 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2074 (grub_arch_highmemsize): Likewise.
2075 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2076 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2077 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2078
2079 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2082
2083 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2084 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2085
2086 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2089 GRUB_UTIL.
2090 (grub_set_datetime_cmos): Likewise.
2091
2092 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Make XZ compression parameters dependent on target and not host CPU.
2095
2096 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2097 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2098
2099 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2102 set but not used variable.
2103
2104 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2107 created when no uuid support is compiled into mkfs.reiser.
2108
2109 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2112 (utf8_to_macroman): Do the opposite.
2113 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2114
2115 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * configure.ac: Refise build qemu_mips w/o unifont.
2118
2119 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 Eliminate grub_min/grub_max prone to overflow usage.
2122
2123 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2124 (poll_nonroot_hub): Likewise.
2125 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2126 (grub_affs_label): Likewise.
2127 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2128 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2129 (grub_hfs_label): Likewise.
2130 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2131 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2132 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2133 (zap_leaf_array_get): Likewise.
2134 (dnode_get_path): Likewise.
2135 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2136 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2137 * grub-core/script/execute.c (grub_script_break): Likewise.
2138 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2139 grub_max.
2140 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2141 * include/grub/misc.h (grub_min): Removed.
2142 (grub_max): Likewise.
2143
2144 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2145
2146 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2147 direct.inode = 0.
2148
2149 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2152
2153 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2156
2157 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2160 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2161
2162 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2163
2164 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2165 rather than a hack for grub_strncasemap.
2166
2167 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 Support multiple initrds
2170 Note: part of this was accidently committed in r3739.
2171
2172 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2173 initrd.
2174 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2175 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2176 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2177 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2178 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2179
2180 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2183 disks with unknown size.
2184 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2185
2186 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Remove defines pertaining to arbitrary limits not affecting GRUB
2189 anymore.
2190
2191 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2192 (EXT2_MAX_SYMLINKCNT): Likewise.
2193 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2194 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2195 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2196 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2197 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2198 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2199 (DN_MAX_OBJECT_SHIFT): Likewise.
2200 (DN_MAX_OFFSET_SHIFT): Likewise.
2201 (DN_MAX_OBJECT): Likewise.
2202 (DNODES_PER_LEVEL_SHIFT): Likewise.
2203 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2204 (SPA_MAXBLOCKSIZE): Likewise.
2205 (SPA_BLOCKSIZES): Likewise.
2206 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2207 (MZAP_MAX_BLKSZ): Likewise.
2208
2209 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2210
2211 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2212 handle NULL appropriately.
2213 Remove MIN.
2214
2215 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 Fix efiemu.
2218
2219 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2220 cpu/types.h.
2221 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2222 * configure.ac: Fix efiemu check.
2223
2224 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2227 grub_probe.
2228 Reported by: adamwill
2229
2230 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2231
2232 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2233
2234 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 Fix handling of wide characters in gfxterm.
2237
2238 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2239 (clear_char): Likewise.
2240 (paint_char): Skip code == NULL chars.
2241 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2242
2243 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/normal/charset.c: Move comment to right place.
2246
2247 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2250 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2251 (grub_affs_mount): Revert the correct version checking.
2252
2253 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * docs/grub.texi (Unicode): Mention several other unsupported features.
2256
2257 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2260 case statements as compile-time one.
2261 (direct_read): Prevent spurious warnings.
2262 (grub_squash_read_data): Likewise.
2263
2264 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 Various squash4 fixes and LZO and XZ support.
2267
2268 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2269 Add xzembed source files.
2270 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2271 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2272 (grub_squash_inode): New subtype long_dir.
2273 (SQUASH_TYPE_LONG_DIR): New inode type.
2274 (COMPRESSION): New enum.
2275 (XZBUFSIZ): New const.
2276 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2277 (read_chunk): Use data->decompress.
2278 (zlib_decompress): New function.
2279 (lzo_decompress): Likewise.
2280 (xz_decompress): Likewise.
2281 (squash_mount): Set new data fields.
2282 (grub_squash_iterate_dir): Handle long dir.
2283 (squash_unmount): Free xzdec and xzbuf.
2284 (grub_squash_open): Check ino type.
2285 (direct_read): Stylistic fixes. Use data->decompress.
2286 (grub_squash_read_data): Likewise.
2287 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2288 (get_byte): Likewise.
2289 (grub_zlib_disk_read): Removed.
2290 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2291 (GRUB_POSIX_BOOL_DEFINED): New define.
2292 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2293 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2294 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2295 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2296
2297 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 Don't override more informative errors.
2300
2301 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2302 * grub-core/font/font.c (open_section): Likewise.
2303 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2304 filename. Don't override errors.
2305 (grub_cmd_openbsd_ramdisk): Don't override errors.
2306 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2307 (grub_cmd_initrd): Likewise.
2308 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2309 (grub_cmd_initrd): Likewise.
2310 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2311 (grub_cmd_linux): Likewise.
2312 (grub_cmd_initrd): Likewise.
2313 (grub_cmd_payload): Likewise.
2314 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2315 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2316 (grub_cmd_module): Likewise.
2317 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2318 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2319 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2320 (grub_cmd_xnu_mkext): Likewise.
2321 (grub_cmd_xnu_ramdisk): Likewise.
2322 (grub_xnu_check_os_bundle_required): Likewise.
2323 (grub_xnu_load_kext_from_dir): Likewise.
2324 (grub_cmd_xnu_kextdir): Likewise.
2325 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2326
2327 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2330 as 1024 in block size field. Found on one of my test images.
2331 Small optimisation while on it.
2332
2333 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2336 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2337 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2338 performance fixes while on it.
2339 (grub_sfs_close): Fix memory leak while on it.
2340 (grub_sfs_label): Convert Latin1 to UTF-8.
2341
2342 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2345 space to avoid overflows.
2346 (grub_hfs_label): Convert from macroman to UTF-8.
2347
2348 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2351
2352 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2355
2356 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * unicode: Import Unicode 6.0 data.
2359
2360 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2363 outside of range.
2364
2365 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 Avoid cutting in the middle of UTF-8 character.
2368
2369 * include/grub/charset.h (grub_getend): New function.
2370 * grub-core/script/function.c (grub_script_function_find): Use
2371 grub_getend.
2372 * grub-core/normal/completion.c (add_completion): Likewise.
2373
2374 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2377 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2378 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2379 (GRUB_UNICODE_TAG_END): Likewise.
2380 (GRUB_UNICODE_LAST_VALID): Likewise.
2381
2382 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2385 len and make it smaller. All users updated.
2386 * util/import_unicode.py: Put length and not end character.
2387 Check length.
2388
2389 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 Make better Unicode-compliant and unify some UTF-8 code pathes.
2392
2393 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2394 valid character.
2395 (grub_is_valid_utf8): Use grub_utf8_process.
2396 Check resulting code range.
2397 (grub_utf8_to_ucs4): Use grub_utf8_process.
2398 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2399 valid character.
2400
2401 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2404
2405 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * docs/grub.texi (Filesystems): Mention AFS.
2408
2409 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * docs/grub.texi (Filesystems): Clarify restrictions.
2412 (Regexp): Mention non-Unicode regexp behaviour.
2413 (Other): Mention non-Unicode matching behaviour.
2414
2415 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Make HFS implementation use MacRoman.
2418
2419 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2420 (macroman): New const array.
2421 (macroman_to_utf8): New function.
2422 (utf8_to_macroman): Likewise.
2423 (grub_hfs_find_dir): Use utf8_to_macroman.
2424 (grub_hfs_dir): Use macroman_to_utf8.
2425 Set case_insensitive.
2426
2427 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2430
2431 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 Integrate hints into autogeneration scripts.
2434
2435 * docs/grub.texi (Filesystems): Add a hostdisk example.
2436 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2437 (grub-probe): Add ofpath.
2438 * gentpl.py: Remove group nosparc64.
2439 * grub-core/commands/search.c (cache_entry): New struct.
2440 (cache): New var.
2441 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2442 * grub-core/commands/search_wrap.c (options): Add platform-specific
2443 hint options.
2444 (grub_cmd_search): Handle platform-specific hints.
2445 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2446 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2447 (grub_util_biosdisk_data): Likewise.
2448 (grub_util_biosdisk_open): Set device_map.
2449 (read_device_map): Handle "" as indication of no map.
2450 Set device_map.
2451 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2452 (grub_util_biosdisk_get_compatibility_hint): New function.
2453 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2454 * include/grub/emu/hostdisk.h
2455 (grub_util_biosdisk_get_compatibility_hint): New proto.
2456 * util/grub-install.in: Don't call grub-mkdevicemap.
2457 Add platform-specific hint to load.cfg.
2458 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2460 hints. Set root preliminary to compatibility hint, not to OS name.
2461 * util/grub-probe.c (PRINT_*): Add hints.
2462 (print): Make static.
2463 (escape_of_path): New function.
2464 (guess_bios_drive): Likewise.
2465 (guess_efi_drive): Likewise.
2466 (guess_baremetal_drive): Likewise.
2467 (print_full_name): Likewise.
2468 (probe): Handle hints.
2469 (main): Likewise.
2470 * util/ieee1275/devicemap.c: Removed.
2471 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2472 updated.
2473 (grub_util_devname_to_ofpath): Return NULL on failure.
2474
2475 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2476 resource leak.
2477 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2478
2479 * po/POTFILES.in: Regenerated.
2480
2481 Allow purely long options
2482
2483 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2484 (SHORT_ARG_USAGE): Likewise.
2485 (grub_arg_show_help): Compare opt with help_options.
2486 (parse_option): Receive opt as argument. If makes big simplificatons.
2487 All users updated
2488
2489 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2492 Restructure to avoid warning.
2493
2494 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * util/grub-install.in: Account for possible escaped comma in device
2497 name.
2498
2499 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2502 channel.
2503
2504 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2505
2506 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2507 allocation and zero-setting.
2508 (grub_ieee1275_get_devname): Check that alias is complete.
2509
2510 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2511
2512 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2513 unaligned segments.
2514
2515 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2516
2517 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2518 prefix.
2519 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2520 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2521 Add ieee1275 prefix.
2522
2523 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * docs/grub.texi (Filesystems): Update.
2526
2527 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Support odc, newc and bigendian cpio formats.
2530
2531 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2532 * grub-core/Makefile.core.def (newc): New module.
2533 (odc): Likewise.
2534 (cpio_be): Likewise.
2535 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2536 (MAGIC): Likewise.
2537 (MAGIC2): Likewise.
2538 (head) [MODE_ODC]: Adapt for the format.
2539 (head) [MODE_NEWC]: Likewise.
2540 (head) [!MODE_*]: Write fields of interest as arrays.
2541 (MAGIC_USTAR): Removed.
2542 (read_number) [MODE_NEWC]: Change to hex.
2543 (read_number) [!MODE_*]: Parse binary arrays.
2544 (grub_cpio_find_file): Factor out the code for better structure and
2545 always use read_number.
2546 (grub_cpio_mount): Use MAGIC and MAGIC2.
2547 (grub_cpio_dir): Exit on first hook non-0 return.
2548 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2549 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2550 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2551 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2552 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2553 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2554 * grub-core/fs/newc.c: New file.
2555 * grub-core/fs/odc.c: Likewise.
2556 * grub-core/fs/cpio_be.c: Likewise.
2557
2558 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Fix handling of tar numbers occupying the whole field.
2561
2562 * grub-core/fs/cpio.c (read_number): New function.
2563 (grub_cpio_find_file): Use read_number instead of strtoull.
2564
2565 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2568 occupying the whole field size.
2569
2570 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2571
2572 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2573
2574 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2577
2578 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2579
2580 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2581 TARGET_IMG_LDFLAGS.
2582
2583 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2586 (mountinfo_entry): Increase the field size to take escaping into
2587 account.
2588 (find_root_device_from_libzfs): Add one byte to size of strings for
2589 security.
2590
2591 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2594 an assert.
2595 * util/grub-setup.c (setup): Likewise.
2596
2597 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2600 _LzmaDecodeA.
2601
2602 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * docs/grub.texi (Internationalisation): New section.
2605
2606 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2607
2608 * docs/grub.texi (Loopback booting): New section.
2609
2610 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
2611
2612 * util/grub-mkstandalone.in: Fix minor typo errors.
2613
2614 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2617
2618 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2619 net/icmp.c and net/icmp6.c.
2620 (http): New module.
2621 (priority_queue): Likewise.
2622 * grub-core/io/bufio.c: Rewritten.
2623 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2624 TYPE_WITH_CONFIGFILE_OPTION.
2625 (legacy_commands): Add bootp and dhcp.
2626 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2627 (grub_legacy_parse): Likewise.
2628 * grub-core/lib/priority_queue.c: New file.
2629 * grub-core/net/arp.c: Add missing license header.
2630 (arp_find_entry): Removed.
2631 (arp_find_entry): Likewise.
2632 (grub_net_arp_resolve): Rename to ...
2633 (grub_net_arp_send_request): ...this.
2634 (grub_net_arp_receive): New card argument.
2635 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2636 Set router and DNS server.
2637 (grub_net_configure_by_dhcp_ack): Handle routing information.
2638 (grub_cmd_bootp): Set checksum.
2639 (grub_bootp_init): Remove net_dhcp.
2640 * grub-core/net/dns.c: New file.
2641 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2642 completion.
2643 (get_card_packet): Handle allocation.
2644 (grub_efinet_findcards): Set mtu.
2645 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2646 (get_card_packet): Handle allocation.
2647 (emucard): Set mtu.
2648 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2649 (GRUB_MOD_INIT): Set mtu.
2650 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2651 mtu.
2652 (get_card_packet): Handle allocation.
2653 (grub_ofnet_findcards): Set mtu.
2654 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2655 assert.
2656 (grub_net_recv_ethernet_packet): Handle IPv6.
2657 * grub-core/net/http.c: New file.
2658 * grub-core/net/icmp.c: Likewise.
2659 * grub-core/net/icmp6.c: Likewise.
2660 * grub-core/net/ip.c (ip6addr): New type.
2661 (ip6hdr): Likewise.
2662 (reassemble): Likewise.
2663 (cmp): New function.
2664 (reassembles): New variable.
2665 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2666 (id): New variable.
2667 (send_fragmented): New function.
2668 (grub_net_send_ip_packet): Rename to ...
2669 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2670 Handle non-UDP.
2671 (grub_net_recv_ip_packets): Rename to ...
2672 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2673 (free_rsm): New function.
2674 (free_old_fragments): Likewise.
2675 (grub_net_recv_ip4_packets): New function.
2676 (grub_net_send_ip6_packet): Likewise.
2677 (grub_net_send_ip_packet): Likewise.
2678 (grub_net_recv_ip6_packets): Likewise.
2679 (grub_net_recv_ip_packets): Likewise.
2680 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2681 (LINK_LAYER_CACHE_SIZE): New const.
2682 (link_layer_find_entry): New function.
2683 (grub_net_link_layer_add_address): Likewise.
2684 (grub_net_link_layer_resolve_check): Likewise.
2685 (grub_net_link_layer_resolve): Likewise.
2686 (grub_net_ipv6_get_slaac): Likewise.
2687 (grub_net_ipv6_get_link_local): Likewise.
2688 (grub_cmd_ipv6_autoconf): Likewise.
2689 (parse_ip): Handle one number representation.
2690 (parse_ip6): New functoion.
2691 (match_net): Handle IPv6.
2692 (grub_net_resolve_address): Handle IPv6 and DNS.
2693 (grub_net_resolve_net_address): Handle IPv6.
2694 (route_cmp): New function.
2695 (grub_net_route_address): Find best route.
2696 (grub_net_addr_to_str): Handle IPv6.
2697 (grub_net_addr_cmp): New function.
2698 (grub_net_add_addr): Register local route.
2699 (print_net_address): Handle net address.
2700 (grub_net_poll_cards): Retransmit TCP.
2701 (grub_net_poll_cards_idle_real): Likewise.
2702 (have_ahead): New function.
2703 (grub_net_seek_real): Use underlying seek.
2704 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2705 * grub-core/net/tcp.c: New file.
2706 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2707 (cmp): New function.
2708 (ack): Likewise.
2709 (tftp_receive): Handle unordered input.
2710 (destroy_pq): New function.
2711 (tftp_close): Close pq.
2712 * grub-core/net/udp.c: Put missing license header.
2713 (grub_net_udp_socket): New function.
2714 (udp_socket_register): Likewise.
2715 (grub_net_udp_close): Likewise.
2716 (grub_net_recv_udp_packet): Check checksum.
2717 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2718 * include/grub/misc.h (grub_memchr): New function.
2719 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2720 (grub_net_card_driver): Return buf in recv.
2721 (grub_net_slaac_mac_list): New struct.
2722 (grub_network_level_protocol_id): Add ipv6.
2723 (grub_net_network_level_addr): Likewise.
2724 (grub_net_network_level_net_addr): Likewise.
2725 (grub_net_app_protocol): Add seek.
2726 (grub_net_socket): Removed.
2727 (grub_net_sockets): Likewise.
2728 (grub_net_socket_register): Likewise.
2729 (grub_net_socket_unregister): Likewise.
2730 (FOR_NET_SOCKETS): Likewise.
2731 (grub_net_add_addr): Add const.
2732 (GRUB_NET_BOOTP_*): New enum.
2733 (grub_net_addr_cmp): New proto.
2734 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2735 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2736 (grub_net_hwaddr_to_str): NEw proto.
2737 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2738 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2739 (grub_dns_init): New proto.
2740 (grub_dns_fini): Likewise.
2741 (grub_net_tcp_retransmit): Likewise.
2742 (grub_net_link_layer_add_address): Likewise.
2743 (grub_net_link_layer_resolve_check): Likewise.
2744 (grub_net_link_layer_resolve): Likewise.
2745 (grub_net_dns_lookup): Likewise.
2746 (grub_net_add_dns_server): Likewise.
2747 (grub_net_remove_dns_server): Likewise.
2748 (GRUB_NET_TRIES): New const.
2749 (GRUB_NET_INTERVAL): Likewise.
2750 * include/grub/net/arp.h: Mostly rewritten.
2751 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2752 * include/grub/net/ip.h: Mostly rewritten.
2753 * include/grub/net/netbuff.h: Indent.
2754 * include/grub/net/tcp.h: New file.
2755 * include/grub/net/udp.h: Mostly rewritten.
2756 * include/grub/priority_queue.h: New file.
2757 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2758 (grub_swap_bytes64_compile_time): Likewise.
2759 (grub_cpu_to_be16_compile_time): Likewise.
2760 (grub_cpu_to_be32_compile_time): Likewise.
2761 (grub_cpu_to_be64_compile_time): Likewise.
2762 (grub_be_to_cpu64_compile_time): Likewise.
2763
2764 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2767 UINT_TO_PTR with cast.
2768
2769 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2772 don't use them.
2773
2774 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2777 already there.
2778
2779 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2782 confusing ipxe.
2783
2784 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2787 Add missing const attribute.
2788 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2789 Likewise.
2790 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2791 Likewise.
2792
2793 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2796 misaligned access.
2797 (serpent_setkey): Likewise.
2798 (serpent_encrypt_internal): Likewise.
2799 (serpent_decrypt_internal): Likewise.
2800 (serpent_encrypt): Don't put an alignment-increasing cast.
2801 (serpent_decrypt): Likewise.
2802 (serpent_test): Likewise.
2803
2804 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2807
2808 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2809
2810 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2811
2812 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2813 grub_addr_t casts.
2814 (PTR_TO_UINT64): Likewise.
2815 (PTR_TO_UINT32): Likewise.
2816
2817 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2820 because of stack.
2821 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2822 limit.
2823
2824 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2827 text_width > available width a bit more gracefully.
2828
2829 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2832 current address calculation.
2833
2834 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2835
2836 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2837 stack.
2838 (encode_block): Likewise.
2839
2840 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2843 certainety.
2844
2845 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2848 non-RS part to avoid RS messing with GDT.
2849 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2850 Increase to suit in realmode routines.
2851
2852 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * grub-core/kern/i386/realmode.S: Increase alignment.
2855 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2856
2857 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2860 be deterministic.
2861 (syndroms): Compute 0 syndrom.
2862 (rs_recover): Use 0 syndrom.
2863
2864 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2865
2866 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2867
2868 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2871 brackets.
2872
2873 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2876 account.
2877 (get_top_pad): Likewise.
2878 (get_right_pad): Likewise.
2879 (get_bottom_pad): Likewise.
2880
2881 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
2884
2885 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2888 attribute as the structure isn't guaranteed to be properly aligned.
2889 (grub_efi_pci_device_path): Likewise.
2890 (grub_efi_pccard_device_path): Likewise.
2891 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2892 specify the size of `memory_type'.
2893 (grub_efi_vendor_device_path): Likewise.
2894 (grub_efi_controller_device_path): Likewise.
2895 (grub_efi_acpi_device_path): Likewise.
2896 (grub_efi_expanded_acpi_device_path): Likewise.
2897 (grub_efi_atapi_device_path): Likewise.
2898 (grub_efi_scsi_device_path): Likewise.
2899 (grub_efi_fibre_channel_device_path): Likewise.
2900 (grub_efi_1394_device_path): Likewise.
2901 (grub_efi_usb_device_path): Likewise.
2902 (grub_efi_usb_class_device_path): Likewise.
2903 (grub_efi_i2o_device_path): Likewise.
2904 (grub_efi_mac_address_device_path): Likewise.
2905 (grub_efi_ipv4_device_path): Likewise.
2906 (grub_efi_ipv6_device_path): Likewise.
2907 (grub_efi_infiniband_device_path): Likewise.
2908 (grub_efi_uart_device_path): Likewise.
2909 (grub_efi_vendor_messaging_device_path): Likewise.
2910 (grub_efi_hard_drive_device_path): Likewise.
2911 (grub_efi_cdrom_device_path): Likewise.
2912 (grub_efi_vendor_media_device_path): Likewise.
2913 (grub_efi_file_path_device_path): Likewise.
2914 (grub_efi_protocol_device_path): Likewise.
2915 (grub_efi_piwg_device_path): Likewise.
2916 (grub_efi_bios_device_path): Likewise.
2917
2918 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2919
2920 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2921 (grub_ucs4_to_utf8_alloc): Likewise.
2922 (grub_ucs4_to_utf8): Likewise.
2923 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2924 (grub_ucs4_to_utf8_alloc): Likewise.
2925
2926 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 AFFS never uses unicode.
2929
2930 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2931 (grub_latin1_to_utf8): New inline function.
2932 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2933
2934 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2937 overflow.
2938
2939 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2942 (grub_squash_dirent_header): Likewise.
2943 (read_chunk): Don't double swap.
2944 (grub_squash_iterate_dir): Fix swap sizes.
2945
2946 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2947
2948 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2949
2950 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2953 (grub_hfs_iterate_dir): Likewise.
2954
2955 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2956
2957 Fix video on platforms where unaligned access is forbidden.
2958 Make several optimisations while on it.
2959
2960 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2961 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2962 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2963 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2964 Disable.
2965 (grub_video_fbblit_replace_16bit_1bit):
2966 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2967 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2968 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2969 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2970 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2971 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2972 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2973 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2974 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2975 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2976 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2977 (grub_video_fbblit_replace_index_RGB888): Likewise.
2978 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2979 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
2980 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
2981 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2982 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
2983 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2984 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2985 Disable.
2986 (grub_video_fbblit_blend_XXX565_1bit):
2987 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2988 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
2989 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
2990 void *.
2991 * grub-core/video/fb/video_fb.c (common_blitter)
2992 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
2993 (grub_video_fb_create_render_target_from_pointer)
2994 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2995 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
2996 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
2997 definition.
2998 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2999
3000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
3003 HH22 and HM10 relocations.
3004
3005 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3006
3007 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
3008
3009 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3010
3011 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
3012 allocation succeeded.
3013
3014 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
3017 argument a u8 pointer. All users updated.
3018 Handle unaligned buffers.
3019
3020 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
3023 add_part to workaround compiler bug.
3024
3025 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
3028
3029 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
3032 Reserve alignment invariants.
3033 (grub_multiboot_load): Likewise.
3034 (retrieve_video_parameters): Likewise.
3035 (grub_multiboot_make_mbi): Likewise.
3036
3037 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
3040 incorrect pointer.
3041
3042 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
3045 (grub_pata_pio_write): Likewise.
3046
3047 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 Add noreturn attributes and remove unreachable code.
3050
3051 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
3052 code.
3053 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
3054 code. Mark as noreturn.
3055 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
3056 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
3057 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
3058 unreachable code.
3059 * grub-core/kern/main.c (grub_main): Mark as noreturn.
3060 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
3061 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
3062 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
3063 * include/grub/kernel.h (grub_main): Mark as noreturn.
3064 * include/grub/reader.h (grub_rescue_run): Likewise.
3065
3066 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
3069 redundant declaration.
3070
3071 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3074 redundant declaration.
3075 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3076
3077 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3080 to ensure alignment.
3081 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3082 alignment. Ensure tmp alignment.
3083 (grub_cmd_hdparm): Ensure buf alignment.
3084 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3085 to ensure alignment.
3086 (grub_ata_dumpinfo): Ensure text alignment.
3087 (grub_atapi_identify): Preserve alignment invariant.
3088 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3089
3090 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3093 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3094 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3095 * include/grub/misc.h (grub_reboot)
3096 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3097 (grub_halt) [__mips__]: Likewise.
3098
3099 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3102 Remove redundant declaration.
3103 (grub_mmap_get_post64): Likewise.
3104 (grub_mmap_get_upper): Likewise.
3105 (grub_mmap_get_lower): Likewise.
3106
3107 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3110 uint32_t * to ensure alignment.
3111 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3112
3113 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3116 uint16_t * to ensure alignment.
3117 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3118 alignment.
3119
3120 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
3123 to ensure alignment.
3124 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3125
3126 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3129 Handle unaligned pointers.
3130 (u32at): Likewise.
3131 (u64at): Likewise.
3132 (fixup): Use byte access instead of v16at.
3133 (find_attr): Fix imporper usage of v32at.
3134 (read_data): Likewise.
3135 (list_file): Handle byte-swapping and unaligned strings.
3136 (grub_ntfs_label): Likewise.
3137
3138 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3141 as it's not necessarily aligned.
3142
3143 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3146 redundant declaration.
3147 (grub_serial_init): Likewise.
3148 (grub_terminfo_init): Likewise.
3149
3150 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3151
3152 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3153 function.
3154 (ZAP_HASH_IDX): Likewise.
3155 (ZAP_LEAF_HASH_SHIFT): Likewise.
3156 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3157 (LEAF_HASH): Likewise.
3158 (ZAP_LEAF_NUMCHUNKS): Likewise.
3159 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3160 alignment invariants. Return pointer. All users updated.
3161 (ZAP_LEAF_ENTRY): Make into inline function.
3162 (NBBY): Removed.
3163 (xor): LIkewise.
3164 (xor_out): Use grub_crypto_xor.
3165 (dnode_get_path): Use grub_get_unaligned.
3166 (nvlist_find_value): Likewise.
3167 (grub_zfs_nvlist_lookup_uint64): Likewise.
3168 (grub_zfs_nvlist_lookup_string): Likewise.
3169 (get_nvlist_size): Likewise.
3170 (grub_zfs_open): Likewise.
3171 (fill_fs_info): Likewise.
3172 (grub_zfs_dir): Likewise.
3173 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3174 alignment invariants.
3175 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3176 necessarily aligned.
3177
3178 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3181
3182 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3185 arithmetic to conserve alignment invariants.
3186
3187 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3190 redundant declaration.
3191 (grub_efiemu_mm_obtain_request): Likewise.
3192 (grub_efiemu_prepare): Likewise.
3193
3194 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3197 to match types.
3198
3199 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3202 case of aunaligned recptr.
3203 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3204 alignment.
3205 (grub_hfsplus_btree_search): Handle unaligned index.
3206
3207 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3208
3209 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3210 to get freetag and skip.
3211
3212 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3215 array.
3216 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3217 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3218
3219 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3222 name for checksum and fix allocation algorithm.
3223
3224 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3225
3226 * include/grub/types.h (grub_properly_aligned_t): New type.
3227 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3228 (grub_get_unaligned16): Add explicit casts.
3229 (grub_get_unaligned32): Likewise.
3230 (grub_get_unaligned64): Likewise.
3231 (grub_set_unaligned16): New function.
3232 (grub_set_unaligned32): Likewise.
3233
3234 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3237
3238 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3241 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3242 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3243
3244 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3247 conditionals.
3248
3249 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3252 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3253
3254 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 Unify and improve RAID and crypto xor.
3257
3258 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3259 changed to grub_crypto_xor
3260 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3261 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3262 Use bigger types when possible.
3263
3264 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3265
3266 * grub-core/disk/raid.c (scan_devices): Fix condition.
3267
3268 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3271 Make name a const ptr.
3272
3273 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3276 first argument a const pointer.
3277 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3278 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3279 proto.
3280 (grub_children_iterate): Likewise.
3281 (grub_machine_mmap_iterate): Remove redundant declaration.
3282
3283 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3284
3285 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3286 (grub_cmd_acpi) [!x86]: Disable EBDA.
3287
3288 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 Enable UTF8 in gnulib regexp.
3291
3292 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3293 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3294 (isupper): Use grub_isupper.
3295 (isascii): New inline function.
3296 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3297 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3298 * grub-core/normal/charset.c (grub_utf8_process): New function.
3299 (grub_utf8_to_utf16): Use grub_utf8_process.
3300 (grub_encode_utf8_character): New function.
3301 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3302 * include/grub/charset.h (grub_utf8_process): New declaration.
3303 (grub_encode_utf8_character): Likewise.
3304 * include/grub/misc.h (grub_islower): New inline function.
3305 (grub_isupper): Likewise.
3306 (grub_strchrsub): Moved down to fix the definitions.
3307
3308 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3311 specification.
3312
3313 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * include/grub/loader.h (grub_loader_register_preboot_hook):
3316 Use struct preboot * and not void * for handle. All users updated.
3317 (grub_loader_unregister_preboot_hook): Likewise.
3318
3319 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3322 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3323 UTF-16-BE. All users updated.
3324 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3325 (grub_hfsplus_iterate_dir): Likewise.
3326 (grub_hfsplus_label): Likewise.
3327
3328 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3331
3332 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 Add missing const qualifiers.
3335
3336 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3337 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3338 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3339 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3340 (grub_lvm_check_flag): Likewise.
3341 * grub-core/efiemu/i386/coredetect.c
3342 (grub_efiemu_get_default_core_name): Likewise
3343 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3344 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3345 * grub-core/fs/ntfs.c (fixup): Likewise.
3346 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3347 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3348 (fzap_lookup): Likewise.
3349 (zap_lookup): Likewise.
3350 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3351 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3352 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3353 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3354 (grub_freebsd_add_meta_module): Likewise.
3355 (grub_cmd_freebsd_module): Likewise.
3356 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3357 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3358 (grub_xnu_writetree_get_size): Likewise.
3359 (grub_xnu_writetree_toheap_real): Likewise.
3360 (grub_xnu_find_key): Likewise.
3361 (grub_xnu_create_key): Likewise.
3362 (grub_xnu_create_value): Likewise.
3363 (grub_xnu_register_memory): Likewise.
3364 (grub_xnu_check_os_bundle_required): Likewise.
3365 (grub_xnu_scan_dir_for_kexts): Likewise.
3366 (grub_xnu_load_kext_from_dir): Likewise.
3367 * grub-core/normal/color.c (color_list): Likewise.
3368 * grub-core/normal/completion.c (current_word): Likewise.
3369 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3370 * grub-core/term/serial.c (grub_serial_find): Likewise.
3371 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3372 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3373 Likewise.
3374 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3375 (grub_freebsd_add_meta_module): Likewise.
3376 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3377 * include/grub/net.h (grub_net_card_driver): Likewise.
3378 (grub_net_card): Likewise.
3379 (grub_net_app_protocol): Likewise.
3380 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3381 * include/grub/serial.h (grub_serial_find): Likewise.
3382 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3383 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3384 (grub_xnu_create_value): Likewise.
3385 (grub_xnu_find_key): Likewise.
3386 (grub_xnu_scan_dir_for_kexts): Likewise.
3387 (grub_xnu_load_kext_from_dir): Likewise.
3388
3389 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3390 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3391 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3392 Moved from here ...
3393 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3394
3395 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
3396
3397 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3398
3399 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3400
3401 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3402 (read_device): Fix size calculation.
3403
3404 2011-11-25 Robert Millan <rmh@gnu.org>
3405
3406 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3407 (find_root_device_from_libzfs): Add zpool output parser to be used
3408 as fallback when libzfs isn't available.
3409
3410 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3411
3412 * po/Makefile.in.in: Add missing escape-continuation.
3413
3414 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3417
3418 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3421
3422 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3425
3426 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3429
3430 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * grub-core/lib/adler32.c: Add missing license specification.
3433 * grub-core/lib/crc64.c: Likewise.
3434 * grub-core/loader/i386/pc/plan9.c: Likewise.
3435 * grub-core/partmap/plan.c: Likewise.
3436
3437 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3438
3439 Add facility to debug GRUB with gdb under qemu.
3440
3441 * grub-core/gdb_grub.in: New file.
3442 * grub-core/gmodule.pl.in: Likewise.
3443 * grub-core/Makefile.core.def (gmodule.pl): New script.
3444 (gdb_grub): Likewise.
3445
3446 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3447
3448 * util/grub-mount.c (argp_parser): Accept relative pathes.
3449 * util/grub-fstest.c (argp_parser): Likewise.
3450
3451 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3452
3453 Plan9 support.
3454
3455 * Makefile.util.def (libgrubmods): Add
3456 grub-core/partmap/plan.c.
3457 * docs/grub.texi: Notice Plan9 support.
3458 * grub-core/Makefile.core.def (plan9): New module.
3459 (part_plan): Likewise.
3460 * grub-core/loader/i386/pc/plan9.c: New file.
3461 * grub-core/partmap/plan.c: Likewise.
3462 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3463 define.
3464 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3465 * include/grub/mm.h (grub_extend_alloc): New inline function.
3466
3467 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 Make Reed-Solomon faster by using power of generator representation of
3470 GF(256)*.
3471
3472 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3473 (gf_double_t): Likewise.
3474 (gf_invert): Removed.
3475 (gf_powx): New array.
3476 (gf_powx_inv): Likewise.
3477 (scratch): Move higher.
3478 (gf_reduce): Removed.
3479 (gf_mul): Use powx.
3480 (gf_invert): Likewise.
3481 (init_inverts): Replaced with ...
3482 (init_powx): ...this. All users updated.
3483 (pol_evaluate): Replace multiplications with additions.
3484 (rs_encode): Likewise.
3485 (gauss_eliminate): Call gf_invert.
3486 (grub_reed_solomon_add_redundancy): Call init_powx.
3487 (grub_reed_solomon_recover): Call init_powx unconditionally.
3488
3489 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3492
3493 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3496 disk->partiton for safety.
3497
3498 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3501 Fix a memory leak.
3502 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3503
3504 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3507
3508 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3511
3512 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 Fix spaces handling in proc/self/mountinfo.
3515
3516 * util/getroot.c (unescape): New function.
3517 (grub_find_root_device_from_mountinfo): Use unescape.
3518
3519 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3520
3521 Support ZFS embedding.
3522
3523 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3524 (grub_zfs_fs): Register grub_zfs_embed.
3525
3526 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3527
3528 Fix MIPS compilation.
3529
3530 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3531 * include/grub/offsets.h: Rename decompressor fields from
3532 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3533 * util/grub-mkimage.c (image_targets): Use new names.
3534
3535 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 Defer multiboot device parsing until we're in compressed part.
3538
3539 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3540 bsd_part. setdevice has fallen into disuse.
3541 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3542 (bsd_part): Likewise.
3543 (boot_dev): New variable.
3544 (multiboot_trampoline): Don't parse multiboot device.
3545 Pass multiboot device in %edx.
3546 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3547 grub_boot_device.
3548 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3549 Likewise.
3550 * grub-core/kern/i386/pc/startup.S: Save edx.
3551 (grub_boot_drive): Removed.
3552 (grub_install_dos_part): Likewise.
3553 (grub_install_bsd_part): Likewise.
3554 (grub_boot_device): New variable.
3555 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3556 (grub_install_bsd_part): Likewise.
3557 (grub_boot_drive): Likewise.
3558 (grub_boot_device): New variable.
3559 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3560 Removed.
3561 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3562 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3563 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3564 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3565 * util/grub-install.in: Remove redundant condition.
3566
3567 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 Fix bug introduced by previous commit.
3570
3571 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3572
3573 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3574
3575 Use decompressors framework on i386-pc. It increases core size
3576 by 46 bytes but improves compatibility and maintainability.
3577
3578 * grub-core/Makefile.core.def (lzma_decompress): New image.
3579 (kernel): Add i386_pc_ldflags.
3580 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3581 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3582 to real_to_prot, prot_to_real and device info.
3583 * include/grub/offsets.h: Renamed decompressor offsets.
3584 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3585 (image_target_desc): Remove raw_size and rename decompressor fields.
3586 (compress_kernel): Handle lzma.
3587 (generate_image): Handle decompressors on i386-pc.
3588
3589 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * configure.ac: Add -fno-asynchronous-unwind-tables.
3592
3593 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 Move assembly code to C by using intwrap. It increases core size
3596 by 88 bytes but improves compatibility and maintainability.
3597
3598 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3599 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3600 ... here. Translated to C.
3601 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3602 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3603 ... here. Translated to C.
3604 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3605 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3606 ... here. Translated to C.
3607 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3608 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3609 ... here. Translated to C.
3610 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3611 * grub-core/term/i386/pc/console.c (grub_console_cls):
3612 ... here. Translated to C.
3613 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3614 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3615 ... here. Translated to C.
3616 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3617 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3618 Translated to C.
3619 * grub-core/term/i386/pc/console.c (int10_9): New function.
3620 (grub_console_putchar): Likewise.
3621 * include/grub/i386/pc/console.h: Removed the not anymore shared
3622 functions.
3623
3624 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Move grub_chainloader_real_boot out of the kernel.
3627
3628 * grub-core/Makefile.am: Remove machine/loader.h.
3629 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3630 Removed.
3631 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3632 variable.
3633 (grub_relocator16_keep_a20_enabled): Likewise.
3634 (grub_relocator16_boot): Fill new variables.
3635 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3636 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3637 relocator.
3638 (grub_chainloader_unload): Likewise.
3639 (grub_chainloader_cmd): Likewise.
3640 * include/grub/i386/pc/loader.h: Removed.
3641 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3642 and esi. All initialisers updated.
3643
3644 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3645 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
3646
3647 * Makefile.util.def (grub-mount): New util.
3648 * .bzrignore: Add grub-mount.
3649 * configure.ac: Check for fuse and enable grub-mount if available.
3650 * docs/man/grub-mount.h2m: New file.
3651 * util/grub-mount.c: Likewise.
3652
3653 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/commands/efi/fixvideo.c: Gettextize.
3656 * grub-core/commands/hashsum.c: Likewise.
3657 * grub-core/commands/i386/cmostest.c: Likewise.
3658 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3659 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3660 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3661 * grub-core/commands/lsmmap.c: Likewise.
3662 * grub-core/commands/menuentry.c: Likewise.
3663 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3664 * grub-core/commands/setpci.c: Likewise.
3665 * grub-core/loader/i386/bsd.c: Likewise.
3666 * grub-core/loader/i386/linux.c: Likewise.
3667 * util/getroot.c: Likewise.
3668 * util/grub-editenv.c: Likewise.
3669 * util/grub-fstest.c: Likewise.
3670 * util/grub-mkfont.c: Likewise.
3671 * util/grub-mkimage.c: Likewise.
3672 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3673 * util/grub-pe2elf.c: Likewise.
3674 * util/grub-probe.c: Likewise.
3675 * util/grub-setup.c: Likewise.
3676 * util/ieee1275/ofpath.c: Likewise.
3677 * util/misc.c: Likewise.
3678 * util/raid.c: Likewise.
3679
3680 2011-11-11 Robert Millan <rmh@gnu.org>
3681
3682 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3683 __attribute__((unused)) from `os_dev', which *is* being used.
3684
3685 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3688 forgotten define.
3689 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3690 GRUB_IA64_DL_GOT_ALIGN.
3691 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3692 GRUB_IA64_DL_TRAMP_ALIGN.
3693
3694 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 Replace grub_fatal with normal errors in i386 linux loader.
3697
3698 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3699 (allocate_pages): Check find_efi_mmap_size return value.
3700 (grub_e820_add_region): Return error.
3701 (grub_linux_boot): Check mmap return value.
3702
3703 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * grub-core/commands/acpihalt.c: Gettextized.
3706 * grub-core/commands/cacheinfo.c: Likewise.
3707 * grub-core/commands/cmp.c: Likewise.
3708 * grub-core/commands/efi/loadbios.c: Likewise.
3709 * grub-core/commands/gptsync.c: Likewise.
3710 * grub-core/commands/ieee1275/suspend.c: Likewise.
3711 * grub-core/commands/legacycfg.c: Likewise.
3712 * grub-core/commands/memrw.c: Likewise.
3713 * grub-core/commands/minicmd.c: Likewise.
3714 * grub-core/commands/parttool.c: Likewise.
3715 * grub-core/commands/time.c: Likewise.
3716 * grub-core/commands/videoinfo.c: Likewise.
3717 * grub-core/disk/geli.c: Likewise.
3718 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3719 * grub-core/disk/luks.c: Likewise.
3720 * grub-core/disk/lvm.c: Likewise.
3721 * grub-core/font/font_cmd.c: Likewise.
3722 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3723 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3724 * grub-core/gfxmenu/view.c: Likewise.
3725 * grub-core/kern/emu/hostdisk.c: Likewise.
3726 * grub-core/kern/emu/main.c: Likewise.
3727 * grub-core/kern/emu/misc.c: Likewise.
3728 * grub-core/kern/emu/mm.c: Likewise.
3729 * grub-core/kern/mips/arc/init.c: Likewise.
3730 * grub-core/kern/mips/loongson/init.c: Likewise.
3731 * grub-core/kern/partition.c: Likewise.
3732 * grub-core/lib/i386/halt.c: Likewise.
3733 * grub-core/lib/mips/arc/reboot.c: Likewise.
3734 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3735 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3736 * grub-core/loader/i386/xnu.c: Likewise.
3737 * grub-core/loader/multiboot.c: Likewise.
3738 * grub-core/net/bootp.c: Likewise.
3739 * grub-core/net/net.c: Likewise.
3740 * grub-core/normal/term.c: Likewise.
3741 * grub-core/partmap/bsdlabel.c: Likewise.
3742 * grub-core/parttool/msdospart.c: Likewise.
3743 * grub-core/term/gfxterm.c: Likewise.
3744 * grub-core/term/terminfo.c: Likewise.
3745 * grub-core/video/i386/pc/vbe.c: Likewise.
3746 * util/grub-menulst2cfg.c: Likewise.
3747 * util/grub-mkdevicemap.c: Likewise.
3748 * util/grub-mklayout.c: Likewise.
3749 * util/grub-mkrelpath.c: Likewise.
3750 * util/grub-script-check.c: Likewise.
3751 * util/ieee1275/grub-ofpathname.c: Likewise.
3752 * util/resolve.c: Likewise.
3753
3754 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 Support %1$d syntax.
3757
3758 * tests/printf_unit_test.c: New file.
3759 * Makefile.util.def (printf_test): New test.
3760 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3761
3762 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3765 fix.
3766
3767 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3770 dprintf.
3771 * grub-core/font/font.c (grub_font_load): Likewise.
3772
3773 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * util/grub-macho2img.c: Add comment concerning gettext.
3776 * grub-core/lib/legacy_parse.c: Likewise.
3777
3778 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3781 (grub_xvasprintf): Likewise.
3782
3783 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Add const keyword to grub_env_get and gettextize week days.
3786
3787 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3788 (grub_read_hook_datetime): Return const char *.
3789 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3790 updated.
3791 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3792 Mark for gettext.
3793 (grub_get_weekday_name): Return const char *. Call gettext.
3794 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3795 char * and len as the argument. All users updated.
3796 (grub_script_argv_split_append): Receive const char *.
3797 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3798 * include/grub/env.h (grub_env_get): Likewise.
3799 (grub_env_read_hook_t): Return const char *.
3800 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3801 (grub_script_argv_split_append): Likewise.
3802
3803 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3806
3807 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3810 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3811
3812 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3815 Fix prototype.
3816
3817 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3818
3819 Fix mips compilation.
3820
3821 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3822 normal decoder.
3823 (hashes): Use in embed decoder as well (for sizes).
3824 (dec_stream_header): Fix embed decompressor logic.
3825 (dec_stream_footer): Likewise.
3826
3827 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3828
3829 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3830 an error and not a fatal on unrecognised relocation types.
3831
3832 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3835 Issue error rather than printf on unknown arguments.
3836
3837 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3840 Make buf a const.
3841
3842 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3843
3844 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3845 Fix module name.
3846
3847 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3850 leftover debug printf.
3851
3852 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3855
3856 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3859 A stylistic fix.
3860
3861 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3864
3865 2011-11-10 Shea Levy <slevy@tieronedesign.com>
3866
3867 Allow all modules to perform serial IO
3868
3869 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3870 * include/grub/serial.h (grub_serial_port_configure): New inline
3871 function.
3872 (grub_serial_port_fetch): Likewise.
3873 (grub_serial_port_put): Likewise.
3874 (grub_serial_port_fini): Likewise.
3875 (grub_serial_find): New proto.
3876
3877 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 Put symlink at the end of the node and fix a potential
3880 memory corruption.
3881
3882 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3883 Make symlink into an array.
3884 (set_rockridge): Set have_symlink and alloc_dirents.
3885 (grub_iso9660_read_symlink): Use new layout.
3886 (grub_iso9660_iterate_dir): Fix memory corruption.
3887 Use new layout.
3888 (grub_iso9660_dir): Set have_symlink.
3889 (grub_iso9660_open): Likewise.
3890
3891 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 Remove local keyword.
3894
3895 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3896 (version_test_gt): Likewise.
3897 (version_find_latest): Likewise.
3898 (gettext_printf): Likewise.
3899 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3900
3901 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3904
3905 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3906
3907 Fix ZFS memory and resource leaks.
3908
3909 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3910 All users updated.
3911 Free type on exit.
3912 (fill_vdev_info): New parameter inserted. All users updated.
3913 (check_pool_label): Likewise.
3914 (scan_disk): Likewise.
3915 (scan_devices): Close non-inserted disks.
3916 (fzap_iterate): Free l.
3917 (unmount_device): Free children descripto memory.
3918
3919 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3922 argument (access out of bounds).
3923
3924 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3927 >= 6 drives.
3928
3929 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3930
3931 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3932 Fix declaration.
3933
3934 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 Fix several memory leaks.
3937
3938 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3939 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3940 (grub_cpio_dir): Likewise.
3941 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3942 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3943 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3944 (grub_romfs_label): Likewise.
3945 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3946 (squash_unmount): New function.
3947 (grub_squash_dir): Fix memory leak.
3948 (grub_squash_open): Likewise.
3949 (grub_squash_read): Likewise.
3950 (grub_squash_mtime): Likewise.
3951 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3952 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3953 * util/grub-fstest.c (fstest): Likewise.
3954
3955 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3956
3957 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3958 avoid accessing beyond the array.
3959
3960 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3963
3964 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 Several AFFS fixes.
3967
3968 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3969 (GRUB_AFFS_FLAG_FFS): Removed.
3970 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3971 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3972 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3973 (grub_fshelp_node): Make block 32-bit.
3974 Add block_cache and last_block_cache.
3975 (grub_affs_read_block): Fill and use block cache.
3976 (grub_affs_read_file): Removed.
3977 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3978 boot block.
3979 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
3980 safety.
3981 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
3982 space.
3983 (grub_affs_close): Free block cache.
3984 (grub_affs_read): Use grub_fshelp_read_file directly.
3985
3986 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
3989 with no error set.
3990
3991 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
3994 used variable.
3995 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3996 Likewise.
3997
3998 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
4001
4002 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
4003 byteswap when needed.
4004
4005 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4006
4007 Fix FreeBSD compilation.
4008
4009 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
4010 to avoid circular dependency.
4011 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
4012 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
4013 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
4014
4015 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 Fix ZFS crypto error types.
4018
4019 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
4020 (grub_gcm_decrypt): Likewise.
4021 (grub_zfs_load_key_real): Fix error code type. Handle possible error
4022 from PBKDF2.
4023
4024 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4025
4026 Illumos support.
4027
4028 * Makefile.util.def (10_illumos): New script.
4029 * configure.ac: Set COND_HOST_ILLUMOS.
4030 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
4031 Support Illumos calls.
4032 (find_partition_start) [__sun__]: Likewise.
4033 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
4034 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
4035 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
4036 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
4037 device.
4038 * util/grub-probe.c (probe) [__sun__]: Do character check.
4039 * util/grub.d/10_illumos.in: New file.
4040
4041 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4042
4043 Support escaped commas in hostdisk.
4044
4045 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
4046 (find_grub_drive): Use unescape_cmp.
4047 (make_device_name): Escape commas.
4048
4049 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
4052
4053 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4054
4055 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
4056 variable.
4057
4058 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 Support trampoline jumps on powerpc.
4061
4062 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
4063 __ia64__ path.
4064 (grub_dl_load_segments): Set mod->sz.
4065 (grub_dl_flush_cache): Flush whole space occupied by module, not just
4066 segments.
4067 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
4068 (jump): Likewise.
4069 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
4070 function.
4071 (trampoline): New struct.
4072 (trampoline_template): New const.
4073 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4074 * include/grub/dl.h (grub_dl): Add sz element.
4075 [__powerpc__]: Follow __ia64__.
4076 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4077 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4078 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4079 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4080
4081 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4082
4083 ZFS crypto support.
4084
4085 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4086 * grub-core/Makefile.core.def (zfscrypt): New module.
4087 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4088 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4089 it. All users updated.
4090 (grub_zfs_decrypt): New var.
4091 (grub_zfs_load_key): Likewise.
4092 (zio_checksum_functions): Add SHA256+MAC.
4093 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4094 (zio_read): Handle encrypted blocks.
4095 (zap_verify): Remove incorrect check.
4096 (fzap_iterate): Handle non-standard fzap.
4097 (zap_iterate): Likewise.
4098 (zap_iterate_u64): New function.
4099 (dnode_get_fullpath): Load keys.
4100 * grub-core/fs/zfs/zfscrypt.c: New file.
4101 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4102 (grub_crypto_ecb_encrypt): Make input const.
4103 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4104 (grub_crypto_ecb_encrypt): Make input const.
4105 (GRUB_CIPHER_AES): New macro.
4106 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4107 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4108 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4109 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4110 prefix. All users updated.
4111 (grub_zfs_add_key): New proto.
4112 (grub_zfs_decrypt): Likewise.
4113 (grub_zfs_load_key): Likewise.
4114 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4115 * util/grub-fstest.c (options): Add -K option.
4116 (argp_parser): Likewise.
4117
4118 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 Support zle compression on ZFS.
4121
4122 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4123 (decomp_table): Add zle.
4124 * include/grub/zfs/zio.h (zio_compress): Add zle.
4125
4126 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4127
4128 Support BtrFS embedding.
4129
4130 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4131 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4132 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4133 * util/grub-setup.c (setup): Use fs embedding if available.
4134 Add additional sanity check.
4135
4136 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 * util/grub-install.in: Fix condition for config_opt.
4139
4140 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4141
4142 Support third redundancy strip on raidz3.
4143
4144 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4145 Return error on singularity. All users updated.
4146 (read_device): Don't stop on 3rd failure on raidz3.
4147
4148 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Support case-insensitive ZFS subvolumes.
4151
4152 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4153 All users updated.
4154 (zap_hash): Likewise.
4155 (name_cmp): New function.
4156 (zap_leaf_array_equal): New parameter case_insensitive.
4157 All users updated.
4158 (zap_leaf_lookup): Likewise.
4159 (fzap_lookup): Likewise.
4160 (zap_lookup): Likewise.
4161 (dnode_get_path): New parameter case_insensitive. Retrieve case
4162 sensitiviness of a volume. All users updated.
4163 (dnode_get_fullpath): New parameter case_insensitive.
4164 All users updated.
4165 (grub_zfs_dir): Set info.case_insensitiveness.
4166
4167 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 Support second redundancy strip on raidz(2,3).
4170
4171 * grub-core/fs/zfs/zfs.c (powx): New array.
4172 (powx_inv): Likewise.
4173 (poly): New const.
4174 (xor_out): New function.
4175 (gf_mul): Likewise.
4176 (recovery): Likewise.
4177 (read_device): Use second redundancy strip.
4178
4179 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4180
4181 Use a power of generator representation of GF(256) multiplication group
4182 to save space time and complexity.
4183
4184 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4185 (raid6_table2): Likewise.
4186 (powx): New array.
4187 (powx_inv): Likewise.
4188 (poly): New const.
4189 (grub_raid_block_mul): Replace with ...
4190 (grub_raid_block_mulx): ...this.
4191 (grub_raid6_init_table): Rewritten.
4192 (grub_raid6_recover): Use power of generator representation.
4193
4194 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4195
4196 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4197 for the right device.
4198
4199 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4200
4201 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4202 expected by grub-mkimage and it's more clear since there is no implicit
4203 padding.
4204
4205 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4208 disk.
4209 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4210
4211 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4212
4213 * util/grub-mkrescue.in: Fix handling xorriso option.
4214
4215 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4218 NULL.
4219
4220 2011-11-03 crocket <crockabiscuit@gmail.com>
4221
4222 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4223
4224 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 XZ CRC64 and SHA256 support.
4227
4228 * Makefile.util.def (libgrubmods): Add crc64.c.
4229 * grub-core/Makefile.core.def (crc64): New module.
4230 * grub-core/lib/crc64.c: New file.
4231 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4232 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4233 Fix the type.
4234 (MAX_HASH_SIZE): New define.
4235 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4236 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4237 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4238 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4239 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4240 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4241 Handle non-crc32 hashes.
4242 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4243 (dec_stream_header): Handle non-crc32 hashes.
4244 (dec_stream_footer): Likewise.
4245 (dec_block_header): Likewise.
4246 (dec_main): Likewise.
4247 (xz_dec_init): Likewise.
4248 (xz_dec_reset): Likewise.
4249 (xz_dec_end): Likewise.
4250 * util/import_gcry.py: Add CRC64 line.
4251
4252 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4255 as well.
4256
4257 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Make reiserfs label retrieval similar to other *_label functions.
4260
4261 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4262 (REISERFS_MAX_LABEL_LENGTH): Removed.
4263 (REISERFS_LABEL_OFFSET): Likewise.
4264 (grub_reiserfs_label): Rewritten.
4265
4266 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4267
4268 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4269 field.
4270
4271 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4274
4275 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4278 drive failure on both raidz and raidz2.
4279
4280 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4281
4282 Fix RAIDZ(2) for >= 5 devices.
4283
4284 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4285 asize argument. All users updated.
4286
4287 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 Fix RAIDZ(2).
4290
4291 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4292 (fill_vdev_info_real): Set ashift.
4293 (read_device): Rewrite RAIDZ part based on reverse engineering.
4294
4295 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4296
4297 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4298 don't report potentially unavialiable fields in debug output.
4299 (find_path): Fix double-free and memory leak.
4300
4301 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 Read label on UFS1.
4304
4305 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4306 (grub_ufs_fs): Always set .label.
4307
4308 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 Use shifts in UFS.
4311
4312 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4313 (grub_ufs_data): New field log2_blksz.
4314 (grub_ufs_read_file): Use shifts.
4315 (grub_ufs_mount): Check block size and logarithm it.
4316
4317 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4320 long symlinks.
4321
4322 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Handle symlinks and long names on tar and cpio.
4325
4326 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4327 (ATTR_FILE): Likewise.
4328 (ATTR_DIR): Likewise.
4329 (ATTR_LNK): Likewise.
4330 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4331 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4332 L and K entries.
4333 (grub_cpio_mount): Zero-fill data.
4334 (handle_symlink): New function.
4335 (grub_cpio_dir): Handle symlinks.
4336 (grub_cpio_open): Likewise.
4337 (grub_cpio_close) [MODE_USTAR]: Free linkname.
4338
4339 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 Fix iso9660 filename limitations and fix memory leaks.
4342
4343 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4344 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4345
4346 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 Fix JFS file name length limitations.
4349
4350 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4351 (grub_jfs_diropen): Fix maximum filename length.
4352 (grub_jfs_getent): Fix filename length.
4353 (grub_jfs_lookup_symlink): Fix size checks.
4354
4355 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4358 string.
4359
4360 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 Leverage BFS implementation to read AFS.
4363
4364 * Makefile.util.def (libgrubmods): Add afs.c.
4365 * grub-core/Makefile.core.def (afs): New module
4366 * grub-core/fs/afs.c: New file.
4367 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4368
4369 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
4372
4373 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * grub-core/fs/bfs.c: Run indent.
4376
4377 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 BFS implementation based on the specification.
4380
4381 * grub-core/fs/bfs.c: New file.
4382 * Makefile.util.def (libgrubmods): Add bfs.c.
4383 * grub-core/Makefile.core.def (bfs): New module.
4384
4385 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * util/grub-fstest.c (cmd_cp): Clarify error message.
4388 (cmd_cmp): Likewise.
4389
4390 2011-10-30 Yves Blusseau <blusseau@zetam.org>
4391
4392 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4393 and befs_be.
4394
4395 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4396
4397 Remove afs and befs because of copyright problem.
4398
4399 * grub-core/fs/afs.c: Removed.
4400 * grub-core/fs/afs_be.c: Removed.
4401 * grub-core/fs/befs.c: Removed.
4402 * grub-core/fs/befs_be.c: Removed.
4403 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4404 * grub-core/Makefile.core.def (afs): Removed.
4405 (afs_be): Likewise.
4406 (befs): Likewise.
4407 (befs_be): Likewise.
4408
4409 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4410
4411 Prefer rockridge over Joliet.
4412
4413 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4414 to ...
4415 (set_rockridge): ... here.
4416 (grub_iso9660_mount): Check rockridge on the primary label when
4417 discovering. Ignore Joliet if Rockridge is present.
4418
4419 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 Use shifts in nilfs2.
4422
4423 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4424 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4425 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4426 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4427 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4428 (grub_nilfs2_entries_per_block): Replaced with ...
4429 (grub_nilfs2_log_entries_per_block_log): ... this.
4430 (grub_nilfs2_blocks_per_group): Replaced with ...
4431 (grub_nilfs2_blocks_per_group_log): ... this.
4432 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4433 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4434 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4435 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4436 (grub_nilfs2_palloc_entry_offset): Replaced ...
4437 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4438 (grub_nilfs2_dat_translate): Use shifts.
4439 (grub_nilfs2_read_inode): Likewise.
4440 (GRUB_MOD_INIT): Ensure that logs are correct.
4441
4442 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4443
4444 Use shifts in minix filesystem.
4445
4446 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4447 (GRUB_MINIX_ZONE2SECT): Likewise.
4448 (grub_minix_data): Replace block_size with log_block_size.
4449 (grub_minix_read_file): Use shifts.
4450 (grub_minix_mount): Check block size and take a logarithm.
4451
4452 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Use shifts in squash4.
4455
4456 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4457 (squash_mount): Check block size and take logarithm.
4458 (direct_read): Use shifts.
4459
4460 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 Correct befs block counting logic.
4463
4464 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4465 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4466 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4467 (grub_afs_read_inode): Use block_shift.
4468 (RANGE_SHIFT): New definition.
4469 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4470 unexpected conditions, use shifts and appropriate types.
4471 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4472
4473 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/disk/raid.c (scan_devices): Check partition.
4476 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4477
4478 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4479
4480 Support BFS (befs) UUID.
4481
4482 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4483 (grub_afs_small_data_element_header): New struct.
4484 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4485 (grub_afs_read_attribute) [MODE_BFS]: New function.
4486 (grub_afs_iterate_dir): Allocate for complete inode.
4487 (grub_afs_mount): Likewise.
4488 (grub_afs_uuid) [MODE_BFS]: New function.
4489 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4490
4491 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4492
4493 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4494 (zfs_unmount): Fix memory leak.
4495
4496 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 Support NTFS reparse points.
4499
4500 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4501 (symlink_descriptor): New struct.
4502 (grub_ntfs_read_symlink): New function.
4503 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4504 (grub_ntfs_open): Likewise.
4505
4506 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4507
4508 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4509
4510 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 fstest xnu_uuid subcommand.
4513
4514 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4515 grub-core/commands/xnu_uuid.c.
4516 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4517 (fstest): Handle xnu_uuid.
4518 (options): Document xnu_uuid.
4519 (argp_parser): Parse xnu_uuid.
4520
4521 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4524 -l argument. Add newline at the end if printing.
4525 (GRUB_MOD_INIT): Document -l.
4526
4527 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4530
4531 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 ZFS multi-device and version 33 support.
4534
4535 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4536 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4537 (grub_zfs_data): Add multidev-ice-related fields.
4538 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4539 (dva_get_offset): Make dva const.
4540 (zfs_fetch_nvlist): New function.
4541 (fill_vdev_info_real): Likewise.
4542 (fill_vdev_info): Likewise.
4543 (check_pool_label): Likewise.
4544 (scan_disk): Likewise.
4545 (scan_devices): Likewise.
4546 (read_device): Likewise.
4547 (read_dva): Likewise.
4548 (zio_read_gang): Use read_dva.
4549 (zio_read_data): Likewise.
4550 (zap_leaf_lookup): Add missing endian conversion.
4551 (zap_verify): Add missing endian conversion. All users updated.
4552 (fzap_lookup): Likewise.
4553 (fzap_iterate): Likewise.
4554 (dnode_get_path): Handle SA bonus.
4555 (nvlist_find_value): Make input const. All users updated.
4556 (unmount_device): New function.
4557 (zfs_unmount): Use unmount_device.
4558 (zfs_mount): Use scan_disk.
4559 (zfs_mtime): New function.
4560 (grub_zfs_open): Handle system attributes.
4561 (fill_fs_info): Likewise.
4562 (grub_zfs_dir): Likewise.
4563 (grub_zfs_fs): Add mtime.
4564 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4565 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4566 (SA_MTIME_OFFSET): Likewise.
4567 (SA_SYMLINK_OFFSET): Likewise.
4568 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4569 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4570 (fstest): Support zfsinfo.
4571 (argp_parser): Likewise.
4572
4573 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4576 error.
4577
4578 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 ZFS fixes.
4581
4582 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4583 sharing the same block. Iterate over correct number of indices.
4584 (dnode_get_path): Handle symlinks correctly.
4585
4586 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4587
4588 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4589
4590 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 Read label on HFS+.
4593
4594 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4595 (grub_hfsplus_btree_search): Fix types.
4596 (grub_hfsplus_label): Implement.
4597
4598 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4599
4600 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4601
4602 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4605
4606 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Fix symlink handling on iso9660.
4609
4610 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4611 All users updated.
4612 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4613 (grub_iso9660_read_symlink): Moved most of code ...
4614 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4615
4616 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4619 Use union to avoid breaking strict-aliasing rules.
4620
4621 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Support multi-extent iso files.
4624
4625 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4626 Add node.
4627 (grub_fshelp_node): Revamp. All users updated.
4628 (FLAG_*): New enum.
4629 (read_node): New function.
4630 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4631 All users updated.
4632 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4633 (get_node_size): New function.
4634 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4635 entries.
4636 Fix memory leak on . and ..
4637 (grub_iso9660_read): Use read_node.
4638 (grub_iso9660_close): Free node.
4639
4640 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 Fix tar 4G limit and handle paths containing dot.
4643
4644 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4645 (canonicalize): New function.
4646 (grub_cpio_find_file): Use canonicalize. Store offs in
4647 grub_disk_addr_t.
4648 (grub_cpio_dir): Use grub_disk_addr_t.
4649 (grub_cpio_open): Likewise.
4650
4651 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4654
4655 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4656 unused flags.
4657 (grub_squash_inode): Add long_file and block_size.
4658 (grub_squash_cache_inode): New struct.
4659 (grub_squash_dirent): Make types into enum.
4660 (SQUASH_TYPE_LONG_REGULAR): New type.
4661 (grub_squash_frag_desc): Add field size.
4662 (SQUASH_BLOCK_FLAGS): New enum.
4663 (grub_squash_data): Use grub_squash_cache_inode.
4664 (grub_fshelp_node): Make ino_chunk 64-bit.
4665 (read_chunk): Minor argument change. All users updated.
4666 (squash_mount): Use correct le_to_cpu.
4667 (grub_squash_open): Handle LONG_REGULAR.
4668 (direct_read): New function.
4669 (grub_squash_read_data): Handle blocks correctly.
4670
4671 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4674
4675 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4678
4679 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4680
4681 Fix 2G limit on ZFS.
4682
4683 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4684 types.
4685 (uberblock_verify): Likewise.
4686 (dmu_read): Likewise.
4687 (grub_zfs_read): Likewise. Remove invalid cast.
4688
4689 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4692 (grub_jfs_blkno): Fix incorrect shift.
4693 (grub_jfs_read_file): Use more appropriate types.
4694
4695 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 Support triple indirect on minix2 and minix3.
4698
4699 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4700 Declare triple_indir_zone.
4701 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4702 indirect.
4703
4704 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 Minix FS fixes.
4707
4708 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4709 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4710 Rename ctime to mtime. All users updated.
4711 (grub_minix_get_file_block): Fix types and double indirect computations.
4712
4713 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4716 if no label is found.
4717 (grub_fat_iterate_dir): Fix file size type.
4718 (grub_fat_iterate_dir): Likewise.
4719
4720 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4723 save some space.
4724 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4725 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4726
4727 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4730
4731 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * util/import_gcry.py: Accept space between # and include.
4734
4735 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4736
4737 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4738
4739 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4740
4741 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4742
4743 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4744 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4745 yylex_strncpy.
4746 * grub-core/script/yylex.l: Add fine-grained #pragma.
4747
4748 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4751 New inline function.
4752 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4753 Likewise.
4754 (memset) [GRUB_UTIL]: Likewise.
4755 (memcmp) [GRUB_UTIL]: Likewise.
4756
4757 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4760 inline function rather than a define.
4761
4762 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4763
4764 * util/grub-setup.c: Add missing include.
4765
4766 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4767
4768 * util/ieee1275/grub-ofpathname.c: Add missing include.
4769
4770 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4773 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4774 Likewise.
4775
4776 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4777
4778 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4779 grub_memcmp usage.
4780
4781 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4782
4783 * util/grub-install.in: Add datarootdir as per automake manual
4784 suggestion.
4785 * util/grub-mknetdir.in: Likewise.
4786
4787 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4790 suggestion.
4791 * util/grub.d/10_kfreebsd.in: Likewise.
4792 * util/grub.d/10_linux.in: Likewise.
4793 * util/grub.d/10_netbsd.in: Likewise.
4794 * util/grub.d/10_windows.in: Likewise.
4795 * util/grub.d/20_linux_xen.in: Likewise.
4796
4797 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 Remove redundant grub_kernel_image_size.
4800
4801 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4802 _edata and _start.
4803 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4804 the small code. It moves it only by few bytes but simplifies the code.
4805 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4806 _start.
4807 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4808 (grub_kernel_image_size): Removed.
4809 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4810 (grub_kernel_image_size): Removed.
4811 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4812 compiled with Apple toolchain.
4813 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4814 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4815 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4816 (grub_total_module_size): Likewise.
4817 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4818 Removed.
4819 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4820 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4821 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4822 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4823 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4824 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4825 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4826 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4827 Removed.
4828 (grub_total_module_size): Removed.
4829 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4830 (image_targets): Likewise.
4831 Set .compressed_size to no field on sparc.
4832 (generate_image): Remove kernel_image_size handling.
4833
4834 2011-10-19 Szymon Janc <szymon@janc.net.pl>
4835
4836 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4837 NULL pointer dereference.
4838
4839 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4842 done with a dedicated section.
4843
4844 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4845 Ensure the correct position of boot_path.
4846 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4847 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4848 other fields.
4849 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4850 * include/grub/boot.h: Removed. All references removed.
4851 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4852 Removed.
4853 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4854
4855 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4858 name.
4859
4860 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4863
4864 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4867 Don't add the bogus brackets.
4868
4869 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 ExFAT support.
4872
4873 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4874 * grub-core/Makefile.core.def (exfat): New module.
4875 * grub-core/fs/exfat.c: New file.
4876 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4877 (GRUB_FAT_ATTR_*): Make into an enum.
4878 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4879 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4880 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4881 (GRUB_FAT_MAXFILE): Removed.
4882 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4883 (grub_current_fat_bpb_t): New type.
4884 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4885 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4886 (grub_fat_dir_node_t): New type.
4887 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4888 (fat_log2) [MODE_EXFAT]: Removed.
4889 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4890 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4891 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4892 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4893 (grub_fat_label) [MODE_EXFAT]: New function.
4894 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4895 reserved_first_sector to 0.
4896
4897 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4898
4899 Move grub_reboot out of the kernel.
4900
4901 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4902 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4903 * grub-core/lib/efi/reboot.c: ... here.
4904 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4905 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4906 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4907 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4908 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4909 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4910 * grub-core/lib/ieee1275/reboot.c: ... here.
4911 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4912 * grub-core/lib/mips/arc/reboot.c: ... here.
4913 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4914 * grub-core/lib/mips/loongson/reboot.c: ...here.
4915 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4916 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4917 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4918 * include/grub/i386/reboot.h: New file.
4919 * include/grub/mips/loongson/ec.h: Fix includes.
4920 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4921 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4922 * grub-core/lib/i386/reboot.c: New file.
4923
4924 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 Make grub_prefix into module to fix the arbitrary limit and save
4927 some space.
4928
4929 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4930 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4931 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4932 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4933 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4934 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4935 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4936 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4937 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4938 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4939 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4940 * include/grub/ia64/efi/kernel.h: Removed.
4941 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4942 (grub_prefix): Removed.
4943 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4944 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4945 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4946 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4947 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4948 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4949 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4950 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4951 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4952 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4953 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4954 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4955 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4956 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4957 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4958 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4959 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4960 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4961 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4962 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4963 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4964 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4965 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4966 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4967 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4968 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4969 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4970 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4971 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4972 from module.
4973 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4974 prefix_end.
4975 (image_targets): Likewise.
4976 (generate_image): Put prefix as a module.
4977
4978 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 Replace grub_module_iterate with FOR_MODULES.
4981
4982 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
4983 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
4984 (grub_efi_modules_addr): ...this.
4985 * grub-core/kern/efi/init.c (grub_modbase): New variable.
4986 (grub_efi_init): Set grub_modbase.
4987 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
4988 (grub_modbase): New variable.
4989 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
4990 (grub_modbase): New variable.
4991 (grub_machine_init): Set grub_modbase.
4992 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
4993 (grub_modbase): New variable.
4994 (grub_machine_init): Set grub_modbase.
4995 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
4996 (grub_modbase): New variable.
4997 (grub_machine_init): Set grub_modbase.
4998 * grub-core/kern/main.c (grub_module_iterate): Remove.
4999 (grub_modules_get_end): Use grub_modbase.
5000 (grub_load_modules): Use FOR_MODULES.
5001 (grub_load_config): Likewise.
5002 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
5003 (grub_modbase): New variable.
5004 (grub_machine_init): Set grub_modbase.
5005 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
5006 (grub_modbase): New variable.
5007 (grub_machine_init): Set grub_modbase.
5008 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
5009 Removed.
5010 (grub_modbase): New variable.
5011 (grub_machine_init): Set grub_modbase.
5012 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
5013 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
5014 (grub_module_iterate): Likewise.
5015 (grub_modbase): New variable declaration.
5016 (FOR_MODULES): New macro.
5017
5018 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5019
5020 * configure.ac: Check for __ctzdi2 and __ctzsi2.
5021 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
5022
5023 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 Fix few obvious type discrepancies.
5026
5027 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
5028 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
5029 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
5030 variable.
5031 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
5032 and connected types.
5033 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
5034 offset.
5035 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
5036 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
5037 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
5038 and connected types.
5039
5040 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5041
5042 Fix python 3.x incompatibilities.
5043
5044 * gentpl.py: Put brackets around print strings.
5045 * util/import_gcry.py: Open explicitly as utf-8.
5046 Use in instead of has_key.
5047
5048 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
5051 (GRUB_XFS_INO_AGBITS): Make into inline function.
5052 (GRUB_XFS_INO_INOINAG): Likewise.
5053 (GRUB_XFS_INO_AG): Likewise.
5054 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
5055 (GRUB_XFS_EXTENT_OFFSET): Likewise.
5056 (GRUB_XFS_EXTENT_BLOCK): Likewise.
5057 (GRUB_XFS_EXTENT_SIZE): Likewise.
5058 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
5059 (GRUB_XFS_NEXT_DIRENT): Likewise.
5060 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
5061 (grub_xfs_read_file): Fix offset type.
5062
5063 2011-10-15 Robert Millan <rmh@gnu.org>
5064
5065 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
5066
5067 2011-10-15 Robert Millan <rmh@gnu.org>
5068
5069 Fix build problem on FreeBSD and GNU/kFreeBSD.
5070
5071 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5072
5073 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5076
5077 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5078 types.
5079 (grub_hfsplus_btree_recoffset): Likewise.
5080 (grub_hfsplus_btree_recptr): Likewise.
5081 (grub_hfsplus_find_block): Likewise.
5082 (grub_hfsplus_btree_search): Likewise.
5083 (grub_hfsplus_read_block): Likewise.
5084 (grub_hfsplus_read_file): Likewise.
5085 (grub_hfsplus_mount): Likewise.
5086 (grub_hfsplus_btree_iterate_node): Likewise.
5087 (grub_hfsplus_btree_search): Likewise.
5088 (grub_hfsplus_iterate_dir): Likewise.
5089 (grub_hfsplus_read): A small code simplification.
5090
5091 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/kern/emu/hostdisk.c
5094 (convert_system_partition_to_system_disk): Don't assume that children
5095 of mapper nodes are mapper nodes.
5096
5097 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5100 * include/grub/misc.h (grub_isxdigit): New function.
5101 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5102 switched to grub_isxdigit.
5103 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5104 number starting with a letter.
5105
5106 2011-10-09 Robert Millan <rmh@gnu.org>
5107
5108 LVM support for FreeBSD and GNU/kFreeBSD.
5109
5110 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5111 GNU/kFreeBSD.
5112 (LVM_DEV_MAPPER_STRING): Move from here ...
5113 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5114 * util/getroot.c: Include `<grub/util/lvm.h>'.
5115 (grub_util_get_dev_abstraction): Enable
5116 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5117 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5118 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5119 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5120 support it.
5121 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5122 GNU/kFreeBSD.
5123 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5124 when LVM abstraction is required for ${GRUB_DEVICE}.
5125
5126 2011-10-06 Szymon Janc <szymon@janc.net.pl>
5127
5128 Add support for LZO compression in GRUB:
5129 - import of minilzo library,
5130 - LZO decompression for btrfs,
5131 - lzop files decompression.
5132
5133 * grub-core/io/lzopio.c: New file.
5134 * grub-core/lib/adler32.c: Likewise.
5135 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5136 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5137 * grub-core/lib/minilzo/minilzo.c: Likewise.
5138 * grub-core/lib/minilzo/minilzo.h: Likewise.
5139 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5140 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5141 grub-core/lib/minilzo/minilzo.c to common.
5142 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5143 cflags in cppflags.
5144 * grub-core/Makefile.core.def (btrfs): Likewise.
5145 * grub-core/Makefile.core.def (lzopio): New module.
5146 (adler32): Likewise.
5147 * grub-core/fs/btrfs.c: Include minilzo.h.
5148 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5149 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5150 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5151 (grub_btrfs_lzo_decompress): New function.
5152 (grub_btrfs_extent_read): Add support for LZO compression type.
5153 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5154 (GRUB_USHRT_MAX): Likewise.
5155 (GRUB_UINT_MAX): Likewise.
5156 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5157 (UINT_MAX): Likewise.
5158 (CHAR_BIT): Likewise.
5159 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5160 grub-core/lib/posix_wrap/limits.h
5161 (UCHAR_MAX): Likewise.
5162 * include/grub/file.h (grub_file_filter_id): New compression filter
5163 GRUB_FILE_FILTER_LZOPIO.
5164 * include/grub/file.h (grub_file_filter_id): Set
5165 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5166 * include/grub/types.h (grub_get_unaligned16): New function.
5167 (grub_get_unaligned32): Likewise.
5168 (grub_get_unaligned64): Likewise.
5169 * util/import_gcry.py (cryptolist): Add adler32.
5170
5171 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5172
5173 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5174 in perspective decreases the complexity of build system and fixes
5175 compilation right now.
5176
5177 2011-10-01 Ales Nesrsta <starous@volny.cz>
5178
5179 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5180 (fixed problem related to using UHCI with coreboot).
5181
5182 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5183
5184 * gentpl.py: Use Autogen macros so that the output template file
5185 (Makefile.tpl) size is reduced.
5186
5187 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
5188
5189 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5190 extra_dist.
5191
5192 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5193
5194 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5195 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5196
5197 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5198
5199 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5200 _fullpath.
5201
5202 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5203
5204 Remove extra declaration of sleep for mingw32.
5205
5206 * util/misc.c (sleep) [__MINGW32__]: Removed.
5207 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5208
5209 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5210
5211 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5212 type and packname.
5213 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5214 Resurrected.
5215 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5216 (grub_netbsd_btinfo_bootwedge): New struct.
5217 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5218 New function.
5219 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5220
5221 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5222
5223 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5224 loader.
5225
5226 2011-09-28 Andreas Born <futur.andy@googlemail.com>
5227
5228 Fix incorrect identifiers in bash-completion.
5229
5230 * util/bash-completion.d/grub-completion.bash.in
5231 (_grub_mkpasswd-pbkdf2): Rename to ...
5232 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5233 (_grub_script-check): Rename to ...
5234 (_grub_script_check): ... this. All users updated.
5235
5236 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5237
5238 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5239 Return 0 if disk isn't biosdisk.
5240
5241 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5242
5243 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5244 on NetBSD.
5245 * Makefile.util.def (grub-fstest): Likewise.
5246
5247 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5248
5249 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5250 Get sector size from disk label.
5251
5252 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
5253
5254 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5255 */README* as well as README*.
5256 Reported by: Axel Beckert.
5257
5258 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5259
5260 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5261 case of less than 256 MiB of RAM.
5262
5263 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * grub-core/commands/wildcard.c (make_regex): Handle @.
5266
5267 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5270
5271 2011-08-21 Szymon Janc <szymon@janc.net.pl>
5272
5273 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5274 AC_LANG_CONFTEST macros.
5275
5276 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5277
5278 Add grub-fstest option to uncompress data for commands.
5279
5280 * util/grub-fstest.c (uncompress): New var.
5281 (options): New option -u.
5282
5283 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5284
5285 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5286 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5287
5288 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5289
5290 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5291 file type was not recognized correctly (not gzip or corrupted).
5292
5293 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5296 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5297
5298 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5301 loongson.
5302 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5303 video_radeon_fuloong2e.
5304 * grub-core/video/radeon_fuloong2e.c: New file.
5305 * include/grub/video.h (grub_video_id_t): Add new ID
5306 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5307
5308 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5311 define.
5312 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5313 that PRID matches the detected subplatform and reset the subplatform
5314 if it doesn't.
5315
5316 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5317
5318 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5319
5320 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 Fix PCI iterating on functions >= 4.
5323
5324 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5325 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5326 Removed.
5327 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5328 (grub_pci_read): Fix bitmask.
5329 (grub_pci_read_word): Likewise.
5330 (grub_pci_read_byte): Likewise.
5331 (grub_pci_write): Likewise.
5332 (grub_pci_write_word): Likewise.
5333 (grub_pci_write_byte): Likewise.
5334
5335 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5338 can still be specified in TARGET_CFLAGS)
5339
5340 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5343
5344 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5345 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5346 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5347 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5348 (FULOONG): Rename to ...
5349 (FULOONG2F): ... this. All users updated.
5350 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5351 (machtype_fuloong2f_str): ... this.
5352 (machtype_fuloong2e_str): New string.
5353 Check for machtype_fuloong2e_str.
5354 * grub-core/loader/mips/linux.c (loongson_machtypes)
5355 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5356 * grub-core/term/serial.c (loongson_defserial)
5357 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5358 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5359 loongson_defserial.
5360 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5361 Rename to ...
5362 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5363 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5364 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5365 to IMAGE_FULOONG2F_FLASH. All users updated.
5366 (image_targets): Rename images.
5367 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5368
5369 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5370
5371 Make enable of disk cache statistics code configurable.
5372
5373 * configure.ac: --enable-cache-stats added.
5374 * config.h.in (DISK_CACHE_STATS): New define.
5375 * grub-core/Makefile.core.def (cacheinfo): New command.
5376 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5377 * grub-core/commands/cacheinfo.c: New file.
5378 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5379 moved to cacheinfo.c.
5380 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5381 debug code.
5382 * include/grub/disk.h: Likewise.
5383
5384 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5385
5386 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5387 * grub-core/Makefile.am: Likewise.
5388
5389 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5390
5391 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5392 non-zero pull.
5393
5394 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5395
5396 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5397 All users updated.
5398 (grub_jfs_lookup_symlink): Use correct starting inode.
5399
5400 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * util/grub-setup.c (main): Add missing gcry initialisation.
5403
5404 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 Don't accept text modes on EFI when booting Linux.
5407
5408 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5409 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5410
5411 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
5412 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5413
5414 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5415 use of "/path/.." as in grub-install for EFI as well as handling
5416 symlinks correctly.
5417 Fixes Debian bug #637768.
5418
5419 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5420
5421 * util/grub-probe.c: Remove duplicate #include.
5422
5423 2011-08-10 Robert Millan <rmh@gnu.org>
5424
5425 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5426
5427 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5428 function.
5429 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5430 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5431
5432 2011-08-03 Robert Millan <rmh@gnu.org>
5433
5434 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5435 la_array as packed.
5436 Reported by: Zachary Bedell
5437
5438 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5439
5440 * configure.ac: The Loongson port requires grub-mkfont due to its
5441 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5442 be built.
5443
5444 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5445
5446 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5447 processing arguments (otherwise help2man fails when GRUB has not yet
5448 been installed).
5449
5450 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5451
5452 New script grub-mkstandalone.
5453
5454 * Makefile.util.def (grub-mkstandalone): New script.
5455 * docs/man/grub-mkstandalone.h2m: New file.
5456 * util/grub-mkstandalone.in: Likewise.
5457
5458 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5459
5460 Support ATA disks with 4K sectors.
5461
5462 * include/grub/ata.h (grub_ata): New member log_sector_size.
5463 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5464 (grub_ata_identify): Read sector size.
5465 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5466
5467 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * util/grub-install.in: Don't use uhci outside of x86.
5470
5471 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5472
5473 * util/grub-mkrescue.in: Add missing quotes.
5474
5475 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5478 dereference.
5479
5480 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5481
5482 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5483
5484 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * include/grub/video.h: add missing EXPORT_FUND on
5487 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5488
5489 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * include/grub/mips/kernel.h: Fix define conflict.
5492
5493 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5496 all four ways.
5497
5498 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
5499
5500 Preferred resolution detection for VBE.
5501
5502 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5503 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5504 the Flat Panel extension, in line with the X.org VESA driver.
5505 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5506 New function.
5507 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5508 (grub_vbe_bios_read_edid): Likewise.
5509 (grub_vbe_get_preferred_mode): Likewise.
5510 (grub_video_vbe_setup): When the mode is "auto", try to get the
5511 preferred mode from VBE, and use the largest mode that is no larger
5512 than the preferred mode (some BIOSes expose a preferred mode that is
5513 not in their mode list!). If this fails, fall back to 640x480 as a
5514 safe conservative choice.
5515 (grub_video_vbe_get_edid): New function.
5516 (grub_video_vbe_adapter): Add get_edid.
5517 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5518 (struct grub_video_adapter): Add get_edid.
5519 (grub_video_edid_checksum): Add prototype.
5520 (grub_video_edid_preferred_mode): Likewise.
5521 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5522 structure.
5523
5524 * grub-core/commands/videoinfo.c (print_edid): New function.
5525 (grub_cmd_videoinfo): Print EDID if available.
5526
5527 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5528 is more appropriate on a wider range of platforms than 640x480.
5529 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5530 documentation.
5531
5532 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5535
5536 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * po/POTFILES.in: Regenerate.
5539
5540 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5543 incorrect memory usage.
5544
5545 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * util/grub-install.in: Source grub-mkconfig_lib.
5548
5549 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 Remove getroot.c from core on emu platform.
5552
5553 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5554 kern/emu/raid.c.
5555 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5556 useless.
5557 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5558 * util/getroot.c (get_win32_path): ... here.
5559 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5560 * util/getroot.c (fini_libzfs): ... here.
5561 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5562 * util/getroot.c (grub_get_libzfs_handle): ... here.
5563 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5564 Moved from here...
5565 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5566 * grub-core/kern/emu/misc.c
5567 (grub_make_system_path_relative_to_its_root): Moved from here...
5568 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5569 * grub-core/kern/emu/getroot.c: Moved from here ...
5570 * util/getroot.c: ... here. All users updated.
5571 * grub-core/kern/emu/raid.c: Moved from here ...
5572 * util/raid.c: ... here. All users updated.
5573
5574 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * po/POTFILES.in: Regenerate.
5577
5578 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Fix compilation on GNU/Linux.
5581
5582 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5583 Disable geli.
5584 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5585 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5586 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5587
5588 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5589 2011-07-07 Michael Gorven <michael@gorven.za.net>
5590 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5591
5592 LUKS and GELI support.
5593
5594 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5595 grub-core/disk/luks.c, grub-core/disk/geli.c,
5596 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5597 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5598 grub-core/lib/arg.c.
5599 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5600 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5601 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5602 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5603 (grub-bin2h): Add libgcry.a.
5604 (grub-mkimage): Likewise.
5605 (grub-mkrelpath): Likewise.
5606 (grub-script-check): Likewise.
5607 (grub-editenv): Likewise.
5608 (grub-mkpasswd-pbkdf2): Likewise.
5609 (grub-pe2elf): Likewise.
5610 (grub-fstest): Likewise.
5611 (grub-mkfont): Likewise.
5612 (grub-mkdevicemap): Likewise.
5613 (grub-probe): Likewise.
5614 (grub-ofpath): Likewise.
5615 (grub-mklayout): Likewise.
5616 (example_unit_test): Likewise.
5617 (grub-menulst2cfg): Likewise.
5618 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5619 * grub-core/Makefile.core.def (cryptodisk): New module.
5620 (luks): Likewise.
5621 (geli): Likewise.
5622 * grub-core/disk/AFSplitter.c: New file.
5623 * grub-core/disk/cryptodisk.c: Likewise.
5624 * grub-core/disk/geli.c: Likewise.
5625 * grub-core/disk/luks.c: Likewise.
5626 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5627 grub_util_is_lvm.
5628 (grub_util_get_dm_abstraction): New function.
5629 (grub_util_follow_gpart_up): Likewise.
5630 (grub_util_get_geom_abstraction): Likewise.
5631 (grub_util_get_dev_abstraction): Use new functions.
5632 (grub_util_pull_device): Pull GELI and LUKS.
5633 (grub_util_get_grub_dev): Handle LUKS and GELI.
5634 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5635 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5636 (follow_geom_up): Removed.
5637 (grub_util_fd_seek): New function.
5638 (open_device): Use grub_util_fd_seek.
5639 (nread): Rename to ..
5640 (grub_util_fd_read): ... this. All users updated.
5641 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5642 (grub_crypto_cbc_decrypt): Likewise.
5643 (grub_crypto_hmac_write): Likewise.
5644 (grub_crypto_hmac_buffer): Likewise.
5645 (grub_password_get): Extend to util.
5646 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5647 New member modname.
5648 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5649 * include/grub/cryptodisk.h: New file.
5650 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5651 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5652 LUKS and GELI.
5653 (grub_util_follow_gpart_up): New proto.
5654 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5655 (grub_util_fd_read): Likewise.
5656 (grub_cryptodisk_cheat_mount): Likewise.
5657 (grub_util_cryptodisk_print_uuid): Likewise.
5658 (grub_util_get_fd_sectors): Likewise.
5659 * util/grub-fstest.c (mount_crypt): New var.
5660 (fstest): Mount crypto if requested.
5661 (options): New option -C.
5662 (argp_parser): Parse -C.
5663 (main): Init and fini gcry.
5664 * util/grub-install.in: Support cryptodisk install.
5665 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5666 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5667 cryptodisk.
5668 (prepare_grub_to_access_device): Likewise.
5669 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5670 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5671 (probe_cryptodisk_uuid): New function.
5672 (probe_abstraction): Likewise.
5673 (probe): Use new functions.
5674 * util/import_gcry.py: Create Makefile.utilgcry.def.
5675 Add modname member.
5676
5677 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 Lazy device scanning.
5680
5681 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5682 (grub-setup): Remove util/raid.c.
5683 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5684 * grub-core/disk/lvm.c (scan_depth): New variable.
5685 (grub_lvm_iterate): Rescan if necessary.
5686 (find_lv): New function based on grub_lvm_open.
5687 (grub_lvm_open): Use find_lv. Rescan on error.
5688 (is_node_readable): New function.
5689 (is_lv_readable): Likewise.
5690 (grub_lvm_scan_device): Skip already found disks.
5691 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5692 Stop if searched device is found and readable.
5693 * grub-core/disk/raid.c (inscnt): New variable.
5694 (scan_depth): Likewise.
5695 (scan_devices): New function based on grub_raid_register. Abort if
5696 looked for device is found.
5697 (grub_raid_iterate): Rescan if needed.
5698 (find_array): NEw function based on -grub_raid_open.
5699 (grub_raid_open): Use find_array and rescan.
5700 (insert_array): Set became_readable_at.
5701 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5702 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5703 New function.
5704 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5705 (grub_util_pull_device): New function.
5706 (grub_util_get_grub_dev): Call grub_util_pull_device.
5707 * util/raid.c: Moved to ..
5708 * grub-core/kern/emu/raid.c: ... here.
5709 (grub_util_raid_getmembers): New parameter "bootable".
5710 All users updated. Support 1.x.
5711 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5712 All users updated.
5713 * include/grub/disk.h (grub_disk_pull_t): New enum.
5714 (grub_disk_dev): Change iterate prototype.
5715 All users updated.
5716 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5717 New proto.
5718 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5719 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5720 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5721 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5722 All users updated.
5723 * include/grub/util/raid.h: Removed.
5724
5725 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * po/POTFILES.in: Regenerate.
5728
5729 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 Unify sparc init with other ieee1275.
5732
5733 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5734 instead of kern/sparc64/ieee1275/init.c.
5735 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5736 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5737 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5738 grub/machine/kernel.h.
5739 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5740 (grub_claim_heap) [__sparc__]: Use sparc version.
5741 (grub_machine_init): Moved args parsing to
5742 (grub_parse_cmdline): ...this.
5743 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5744 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5745 New definition.
5746 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5747
5748 Move BOOTP to separate file.
5749
5750 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5751 * grub-core/net/net.c: Move all BOOTP functions to
5752 * grub-core/net/bootp.c: ... here.
5753
5754 Use frame interface on PXE.
5755
5756 * grub-core/Makefile.core.def (pxecmd): Removed.
5757 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5758 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5759 * grub-core/i386/pc/pxe.c: Moved from here ...
5760 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5761 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5762 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5763
5764 EFI network support.
5765
5766 * grub-core/Makefile.core.def (efinet): New module.
5767 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5768 here...
5769 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5770 All users updated.
5771 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5772 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5773 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5774 * grub-core/net/drivers/efi/efinet.c: New file.
5775 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5776 (grub_efi_net_config): New extern var.
5777
5778 Various cleanups and bugfixes.
5779
5780 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5781 error.
5782 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5783 disk declared as partition.
5784 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5785 leak on failure.
5786 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5787 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5788 (grub_debug_zalloc): Likewise.
5789 (grub_debug_realloc): Likewise.
5790 (grub_debug_memalign): Likewise.
5791 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5792 Check that target is IPv4.
5793 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5794 local-mac-address as fallback.
5795 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5796 memory leak.
5797 * grub-core/net/ip.c (ipchksum): Rename to ...
5798 (grub_net_ip_chksum): ... this. All users updated.
5799 (grub_net_recv_ip_packets): Special handling for DHCP.
5800 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5801
5802 Unify prefix handling
5803
5804 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5805 (grub_machine_get_bootlocation): ... this.
5806 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5807 (grub_machine_get_bootlocation): ... this.
5808 (grub_prefix): New variable.
5809 (prefix): Removed.
5810 (root_dev): New variable.
5811 (dir): Likewise.
5812 (main): Use new variables.
5813 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5814 Revamped into ...
5815 (grub_machine_get_bootlocation): ... this.
5816 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5817 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5818 (grub_machine_get_bootlocation): ... this.
5819 (grub_machine_set_prefix): Removed.
5820 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5821 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5822 Revamped into ...
5823 (grub_machine_get_bootlocation): ... this.
5824 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5825 (grub_set_prefix_and_root): ... this. All users updated.
5826 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5827 Revamped into ...
5828 (grub_machine_get_bootlocation): ... this.
5829 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5830 (grub_machine_get_bootlocation): New proto.
5831 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5832
5833 Less intrusive and more reliable seek on network implementation.
5834
5835 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5836 (grub_file_seek): Don't call grub_file_net_seek.
5837 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5838 (grub_net_fs_read_real): .. this.
5839 (grub_net_seek_real): Use net->offset.
5840 (grub_net_fs_read): Seek if necessary.
5841
5842 Unify IEEE1275 netwotk config with the other platforms.
5843
5844 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5845 New variable.
5846 (grub_machine_get_bootlocation): Support network.
5847 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5848 Support type and device parsing.
5849 (grub_ieee1275_get_device_type): New function.
5850 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5851 into ...
5852 (grub_ieee1275_net_config_real): ... this.
5853 (grub_ofnet_probecards): Removed.
5854 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5855 * include/grub/ieee1275/ofnet.h: Removed.
5856 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5857 extern var.
5858 (grub_ieee1275_get_device_type): New function.
5859
5860 Unify network device closing across platforms and make more robust.
5861
5862 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5863 grub_grubnet_fini.
5864 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5865 already.
5866 * grub-core/net/net.c (grub_net_network_level_interface_register):
5867 Update num_ifaces.
5868 (grub_net_card_unregister): Close all interfaces.
5869 (receive_packets): Don't poll if no iterfaces are registered.
5870 Open if necessary.
5871 (grub_net_fini_hw): New function.
5872 (grub_net_restore_hw): Likewise.
5873 (fini_hnd): New variable.
5874 (GRUB_MOD_INIT): Register preboot hook.
5875 (GRUB_MOD_FINI): Run and unregister preboot hook.
5876
5877 Poll network cards when idle.
5878
5879 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5880 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5881 * grub-core/net/net.c (receive_packets): Save last poll time.
5882 (grub_net_poll_cards_idle_real): New function.
5883 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5884 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5885 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5886
5887 Rename ofnet interfaces.
5888
5889 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5890 (grub_ofnet_findcards): Use ofnet_%s names.
5891
5892 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5893
5894 Cleanup socket opening.
5895
5896 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5897 (grub_net_fs_close): Likewise.
5898 (grub_net_fs_read_real): Use eof member.
5899 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5900 (+grub_net_udp_close): New inline function.
5901
5902 * include/grub/net/tftp.h: Moved to the top of ...
5903 * grub-core/net/tftp.c: ... here.
5904 * include/grub/net/ip.h: Moved mostly to the top of ...
5905 * grub-core/net/ip.c: ... here.
5906 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5907 * grub-core/net/ethernet.c: ... here.
5908
5909 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5910
5911 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5912 FS name.
5913
5914 * include/grub/net/ip.h (ipv4_ini): Removed.
5915 (ipv4_fini): Likewise.
5916
5917 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5918 (grub_net_send_ip_packets): Likewise.
5919
5920 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5921
5922 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5923 grub_read_cmos prototype.
5924
5925 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 VGA text support in qemu-mips
5928
5929 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5930 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5931 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5932 text.
5933 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5934 * grub-core/kern/vga_init.c: ... this.
5935 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5936 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5937 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5938 Adjust.
5939 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5940 GRUB_MACHINE_PCI_IO_BASE.
5941
5942 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 MIPS qemu flash support.
5945
5946 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5947 magic.
5948 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5949 (grub_machine_init): Probe memory if its size isn't known.
5950 * util/grub-mkimage.c (image_targets): Add flash targets.
5951 (generate_image): Handle flash targets.
5952
5953 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 MIPS qemu at_keyboard support.
5956
5957 * gentpl.py (videoinkernel): Add qemu-mips.
5958 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5959 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5960 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5961 modules.
5962 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5963 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5964 * grub-core/term/serial.c (grub_serial_register)
5965 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5966
5967 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 CMOS support on sparc.
5970
5971 * gentpl.py (cmos): Add powerpc and sparc.
5972 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5973 powerpc and sparc.
5974 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5975 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5976 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5977 grub_set_datetime_cmos.
5978 * grub-core/lib/ieee1275/cmos.c: New file.
5979 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
5980 (find_rtc): Set no_ieee1275_rtc on error.
5981 (grub_get_datetime): Call grub_get_datetime_cmos on error.
5982 (grub_set_datetime): Call grub_set_datetime_cmos on error.
5983 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
5984 fail. Move value to argument. All users updated
5985 (grub_cmos_write): Likewise.
5986 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
5987 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
5988 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
5989 grub_get_datetime_cmos and grub_set_datetime_cmos.
5990
5991 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5992
5993 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
5994 sourcing grub-mkconfig_lib.
5995 * util/update-grub_lib.in: Likewise.
5996 * util/grub.d/00_header.in: Likewise.
5997 * util/grub.d/10_hurd.in: Likewise.
5998 * util/grub.d/10_kfreebsd.in: Likewise.
5999 * util/grub.d/10_linux.in: Likewise.
6000 * util/grub.d/10_netbsd.in: Likewise.
6001 * util/grub.d/10_windows.in: Likewise.
6002 * util/grub.d/20_linux_xen.in: Likewise.
6003 * util/grub.d/30_os-prober.in: Likewise.
6004
6005 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
6006
6007 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
6008 default_bg_color rather than black.
6009 (grub_gfxterm_fullscreen): Likewise.
6010 (grub_gfxterm_background_color_cmd): Save new background color in
6011 default_bg_color.
6012
6013 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
6016
6017 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6018
6019 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
6020 mismerge.
6021
6022 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 Chainloading on coreboot support.
6025
6026 * grub-core/Makefile.core.def (chain): Add coreboot.
6027 * grub-core/loader/i386/coreboot/chainloader.c: New file.
6028
6029 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6030
6031 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
6032 if it happens.
6033
6034 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 Implement time command.
6037
6038 * grub-core/Makefile.core.def (time): New module.
6039 * grub-core/commands/time.c: New file.
6040 * grub-core/script/parser.y: Remove "time" keyword.
6041 * grub-core/script/yylex.l: Likewise.
6042
6043 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
6046
6047 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
6050 when handling leftovers.
6051
6052 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
6055 so that help2man doesn't fail.
6056
6057 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6058
6059 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
6060 type in pointers on sparc64.
6061 (get_card_packet): Likewise.
6062
6063 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
6064
6065 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
6066 with `*'.
6067 (grub_cmd_videoinfo): Fetch current video mode.
6068
6069 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6072 because of underlying system restrictions.
6073
6074 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6077 necessary.
6078
6079 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 Coreboot video support.
6082
6083 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6084 (vbe): Likewise.
6085 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6086 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6087 here ...
6088 * grub-core/kern/i386/int.S: ... here.
6089 * grub-core/video/i386/pc/vbe.c: Updated includes.
6090 * grub-core/video/i386/pc/vga.c: Likewise.
6091 * include/grub/i386/coreboot/memory.h
6092 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6093 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6094 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6095 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6096 Disable interrupts.
6097 * include/grub/i386/pc/vga.h: Removed. All users updated.
6098
6099 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6102 definitions for dprintf.
6103 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6104
6105 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6108 prototype.
6109 (get_card_packet): Likewise.
6110
6111 2011-06-26 Yves Blusseau <blusseau@zetam.org>
6112
6113 Display the path of the file when file is not found
6114
6115 * grub-core/fs/fat.c: Display the filename when file is not found.
6116 * grub-core/fs/fshelp.c: Likewise.
6117 * grub-core/fs/hfs.c: Likewise.
6118 * grub-core/fs/jfs.c: Likewise.
6119 * grub-core/fs/minix.c: Likewise.
6120 * grub-core/fs/ufs.c: Likewise.
6121 * grub-core/fs/btrfs.c: Likewise.
6122 * grub-core/commands/i386/pc/play.c: Likewise.
6123
6124 2011-06-26 Szymon Janc <szymon@janc.net.pl>
6125
6126 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6127 pointer checks before calling grub_free().
6128 * grub-core/commands/wildcard.c (match_devices): Likewise.
6129 * grub-core/commands/wildcard.c (match_files): Likewise.
6130 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6131 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6132 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6133 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6134 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6135 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6136 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6137 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6138 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6139
6140 2011-06-25 Patrick <p55@mailinator.com>
6141
6142 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6143
6144 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6147 (grub_pxe_send): Likewise.
6148 (GRUB_MOD_INIT): Fix types.
6149
6150 2011-06-24 Szymon Janc <szymon@janc.net.pl>
6151
6152 * grub-core/io/xzio.c: Fix code style issues
6153
6154 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6155 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
6156
6157 Network infrastructure.
6158 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6159
6160 * include/grub/net/arp.h: New file.
6161 * include/grub/net/device.h: Likewise.
6162 * include/grub/net/ethernet.h: Likewise.
6163 * include/grub/net/ip.h: Likewise.
6164 * include/grub/net/netbuff.h: Likewise.
6165 * include/grub/net/tftp.h: Likewise.
6166 * include/grub/net/udp.h: Likewise.
6167 * include/grub/ieee1275/ofnet.h: Likewise.
6168 * include/grub/emu/export.h: Likewise.
6169 * include/grub/net.h: Likewise.
6170 * grub-core/net/arp.c: Likewise.
6171 * grub-core/net/ethernet.c: Likewise.
6172 * grub-core/net/ip.c: Likewise.
6173 * grub-core/net/udp.c: Likewise.
6174 * grub-core/net/tftp.c: Likewise.
6175 * grub-core/net/netbuff.c: Likewise.
6176 * grub-core/net/net.c: Likewise.
6177 * grub-core/net/drivers/emu/emunet.c: Likewise.
6178 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6179 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6180 export.h.
6181 * grub-core/Makefile.core.def (net): New module.
6182 (tftp): Likewise.
6183 (ofnet): Likewise.
6184 (emunet): Likewise.
6185 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6186 network protocols.
6187 * grub-core/kern/device.c (grub_net_open) : New variable.
6188 (grub_device_open): Handle network device.
6189 (grub_device_close): Likewise.
6190 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6191 (grub_grubnet_fini): Likewise.
6192 (grub_file_seek): Seek in network device.
6193 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6194 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6195 network root.
6196 (grub_machine_fini): Call grub_grubnet_fini.
6197 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6198 network.
6199 (grub_ieee1275_get_aliasdevname): New function.
6200 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6201 Add unofficial Solaris network info.
6202 (grub_multiboot_make_mbi): Likewise.
6203 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6204 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6205 * include/grub/device.h (grub_fs): Removed.
6206 * include/grub/err.h (grub_err_t): Add network-related values.
6207 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6208 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6209 (grub_ieee1275_get_aliasdevname): New proto.
6210 * include/grub/net.h: Rewritten.
6211
6212 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6215 names.
6216
6217 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6220 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6221 it truncates the output.
6222 Reported by: Ximin Luo.
6223
6224 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6227
6228 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6231 partmap before abstraction.
6232
6233 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6234
6235 * util/grub-mkconfig_lib.in: Add missing quotes.
6236
6237 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6240 old method if mountinfo would return /dev/root and /dev/root doesn't
6241 exist.
6242
6243 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 ZFS zlib support
6246
6247 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6248 (decomp_table): Add zlib entries.
6249 (zio_read): USe 8 bits for compression function rather than 3.
6250 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6251
6252 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/disk/ahci.c: Add missing license statements.
6255 * grub-core/fs/romfs.c: Likewise.
6256 * grub-core/lib/ia64/setjmp.S: Likewise.
6257 * grub-core/loader/i386/pc/freedos.c: Likewise.
6258 * grub-core/loader/ia64/efi/linux.c: Likewise.
6259 * grub-core/video/colors.c: Likewise.
6260 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6261
6262 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 AHCI support.
6265
6266 * grub-core/Makefile.core.def (ata_pthru): Removed.
6267 (ahci): New module.
6268 (pata): Likewise.
6269 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6270 on unload.
6271 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6272 readwrite.
6273 (grub_hdparm_do_check_powermode_cmd): Likewise.
6274 (grub_hdparm_do_smart_cmd): Likewise.
6275 (grub_hdparm_set_val_cmd): Likewise.
6276 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6277 * grub-core/disk/ahci.c: New file.
6278 * grub-core/disk/ata.c: Factor out the low-level part into ...
6279 * grub-core/disk/pata.c: ... here.
6280 * grub-core/disk/ata_pthru.c: Contents moved to ...
6281 * grub-core/disk/pata.c: ... here.
6282 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6283 (grub_scsi_iterate): Use grub_scsi_names.
6284 (grub_scsi_open): Likewise.
6285 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6286 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6287 (grub_ata_regs_t): New struct.
6288 (grub_disk_ata_pass_through_parms): Likewise.
6289 (grub_ata_device): Renamed to ...
6290 (grub_ata): ... this.
6291 (grub_ata_dev): New struct.
6292 Removed all low-level inline functions.
6293 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6294 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6295 iterate hooks and open. All users updated.
6296 * util/grub-install.in: Handle AHCI disk module.
6297
6298 2011-06-23 Szymon Janc <szymon@janc.net.pl>
6299
6300 Add support for DRI and RSTn markers in JPEG files.
6301
6302 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6303 (JPEG_MARKER_RST0): Likewise.
6304 (JPEG_MARKER_RST1): Likewise.
6305 (JPEG_MARKER_RST2): Likewise.
6306 (JPEG_MARKER_RST3): Likewise.
6307 (JPEG_MARKER_RST4): Likewise.
6308 (JPEG_MARKER_RST5): Likewise.
6309 (JPEG_MARKER_RST6): Likewise.
6310 (JPEG_MARKER_RST7): Likewise.
6311 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6312 (grub_jpeg_decode_dri): New function.
6313 (grub_jpeg_decode_sos): Move image data related part into
6314 grub_jpeg_decode_data function.
6315 (grub_jpeg_decode_data): New function.
6316 (grub_jpeg_reset): New function.
6317 (grub_jpeg_decode_jpeg): Handle new markers.
6318
6319 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * util/ieee1275/ofpath.c (check_sas): Close fd.
6322 (main): Free of_path.
6323 Reported by: David Volgyes <dvolgyes>.
6324
6325 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6326
6327 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6328 Reported by: David Volgyes <dvolgyes>.
6329
6330 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6333 file after stat.
6334 Reported by: David Volgyes <dvolgyes>.
6335
6336 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6339
6340 Reported by: David Volgyes <dvolgyes>.
6341
6342 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6345 Prevent memory leak.
6346
6347 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6350 (main): Close file.
6351 Reported by: David Volgyes <dvolgyes>.
6352
6353 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6356 to continue if allocation is failed.
6357
6358 Reported by: David Volgyes <dvolgyes>.
6359
6360 2011-06-23 David Volgyes <dvolgyes>
6361
6362 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6363 dereference.
6364
6365 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 Fix spurious warning.
6368
6369 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6370 (acorn_partition_map_find): Use .bin member.
6371
6372 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6375 /dev/root as a valid device.
6376
6377 2011-06-23 Jim Meyering <meyering@redhat.com>
6378
6379 Avoid NULL deref in grub_device_open.
6380
6381 * grub-core/kern/device.c (grub_device_open): Don't dereference
6382 a NULL pointer upon failed grub_env_get.
6383
6384 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 Support non-512B sectors and agglomerate reads.
6387
6388 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6389 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6390 (disk_io_guid): Removed.
6391 (make_devices): Locate solely by BlockIO.
6392 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6393 (grub_efidisk_read): Use read_blocks.
6394 (grub_efidisk_write): Use write_blocks.
6395 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6396 log_sector_size.
6397 (get_safe_sectors): Handle non-512B sectors.
6398 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6399 sectors.
6400 (grub_biosdisk_write): Handle non-512B sectors.
6401 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6402 (grub_scsi_read): Remove special non-512B block handling (now handled
6403 one level up).
6404 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6405 and do sanity checks.
6406 (grub_disk_adjust_range): Handle non-512B sectors.
6407 (transform_sector): New function.
6408 (grub_disk_read_small): Likewise.
6409 (grub_disk_read): Rewritten.
6410 (grub_disk_write): Handle non-512B sectors.
6411 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6412 log_sector_size.
6413 (open_device): Use log_sector_size.
6414 (grub_util_biosdisk_read): Likewise.
6415 (grub_util_biosdisk_write): Likewise.
6416 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6417 non-512B sectors.
6418 (pc_partition_map_embed): Likewise.
6419 * include/grub/disk.h (grub_disk): New field log_sector_size.
6420 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6421 (GRUB_DISK_CACHE_BITS): Increased to 6.
6422 * util/grub-fstest.c (fstest): New command testload.
6423 (argp_parser): Likewise.
6424
6425 2011-06-16 Robert Millan <rmh@gnu.org>
6426
6427 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6428 `ata' driver on kernel of FreeBSD 9.
6429
6430 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6431 (get_ataraid_disk_name): New functions.
6432 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6433 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6434 get_ataraid_disk_name() and get_ada_disk_name().
6435
6436 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
6437
6438 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6439 input format.
6440
6441 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
6442
6443 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6444 `ftp.gnu.org' for `alpha.gnu.org'.
6445
6446 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6447
6448 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6449 partitions under /dev/disk/by-id/.
6450
6451 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6452
6453 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6454 after ten consecutive open failures. Scanning all the way up to
6455 10000 is excessive and can cause serious performance problems in
6456 some configurations.
6457 Fixes Ubuntu bug #787461.
6458
6459 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6460
6461 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6462 opening new one.
6463
6464 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
6465 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 Don't stat devices unless we have to.
6468
6469 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6470 dir == /dev/mapper.
6471 (grub_guess_root_device): Use already known os_dev if possible.
6472 * grub-core/kern/emu/hostdisk.c
6473 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6474 if device is known to be a dm one.
6475
6476 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
6477
6478 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6479 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6480 Reported by: Pawel Tecza.
6481
6482 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6485 (lsefisystab): Likewise.
6486 (lssal): Likewise.
6487 (lsefimmap): Likewise.
6488 (hdparm): Enable on qemu-mips.
6489 (setjmp): Add ia64 nodist.
6490 (serial): Simplify tags.
6491
6492 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6493
6494 * Makefile.util.def (grub-ofpathname): Install manual page.
6495
6496 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6499
6500 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6501
6502 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6503
6504 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6505
6506 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6507 into dprintf.
6508
6509 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 Use full 64-bit division.
6512
6513 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6514 (grub_divmod64): ... this.
6515 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6516 version.
6517
6518 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6519
6520 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6521 `source'.
6522
6523 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6524
6525 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6526 to avoid accidents when debugging with 'sh -x'.
6527 * grub-core/gensyminfo.sh.in: Likewise.
6528 * tests/example_scripted_test.in: Likewise.
6529 * tests/grub_cmd_regexp.in: Likewise.
6530 * tests/grub_script_blanklines.in: Likewise.
6531 * tests/grub_script_dollar.in: Likewise.
6532 * tests/grub_script_expansion.in: Likewise.
6533 * tests/grub_script_final_semicolon.in: Likewise.
6534 * tests/partmap_test.in: Likewise.
6535 * tests/util/grub-shell-tester.in: Likewise.
6536 * tests/util/grub-shell.in: Likewise.
6537
6538 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6539
6540 Move gfxmenu color handling to video, so that gfxterm can use it
6541 too.
6542
6543 * grub-core/gfxmenu/named_colors.c: Move to ...
6544 * grub-core/video/colors.c: ... here. Rename
6545 grub_gui_get_named_color to grub_video_get_named_color.
6546 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6547 * grub-core/video/colors.c (my_isxdigit): ... here.
6548 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6549 Move to ...
6550 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6551 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6552 to ...
6553 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6554
6555 * include/grub/gui.h (grub_gui_color_t): Move to ...
6556 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6557 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6558 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6559 * include/grub/gui.h (grub_gui_map_color): Move to ...
6560 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6561 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6562 to ...
6563 * include/grub/video.h (grub_video_get_named_color): ... here.
6564 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6565 * include/grub/video.h (grub_video_parse_color): ... here.
6566
6567 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6568 video/colors.c.
6569 (gfxmenu): Remove gfxmenu/named_colors.c.
6570 (video) [videomodules]: Add video/colors.c.
6571
6572 Add a background_color command.
6573
6574 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6575 function.
6576 (GRUB_MOD_INIT): Register background_color command.
6577 (GRUB_MOD_FINI): Unregister background_color command.
6578 (redraw_screen_rect): Allow blend/replace of text layer to be
6579 controlled independently from whether there is a background bitmap.
6580 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6581 changing bitmap.
6582
6583 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 Patch BPB in ntldr and chainloader --bpb.
6586
6587 * grub-core/fs/fat.c: Include grub/fat.h.
6588 (grub_fat_bpb): Moved to ...
6589 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6590 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6591 grub/ntfs.h.
6592 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6593 Moved from here...
6594 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6595 here.
6596 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6597 New function.
6598 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6599 (GRUB_MOD_INIT): Show --bpb.
6600 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6601 * grub-core/normal/main.c (features): New variable.
6602 (GRUB_MOD_INIT): Set feature_* variables.
6603 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6604 proto.
6605 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6606
6607 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6608
6609 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6610 for cleanness.
6611
6612 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 FreeDOS direct loading support.
6615
6616 * docs/grub.texi (Supported OS): Add FreeDOS.
6617 * grub-core/Makefile.core.def (freedos): New module.
6618 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6619 variable.
6620 (grub_relocator16_boot): Handle %ebx.
6621 * grub-core/lib/i386/relocator16.S: Likewise.
6622 * grub-core/loader/i386/pc/freedos.c: New file.
6623
6624 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 Long Linux command line support.
6627
6628 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6629 (maximal_cmdline_size): New variable.
6630 (allocate_pages): Use maximal_cmdline_size.
6631 (grub_cmd_linux): Set and use maximal_cmdline_size.
6632 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6633 (allocate_pages): Use maximal_cmdline_size.
6634 (grub_cmd_linux): Set and use maximal_cmdline_size.
6635 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6636 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6637 and cmdline_size.
6638
6639 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6640 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6641
6642 Improve devmapper support
6643
6644 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6645 (grub_util_is_lvm): New function.
6646 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6647 than lvm if not dmraid.
6648 Handle mapped md nodes.
6649 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6650 (grub_util_device_is_mapped): ... this. Make always available. All users
6651 updated.
6652 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6653 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6654 dmraid nodes.
6655 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6656
6657 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6660
6661 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6662 * grub-core/modinfo.sh.in: New file.
6663 * grub-core/Makefile.core.def (modinfo.sh): New script.
6664 * util/grub-mknetdir.in: Use modinfo.sh.
6665 * util/grub-mkrescue.in: Likewise.
6666
6667 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6670 Fix potential usage of Elf32 instead of Elf64 when compiling on
6671 32-bit architecture. Add endianness macros while on it.
6672
6673 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 Use mipsel- rather than mips- in directories involving mipsel ports to
6676 allow both endiannesses coexist.
6677
6678 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6679 mips. All conditions adjusted.
6680 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6681 variable.
6682 * util/grub-install.in: Adjust conditions to take renaming into account.
6683 * util/grub-mkimage.c (image_targets): Likewise. New target
6684 mips-qemu_mips-elf for bigendian mips.
6685
6686 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 Avoid unnecessary copying on MIPS.
6689
6690 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6691 early if src == dest.
6692 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6693 compression is none.
6694
6695 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 Reduce memory footprint on SGI by putting modules before the kernel
6698 as opposed to after.
6699
6700 * grub-core/Makefile.core.def (kernel): Increase linking address.
6701 (none_decompress): Likewise.
6702 (xz_decompress): Likewise.
6703 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6704 address.
6705 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6706 layout change.
6707 (grub_arch_modules_addr): New function.
6708 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6709 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6710 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6711 here.
6712 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6713 (grub_total_modules_size): ... this. Make global.
6714 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6715 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6716 New definition.
6717 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6718 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6719 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6720 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6721 * util/grub-mkimage.c (image_target_desc): New flag
6722 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6723 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6724 (generate_image): Handle images with modules before kernel.
6725
6726 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 Prevent potential loss of memory map by overwrite on qemu-mips.
6729
6730 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6731 Save ram size in $s4.
6732 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6733 All users changed to grub_arch_memsize.
6734 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6735 Loongson.
6736 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6737 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6738 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6739 external variable.
6740
6741 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6742
6743 * .bzrignore: Remove grub-dumpbios.
6744
6745 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6746
6747 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6748 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6749 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6750 existing options which append).
6751 * docs/grub.texi (Simple configuration): Document new options.
6752 Reported by: Ian Jackson. Fixes Debian bug #617538.
6753
6754 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6755
6756 * util/grub-fstest.c (cmd_cat): New function.
6757 (fstest): Handle CMD_CAT.
6758 (options): Add cat.
6759 (argp_parser): Handle cat.
6760
6761 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * Makefile.util.def (grub-bin2h): Don't install.
6764 * docs/man/grub-bin2h.h2m: Remove.
6765
6766 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6769 place.
6770
6771 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 Reenable qemu-mips port.
6774
6775 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6776 Fix small arc bug while on it.
6777 * gentpl.py: Handle qemu_mips.
6778 * grub-core/Makefile.am: Likewise.
6779 * grub-core/Makefile.core.def: Likewise.
6780 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6781 inappropriate includes.
6782 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6783 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6784 * grub-core/kern/main.c (grub_modules_get_end)
6785 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6786 * grub-core/kern/mips/qemu-mips: Moved to ..
6787 * grub-core/kern/mips/qemu_mips: ... this.
6788 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6789 (grub_machine_init): Call terminfo_init and serial_init.
6790 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6791 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6792 New variable.
6793 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6794 parameter passing.
6795 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6796 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6797 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6798 * include/grub/mips/qemu_mips/cmos.h: New file.
6799 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6800 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6801 Removed.
6802 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6803 Use correct mips-style address.
6804 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6805 (GRUB_TICKS_PER_SECOND): Removed.
6806 (grub_get_rtc): Likewise.
6807 (grub_cpu_idle): Likewise.
6808 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6809 New definition.
6810 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6811 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6812 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6813 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6814 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6815 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6816 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6817 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6818
6819 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6820
6821 SGI ARCS port.
6822
6823 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6824 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6825 platforms.
6826 * configure.ac: New target mips-arc.
6827 * gentpl.py: Likewise.
6828 * grub-core/Makefile.am: Likewise.
6829 * grub-core/Makefile.core.def: Likewise.
6830 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6831 (none_decompress): Likewise.
6832 (lsdev): New module.
6833 (datetime): Use lib/arc/datetime.c on ARC.
6834 (part_dvh): New module.
6835 * grub-core/commands/arc/lsdev.c: New file.
6836 * grub-core/disk/arc/arcdisk.c: Likewise.
6837 * grub-core/kern/mips/arc/init.c: Likewise.
6838 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6839 aligned addresses.
6840 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6841 support.
6842 (grub_arch_dl_relocate_symbols): Likewise.
6843 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6844 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6845 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6846 platforms.
6847 * grub-core/lib/arc/datetime.c: New file.
6848 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6849 pci.h on non-loongson.
6850 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6851 (grub_linux_boot): Set unused registers to 0.
6852 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6853 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6854 * grub-core/mmap/mips/uppermem.c: ...here.
6855 * grub-core/partmap/dvh.c: New file.
6856 * grub-core/term/arc/console.c: Likewise.
6857 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6858 (grub_terminfo_set_current): Add terminal "arc".
6859 (grub_terminfo_readkey): Support ARC sequences.
6860 * include/grub/arc/arc.h: New file.
6861 * include/grub/arc/console.h: Likewise.
6862 * include/grub/disk.h (grub_disk_dev_id): Add
6863 GRUB_DISK_DEVICE_ARCDISK_ID.
6864 * include/grub/mips/arc/kernel.h: New file.
6865 * include/grub/mips/arc/memory.h: Likewise.
6866 * include/grub/mips/arc/time.h: Likewise.
6867 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6868 * include/grub/mips/kernel.h (grub_halt): ... here.
6869 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6870 here...
6871 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6872 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6873 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6874 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6875 proto.
6876 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6877 from here ...
6878 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6879 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6880 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6881 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6882 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6883 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6884 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6885 (grub_phys_addr_t): Moved from here ...
6886 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6887 (grub_vtop): Moved from here ...
6888 * include/grub/mips/memory.h (grub_vtop): ... here.
6889 (grub_map_memory): Moved from here ...
6890 * include/grub/mips/memory.h (grub_map_memory): ... here.
6891 (grub_unmap_memory): Moved from here ...
6892 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6893 (grub_machine_mmap_iterate): Moved from here ...
6894 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6895 (grub_mmap_get_lower): Moved from here ...
6896 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6897 (grub_mmap_get_upper): Moved from here ...
6898 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6899 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6900 here ...
6901 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6902 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6903 here ...
6904 * include/grub/mips/time.h (grub_get_rtc): ... here.
6905 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6906 here ...
6907 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6908 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6909 here ...
6910 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6911 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6912 definition.
6913 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6914 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6915 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6916 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6917 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6918 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6919 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6920 (GRUB_MACHINE_LINK_ADDR): Likewise.
6921 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6922 to 6.
6923 * util/grub-install.in: Run dvhtool on ARC.
6924 * util/grub-mkimage.c (image_targets): Add mips-arc.
6925 (generate_image): Handle ECOFF output for mips-arc.
6926
6927 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6930 blocks.
6931
6932 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6935 after enabling port.
6936
6937 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Skip incorrect USB devices.
6940
6941 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6942 configcnt == 0.
6943 * include/grub/usb.h (grub_usb_err_t): New enum value
6944 GRUB_USB_ERR_BADDEVICE.
6945
6946 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 Fuloong video init support.
6949
6950 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6951 well.
6952 (grub_vga_read_arx): New function.
6953 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6954 definition.
6955 (framebuffer): New members io, mmioptr and mmiobase.
6956 (read_sis_cmd): New function.
6957 (write_sis_cmd): Likewise.
6958 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6959 rather than 640x400.
6960 * grub-core/video/sis315_init.c: New file.
6961
6962 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6965 non-loongson.
6966 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6967 to grub_dl_register_symbol.
6968
6969 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Fix compilation errors.
6972
6973 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6974 potentially unused.
6975 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6976 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6977 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6978 to loongson machines.
6979
6980 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6981
6982 Several FS mtime support.
6983
6984 * grub-core/fs/affs.c (grub_affs_time): New struct.
6985 (grub_affs_file): New field mtime.
6986 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
6987 type. Removed 'size'. New field 'di'. All users updated.
6988 (grub_affs_mount): Simplify checsum checking.
6989 (grub_affs_iterate_dir): New helper grub_affs_create_node.
6990 (grub_affs_dir): Handle mtime.
6991 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
6992 (grub_cpio_dir): Likewise.
6993 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
6994 (grub_hfs_filerec): New field mtime.
6995 (grub_hfs_dir): Handle mtime.
6996 (grub_hfs_mtime): New function.
6997 (grub_hfs_fs): Register grub_hfs_mtime.
6998 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
6999 (grub_iso9660_dir): New field mtime.
7000 (grub_fshelp_node): New field dirent.
7001 (iso9660_to_unixtime): New function.
7002 (iso9660_to_unixtime2): Likewise.
7003 (grub_iso9660_read_symlink): Use node->dirent.
7004 (grub_iso9660_iterate_dir): Likewise.
7005 (grub_iso9660_dir): Set mtime.
7006 (grub_iso9660_mtime): New function.
7007 (grub_iso9660_fs): Register grub_iso9660_mtime.
7008 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
7009 (grub_jfs_inode): New fields atime, ctime and mtime.
7010 (grub_jfs_dir): Set mtime.
7011 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7012 * grub-core/fs/ntfs.c (list_file): Set mtime.
7013 (grub_ntfs_dir): Likewise.
7014 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
7015 (grub_reiserfs_iterate_dir): Set mtime.
7016 (grub_reiserfs_dir): Likewise.
7017 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
7018 (grub_fshelp_node): Likewise.
7019 (grub_sfs_iterate_dir): Set mtime.
7020 (grub_sfs_dir): Likewise.
7021 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
7022 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
7023 (grub_xfs_inode): New fields atime, mtime, ctime.
7024 (grub_xfs_dir): Set mtime.
7025 * include/grub/datetime.h (grub_datetime2unixtime): New function.
7026 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
7027 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
7028
7029 Support UDF symlinks.
7030
7031 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
7032 (grub_ufs_read_symlink): New function. All users updated.
7033
7034 Check amiga partmap checksum.
7035
7036 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
7037 (grub_amiga_partition): Likewise.
7038 (amiga_partition_map_checksum): New function.
7039 (amiga_partition_map_iterate): Check checksum.
7040
7041 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 ROMFS support.
7044
7045 * Makefile.util.def (libgrubmods.a): Add romfs.
7046 * grub-core/Makefile.core.def (romfs): New module.
7047 * grub-core/fs/romfs.c: New file.
7048
7049 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Squashfs v4 support.
7052
7053 * Makefile.util.def (libgrubmods.a): Add squash4.
7054 * grub-core/Makefile.core.def (squash4): New module.
7055 * grub-core/fs/squash4.c: New file.
7056 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
7057 disk_input_start, disk_input.
7058 (get_byte): Handle disk_input.
7059 (grub_zlib_disk_read): New function.
7060 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
7061
7062 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7063 2011-05-15 Feiran Zheng <famcool@gmail.com>
7064
7065 * Makefile.util.def (libgrubmods.a): Add minix3.
7066 * grub-core/Makefile.core.def (minix3): New module.
7067 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
7068 (GRUB_MINIX_BSIZE): Removed.
7069 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
7070 (grub_minix_ino_t): New type.
7071 (grub_minix_le_to_cpu_ino): New macro.
7072 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7073 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7074 (grub_minix_data): New field block_size.
7075 (grub_minix_read_file): Handle 64-bit correctly.
7076 * grub-core/fs/minix3.c: New file.
7077
7078 2011-05-15 Tristan Gingold <gingold@free.fr>
7079 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
7080 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 IA64 support.
7083
7084 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7085 * configure.ac: Add ia64-efi target.
7086 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7087 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7088 * gentpl.py: Add ia64_efi platform.
7089 Rename x86_efi to efi and Add ia64-efi. All users updated.
7090 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7091 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7092 Remove kern/generic/rtc_get_time_ms.c on EFI.
7093 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7094 kern/ia64/dl_helper.c on ia64-efi.
7095 Add kern/emu/cache.c on emu.
7096 (linux): Use on loader/ia64/efi/linux.c on ia64.
7097 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7098 whether symbol is a function.
7099 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7100 (grub_symbol): New field 'isfunc'.
7101 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7102 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7103 (grub_dl_load_segments): Place all sections into the same region.
7104 [__ia64__]: Create trampolines and got.
7105 [GRUB_MACHINE_EMU]: Call mprotect.
7106 (grub_dl_resolve_symbols): Resolve symbol type as well.
7107 [__ia64__]: Create function descriptors.
7108 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7109 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7110 (grub_get_rtc): New function.
7111 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7112 * grub-core/kern/emu/cache.S: Renamed to ...
7113 * grub-core/kern/emu/cache_s.S: ... this.
7114 [__ia64__]: Add a nop.
7115 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7116 [__ia64__]: New function.
7117 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7118 * grub-core/kern/ia64/dl.c: New file.
7119 * grub-core/kern/ia64/dl_helper.c: Likewise.
7120 * grub-core/kern/ia64/efi/init.c: New file.
7121 * grub-core/kern/ia64/efi/startup.S: Likewise.
7122 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7123 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7124 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7125 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7126 * grub-core/loader/ia64/efi/linux.c: New file.
7127 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7128 (GRUB_MOD_DEP): Likewise.
7129 (grub_dl) [__ia64__]: New fields got and tramp.
7130 (grub_dl): New field 'base'.
7131 (grub_dl_register_symbol): New argument isfunc. All users updated.
7132 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7133 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7134 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7135 (grub_ia64_dl_get_tramp_got_size): New proto.
7136 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7137 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7138 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7139 * include/grub/efi/api.h: Skip call wrappers on ia64.
7140 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7141 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7142 * include/grub/elf.h (ELF_ST_INFO): New definition.
7143 * include/grub/ia64/efi/kernel.h: New file.
7144 * include/grub/ia64/efi/memory.h: Likewise.
7145 * include/grub/ia64/efi/time.h: Likewise.
7146 * include/grub/ia64/kernel.h: Likewise.
7147 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7148 * include/grub/ia64/time.h: New file.
7149 * include/grub/ia64/types.h: Likewise.
7150 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7151 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7152 New protos.
7153 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7154 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7155 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7156 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7157 All users updated.
7158 (EFI64_HEADER_SIZE): New definition. All users updated.
7159 (image_targets): Add ia64-efi.
7160 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7161 jumpers_addr. All users updated.
7162 Create function descriptors.
7163 (count_funcs): New function.
7164 (unaligned_uint32): New struct.
7165 (MASK20): New definition.
7166 (MASK19): Likewise.
7167 (MASKF21): Likewise.
7168 (add_value_to_slot_20b): New function.
7169 (add_value_to_slot_21_real): Likewise.
7170 (add_value_to_slot_21): Likewise.
7171 (ia64_kernel_trampoline): New struct.
7172 (nopm): New variable.
7173 (jump): Likewise.
7174 (make_trampoline): New function.
7175 (relocate_addresses): Handle ia64.
7176 (make_reloc_section): Likewise.
7177 (load_image): Likewise.
7178
7179 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7180
7181 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7182 warning. Move variables before code while on it.
7183
7184 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 Fuloong support.
7187
7188 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7189 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7190 * grub-core/boot/mips/loongson/fuloong.S: New file.
7191 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7192 Explicitly init CS5536.
7193 [FULOONG]: Don't use serial until CS5536 is available.
7194 Set GPIO based on dumps.
7195 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7196 [FULOONG]: Handle GPIO and memory controller differences.
7197 Parse machine type in $a2.
7198 * grub-core/boot/mips/startup_raw.S: Determine and save the
7199 architecture.
7200 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7201 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7202 init on architecture type.
7203 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7204 SIS315E. Don't init at_keyboard on fuloong.
7205 (grub_halt): Support Fuloong.
7206 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7207 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7208 (loongson_machtypes): New array.
7209 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7210 type.
7211 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7212 config. All users updated. Handle CS5536 serial.
7213 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7214 default port on machine type. Register serial as inactive.
7215 * grub-core/video/sis315pro.c: New file.
7216 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7217 definition.
7218 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7219 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7220 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7221 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7222 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7223 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7224 to ...
7225 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7226 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7227 definition.
7228 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7229 (grub_arch_machine): New extern var.
7230 * include/grub/mips/loongson/serial.h
7231 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7232 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7233 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7234 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7235 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7236 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7237 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7238 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7239 * include/grub/term.h (grub_term_register_input_inactive): New inline
7240 function.
7241 (grub_term_register_output_inactive): Likewise.
7242 * include/grub/video.h (grub_video_driver_id): New value
7243 GRUB_VIDEO_DRIVER_SIS315PRO.
7244 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7245 New field "names". All users updated.
7246 New field value IMAGE_FULOONG_FLASH.
7247 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7248
7249 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7250
7251 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7252 and add some clarification.
7253
7254 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7257 platforms if kernel is compressed.
7258
7259 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7262 unused modules since currently referrence counter isn't reliable and
7263 there isn't much memory to recover there anyway.
7264
7265 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7268 rather than resetting it to allow modules to reference themselves
7269 in init.
7270
7271 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7274 counter on dependencies since grub_dl_unref already handles this.
7275
7276 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7277
7278 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7279 on error if not already done.
7280
7281 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 Fix few potential memory misusage.
7284
7285 * grub-core/font/font.c (load_font_index): Don't free char_index to
7286 avoid double free.
7287 (grub_font_load): Zero-fill font at alloc for safety.
7288 Close file on error.
7289 (free_font): Free bmp_idx.
7290
7291 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * docs/grub.texi (Installation): Fix several outdated claims.
7294
7295 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7296
7297 Handle module_license on windows.
7298
7299 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7300 sections shifted.
7301 (insert_string): Make argument const char * instead of char *.
7302 (write_section_data): Handle long section names.
7303 Handle module_license.
7304
7305 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7308 handle class-free menuentries.
7309 (grub_normal_add_menu_entry): Add a check to be sure.
7310
7311 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7314 PgUp and PgDown.
7315
7316 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * configure.ac: Bump version to 1.99.
7319
7320 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7321
7322 Give ATA device a bit more time on first try in order to allow disks
7323 to spin up.
7324
7325 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7326 if dev->present is 1. Reset dev->present on failure.
7327 (grub_ata_device_initialize): Set dev->present to 1.
7328 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7329 (grub_ata_device): New member 'present'.
7330
7331 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * util/grub-mkimage.c (generate_image): Update hash.
7334
7335 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7336
7337 Flush caches on DMA memory.
7338
7339 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7340 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7341 (grub_dma_free): Likewise.
7342 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7343
7344 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7347 to avoid asm treating ld and sd as macros.
7348
7349 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7352 decompressor.
7353
7354 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7355
7356 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7357 grub_decompress_core since later would fail if grub_decompress_core
7358 is too far.
7359
7360 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7363 R_MIPS_JALR since it's used by newer compiler.
7364
7365 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7368
7369 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7372 file_path to 0 for surety.
7373 (grub_chainloader_boot): Set exit_data to NULL.
7374 Unset the loader once done.
7375 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7376
7377 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7380 unknown key into a dprintf.
7381
7382 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7385 on first non-existant partition.
7386
7387 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7390 openning fails.
7391 Reported by: Mark Korenberg.
7392
7393 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7394
7395 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7396 overflow.
7397
7398 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7399
7400 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7401 before closing to ensure that it will be readable by grub-setup.
7402
7403 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7406 (devpath_1): Use MAKE_PIWG_PATH.
7407 (devpath_2): Likewise.
7408 (devpath_3): Likewise.
7409 (devpath_4): Likewise.
7410 (devpath_5): Likewise.
7411 (devpath_6): Likewise.
7412
7413 The appleldr.mod was checked that to be binary identical to previous
7414 version.
7415
7416 2011-05-05 Zach <mikezackles>
7417
7418 Support 2010 Macbooks.
7419
7420 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7421 (devs): Add devpath_6.
7422
7423 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7424
7425 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7426 /dev/random. /dev/urandom is good enough for our purposes (salting).
7427
7428 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7431
7432 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7435 hexadecimal.
7436
7437 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7440 and not 0 on failure.
7441
7442 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7443
7444 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7445 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7446 disk; otherwise grub_fs_probe will not fall back to the next
7447 filesystem.
7448 (grub_pxefs_open): Likewise, for consistency.
7449 Reported and tested by: Ezekiel Grave.
7450
7451 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7452
7453 * tests/partmap_test.in: Don't hardcode path to parted.
7454 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7455
7456 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
7457
7458 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7459 of `ls' to find out which devices are available.
7460
7461 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7464 than source address for efi mmap buffer.
7465
7466 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7469 wrong action on non-detecting the magic.
7470
7471 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7474 already supplied by another part of the module (fixes compilation on
7475 FreeBSD).
7476
7477 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7478
7479 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7480 match the one used by mdadm.
7481
7482 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7483
7484 * po/README: Add instructions for creating po/LINGUAS.
7485
7486 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7487
7488 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7489 #551428.
7490
7491 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7492 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7493 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7494 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7495 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7496 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7497 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7498 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7499 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7500 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7501 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7502 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7503 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7504 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7505 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7506 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7507 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7508 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7509 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7510 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7511 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7512 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7513
7514 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7515
7516 * grub-core/kern/emu/getroot.c
7517 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7518 test that was incorrectly reintroduced in r3214.
7519 Reported by: Ian Dall. Fixes Savannah bug #33133.
7520
7521 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7522
7523 Fix stack pointer handling in 16-bit relocator.
7524
7525 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7526 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7527 Fixes Ubuntu bug #683904.
7528
7529 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * configure.ac: Bump version to 1.99~rc2.
7532
7533 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7536 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7537 * grub-core/lib/x86_64/setjmp.S: Likewise.
7538 * grub-core/lib/mips/setjmp.S: Likewise.
7539 * grub-core/lib/powerpc/setjmp.S: Likewise.
7540 * grub-core/lib/sparc64/setjmp.S: Likewise.
7541
7542 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7545 * grub-core/lib/efi/datetime.c: Likewise.
7546
7547 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7550 New function.
7551 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7552 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7553 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7554
7555 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7558 bitmap.
7559 (grub_gfxterm_term_init): Likewise.
7560
7561 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 Take into account the decorations the computing menu entry width.
7564
7565 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7566 (grub_gfxmenu_create_box): Register get_border_width.
7567 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7568 if available.
7569 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7570 get_border_width.
7571
7572 2011-04-18 Endres Puschner <code@e7p.de>
7573
7574 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7575 Don't skip first class.
7576
7577 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7580 chunks.
7581 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7582
7583 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 Complete 64-bit division support.
7586
7587 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7588 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7589 * include/grub/misc.h (grub_divmod64): Rename to ...
7590 (grub_divmod64_full): ... this.
7591 (grub_divmod64): New inline function.
7592
7593 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7596
7597 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7598
7599 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7600 performing the necessary test.
7601
7602 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7605 (kfreebsd.elf): Likewise.
7606 (pc-chainloader.elf): Likewise.
7607 (ntldr.elf): Likewise.
7608
7609 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 Identify RAID by its UUID rather than (guessed) name.
7612
7613 * grub-core/disk/raid.c (ascii2hex): New function.
7614 (grub_raid_open): Accept mduuid/%s specification.
7615 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7616 (get_mdadm_uuid): ... this.
7617 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7618
7619 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7622 to negative size.
7623
7624 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7625
7626 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7627 btrfs subvolume.
7628 * util/grub.d/20_linux_xen.in: Likewise.
7629
7630 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7631
7632 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7633 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7634
7635 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7636 Build a list of relevant visible mounts using the mnt_id and
7637 parent_mnt_id fields, and then scan that list at the end.
7638
7639 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7640
7641 * docs/grub.texi (normal): New section.
7642 (normal_exit): New section.
7643 (Embedded configuration): Add reference to normal.
7644 (GRUB only offers a rescue shell): Likewise.
7645 * docs/grub-dev.texi (Error Handling): Fix typo.
7646
7647 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7648
7649 * NEWS: Drop obsolete entry about probe-only btrfs support.
7650
7651 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7652
7653 * util/import_gcry.py: Fix typo.
7654
7655 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * NEWS: Add btrfs support.
7658
7659 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7660 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7661
7662 BtrFS support. Written by me (Vladimir) with important bugfixes and
7663 even more important testing by Colin.
7664
7665 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7666 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7667 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7668 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7669 mem_input_off and mem_input. All users updated to accept in-RAM input.
7670 (gzio_seek): New function.
7671 (test_zlib_header): Likewise.
7672 (grub_gzio_read): Likewise.
7673 (grub_zlib_decompress): Likewise.
7674 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7675 Accept partial and non-virtual mounts.
7676 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7677 avoid receiving /dev/dm-X as device.
7678 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7679 Handle bind and partial mounts.
7680 * grub-core/lib/crc.c: New file.
7681 * include/grub/deflate.h: Likewise.
7682 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7683 proto.
7684 * include/grub/lib/crc.h: New file.
7685
7686 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 Implement automatic module license checking according to new GNU
7689 guidelines.
7690
7691 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7692 (grub_dl_load_core): Use grub_dl_check_license.
7693 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7694 (GRUB_MOD_LICENSE): Likewise.
7695 (GRUB_MOD_DUAL_LICENSE): Likewise.
7696 All modules updated.
7697
7698 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7699
7700 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7701 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7702 loaders.
7703 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7704
7705 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7708
7709 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7712 failed.
7713
7714 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7717 parenthesis in the middle of the filename.
7718
7719 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7722 rather than trying to put initrd way too high.
7723 Reported by: Ryan Lortie <desrt@desrt.ca>
7724
7725 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7728 improperly removed string.
7729
7730 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7733 is_disk.
7734 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7735 (open_device) Likewise.
7736 (grub_util_biosdisk_close): Likewise.
7737 Reported by: Mark Korenberg.
7738
7739 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7740
7741 * util/grub-mkconfig_lib.in: Add missing quotes.
7742
7743 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
7744
7745 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7746 is NULL.
7747
7748 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 Dynamically count the number of lines for the lower banner.
7751
7752 * grub-core/normal/menu_entry.c (per_term_screen): New member
7753 num_entries.
7754 (print_down): Use num_entries.
7755 (update_screen): Likewise.
7756 (grub_menu_entry_run): Set num_entries.
7757 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7758 num_entries.
7759 (grub_print_message_indented): Move real part to ...
7760 (grub_print_message_indented_real): ... here. Additional argument
7761 dry_run.
7762 (draw_border): Additional argument num_entries.
7763 (print_message): Additional argument dry_run.
7764 (print_entries): Receive menu viewer data.
7765 (grub_menu_init_page): New argment num_entries.
7766 (menu_text_set_chosen_entry): Use num_entries.
7767 (grub_menu_try_text): Likewise.
7768 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7769 All users updated.
7770 (grub_ucs4_count_lines): New function.
7771 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7772 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7773 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7774 (grub_term_border_height): Likewise.
7775 (grub_term_num_entries): Likewise.
7776
7777 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7780 Remove now unused string.
7781
7782 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7783
7784 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7785 build system.
7786 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7787
7788 (Comment): Fix typo.
7789 (Getting started): General copy-editing.
7790 (Typical Development Experience): Likewise.
7791 (Error Handling): Likewise.
7792 (Video API): Likewise.
7793
7794 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7795
7796 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7797 throughout.
7798
7799 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7802 directory.
7803
7804 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7805
7806 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7807 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7808 "development".
7809
7810 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7811
7812 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7813 grub_strcpy since the lines aren't necessarily 0-terminated.
7814
7815 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7818 root on legacy.
7819
7820 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7823 (GRUB_MOD_INIT): DEVICE isn't optional.
7824
7825 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7828 word on new line if it's too long anyway. Fixes a hang.
7829
7830 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7833 const.
7834 * util/grub-setup.c (main): Reuse md device name if available.
7835 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7836 not GRUB name as argument.
7837 Based on patch by: Florian Wagner <fwagner>.
7838
7839 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7842 Place mbi on low memory for better compatibility.
7843
7844 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7847
7848 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7849 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7850
7851 * autogen.sh: Ensure that collate and ctype locale is C.
7852 * conf/Makefile.common: Likewise.
7853
7854 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 * grub-core/normal/menu.c: Add missing include.
7857
7858 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
7861
7862 2011-04-08 Martin Zuther <mzuther@mzuther.de>
7863
7864 * util/grub-mkconfig.in: Ignore emacsen backup.
7865
7866 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7869 on open.
7870 (grub_util_biosdisk_close): Likewise.
7871
7872 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7875 const attribute and use grub_isdigit.
7876
7877 2011-04-06 Andrey <dev_null@ukr.net>
7878
7879 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7880 gcc warning.
7881
7882 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7885 useful grub_dprintf's.
7886
7887 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7890
7891 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7894
7895 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7896
7897 Output errors if theme loading failed.
7898
7899 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7900 grub_gfxterm_fullscreen on error paths to ...
7901 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7902 theme loading error.
7903
7904 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7907 space for older compilers.
7908 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7909
7910 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7913 and report them as not RAID members since they are useless for GRUB.
7914 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7915
7916 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Increase LVM implementation robustness in order not to crash on
7919 configurations like pvmove. Previously code assumed that in some places
7920 only lvs or only pvs are used whereas it seems that they are used
7921 interchangeably.
7922
7923 * grub-core/disk/lvm.c (read_node): New function.
7924 (read_lv): Use read_node.
7925 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7926 Match volumes only at the end when all lvs are found. Take both
7927 pvs (first) and lvs (second) into account.
7928 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7929 mirror_* into node_*. All users updated.
7930 (grub_lvm_stripe): Merge this ...
7931 (grub_lvm_mirror): ... and this ...
7932 (grub_lvm_node): ... into this. All users updated.
7933
7934 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7937 of function to allow further scanning for LVMs.
7938
7939 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7942 on failed seek as it breaks open fd reusage.
7943
7944 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * util/grub-install.in: Add a recommendation to use --recheck before
7947 reporting bugs.
7948
7949 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7952 are obtained.
7953
7954 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 GRUB developper manual based on existing Internals section and
7957 contributions by the various authors with active copyright assignment.
7958
7959 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7960 * docs/font_char_metrics.png: New file.
7961 * docs/font_char_metrics.txt: Likewise.
7962 * docs/grub-dev.texi: Likewise.
7963 * docs/grub.texi (Internals): Move from here ...
7964 * docs/grub-dev.texi: ... here.
7965
7966 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7967
7968 Store the loopback device as data on loopback grub_disk structures,
7969 rather than the file it points to. This fixes use of freed memory
7970 if an existing loopback device is replaced.
7971
7972 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7973 disk->data, not dev->file.
7974 (grub_loopback_read): Adjust file assignment to match.
7975 Fixes Ubuntu bug #742967.
7976
7977 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7978
7979 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
7980 when replacing an existing device.
7981
7982 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
7985 memory corruptions.
7986
7987 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
7988 unsigned.
7989 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
7990 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
7991 (grub_jfs_read_inode): Likewise.
7992 (grub_jfs_opendir): Likewise. Remove now useless casts.
7993 (grub_jfs_getent): Likewise.
7994 Make ino a grub_uint32_t rather than int.
7995 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
7996 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
7997 division and module with bit operations.
7998 (grub_jfs_find_file): Make ino a grub_uint32_t.
7999 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
8000
8001 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
8002
8003 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
8004 warning. (This was in fact always initialised before use, but GCC
8005 wasn't smart enough to prove that.)
8006 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
8007
8008 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
8011 stack alignment.
8012 (efi_wrap_1): Likewise.
8013 (efi_wrap_2): Likewise.
8014 (efi_wrap_3): Likewise.
8015 (efi_wrap_4): Likewise.
8016 (efi_wrap_5): Likewise.
8017 (efi_wrap_6): Likewise.
8018 (efi_wrap_10): Likewise.
8019 Based on information by: Red Hat/Peter Jones.
8020
8021 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
8022
8023 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
8024 set-but-not-used variable.
8025
8026 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
8027
8028 * docs/grub.texi (Simple configuration): Be more explicit about
8029 GRUB_DEFAULT, and add an example.
8030 Reported by: Leslie Rhorer.
8031
8032 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8033
8034 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
8035 shell".
8036
8037 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8038
8039 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
8040 * util/grub.d/20_linux_xen.in: Likewise.
8041
8042 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * util/grub.d/10_linux.in: Try alternative config filenames where
8045 we parse config file.
8046 * util/grub.d/20_linux_xen.in: Likewise.
8047
8048 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
8049
8050 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
8051 * util/grub.d/20_linux_xen.in: Likewise.
8052
8053 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8054
8055 * grub-core/disk/raid.c (insert_array): Add few potentially
8056 useful grub_util_info.
8057 (grub_raid_register): Likewise.
8058
8059 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8060
8061 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
8062 Preserve partition number in mdadm code path.
8063
8064 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8065
8066 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
8067 few potentially useful grub_util_info.
8068
8069 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8072
8073 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8074
8075 * docs/grub.texi (default): Use @example rather than nested
8076 itemized lists to avoid breaking gendocs.
8077
8078 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8079
8080 * docs/grub.texi (Future): Update.
8081
8082 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8083
8084 * docs/grub.texi (Environment): New chapter.
8085 (Changes from GRUB Legacy): Link to "Environment block" section for
8086 details of limitations.
8087 (Simple configuration): Likewise. Link to documentation of gfxmode
8088 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8089 respectively.
8090 (Shell-like scripting): Note that normal variables are stored in the
8091 environment.
8092 (gettext): Link to documentation of lang and locale_dir.
8093 (list_env): New section.
8094 (load_env): New section.
8095 (save_env): New section.
8096
8097 (Reporting bugs): Fix typo.
8098
8099 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8102 the example.
8103
8104 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 * grub-core/term/at_keyboard.c (set_scancodes)
8107 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8108
8109 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8110
8111 * docs/grub.texi (Menu-specific commands): Remove some semantics
8112 that were true in GRUB Legacy but not in GRUB 2.
8113 (submenu): New section.
8114 (false): New section.
8115 (read): New section.
8116 (true): New section.
8117
8118 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8119
8120 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8121
8122 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8123
8124 * docs/grub.texi (Simple configuration): Explain some of the
8125 current limitations of grub-mkconfig.
8126 Reported by: Leslie Rhorer.
8127
8128 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 Old macs search for boot.efi rather than for bootia32.efi.
8131
8132 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8133 * util/grub-mkrescue.in: Likewise.
8134 Suggested by: Peter Jones.
8135
8136 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8137
8138 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8139
8140 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8143 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8144 (grub_lvm_mirror): New struct.
8145 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8146 (grub_lvm_iterate): Iterate only visible volumes.
8147 (grub_lvm_read): Factor out to ..
8148 (read_lv): ... this. Support mirrors.
8149 (grub_lvm_read): New wrapper function.
8150 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8151 stripped or mirrored.
8152
8153 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8156
8157 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8158
8159 * docs/grub.texi (loopback): New section.
8160
8161 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8162
8163 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8164 removed -p option.
8165
8166 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8167
8168 * docs/grub.texi (BIOS installation): New section, partly based on
8169 previous text in other sections.
8170 (Installing GRUB using grub-install): Replace BIOS discussion with a
8171 cross-reference.
8172 (Images): Likewise.
8173
8174 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8177 [HAVE_DIOCGDINFO]: Add safety checks.
8178
8179 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8180
8181 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8182 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8183
8184 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8185
8186 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8187 real_sb->size is zero (e.g. RAID-0), get the disk size from
8188 real_sb->data_size instead.
8189 Fixes Ubuntu bug #743136.
8190
8191 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8194 printf clauses for printing size and start.
8195
8196 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8199 Reported and tested by: Timothy Nikkel.
8200
8201 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8204 (dirty_region_add_real): ... this.
8205 (dirty_region_add): Don't discard margin refresh when performing
8206 scheduled repaint.
8207
8208 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/lib/relocator.c (allocate_regstart)
8211 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8212 terminals are capabple of malloc-free operation.
8213 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8214 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8215
8216 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8217
8218 * util/grub-setup.c: Copy the partition table zone if floppy support
8219 is disabled, even if no partition table is found.
8220
8221 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8222 during POST if an invalid partition table is contained in the PBR
8223 of the active partition when GRUB is installed to a partition.
8224
8225 2011-03-28 Colin Watson <cjwatson@debian.org>
8226
8227 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8228 comment.
8229
8230 2011-03-28 Colin Watson <cjwatson@debian.org>
8231
8232 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8233 to be specific about what kind of RAID device we're scanning for.
8234
8235 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8236
8237 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8238 return freed string.
8239
8240 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8241
8242 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8243
8244 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 Use libgeom on FreeBSD to detect partitions.
8247
8248 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8249 (grub-mkrelpath): Likewise.
8250 (grub-script-check): Likewise.
8251 (grub-editenv): Likewise.
8252 (grub-mkpasswd-pbkdf2): Likewise.
8253 (grub-fstest): Likewise.
8254 (grub-mkfont): Likewise.
8255 (grub-mkdevicemap): Likewise.
8256 (grub-probe): Likewise.
8257 (grub-setup): Likewise.
8258 (grub-ofpathname): Likewise.
8259 (grub-mklayout): Likewise.
8260 (example_unit_test): Likewise.
8261 (grub-menulst2cfg): Likewise.
8262 * grub-core/Makefile.core.def (grub-emu): Likewise.
8263 (grub-emu-lite): Likewise.
8264 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8265 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8266 define HAVE_DIOCGDINFO.
8267 (follow_geom_up) [FreeBSD]: New function.
8268 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8269 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8270 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8271 unconditionally of HAVE_DIOCGDINFO.
8272
8273 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 Fix FreeBSD compilation problem.
8276
8277 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8278 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8279
8280 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
8281
8282 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8283 Switch back to page zero before loading a kernel, since some kernel
8284 drivers expect that.
8285 Thanks to: Felix Kuehling.
8286
8287 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8288
8289 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8290 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8291 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8292
8293 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8296 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8297
8298 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8299
8300 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8301 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8302 malloc is disabled.
8303
8304 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8307 for modules headers when counting the needed allocation size.
8308
8309 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8310
8311 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8312 if no ASCII character is found to prevent crash.
8313
8314 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8315
8316 * grub-core/video/bitmap.c (match_extension): Ignore case.
8317
8318 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8321
8322 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/script/parser.y: Declare "time" as valid argument.
8325
8326 2011-03-23 Peter Jones <pjones@redhat.com>
8327
8328 Fix incorrect assert failure reporting.
8329
8330 * grub-core/tests/example_functional_test.c (example_test): Add
8331 a failure comment.
8332 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8333 (failure_start): ...this. Check that malloc succeeded.
8334 Don't call xvasprintf. Return failure struct.
8335 (failure_append_vtext): New function.
8336 (failure_append_text): Likewise.
8337 (add_failure): Likewise.
8338 (grub_test_assert_helper): Likewise.
8339 * include/grub/test.h (grub_test_assert_helper): New declaration.
8340 (grub_test_assert): Macro rewritten.
8341
8342 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8345
8346 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8349
8350 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8353 into GRUB-style one.
8354
8355 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8358 error and not grub_errno.
8359 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8360
8361 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8362
8363 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8364 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8365
8366 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8367
8368 * grub-core/efiemu/i386/pc/cfgtables.c
8369 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8370 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8371 (grub_xnu_unlock): Likewise.
8372 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8373
8374 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8375
8376 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8377 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8378 * grub-core/commands/hashsum.c (aliases): Likewise.
8379 * grub-core/commands/setpci.c (pci_registers): Likewise.
8380 * grub-core/disk/usbms.c (attach_hook): Likewise.
8381 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8382 (zio_checksum_table): Likewise.
8383 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8384 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8385 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8386 * grub-core/lib/relocator.c (leftovers): Likewise.
8387 (extra_blocks): Likewise.
8388 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8389 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8390 (modules_last): Likewise.
8391 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8392 (devices): Likewise.
8393 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8394 (modules_last): Likewise.
8395 * grub-core/normal/auth.c (users): Likewise.
8396 * grub-core/normal/context.c (initial_menu): Likewise.
8397 (current_menu): Likewise.
8398 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8399 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8400 (grub_serial_terminfo_input_template): Likewise.
8401 (grub_serial_terminfo_output_template): Likewise.
8402 (grub_serial_terminfo_input): Likewise.
8403 (grub_serial_terminfo_output): Likewise.
8404 (registered): Likewise.
8405 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8406
8407 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8408
8409 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8410 grub_video_mode_type_t.
8411 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8412 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8413 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8414
8415 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8416
8417 * util/grub-install.in: Correct the x86-64 name as x86_64.
8418
8419 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
8420
8421 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8422 initial chunk read from the kernel always includes GRUB's multiboot
8423 header, which is now outside the first sector.
8424
8425 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8426
8427 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8428 cached mmap_size, so that this works correctly when called multiple
8429 times.
8430 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8431
8432 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8433
8434 * docs/grub.texi (Simple configuration): Tidy up formatting.
8435
8436 2011-03-07 Szymon Janc <szymon@janc.net.pl>
8437
8438 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8439 Set-but-not-used variable removed.
8440
8441 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 Workaround yet another IEEE1275 bug.
8444
8445 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8446 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8447 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8448 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8449 is set.
8450 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8451 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8452
8453 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8456 error.
8457
8458 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
8459
8460 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8461 empty, since in that case we can only generate either nothing or a
8462 syntactically invalid configuration file.
8463 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8464
8465 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8466
8467 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8468 (Making a GRUB bootable CD-ROM): Likewise.
8469 (Invoking grub-mkrescue): New section.
8470 Reported by: Yann Dirson. Fixes Debian bug #612585.
8471
8472 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8473
8474 * util/grub-install.in: Remove unnecessary brackets from tr
8475 arguments.
8476 * util/grub.d/10_hurd.in: Likewise.
8477 * util/grub.d/10_kfreebsd.in: Likewise.
8478 * util/grub.d/10_linux.in: Likewise.
8479 * util/grub.d/20_linux_xen.in: Likewise.
8480 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8481
8482 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
8483
8484 * include/grub/file.h (not_easly_seekable): Rename to ...
8485 (not_easily_seekable): ... this. Update all users.
8486
8487 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
8488
8489 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8490 grub-mkrescue.
8491
8492 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 * util/grub-mkimage.c (generate_image): Refuse to create the images
8495 bigger than the actual flash (512K) in Loongson machines. 512K is also
8496 the biggest chip supported by them.
8497
8498 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8501
8502 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
8503
8504 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8505 super_offset field.
8506
8507 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 * util/grub-install.in: Ignore install device on platforms
8510 where it doesn't make sense. Always use UUIDs except on pc, efi and
8511 sparc64.
8512 Reported by: Daniel Kahn Gillmor.
8513
8514 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8517
8518 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8519
8520 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8521 (iterate_real): Don't rely on partition being non-NULL.
8522
8523 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8526 supported platforms. Put a compile time assert for this rather than
8527 generate a warning with 32-bit shift.
8528
8529 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8530
8531 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8532 logical expression more readable.
8533
8534 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8537 even if some elements have a name.
8538 Reported by: Alexander GQ Gerasiov.
8539
8540 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8541
8542 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8543 path unreadable if `grub-probe -t abstraction' fails, for example if
8544 memberlist fails on an LVM volume group.
8545 Reported by: Darius Jahandarie.
8546
8547 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8548
8549 * docs/grub.texi (Simple configuration): Document
8550 GRUB_PRELOAD_MODULES.
8551
8552 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
8553
8554 * .bzrignore: Remove nonexistent grub-pbkdf2.
8555
8556 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * configure.ac: Bump version to 1.99~rc1.
8559
8560 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8563 for safety.
8564
8565 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8568 module.
8569
8570 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8571
8572 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8573
8574 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8575
8576 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8577 diskdevid.
8578
8579 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 Fix compilation on cygwin.
8582
8583 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8584 -R .drectve on cygwin.
8585 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8586 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8587 (COND_CYGWIN): New condition.
8588 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8589 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8590 not @TARGET_OBJ2ELF@.
8591 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8592 type to determine whether aux is to be used.
8593
8594 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8595
8596 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8597 realpath'ed device string.
8598 Handle floppy (somewhat).
8599 Issue error in unknown case rather than garbage.
8600 Reported by: Axel Beckert.
8601
8602 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * util/grub.d/00_header.in (load_video): Handle the case when no video
8605 drivers available.
8606 Thanks to: Axel Beckert.
8607
8608 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8611 variable. Fixes problem on big endian platforms.
8612
8613 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8614
8615 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8616 It doesn't work well there.
8617
8618 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8619
8620 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8621 warning.
8622 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8623 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8624 counter.
8625
8626 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 Use alias->path rather than buggy "canon".
8629
8630 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8631 (ofdisk_hash_add): New argument curcan. All users updated.
8632
8633 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8634
8635 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8636
8637 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8640 loadmask before doing any calculations. Use correct type for offset.
8641 (grub_linux_load64): Likewise.
8642
8643 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8644
8645 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8646 with NULL.
8647 (console_grub_equivalences_unshift): Likewise.
8648 Reported by: Daniel Dehennin.
8649
8650 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8651
8652 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8653 (set_env_limn_ro): Likewise.
8654 (GRUB_MOD_INIT): Likewise.
8655 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8656 ARRAY_SIZE while on it.
8657 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8658 * grub-core/normal/context.c (grub_env_export): Move from here ...
8659 * grub-core/kern/env.c (grub_env_export): ... here.
8660 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8661 prefix.
8662 * grub-core/kern/main.c (grub_main): Export root and prefix.
8663 * include/grub/env.h (grub_env_export): Export.
8664 Reported by: Seth Goldberg.
8665
8666 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8667
8668 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8669 Take into account space used by ELF sections and multiboot palette.
8670 Reported by: Grégoire Sutre.
8671
8672 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8673
8674 * BUGS: New file.
8675
8676 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 Pass more appropriate video id to Linux.
8679
8680 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8681 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8682 fill have_vga.
8683 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8684 shift params->lfb_size.
8685 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8686
8687 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8690
8691 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8694 separator and pass bootpath/devid even if only one of them is available.
8695 Reported by: Seth Goldberg.
8696
8697 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8700 implementations bug on them.
8701
8702 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8703 memory.
8704 (filter_memory_map): Likewise.
8705
8706 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8709 Reported by: nebuchadnezzar.
8710
8711 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8714 Reported by: nebuchadnezzar.
8715
8716 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 Submenu default support.
8719
8720 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8721 auto_boot. All users updated.
8722 Declared static.
8723 Handle chosen and default with submenus.
8724 (grub_menu_execute_with_fallback): Declared static.
8725 Don't notify failure if autobooted. Upper level does it.
8726 (menuentry_eq): New function.
8727 (get_entry_number): Use menuentry_eq.
8728 (show_menu): New parameter "autobooted". All users updated.
8729 (grub_show_menu): Likewise.
8730 * include/grub/normal.h (grub_show_menu): Likewise.
8731 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8732 (grub_menu_execute_with_fallback): Likewise.
8733
8734 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * util/grub-mklayout.c (usage): Update help text.
8737
8738 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8739
8740 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8741
8742 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 * util/grub-menulst2cfg.c (main): Trim the line.
8745
8746 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8749 (grub_machine_init): Don't check amount of low memory as reportedly
8750 INT 12h can be broken and if low memory is too low we wouldn't have
8751 gotten into grub_machine_init anyway.
8752
8753 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8754
8755 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8756 (grub_machine_mmap_iterate): Take low memory into account
8757
8758 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8761 badfs.
8762 Reported by: TiCPU.
8763
8764 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8767 members errors.
8768
8769 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8770
8771 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8772 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8773
8774 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8775
8776 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8777 openbsd and netbsd types being in part_bsd module.
8778
8779 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8780
8781 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8782 (_FILE_OFFSET_BITS): Likewise.
8783 Reported by: Seth Goldberg.
8784
8785 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8786
8787 * configure.ac: Check for libdevmapper header.
8788
8789 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8790
8791 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8792 avoid aliasing.
8793 (fzap_lookup): Likewise.
8794 (dnode_get): Likewise.
8795 (make_mdn): Likewise.
8796 (zfs_mount): Likewise.
8797 (fzap_iterate): Use temporary pointer to avoid aliasing.
8798 (grub_zfs_read): Likewise.
8799 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8800 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8801 pointers to avoid aliasing.
8802 (grub_cmd_xnu_kernel64): Likewise.
8803 (grub_xnu_load_driver): Likewise.
8804
8805 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8808 aliasing warning.
8809 (grub_cmd_terminal_output): Likewise.
8810 Reported and tested by: Grégoire Sutre.
8811
8812 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8815 warning.
8816 Reported and tested by: Grégoire Sutre.
8817
8818 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * configure.ac: Do CPU substitution even if it's specified explicitly.
8821 Reported and tested by: Alain Greppin.
8822
8823 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8824
8825 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8826 Reported and tested by: Alain Greppin.
8827
8828 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 Satisfy some bison versions need for inttypes.h.
8831
8832 * grub-core/lib/posix_wrap/inttypes.h: New file.
8833 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8834 (int16_t): Likewise.
8835 (int32_t): Likewise.
8836 (int64_t): Likewise.
8837 Reported and tested by: Alain Greppin.
8838
8839 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8842 Silence spurious warning.
8843 Reported and tested by: Alain Greppin.
8844
8845 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8846
8847 * docs/grub.texi (Support automatic decompression): Update with xz
8848 decompression support.
8849
8850 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8851
8852 Improve loaders' kernel command line handling.
8853
8854 * grub-core/lib/cmdline.c: New file.
8855 * include/grub/lib/cmdline.h: Likewise.
8856 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8857 grub_create_loader_cmdline to create kernel command line.
8858 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8859 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8860 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8861 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8862 (linux): Add lib/cmdline.c on common.
8863
8864 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8867 inopos might be unaligned.
8868
8869 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8872 endian transformations.
8873 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8874 Based on report by: Doug Nazar.
8875
8876 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
8877
8878 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8879 array->members[i].start_sector.
8880 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8881
8882 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8885 Reported and tested by: Grégoire Sutre.
8886
8887 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8888
8889 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8890 avoid causing test failures by clearing the screen.
8891
8892 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8893
8894 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8895 Fix prefix check to handle the case where dir ends with a slash
8896 (most significantly, "/" itself).
8897 Reported by: Michael Vogt.
8898
8899 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8900
8901 Run terminfo_cls on initing terminfo output to clear the screen and
8902 move the cursor to (0,0).
8903
8904 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8905 Call grub_terminfo_output_init.
8906 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8907 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8908 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8909
8910 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8913 only when needed.
8914
8915 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8918 CTRL.
8919
8920 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 The E820 type 5 is BADRAM, not EXEC_CODE.
8923
8924 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8925 (GRUB_E820_BADRAM): New define.
8926 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8927 into reserved. Propagate BADRAM.
8928 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8929 (GRUB_E820_BADRAM): New define.
8930
8931 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8932
8933 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8934 Ignore the memory post-4G.
8935 (grub_relocator_firmware_alloc_region): Additional debug statement.
8936
8937 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8940 names.
8941 Reported by: David Pravec.
8942
8943 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8944
8945 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8946 BIOSes.
8947
8948 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8951 Prevent overflow.
8952 (grub_reed_solomon_recover): Likewise.
8953
8954 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8957
8958 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8961 variable.
8962
8963 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
8964
8965 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8966 descriptions of extract_legacy_entries_source and
8967 extract_legacy_entries_configfile.
8968 Reported by: Seung Soo, Ha.
8969
8970 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
8971
8972 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8973 on devices that do not implement function 0.
8974
8975 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8976
8977 * grub-core/fs/hfsplus.c: Make parent unsigned.
8978 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8979 overflows.
8980 (grub_hfsplus_cmp_extkey): Likewise
8981
8982 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8983
8984 * util/grub-install.in: Correctly use bootloader_id and not
8985 GRUB_DISTRIBUTOR on efibootmgr line.
8986
8987 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
8990
8991 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
8992
8993 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
8994 Xen and reorder menu item wording to make it clearer that this entry
8995 will launch Xen. Print separate messages when loading Xen and
8996 Linux.
8997
8998 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8999
9000 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
9001 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
9002 loop in case of incorrect amiga partmap.
9003
9004 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
9007 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
9008 Reported by:EHeM.
9009
9010 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
9013 spurious warning.
9014 Reported by: crocket
9015
9016 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
9019 Preload EFIemu.
9020 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
9021
9022 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9023
9024 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
9025 is loaded
9026 (grub_cmd_xnu_kextdir): Likewise.
9027 (grub_cmd_xnu_splash): Likewise.
9028
9029 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9030
9031 Avoid using Reed-Solomon with 0 redundancy.
9032
9033 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
9034 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
9035 or 0 redundancy.
9036 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
9037 (grub_reed_solomon_recover): Likewise.
9038
9039 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 Don't use disk subsystem in freebsd_boot.
9042
9043 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
9044 (freebsd_biosdev): Likewise.
9045 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
9046 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
9047
9048 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 Handling of files of unknown size is currently limited. They can't be
9051 used e.g. for initrd or modules. Moreover gzip handling of not
9052 easily seekable files is buggy. Disable unknown file size for now. May
9053 be inefficient but works.
9054
9055 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
9056 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
9057
9058 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
9059
9060 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
9061 floppy probe.
9062
9063 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
9064
9065 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
9066
9067 2010-12-25 Shea Levy <shlevy>
9068
9069 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
9070
9071 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9074 Windows Server 2008.
9075 Reported by: Devin Giddings.
9076
9077 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9080 writing an error message because of async power management.
9081 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9082 (grub_reboot): Likewise.
9083
9084 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9085
9086 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9087 keep unit tests from failing when they shouldn't.
9088
9089 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9090
9091 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9092 previous patch increased the size of the RS code by 20 bytes (at
9093 least with gcc-4.4), so increase this by 20 bytes to match.
9094 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9095
9096 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9097
9098 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9099 scratch area. Make sure to initialise chosen in standalone mode as
9100 well as non-standalone.
9101 Reported by: Robert Hooker and Andy Whitcroft.
9102 Tested by: Andy Whitcroft.
9103
9104 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9105
9106 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9107 constructing a new unescaped string and passing it to grub_xputs in
9108 one go, rather than passing characters to grub_printf one at a time.
9109
9110 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9111
9112 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9113 initialising utf16.
9114
9115 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9116
9117 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9118 comment. Add an extra layer of quotation, requiring the output of
9119 this function to be used in a printf format string.
9120 (gettext_printf): New function.
9121 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9122 Extract translatable strings from here-documents and use a temporary
9123 variable instead, so that xgettext can find them.
9124 * util/grub.d/10_kfreebsd.in: Likewise.
9125 * util/grub.d/10_linux.in: Likewise.
9126 * util/grub.d/20_linux_xen.in: Likewise.
9127
9128 * po/grub.d.sed: New file.
9129 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9130 arguments. Set c-format flags on all strings extracted from
9131 util/grub.d/ (xgettext refuses to include these itself for strings
9132 it extracted from a shell file, but these really are c-format).
9133
9134 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9137 Avoid next pointing to nowhere.
9138
9139 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9140
9141 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9142 rather than assuming than rootblock is exactly in the middle.
9143 (grub_affs_label): Likewise.
9144
9145 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9148 reserved_first_sector to 0.
9149 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9150 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9151 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9152
9153 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 Fix handling of UTF-16 UDF labels.
9156
9157 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9158 (read_string): .. here.
9159 (grub_udf_label): Use read_string.
9160
9161 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9162
9163 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9164 editor under argument scope.
9165 Reported by: Jordan Uggla
9166
9167 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9170
9171 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
9172
9173 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9174 line, and other keys scroll an entire page (previous handling was
9175 for \r and \n to scroll a page and other keys to scroll two lines).
9176
9177 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9178
9179 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9180 Set ptrdest to correct get_physical_target_address rather than
9181 incorrect get_virtual_current_address.
9182
9183 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9184
9185 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9186 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9187
9188 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
9189
9190 * .bzrignore: Ignore grub-core/rs_decoder.S.
9191
9192 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
9193
9194 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9195 .mo/.mo.gz opening sequence to ...
9196 (grub_mofile_open_lang): ... here.
9197 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9198 * util/grub.d/00_header.in (grub_lang): Include country part of
9199 locale.
9200 Reported by: Mario Limonciello.
9201
9202 2010-12-09 Robert Millan <rmh@gnu.org>
9203
9204 * NEWS: Document addition of ZFS support.
9205
9206 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
9207
9208 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9209 rather than `/ 2', as the latter requires -Wa,--divide which would
9210 require bumping our minimum binutils version.
9211
9212 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9213
9214 * util/grub-script-check.c (main): Print script line number on
9215 error.
9216
9217 2010-12-01 Robert Millan <rmh@gnu.org>
9218
9219 * grub-core/fs/zfs/zfs.c: New file.
9220 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9221 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9222 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9223 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9224
9225 * include/grub/zfs/dmu.h: Likewise.
9226 * include/grub/zfs/dmu_objset.h: Likewise.
9227 * include/grub/zfs/dnode.h: Likewise.
9228 * include/grub/zfs/dsl_dataset.h: Likewise.
9229 * include/grub/zfs/dsl_dir.h: Likewise.
9230 * include/grub/zfs/sa_impl.h: Likewise.
9231 * include/grub/zfs/spa.h: Likewise.
9232 * include/grub/zfs/uberblock_impl.h: Likewise.
9233 * include/grub/zfs/vdev_impl.h: Likewise.
9234 * include/grub/zfs/zap_impl.h: Likewise.
9235 * include/grub/zfs/zap_leaf.h: Likewise.
9236 * include/grub/zfs/zfs.h: Likewise.
9237 * include/grub/zfs/zfs_acl.h: Likewise.
9238 * include/grub/zfs/zfs_znode.h: Likewise.
9239 * include/grub/zfs/zil.h: Likewise.
9240 * include/grub/zfs/zio.h: Likewise.
9241 * include/grub/zfs/zio_checksum.h: Likewise.
9242
9243 * Makefile.util.def: Build ZFS into libgrubmods.
9244 * grub-core/Makefile.core.def: Build zfs.mod.
9245
9246 2010-11-30 Szymon Janc <szymon@janc.net.pl>
9247
9248 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9249 variable.
9250 * grub-core/commands/wildcard.c (match_files): Likewise.
9251
9252 2010-11-30 Robert Millan <rmh@gnu.org>
9253
9254 * grub-core/loader/i386/bsd.c
9255 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9256 whether kernel is loaded using grub_loader_is_loaded(), rather
9257 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9258 certain error conditions.
9259
9260 2010-11-30 Robert Millan <rmh@gnu.org>
9261
9262 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9263 (grub_cmd_echo): Call grub_refresh() after printing a message.
9264
9265 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Avoid using tricks for initialising endian variables.
9268
9269 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9270 Make const.
9271 (GRUB_MOD_INIT): Don't byte-swap.
9272 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9273 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9274 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9275 (grub_swap_bytes32_compile_time): Likewise.
9276 (grub_cpu_to_le32_compile_time): Likewise.
9277 (grub_cpu_to_le16_compile_time): Likewise.
9278
9279 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * util/grub-setup.c (setup): Stop recommending --force. People who
9282 understand the dangers of blocklists are able to find this option
9283 anyway and the ones who don't shouldn't use it anyway.
9284
9285 2010-11-26 Robert Millan <rmh@gnu.org>
9286
9287 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9288 Update all users.
9289
9290 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
9291
9292 Fix LVM-on-RAID probing.
9293
9294 * util/grub-probe.c (probe): Remember which disk was detected as
9295 RAID (perhaps an LVM physical volume). Use that disk's raidname
9296 rather than that of the top-level disk.
9297
9298 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
9299
9300 Fix cmdline argument quotes for setparams command of menuentry
9301 definitions.
9302
9303 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9304 quotes for arguments.
9305 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
9306 grub_strchrsub function instead.
9307
9308 * include/grub/misc.h (grub_strchrsub): New function.
9309
9310 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9311
9312 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9313 effort by skipping "." and ".." entries up-front.
9314 Suggested by: Michael Lazarev.
9315
9316 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9317
9318 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9319 ldflags to ldadd, to fix link line ordering.
9320 (none_decompress): Likewise.
9321
9322 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9323
9324 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9325 platforms.
9326 (grub-emu-lite): Remove kern/emu/cache.S.
9327
9328 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9329
9330 * util/deviceiter.c (compare_devices): If the by-id link for a
9331 device couldn't be resolved, fall back to sorting by the by-id link
9332 rather than segfaulting.
9333 Reported and tested by: Daniel Mierswa.
9334
9335 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9336
9337 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9338 ldflags, to fix link line ordering.
9339
9340 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9341
9342 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9343 linkers are picky about this.
9344
9345 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9346
9347 * grub-core/Makefile.am (command.lst): Adjust sed expression
9348 ordering so that extended and priority commands aren't treated as
9349 ordinary commands.
9350
9351 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9352
9353 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9354 Remove byte-swapping function calls, which are not valid in
9355 structure initialisers.
9356 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9357 non-const.
9358 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9359 grub_gpt_partition_type_bios_boot.
9360
9361 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9362
9363 Fix test program build on GNU/kFreeBSD.
9364
9365 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9366 $(LIBNVPAIR)' library dependencies.
9367
9368 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9369
9370 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9371
9372 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9373
9374 * util/grub-install.in: Remove excessive quoting that broke
9375 installations to RAID devices.
9376
9377 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9378
9379 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9380 bootloader version instead of 0.
9381
9382 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9383
9384 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9385 warning.
9386
9387 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9390 retrieve the metadat sector if size isn't known.
9391 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9392
9393 2010-11-18 Robert Millan <rmh@gnu.org>
9394
9395 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9396 with grub_memcmp().
9397
9398 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9401 arrow.
9402 Reported by: Jordan Uggla.
9403
9404 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9405
9406 Make better UTF compliant.
9407
9408 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9409 sequences as incorrect.
9410 (grub_is_valid_utf8): Likewise.
9411 (grub_utf8_to_ucs4): Likewise.
9412 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9413 (grub_ucs4_to_utf8_alloc): Likewise.
9414 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9415
9416 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 Make legacy_source behave like source.
9419
9420 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9421 grub_show_menu.
9422 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9423
9424 2010-11-16 Colin Watson <cjwatson@debian.org>
9425
9426 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9427 (-Wunused implies -Wunused-parameter, but not vice versa).
9428
9429 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
9430
9431 * configure.ac: Make error messages less confusing by testing for
9432 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9433 accepted, but produces a diagnostic if something else is wrong).
9434
9435 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9438 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9439 (now unused).
9440 (grub_keyboard_controller_init)
9441 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9442 read the initial state since controller isn't inited yet.
9443
9444 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9445
9446 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9447 allocate_regbeg may need to create new chunk header.
9448
9449 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 Fix quoting in legacy parser.
9452
9453 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9454 single quotes.
9455 (grub_legacy_parse): Likewise.
9456 Reported by: Jordan Uggla.
9457 Tested by: Jordan Uggla.
9458
9459 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 Don't add -lgcc on i386 and x86_64.
9462
9463 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9464 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9465 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9466
9467 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9468
9469 * configure.ac: Add -Wno-trampolines when supported.
9470
9471 2010-11-14 Modestas Vainius <modax@debian.org>
9472
9473 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9474 fakeraid.
9475
9476 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9477
9478 Add generic logical block size support for UDF.
9479
9480 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9481 (GRUB_UDF_BLKSZ): Removed.
9482 (struct grub_udf_data): New field "lbshift" to hold the logical block
9483 size of the file system in log2 format. All users updated.
9484 (sblocklist): Change type to unsigned.
9485 (grub_udf_mount): Change type of "sblklist" to unsigned.
9486 Move AVDP search before VRS recognition, because the latter requires
9487 knowledge of the logical block size, which is detected during the
9488 former.
9489 Detect and validate logical block size during AVDP search, adding
9490 support for block sizes 512, 1024 and 4096.
9491 Make VRS recognition independent of block size.
9492
9493 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9494
9495 Properly handle deleted files on UDF.
9496
9497 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9498 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9499 set.
9500
9501 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9502
9503 Support reading files larger than 2 GiB.
9504
9505 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9506 "offset" to grub_off_t.
9507 (grub_udf_read_file): Likewise for parameter "pos".
9508
9509 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9510
9511 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9512 unavailable.
9513 (Simple configuration): Refer to Changes from GRUB Legacy about
9514 save_env availability.
9515
9516 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 * util/grub-install.in: Ignore empty partition table detection
9519 instead of trying to include part_ module.
9520
9521 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9522
9523 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9524 LVM on RAID support.
9525
9526 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9527
9528 Properly define WORDS_BIGENDIAN in wrapped environments.
9529
9530 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9531 definition.
9532 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9533
9534 Reported by: Manoel Rebelo Abranches.
9535 Tested by: Manoel Rebelo Abranches.
9536
9537 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9538
9539 * util/grub-mkconfig.in: Fix quoting.
9540
9541 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 Support big ext2 files.
9544
9545 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9546 (grub_ext2_read_block): Support triple indirect blocks.
9547 (grub_ext2_read_file): Use 64-bit types and read size_high.
9548 (grub_ext2_open): Read size_high.
9549 Reported by: Ximin Luo.
9550 Tested by: Manoel Rebelo Abranches.
9551
9552 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9553
9554 * util/grub-install.in: Handle filenames containing spaces.
9555 Reported by: Jordan Uggla.
9556 Tested by: Jordan Uggla.
9557
9558 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 * util/grub-mkconfig.in (grub_script_check): New variable.
9561 Use grub_script_check instead of grub-script-check.
9562 Reported by: Barry Jackson.
9563
9564 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * docs/grub.texi (menu): Correct the order.
9567 Reported by: D. Hugh Redelmeier.
9568
9569 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9570
9571 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9572 jump.
9573
9574 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9575
9576 * include/grub/elfload.h (grub_elf32_size): New parameter.
9577 All users updated.
9578 Return maximum segments alignment.
9579 (grub_elf64_size): Likewise.
9580 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9581 Return maximum segments alignment.
9582 (grub_elf64_size): Likewise.
9583 * grub-core/loader/powerpc/ieee1275/linux.c:
9584 (grub_linux_claimmap_iterate): New function. Uses the
9585 "available" property in the "memory" node for memory allocation
9586 for kernel in the PowerPC loader.
9587 (grub_linux_load32): Correctly find linux entry point offset.
9588 (grub_linux_load64): Likewise.
9589
9590 2010-11-07 Robert Millan <rmh@gnu.org>
9591
9592 On mips-yeeloong, build with -march=loongson2f when this flag is
9593 available (GCC >= 4.4).
9594 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9595 `-march=mips3'.
9596 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9597 or otherwise add -march=mips3.
9598
9599 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9600
9601 Suppress shell expansion on echo '*' and echo "*" like cases.
9602 Reported by: Jordan Uggla.
9603
9604 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9605 string arguments before shell expansion.
9606 * tests/grub_cmd_echo.in: New testcases.
9607
9608 2010-11-07 Robert Millan <rmh@gnu.org>
9609
9610 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9611 transition.
9612
9613 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/kern/emu/hostdisk.c
9616 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9617
9618 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9621 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9622 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9623
9624 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9627
9628 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * util/grub-install.in: Replace useless recomendation to pass
9631 --modules with a recomendation to report a bug.
9632
9633 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Properly register serial terminfo.
9636 Reported by: Jordan Uggla
9637
9638 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9639 const.
9640 (grub_serial_terminfo_output_template): Likewise.
9641 (grub_cmd_serial): Register "serial" with terminfo.
9642 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9643 grub_serial_terminfo_output.
9644
9645 2010-11-05 Robert Millan <rmh@gnu.org>
9646
9647 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9648 needed).
9649
9650 2010-11-05 Robert Millan <rmh@gnu.org>
9651
9652 On Yeeloong, pass machine type information to Linux.
9653
9654 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9655 (LOONGSON_MACHTYPE): New macro, set to
9656 "machtype=lemote-yeeloong-2f-8.9inches".
9657 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9658 additional argument to Linux.
9659
9660 2010-11-04 Robert Millan <rmh@gnu.org>
9661
9662 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9663 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9664 (its SATA disks are detected as slaveless IDE master drives on
9665 kFreeBSD).
9666 Reported by Carsten Aulbert.
9667
9668 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
9669
9670 * util/bin2h.c (main): Fix spelling error in generated output.
9671
9672 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9673
9674 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9675
9676 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9679 vga= option is supplied.
9680
9681 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9684 * util/grub.d/10_kfreebsd.in: Likewise.
9685 * util/grub.d/10_linux.in: Likewise.
9686 * util/grub.d/20_linux_xen.in: Likewise.
9687
9688 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9689
9690 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9691 argument as an argument to no-argument option.
9692
9693 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9694
9695 * util/grub.d/10_linux.in: Add missing load_video with explicit
9696 GRUB_GFXPAYLOAD_LINUX.
9697
9698 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9699
9700 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9701
9702 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9703
9704 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9705 elements with invlid index.
9706 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9707 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9708 members.
9709 * include/grub/raid.h (grub_raid_member): New struct.
9710 (grub_raid_array): Transform devices and start_sector into usage of
9711 grub_raid_member. All users updated
9712 (allocated_devs): New member.
9713
9714 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9715
9716 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9717 is modified
9718
9719 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9720
9721 NetBSD build fix for getline function conflict from gnulib.
9722
9723 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9724 components that depend on gnulib headers.
9725 (libgrubmods.a): Renamed from earlier libgrub.a.
9726 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9727
9728 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9731 install rather than creating a broken install.
9732
9733 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * util/grub-setup.c (argp): Remove misleading example of installing to
9736 a partition.
9737
9738 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9739
9740 * util/grub-setup.c (setup): Clarify the error message.
9741
9742 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9743
9744 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9745
9746 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 * grub-core/kern/emu/misc.c
9749 (grub_make_system_path_relative_to_its_root)
9750 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9751
9752 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9753
9754 * grub-core/kern/emu/misc.c
9755 (grub_make_system_path_relative_to_its_root): Revert r2882.
9756
9757 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9760 useless field head. All users updated.
9761 (free_subchunk): Correct handling of IN_REGION subchunk.
9762
9763 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
9764
9765 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9766 (Supported kernels): Likewise.
9767
9768 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9769
9770 Make mktemp invocations portable.
9771
9772 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9773 exit if mktemp fails.
9774 * tests/grub_script_blockarg.in: Likewise.
9775 * tests/partmap_test.in: Likewise.
9776 * tests/util/grub-shell-tester.in: Likewise.
9777 * tests/util/grub-shell.in: Likewise.
9778 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9779 * Makefile.am: Likewise, and chain shell commands with `&&'
9780 instead of ';'.
9781 * util/grub-mkrescue.in: Use the same explicit template as above, and
9782 exit if mktemp fails.
9783
9784 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9785
9786 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9787 Linux kernel, reported by Dennis Schridde.
9788
9789 2010-10-17 Szymon Janc <szymon@janc.net.pl>
9790
9791 * grub-core/normal/auth.c (grub_auth_check_authentication):
9792 Set-but-not-used variable removed.
9793
9794 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9797 32-bit linux protocol.
9798
9799 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9800
9801 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9802 cursor shape for sanity.
9803
9804 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9805
9806 * docs/grub.texi (Installation): Document buggy BIOS install.
9807
9808 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9809
9810 * docs/grub.texi (Installation): Indent.
9811
9812 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9813
9814 * util/grub-setup.c (setup): New parameter allow_floppy.
9815 (arguments): New member allow_floppy.
9816 (argp_parser): Handle --allow-floppy.
9817 (main): Pass allow_floppy.
9818 * util/grub-install.in: New option --allow-floppy passed though to
9819 grub-setup.
9820
9821 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9822
9823 * util/grub-install.in: Handle partitionless disks.
9824
9825 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * util/grub-setup.c (setup): Don't clean blocklists before readability
9828 verfification.
9829
9830 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * docs/grub.texi (Installation): Document embedding zone. Remove
9833 obsolete grub-install example.
9834
9835 2010-10-16 Szymon Janc <szymon@janc.net.pl>
9836
9837 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9838 Set-but-not-used variable ifdef'ed.
9839 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9840 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9841 variable removed.
9842 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9843 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9844 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9845 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9846 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9847 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9848 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9849 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9850 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9851 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9852 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9853 Likewise.
9854
9855 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9858 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9859 enum value.
9860
9861 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9864 synonym to _S5_. Needed for some DSDTs.
9865
9866 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9867
9868 Userspace ACPI parser debugging.
9869
9870 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9871 headers and add relevant defines. Don't include standard headers.
9872 (main) [GRUB_DSDT_TEST]: New function.
9873 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9874 Don't declare functions.
9875
9876 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 Remove dead grub_efi_mm_fini.
9879
9880 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9881 (ALLOCATED_PAGES_SIZE): Likewise.
9882 (MAX_ALLOCATED_PAGES): Likewise.
9883 (allocated_pages): Likewise.
9884 (grub_efi_allocate_pages): Don't record allocated pages.
9885 (grub_efi_free_pages): Likewise.
9886 (grub_efi_mm_init): Likewise.
9887 (grub_efi_mm_fini): Removed.
9888
9889 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9892 (grub_efi_mm_init): Take into account the memory map size increase.
9893
9894 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9895
9896 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9897 (serial_hw_put): Wait based on real time rather than port reads. Don't
9898 roken ports.
9899 * include/grub/serial.h (grub_serial_port): New field broken.
9900
9901 2010-10-16 Robert Millan <rmh@gnu.org>
9902
9903 * grub-core/kern/emu/misc.c
9904 (grub_make_system_path_relative_to_its_root): Fix premature return
9905 when processing non-root ZFS filesystems.
9906 Reported by Sergio Talens-Oliag.
9907
9908 2010-10-15 Robert Millan <rmh@gnu.org>
9909
9910 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9911 guarantee compressed ones are processed first.
9912
9913 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9916 grub_efiemu_autocore.
9917
9918 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9919
9920 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9921 rather than 0x1b.
9922 (grub_console_getkey): Use correct jae opcode rather than ja.
9923
9924 2010-10-12 Robert Millan <rmh@gnu.org>
9925
9926 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9927 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9928 variable. All references updated.
9929
9930 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9931
9932 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9933
9934 Correctly distinguish mdraid flavours.
9935
9936 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9937 (insert_array): New argument raid.
9938 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9939 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9940 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9941
9942 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9943
9944 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9945 handling of special keys.
9946
9947 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9948
9949 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9950 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
9951
9952 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9953
9954 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9955 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9956 users updated.
9957 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
9958 Use right endpoint when querying descriptor.
9959
9960 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9961
9962 Clear out 0x80 color bit on EFI.
9963 Tested by: decoder
9964 Reported by: decoder and meta tech.
9965
9966 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9967 (grub_console_setcolorstate): Clear out 0x80 bit.
9968 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9969 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9970 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9971
9972 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9973
9974 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9975 Set to "auto".
9976
9977 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
9980 mo_file after freeing.
9981
9982 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
9985
9986 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
9989 flags.
9990
9991 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9992
9993 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
9994 usage.
9995
9996 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 Put terminfo into core on ieee1275 and yeeloong (needed for console).
9999
10000 * gentpl.py: New groups terminfoinkernel and terminfomodule.
10001 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
10002 and terminfo.h when needed.
10003 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
10004 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
10005 (terminfo): Enable only on terminfokernel.
10006 (extcmd): Likewise.
10007 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
10008 * include/grub/lib/arg.h: Likewise.
10009 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
10010 incorrect usage of ->.
10011
10012 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10013
10014 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
10015 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
10016
10017 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 Fix coreboot compilation.
10020
10021 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10022 Take VBE info into account even if only text is supported.
10023 (fill_vbe_info): Take into account the case when only VGA text
10024 is supported.
10025 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
10026 on coreboot, multiboot and qemu.
10027
10028 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
10031 debug messages.
10032 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
10033
10034 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10035
10036 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
10037 parameters.
10038
10039 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
10042 if they were BSD-style.
10043
10044 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10045
10046 * grub-core/boot/i386/pc/lnxboot.S: Replace
10047 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
10048 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
10049
10050 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
10051
10052 Write embedding zone using Reed-Solomon.
10053
10054 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
10055 * grub-core/Makefile.am (rs_decoder.S): New target.
10056 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
10057 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
10058 (multiboot): Move to RS part.
10059 (post_reed_solomon): New label.
10060 (grub_boot_drive): Move to non-RS part since it's modified in memory
10061 on boot.
10062 Include rs_decoder.S.
10063 * grub-core/lib/reed_solomon.c: New file.
10064 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
10065 New definition.
10066 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
10067 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
10068 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
10069 * include/grub/partition.h (grub_partition_map): Change prototype of
10070 embed to allow returning additional sectors.
10071 * include/grub/reed_solomon.h: New file.
10072 * util/grub-setup.c (setup): Handle Reed-Solomon.
10073
10074 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
10075
10076 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10077 i386 and x86-64 definedness tests.
10078
10079 2010-09-27 Yves Blusseau <blusseau@zetam.org>
10080
10081 Fix generation of kernel_syms.lst
10082
10083 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10084 ASM_PREFIX
10085
10086 2010-09-26 Robert Millan <rmh@gnu.org>
10087
10088 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10089
10090 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10091 the pool is an array of devices, iterate through it and return the
10092 first device that passes a stat() test (instead of blindly returning
10093 the first one).
10094
10095 2010-09-26 Robert Millan <rmh@gnu.org>
10096
10097 Build fixes for GNU/kFreeBSD.
10098
10099 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10100 to programs that require ZFS conversion.
10101 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10102 kernels that don't have FLOPPY_MAJOR.
10103
10104 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10105
10106 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10107
10108 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10109
10110 Fix grub-emu build.
10111
10112 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10113 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10114 mdraid09 and mdraid1x.
10115
10116 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
10117
10118 Re-enable grub-extras.
10119
10120 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10121 avoid confusing Automake. Run autogen only twice, once for the top
10122 level and once for grub-core. Add Makefile.util.def and
10123 Makefile.core.def from extra modules to the appropriate autogen
10124 invocations. If Makefile.common exists in an extra module, include
10125 it in both Makefile.util.am and grub-core/Makefile.core.am;
10126 similarly, include any Makefile.util.common file in Makefile.util.am
10127 and any Makefile.core.common file in grub-core/Makefile.core.am.
10128 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10129 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10130 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10131 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10132
10133 * gentpl.py (gvar_add): Turn GVARS into a set.
10134 (global_variable_initializers): Sort global variables on output.
10135 (vars_init): New function.
10136 (first_time): Likewise.
10137 (library): Ensure that non-global variable initialisations are
10138 emitted before the first time we emit code for a library block.
10139 Append to variables rather than setting them. Only emit
10140 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10141 each conditional path.
10142 (program): installdir() emits an Autogen macro, so must be passed to
10143 var_add rather than gvar_add.
10144 (data): Likewise.
10145 (script): Likewise.
10146 (rules): New function, centralising handling for different target
10147 types. Set up Guile association lists for first_time and vars_init,
10148 and send most output to a diversion so that variable initialisations
10149 can be emitted first.
10150 (module_rules): Use new rules function.
10151 (kernel_rules): Likewise.
10152 (image_rules): Likewise.
10153 (library_rules): Likewise.
10154 (program_rules): Likewise.
10155 (script_rules): Likewise.
10156 (data_rules): Likewise.
10157
10158 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10159
10160 * .bzrignore: Add contrib and grub-core/contrib. Remove
10161 grub-core/Makefile.gcry.am.
10162
10163 2010-09-24 Yves Blusseau <blusseau@zetam.org>
10164
10165 * grub-core/lib/LzFind.c: Add missing include.
10166 * grub-core/lib/LzmaEnc.c: Likewise.
10167 * grub-core/script/lexer.c: Likewise.
10168 * grub-core/script/yylex.l: Likewise.
10169 * util/grub-macho2img.c: Likewise.
10170 * util/grub-menulst2cfg.c: Likewise.
10171 * util/grub-mklayout.c: Likewise.
10172 * util/grub-mkpasswd-pbkdf2.c
10173 * util/grub-mkrelpath.c: Likewise.
10174 * util/resolve.c: Likewise.
10175
10176 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10177
10178 * Makefile.util.def (example_unit_test): Add
10179 grub-core/gnulib/libgnu.a.
10180
10181 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10182
10183 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10184
10185 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 Support xz compression on yeeloong.
10188
10189 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10190 * configure.ac: Check for LZMA.
10191 * grub-core/Makefile.core.def (xz_decompress): New target.
10192 (none_decompress): Likewise.
10193 * grub-core/boot/decompressor/minilib.c: New file.
10194 * grub-core/boot/decompressor/none.c: Likewise.
10195 * grub-core/boot/decompressor/xz.c: Likewise.
10196 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10197 * grub-core/kern/mips/cache_flush.S: Likewise.
10198 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10199 * grub-core/kern/mips/startup.S: Move first stage to ...
10200 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10201 nomacro.
10202 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10203 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10204 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10205 Allocate statically.
10206 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10207 Allocate statically or use scratch. Don't check CRC32.
10208 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10209 Allocate statically. Don't check CRC32.
10210 * include/grub/decompressor.h: New file.
10211 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10212 Removed.
10213 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10214 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10215 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10216 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10217 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10218 * util/grub-mkimage.c (grub_compression_t): New type.
10219 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10220 (image_target_desc): New field default_compression.
10221 (image_targets): Adjust yeeloong targets.
10222 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10223 (compress_kernel): New parameter comp.
10224 (generate_image): Likewise. Handle new compression case.
10225 (options): New option --compression
10226 (help): Likewise.
10227 (main): Handle new option.
10228
10229 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10230
10231 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10232
10233 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
10234
10235 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10236 typo in __i386__ conditional.
10237
10238 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10241 include.
10242
10243 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 Implement EFI and ACPI multiboot2 extensions.
10246
10247 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10248 new tags as supported.
10249 (acpiv2_size): New function.
10250 (grub_multiboot_get_mbi_size): Take new tags into account.
10251 (grub_multiboot_make_mbi): Add new tags.
10252 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
10253
10254 2010-09-21 Aleš Nesrsta <starous@volny.cz>
10255
10256 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10257 Added missing configuration of USB device.
10258
10259 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10260
10261 * grub-core/normal/menu_entry.c (run): Make sure we always return
10262 a value.
10263
10264 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10265
10266 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10267 NumberOfPages is UINT64 according to the UEFI specification, not
10268 UINTN. Fix printf format.
10269
10270 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10271
10272 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10273 `err' to grub_usb_err_t.
10274 Reported and tested by: KESHAV P.R.
10275
10276 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10277
10278 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10279 tpart non-const, so that we can assign to it. (Since this is a
10280 typedef, the constness refers to the pointer rather than what it
10281 points to.)
10282
10283 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10284
10285 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10286 $(top_srcdir)/grub-core/gnulib as well as
10287 $(top_builddir)/grub-core/gnulib.
10288 Reported by: KESHAV P.R.
10289
10290 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10291
10292 * util/grub-install.in: Fix the bootloader ID option to be
10293 consistently --bootloader-id, not --bootloader_id.
10294 Reported by: KESHAV P.R.
10295
10296 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10297
10298 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10299 check hash checksum." consistently translatable.
10300
10301 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10302
10303 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10304 $(top_builddir).
10305
10306 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10307
10308 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10309 (GRUB_MOD_INIT): Register sha1sum command.
10310 (GRUB_MOD_FINI): Unregister sha1sum command.
10311
10312 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10313
10314 Keep boot and grub directory names in sync with utils scripts
10315
10316 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10317 * config.h.in: Add previous macros.
10318 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10319 * util/grub-install.in: Use $bootdir and $grubdir variables.
10320
10321 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10322
10323 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10324 convert partition names to disk names if the new `convert' parameter
10325 is set.
10326 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10327 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10328 disk in its own right. This can happen with Xen disk images.
10329
10330 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10331
10332 * util/grub-editenv.c: Update strings to avoid warnings when generating
10333 grub.pot file.
10334 * util/grub-setup.c: Likewise.
10335
10336 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10337
10338 * configure.ac: Change version to 1.99~beta0.
10339
10340 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10341
10342 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10343 Add BADRAM.
10344 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10345 Likewise.
10346 * include/multiboot.h: Resynced with specification.
10347 * include/multiboot2.h: Likewise.
10348
10349 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10350
10351 Fix po directory handling.
10352
10353 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10354 * grub-core/gnulib/Makefile.am: Import gettext module.
10355 * m4/gnulib-cache.m4: Likewise.
10356 * m4/gnulib-comp.m4: Likewise.
10357 * m4/gettext.m4: New file, from gnulib.
10358 * m4/glibc2.m4: Likewise.
10359 * m4/iconv.m4: Likewise.
10360 * m4/intdiv0.m4: Likewise.
10361 * m4/intl.m4: Likewise.
10362 * m4/intldir.m4: Likewise.
10363 * m4/intlmacosx.m4: Likewise.
10364 * m4/intmax.m4: Likewise.
10365 * m4/inttypes-pri.m4: Likewise.
10366 * m4/lcmessage.m4: Likewise.
10367 * m4/lib-ld.m4: Likewise.
10368 * m4/lib-link.m4: Likewise.
10369 * m4/lib-prefix.m4: Likewise.
10370 * m4/lock.m4: Likewise.
10371 * m4/nls.m4: Likewise.
10372 * m4/po.m4: Likewise.
10373 * m4/printf-posix.m4: Likewise.
10374 * m4/progtest.m4: Likewise.
10375 * m4/threadlib.m4: Likewise.
10376 * m4/uintmax_t.m4: Likewise.
10377 * m4/visibility.m4: Likewise.
10378 * po/Makefile.am: Remove.
10379 * po/Makefile.in.in: New file, from gettext.
10380 ($(DOMAIN).pot-update): Support POTFILES-shell.
10381 * po/Makevars: New file.
10382 * po/POTFILES-shell: Rename to ...
10383 * po/POTFILES-shell.in: ... this. Update.
10384 * po/POTFILES: Rename to ...
10385 * po/POTFILES.in: ... this. Update.
10386 * po/Rules-quot: New file, from gettext.
10387 * po/boldquot.sed: Likewise.
10388 * po/en@boldquot.header: Likewise.
10389 * po/en@quot.header: Likewise.
10390 * po/insert-header.sin: Likewise.
10391 * po/quot.sed: Likewise.
10392 * po/remove-potcdate.sin: Likewise.
10393
10394 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10397
10398 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * util/grub.d/20_linux_xen.in: Use submenus.
10401
10402 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10403
10404 Support submenus.
10405
10406 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10407 parameter submenu. All users updated.
10408 * grub-core/normal/main.c (free_menu): Rename to ...
10409 (grub_normal_free_menu): ... this. Made global.
10410 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10411 if requested.
10412 * grub-core/normal/menu_entry.c (screen): New field submenu.
10413 (make_screen): Set submenu.
10414 (run): Open new context if requested.
10415 * include/grub/menu.h (grub_menu_entry): New field submenu.
10416 * include/grub/normal.h (grub_normal_free_menu): New proto.
10417
10418 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 Menu entries extractor.
10421
10422 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10423 variants.
10424 (GRUB_MOD_INIT): Register new variants.
10425 (GRUB_MOD_FINI): Unregister new variants.
10426 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10427 into grub_cmd_legacy_source.
10428 (grub_cmd_legacy_source): Implement extractor variants.
10429 (GRUB_MOD_INIT): Register new variants.
10430 (GRUB_MOD_FINI): Unregister new variants.
10431 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10432 as an extractor.
10433 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10434 search as an extractor.
10435 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10436 test as an extractor.
10437 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10438 as an extractor.
10439 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10440 (grub_env_new_context): New function.
10441 (grub_env_context_open): Likewise.
10442 (grub_env_extractor_open): Likewise.
10443 (grub_env_extractor_close): Likewise.
10444 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10445 grub_extractor_level.
10446 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10447 * include/grub/env.h (grub_env_extractor_open): New proto.
10448 (grub_env_extractor_close): Likewise.
10449 * include/grub/normal.h (grub_extractor_level): New external variable.
10450
10451 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 Make cutmem accept a region specification.
10454 Suggested by: Samuel Thibault
10455
10456 * grub-core/mmap/mmap.c (parsemem): New function.
10457 (grub_cmd_cutmem): Handle new arguments.
10458
10459 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 New command cutmem.
10462
10463 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10464 (GRUB_MOD_INIT): Register new command.
10465 (GRUB_MOD_FINI): Unregister new command.
10466
10467 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 Support some annoying BSD and Minix subpartitions.
10470
10471 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10472 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10473 Properly handle concatenation.
10474 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10475 * grub-core/normal/completion.c (iterate_partition): Likewise.
10476 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10477 contain partition. All users updated.
10478 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10479 struct.
10480 (grub_openbsdlabel_partition_map): Likewise.
10481 (bsdlabel_partition_map_iterate): Rename to ..
10482 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10483 (bsdlabel_partition_map_iterate): New function.
10484 (netopenbsdlabel_partition_map_iterate): Likewise.
10485 (netbsdlabel_partition_map_iterate): Likewise.
10486 (openbsdlabel_partition_map_iterate): Likewise.
10487 (GRUB_MOD_INIT): Register new partmaps.
10488 (GRUB_MOD_FINI): Unregister new partmaps.
10489 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10490 (grub_partition_msdos_iterate): ... this. All users updated.
10491 Don't support embedding other than in a minix partition.
10492 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10493 proto.
10494 * include/grub/partition.h (grub_partition): New field msdostype.
10495 * util/grub-install.in: Handle openbsd and netbsd types being in
10496 part_bsd module.
10497
10498 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10501
10502 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10503 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10504 (mdraid09): ... this.
10505 (mdraid1x): New module.
10506 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10507 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10508
10509 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10512 vsprintf.
10513
10514 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10515
10516 * grub-core/commands/efi/lsefimmap.c: Correct header.
10517 * NEWS: Update.
10518
10519 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10520
10521 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10522 as printf format strings; the translations might contain '%' which
10523 could cause a crash.
10524 (main): Likewise.
10525 * util/grub-fstest.c (argp_parser): Likewise.
10526 * util/grub-setup.c (argp_parser): Likewise.
10527 (main): Likewise.
10528
10529 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10530
10531 Use argp in grub-fstest.
10532
10533 * util/grub-fstest.c: Don't include getopt.h.
10534 Include argp.h.
10535 (root): New variable.
10536 (args_count): Likewise.
10537 (nparm): Likewise.
10538 (num_disks): Likewise.
10539 (images): Likewise.
10540 (cmd): Likewise.
10541 (debug_str): Likewise.
10542 (args): Likewise.
10543 (options): Transformed to argp.
10544 (usage): Removed.
10545 (main): Split argument parsing into ...
10546 (argp_parser): ... this. Changed to argp format.
10547 (argp): New variable.
10548 (main): Use argp_parse.
10549
10550 2010-09-20 Tristan Gingold <gingold@free.fr>
10551 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
10552 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10553
10554 * grub-core/commands/efi/lsefimmap.c: New file.
10555 * grub-core/Makefile.core.def (lsefimmap): New module.
10556 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10557
10558 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 Pause the execution (10s max) if any errors are displayed so the user
10561 has a chance to see them.
10562
10563 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10564 (grub_print_error): Increment grub_err_printed_errors.
10565 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10566 execution if any errors were displayed.
10567 (show_menu): Remove old code for pause.
10568 * grub-core/normal/menu_entry.c (run): Likewise.
10569 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10570 users updated.
10571 (grub_normal_get_char_counter): Likewise.
10572 * include/grub/err.h (grub_err_printed_errors): New external variable.
10573 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10574
10575 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10576
10577 Support multiboot VBE info.
10578
10579 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10580 Take VBE info into account.
10581 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10582 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10583 Call fill_vbe_info when appropriate.
10584 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10585 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10586 as supported.
10587 (grub_multiboot_get_mbi_size): Take new tags into account.
10588 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10589 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10590 Call fill_vbe_tag when appropriate.
10591 (grub_multiboot_make_mbi): Properly align tags.
10592 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10593 function.
10594 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10595 proto.
10596 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10597
10598 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 Suport manual terminal geometry specification.
10601
10602 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10603 Save state in grub_ofconsole_terminfo_output.
10604 (grub_ofconsole_term): Use grub_terminfo_getwh.
10605 (grub_ofconsole_getwh): Removed.
10606 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10607 (grub_serial_term): Use grub_terminfo_getwh.
10608 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10609 (options): New struct.
10610 (OPTION_*): New enum.
10611 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10612 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10613 width and height.
10614 (grub_terminfo_getwh): New proto.
10615 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10616
10617 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10618
10619 Handle legacy "terminal" command.
10620
10621 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10622 and FLAG_TERMINAL.
10623 (legacy_commands): Add terminal and title.
10624 (grub_legacy_parse): Handle terminal. Simplify title handling.
10625
10626 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10627
10628 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10629 parameters overflow.
10630
10631 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10632
10633 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10634 widthspec.h.
10635
10636 * docs/grub.texi (Shell-like scripting): Document `!'.
10637 (Network): Simplify using new i386-pc-pxe format. Mention
10638 grub-mknetdir.
10639
10640 * NEWS: Update.
10641
10642 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10643
10644 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10645 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10646 when needed.
10647
10648 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10649
10650 * grub-core/commands/efi/lsefisystab.c: Correct header.
10651 * grub-core/commands/efi/lssal.c: Likewise.
10652 * grub-core/commands/testload.c: Likewise.
10653
10654 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10655
10656 * util/grub-mkrescue.in: Add explicit root argument to --set to
10657 prevent the UUID being interpreted as an argument to --set (matches
10658 previous change to prepare_grub_to_access_device).
10659
10660 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10661
10662 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10663 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10664 the verbosity of later #ifs.
10665 (find_partition_start): Define this function on FreeBSD too.
10666 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10667 function.
10668 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10669 on FreeBSD.
10670
10671 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10672
10673 * util/grub-editenv.c: Use argp instead of getopt.
10674
10675 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10676
10677 * util/grub-setup.c: Use argp instead of getopt.
10678
10679 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10680
10681 Use gnulib-tool to create gnulib source files.
10682
10683 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10684 grub-core/gnulib directories
10685 * .bzignore: Add **/.deps and autogenerated gnulib files
10686 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10687 of gnulib macros, add grub-core/gnulib/Makefile
10688 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10689 include m4 directory to aclocal.
10690 * Makefile.util.def: Remove direct compilation of gnulib source files
10691 and use the new grub-core/gnulib/libgnu.a.
10692 * build-aux/config.rpath: move config.rpath from top directory to
10693 build-aux
10694 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10695 in gnulib headers
10696 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10697 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10698 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10699 header.
10700 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10701 string.
10702
10703 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10704
10705 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10706 grub-core/genmod.sh and grub-core/gensyminfo.sh
10707
10708 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10709
10710 Add a test for echo command options.
10711
10712 * tests/grub_cmd_echo.in: New test.
10713 * Makefile.util.def: Rules for new test.
10714
10715 2010-09-20 Szymon Janc <szymon@janc.net.pl>
10716
10717 Remove crc.mod and move crc command to hashsum.mod.
10718 Remove lib/crc.c - users updated to use gcrypt implementation.
10719
10720 * grub-core/commands/crc.c: Removed.
10721 * grub-core/Makefile.core.def (crc): Module removed.
10722 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10723 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10724 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10725 * grub-core/lib/crc.c: Removed.
10726 * include/grub/lib/crc.h: Removed.
10727 * Makefile.util.def (crc): Remove lib/crc.c
10728 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10729 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10730 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10731 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10732 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10733 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10734
10735 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10736
10737 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10738
10739 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10740
10741 Split config.h for util and core.
10742
10743 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10744 (ADDR32): Likewise.
10745 (DATA32): Likewise.
10746 (BSS_START_SYMBOL): Likewise.
10747 (END_SYMBOL): Likewise.
10748 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10749 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10750 * config.h.in: New file.
10751 * configure.ac: Use config-util.h as config define file.
10752 Rename MACHINE into GRUB_MACHINE. All users updated.
10753 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10754 updated.
10755 (NESTED_FUNC_ATTR): Likewise.
10756 Substitue new variables.
10757 (COND_HAVE_ASM_USCORE): New conditional.
10758 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10759 (kernel_syms.lst): Use ASM_PREFIX.
10760 * grub-core/kern/emu/console.c: Include config-util.h.
10761 * grub-core/kern/emu/misc.c: Likewise.
10762 * grub-core/kern/emu/mm.c: Likewise.
10763 * include/grub/emu/misc.h: Likewise.
10764 * include/grub/libgcc.h: Likewise.
10765
10766 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10769 constants usage.
10770 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10771 Fix GRUB_TERM_KEY_* constants usage.
10772 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10773
10774 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10777 print pointer.
10778 * grub-core/bus/usb/uhci.c: Remove empty define.
10779 (grub_uhci_check_transfer): Add missing cast.
10780 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10781 print pointer.
10782 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10783 PRIuGRUB_SIZE.
10784 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10785
10786 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * grub-core/Makefile.core.def (legacycfg): Add
10789 lib/i386/pc/vesa_modes_table.c on emu.
10790
10791 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10792
10793 Reduce number of temporary files generated by build system.
10794
10795 * grub-core/gencmdlist.sh: Removed.
10796 * grub-core/genfslist.sh: Removed.
10797 * grub-core/genhandlerlist.sh: Removed.
10798 * grub-core/genmodsrc.sh: Removed.
10799 * grub-core/genpartmaplist.sh: Removed.
10800 * grub-core/genparttoollist.sh: Removed.
10801 * grub-core/gentermiinallist.sh: Removed.
10802 * grub-core/genvideolist.sh: Removed.
10803
10804 * grub-core/genmod.sh.in: New file.
10805 * grub-core/gensyminfo.sh.in: New file.
10806
10807 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10808 * conf/Makefile.extra-dist: Update with new files.
10809 * gentpl.py: Remove rules related to unnecessary temporary files.
10810 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10811 and und-* files.
10812 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10813 genmod.sh scripts.
10814 * grub-core/bus/usb/uhci.c: Remove empty #define.
10815 * grub-core/genmoddep.awk: Updated with new syminfo format.
10816 * util/bash-completion.d/Makefile.am: Add config.log to
10817 CLEANFILES.
10818
10819 2010-09-19 Yves Blusseau <blusseau@zetam.org>
10820
10821 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10822
10823 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10824
10825 * util/grub-mkconfig.in: Check the config script for syntax errors
10826 before saving.
10827
10828 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
10829 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10830
10831 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10832 platforms.
10833 * util/grub-install.in: Add EFI and IEEE1275 support.
10834 * util/i386/efi/grub-install.in: Removed.
10835 * util/ieee1275/grub-install.in: Likewise.
10836
10837 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10840 (grub_cmd_cmosclean): Likewise.
10841 (GRUB_MOD_INIT): Register command cmosclean.
10842 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10843 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10844
10845 2010-09-18 Carles Pina i Estany <carles@pina.cat>
10846 2010-09-18 Aleš Nesrsta <starous@volny.cz>
10847 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 Add keyboard layouts support.
10850
10851 * Makefile.util.def (grub-mklayout): New file.
10852 (grub-kbdcomp): New script.
10853 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10854 Add keyboard_layouts.h.
10855 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10856 commands/boot.c on yeeloong.
10857 (keylayouts): New module.
10858 * grub-core/bus/usb/ohci.c
10859 * grub-core/bus/usb/uhci.c
10860 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10861 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10862 (attach_root_port): Likewise.
10863 (poll_nonroot_hub): Likewise.
10864 (grub_usb_poll_devices): Likewise.
10865 (detach_device): Close transfer.
10866 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10867 function.
10868 (grub_usb_bulk_setup_readwrite): Likewise.
10869 (grub_usb_bulk_finish_readwrite): Likewise.
10870 * grub-core/commands/keylayouts.c: New file.
10871 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10872 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10873 aliases.
10874 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10875 support scancode 2.
10876 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10877 * include/grub/keyboard_layouts.h: New file.
10878 * util/grub-mklayout.c: New file.
10879 * util/grub-kbdcomp.in: Likewise.
10880
10881 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 Unify memory types.
10884
10885 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10886 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10887 types.
10888 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10889 (grub_upper_mem): Likewise.
10890 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10891 * include/grub/memory.h (grub_memory_type_t): New enum.
10892 All users updated.
10893
10894 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * grub-core/Makefile.core.def (lsapm): New module.
10897 * grub-core/commands/i386/pc/lsapm.c: New file.
10898 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10899 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10900 Likewise.
10901 * include/grub/i386/pc/apm.h: New file.
10902 * include/multiboot.h (multiboot_apm_info): New struct.
10903
10904 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 GRUB-legacy configuration file support.
10907
10908 * Makefile.util.def (grub-menulst2cfg): New util.
10909 * docs/man/grub-menulst2cfg.h2m: New file.
10910 * grub-core/Makefile.core.def (legacycfg): New module.
10911 * grub-core/commands/legacycfg.c: New file.
10912 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10913 (grub_normal_add_menu_entry): ... this.
10914 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10915 (grub_normal_set_password): ...this.
10916 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10917 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10918 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10919 * grub-core/lib/legacy_parse.c: New file.
10920 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10921 * include/grub/i386/pc/vesa_modes_table.h: New file.
10922 * include/grub/legacy_parse.h: Likewise.
10923 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10924 * util/grub-menulst2cfg.c: New file.
10925
10926 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10927
10928 * grub-core/kern/emu/hostdisk.c
10929 (convert_system_partition_to_system_disk): Initialise node.
10930
10931 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10932
10933 * grub-core/kern/emu/hostdisk.c
10934 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10935 leak.
10936 Reported and based on patch by: Modestas Vainius.
10937
10938 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10939
10940 Fix DM-RAID probing with recent versions of device-mapper udev
10941 rules.
10942
10943 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10944 canonicalise device paths under /dev/mapper/.
10945 (convert_system_partition_to_system_disk): Compare the
10946 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10947 path, since device nodes under /dev/mapper/ are often symlinks.
10948
10949 2010-09-17 Yves Blusseau <blusseau@zetam.org>
10950
10951 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10952
10953 2010-09-16 Yves Blusseau <blusseau@zetam.org>
10954
10955 * configure.ac: Avoid some annoying error messages if freetype-config
10956 program is not found.
10957
10958 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10959
10960 Support RAID on virtio devices, and others.
10961
10962 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10963 Rename to ...
10964 [__MINGW32__] (grub_find_device): ... this.
10965 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10966 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10967 reasonable default if dir is NULL.
10968 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10969 ...
10970 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10971 (grub_guess_root_device): Update callers.
10972 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10973
10974 * util/raid.c (grub_util_getdiskname): Remove.
10975 (grub_util_raid_getmembers): Use grub_find_device rather than
10976 grub_util_getdiskname.
10977
10978 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10979
10980 * docs/grub.texi (serial): Remove obsolete comment about GRUB
10981 needing to be compiled with serial support.
10982 (ls): Indicate that multiple files are accepted.
10983 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
10984 indicate that multiple files are accepted.
10985
10986 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10987
10988 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
10989 libgrub_a_init.c, and util/bash-completion.d/grub.
10990
10991 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10992
10993 * util/grub-setup.c (setup): Fix incorrect container semantics.
10994
10995 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10996
10997 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
10998 misusage.
10999 Reported by: J. Nick Terry
11000
11001 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11002
11003 Move embedding routines to partmap sources files.
11004
11005 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
11006 [GRUB_UTIL]: New variable.
11007 (gpt_partition_map_iterate): Set part.parent.
11008 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
11009 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
11010 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
11011 New function.
11012 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
11013 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
11014 (grub_partition_map) [GRUB_UTIL]: New field embed.
11015 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
11016 (setup): Use ->embed.
11017
11018 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11019
11020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
11021 function.
11022 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
11023 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
11024
11025 2010-09-15 Yves Blusseau <blusseau@zetam.org>
11026
11027 Add function to get completions from usage.
11028
11029 * util/bash-completion.d/grub-completion.bash.in: Add function to get
11030 completions from usage. Use LC_ALL=C to get options properly.
11031
11032 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * grub-core/gnulib/basename-lgpl.c: Imported.
11035 * grub-core/gnulib/basename.c: Likewise.
11036 * grub-core/gnulib/dirname-lgpl.c: Likewise.
11037 * grub-core/gnulib/dirname.c: Likewise.
11038 * grub-core/gnulib/dirname.h: Likewise.
11039 * grub-core/gnulib/stripslash.c: Likewise.
11040
11041 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/gnulib/error.c: Resynced.
11044 * grub-core/gnulib/getopt.c: Likewise.
11045 * grub-core/gnulib/getopt_int.h: Likewise.
11046 * grub-core/gnulib/regex.h: Likewise.
11047 * grub-core/gnulib/regex_internal.c: Likewise.
11048 * grub-core/gnulib/regex_internal.h: Likewise.
11049
11050 2010-09-15 Szymon Janc <szymon@janc.net.pl>
11051
11052 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
11053 CRC calculations and validity checks.
11054 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
11055 calculations.
11056
11057 2010-09-15 Szymon Janc <szymon@janc.net.pl>
11058
11059 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
11060
11061 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11062
11063 Fix incorrect echo options handling.
11064 Reported by: Yves Blusseau.
11065
11066 * include/grub/command.h (grub_command_flags_t): New flags
11067 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
11068 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
11069 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
11070
11071 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11072
11073 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11074 users updated.
11075 (GRUB_COMMAND_FLAG_MENU): Likewise.
11076 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11077 (GRUB_COMMAND_FLAG_TITLE): Removed.
11078 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11079 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11080 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11081 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11082 (grub_command_flags_t): New enum. All users updated.
11083
11084 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11085
11086 Fix solaris compilation.
11087
11088 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11089 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11090 (grub-emu-list): Likewise.
11091
11092 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 Remove deprecated root command.
11095
11096 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11097 updated.
11098
11099 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 * util/i386/pc/grub-setup.c: Merge this ...
11102 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11103 * util/grub-setup.c: ... into this.
11104 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11105 New struct.
11106
11107 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11110 possible.
11111
11112 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11115 allocate p.
11116
11117 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11118
11119 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11120 explicit root argument to set to prevent UUID to be interpreted as
11121 argument to set.
11122
11123 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11124
11125 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11126
11127 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 Don't export grub_gate_a20.
11130
11131 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11132 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11133 to ...
11134 (grub_gate_a20): ... this. All users updated.
11135 * include/grub/i386/pc/init.h: Removed. All users updated.
11136
11137 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11138
11139 Create euro.pf2 which supports most European languages.
11140
11141 * Makefile.am (grubdata_DATA): Add euro.pf2.
11142 (euro.pf2): New target.
11143 (CLEANFILES): Add euro.pf2.
11144
11145 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11146
11147 * configure.ac: Disable emu-usb by default to prevent inadvertent
11148 device takeover.
11149
11150 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 Disable usbserial on grub-emu since our libusb code isn't good enough
11153 yet.
11154
11155 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11156 (usbserial_pl2303): Likewise.
11157 (usbserial_ftdi): Likewise.
11158
11159 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 * include/grub/disk.h (grub_disk): Remove has_partitions.
11162 All users updated.
11163 * disk/loopback.c (grub_loopback): Remove has_partitions.
11164 All users updated.
11165 (options): Remove partitions. All users updated.
11166 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11167 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11168 actual partition table is found.
11169
11170 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11171
11172 Remove readability checks (too many false negatives).
11173
11174 * util/grub-install.in: Remove readability checks.
11175 * util/grub-mkconfig.in: Likewise.
11176 * util/grub.d/10_hurd.in: Likewise.
11177 * util/grub.d/10_kfreebsd.in: Likewise.
11178 * util/grub.d/10_linux.in: Likewise.
11179 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11180 way.
11181
11182 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11183
11184 Enable acpi shutdown on all ACPI platforms.
11185
11186 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11187 on coreboo, multiboot and EFI.
11188 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11189 (grub_acpi_halt): Likewise.
11190 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11191 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11192 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11193 * grub-core/lib/i386/halt.c (grub_halt)
11194 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11195
11196 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11197
11198 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11199 context.
11200
11201 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11202
11203 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11204 * grub-core/video/efi_uga.c: Likewise.
11205
11206 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 Filter devaliases and never open same device twice.
11209
11210 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11211 (last_ihandle): Likewise.
11212 (ofdisk_hash_ent): New member shortest.
11213 (ofdisk_hash_add): Add canonical path too.
11214 (scan): New function.
11215 (grub_ofdisk_iterate): Iterate over hashed entries.
11216 (compute_dev_path): Don't add :0.
11217 (grub_ofdisk_open): Don't really open the disk.
11218 (grub_ofdisk_close): Avoid closing unrelated disk.
11219 (grub_ofdisk_read): Implement reopen logic.
11220 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11221 New function.
11222 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11223 New proto.
11224
11225 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 Fix sparc64.
11228
11229 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11230 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11231 right address. Add sparc64_ieee1275_ldflags.
11232 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11233 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11234 to grub_host_to_target_addr
11235 (load_image): Likewise.
11236
11237 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * grub-core/normal/completion.c (complete_file): Handle device
11240 containing slash.
11241 Fix based on patch by Doug Nazar.
11242
11243 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11244
11245 grub-mknetdir script.
11246
11247 * Makefile.util.def (grub-mknetdir): New module.
11248 * tests/util/grub-shell.in: Support boot=net
11249 * util/grub-mknetdir.in: New file.
11250
11251 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 videoinfo on non-vbe.
11254
11255 * grub-core/Makefile.core.def (vbeinfo): Removed.
11256 (vbetest): Removed.
11257 (videoinfo): New module.
11258 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11259 * grub-core/commands/i386/pc/vbetest.c: Removed.
11260 * grub-core/commands/videoinfo.c: New file.
11261 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11262 specification.
11263 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11264 as vbetest.
11265 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11266 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11267 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11268 mode_number. New parameter mode. All users updated.
11269 (grub_video_gop_iterate): New function.
11270 (grub_video_efi_gop): New member iterate.
11271 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11272 (grub_vbe_set_video_mode): Remove setting useless fields.
11273 (vbe2videoinfo): New function.
11274 (grub_video_vbe_iterate): Likewise.
11275 (grub_video_vbe_setup): Use vbe2videoinfo.
11276 (grub_video_vbe_print_adapter_specific_info): New function.
11277 (grub_video_vbe_adapter): New fields iterate and
11278 print_adapter_specific_info.
11279 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11280 All users updated.
11281 (grub_video_mode_info): New field mode_number.
11282 (grub_video_adapter): New fields iterate and
11283 print_adapter_specific_info.
11284
11285 2010-09-13 Tristan Gingold <gingold@free.fr>
11286 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
11287 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11288
11289 * grub-core/commands/efi/lsefisystab.c: New file.
11290 * grub-core/commands/efi/lssal.c: Likewise.
11291 * grub-core/Makefile.core.def (lsacpi): New module.
11292 (lsefisystab): Likewise.
11293 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11294 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11295 (grub_efi_sal_system_table): New struct.
11296 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11297 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11298 (grub_efi_sal_system_table_platform_features): Likewise.
11299 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11300 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11301 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11302 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11303
11304 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 Support explicit user claim that a device is BIOS-visible.
11307
11308 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11309 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11310 * grub-core/kern/emu/hostdisk.c
11311 (convert_system_partition_to_system_disk): Support mdX.
11312 (find_system_device): New parameter add. All users updated.
11313 (grub_util_biosdisk_is_present): New function.
11314 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11315 proto.
11316
11317 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11318
11319 Search hints support.
11320
11321 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11322 All users updated.
11323
11324 2010-09-13 Yves Blusseau <blusseau@zetam.org>
11325
11326 Bash completion script for util commands
11327
11328 * Makefile.am: Add util/bash-completion.d directory
11329 * configure.ac: Likewise.
11330 * util/bash-completion.d/Makefile.am: New file.
11331 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11332
11333 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11336 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11337 Reported by: Yves Blusseau.
11338
11339 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11340
11341 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11342 partition size and offset.
11343
11344 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11345
11346 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11347
11348 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11349
11350 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11351
11352 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11355 (grub_xvasprintf): Likewise.
11356
11357 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11358
11359 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11360
11361 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11362
11363 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11364 args ending with NULL.
11365
11366 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11367
11368 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11369 pointer.
11370
11371 2010-09-11 Szymon Janc <szymon@janc.net.pl>
11372
11373 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11374
11375 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11376
11377 Shutdown using ACPI.
11378
11379 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11380 * grub-core/commands/acpihalt.c: New file.
11381 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11382 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11383 (grub_acpi_halt): New proto.
11384 (GRUB_ACPI_SLP_EN): New const.
11385 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11386 (GRUB_ACPI_OPCODE_*): New enum.
11387 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11388
11389 2010-09-11 Tristan Gingold <gingold@free.fr>
11390 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
11391 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11392
11393 * commands/lsacpi.c: New file.
11394 * grub-core/Makefile.core.def (lsacpi): New module.
11395 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11396 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11397 (grub_acpi_madt_entry_header): New struct.
11398 (grub_acpi_madt): Likewise.
11399 (grub_acpi_madt_entry_interrupt_override): Likewise.
11400 (grub_acpi_madt_entry_sapic): Likewise.
11401 (grub_acpi_madt_entry_lsapic): Likewise.
11402 (grub_acpi_madt_entry_platform_int_source): Likewise.
11403 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11404 (PRIuGRUB_UINT32_T): Likewise.
11405 (PRIxGRUB_UINT64_T): Likewise.
11406
11407 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11408
11409 Implement loading palette on ieee1275_fb.
11410
11411 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11412 (have_setcolors): Likewise.
11413 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11414 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11415 (grub_video_ieee1275_set_palette): Implement.
11416
11417 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11418 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
11419
11420 * util/grub-install.in (grub_partition): New variable.
11421 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11422 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11423 Fixes a bug reported by Yves Blusseau.
11424
11425 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11426
11427 Fix emu on mipsel.
11428
11429 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11430 =grub_cpu_flush_cache on all mips and not only yeeloong.
11431 * configure.ac (COND_mips): New conditional.
11432 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11433 platforms.
11434 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11435 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11436 [GRUB_LINKER_HAVE_INIT]: New function.
11437 (grub_emu_post_init): Likewise.
11438 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11439 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11440 * include/grub/cache.h (_mips): Include mips/cache.h.
11441 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11442 LVM and RAID prototypes.
11443 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11444 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11445 function.
11446
11447 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11448
11449 * util/grub-install.in: Don't try to verify core.img until after
11450 running grub-mkimage to create it.
11451
11452 2010-09-10 Robert Millan <rmh@gnu.org>
11453
11454 * util/grub.d/10_hurd.in: Add misc readability checks.
11455 * util/grub.d/10_kfreebsd.in: Likewise.
11456 * util/grub.d/10_linux.in: Likewise.
11457
11458 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11459
11460 * util/grub-install.in: ${imgext} won't be defined here until the
11461 install branch is merged. For the meantime, only verify core.img on
11462 i386-pc and sparc64-ieee1275 platforms.
11463
11464 2010-09-10 Robert Millan <rmh@gnu.org>
11465
11466 Solaris support in grub_find_zpool_from_dir(). Thanks
11467 Seth Goldberg for referring to getextmntent() facility.
11468
11469 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11470 `sys/mkdev.h'.
11471 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11472 `<sys/mnttab.h>'.
11473 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11474 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11475 method for finding zpool name.
11476
11477 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11478
11479 grub-fstest needs the host and hostfs modules while other utilities
11480 actively require those modules to be absent, so grub-fstest needs
11481 its own initialisation and finalisation code.
11482
11483 * Makefile.am (grub_fstest.pp): New target.
11484 (grub_fstest_init.lst): Likewise.
11485 (grub_fstest_init.c): Likewise.
11486 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11487
11488 2010-09-10 Robert Millan <rmh@gnu.org>
11489
11490 * configure.ac: Check for `struct statfs.f_fstypename' and
11491 `struct statfs.f_mntfromname'.
11492
11493 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11494 kFreeBSD-specific code.
11495
11496 2010-09-10 Robert Millan <rmh@gnu.org>
11497
11498 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11499 on ZFS. Now non-main filesystems are supported as / too.
11500
11501 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
11502
11503 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11504 and grub-core/disk/host.c to ...
11505 (grub-fstest): ... here. Having the host disk implementation
11506 present confuses grub-probe and other utility programs.
11507
11508 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11509 when writing to a file, not when writing to stdout.
11510
11511 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11512
11513 * tests/partmap_test.in: New test for partitions.
11514 * Makefile.util.def: Rules for new test.
11515
11516 2010-09-09 Robert Millan <rmh@gnu.org>
11517
11518 * util/grub-probe.c (probe): Fix a pair of unhandled error
11519 conditions.
11520
11521 2010-09-09 Robert Millan <rmh@gnu.org>
11522
11523 Basic Btrfs support (detection and UUID).
11524
11525 * grub-core/fs/btrfs.c: New file.
11526 * Makefile.util.def (library): Register btrfs.c.
11527 * grub-core/Makefile.core.def: Likewise.
11528
11529 2010-09-08 Robert Millan <rmh@gnu.org>
11530
11531 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11532 with (optional) parameters to specify device and relative path.
11533 * util/grub-install.in: Use is_path_readable_by_grub() to
11534 verify readability of a few critical files.
11535 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11536 verify readability of grub.cfg.new.
11537
11538 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Split minix.mod into minix.mod and minix2.mod.
11541
11542 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11543 * grub-core/Makefile.core.def (minix2): New module.
11544 * grub-core/fs/minix.c: Use definitions instead of runtime version
11545 checking.
11546 * grub-core/fs/minix2.c: New file.
11547
11548 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11549
11550 Add new --boot-directory option to replace --root-directory
11551
11552 * util/grub-install.in: Add new --boot-directory option
11553 * util/grub-reboot.in: Likewise.
11554 * util/grub-set-default.in: Likewise.
11555
11556 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11557
11558 * util/grub-mkconfig.in: Use new variable.
11559
11560 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11561
11562 * configure.ac: Define some useful variables.
11563
11564 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11565
11566 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11567 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11568 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11569 Use terminfo and don't use cursor-on/cursor-off unless it's known
11570 to work.
11571 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11572 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11573
11574 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
11575
11576 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11577 starts with "(,", fill the drive containing the loaded image in
11578 between those two characters, but expect that a full partition
11579 specification including partition map names will follow.
11580
11581 2010-09-08 Robert Millan <rmh@gnu.org>
11582
11583 * configure.ac: Remove `--enable-grub-fstest' option.
11584 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11585
11586 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11587 `grub-fstest' instead of `grub-probe' for readability verification.
11588 * util/grub-probe.c (probe): Remove readability verification kludge.
11589
11590 2010-09-08 Robert Millan <rmh@gnu.org>
11591
11592 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11593 initializing `GRUB_FS'.
11594
11595 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11596
11597 Not command (!) support to GRUB script.
11598
11599 * tests/grub_script_not.in: New test.
11600 * Makefile.util.def: Rules for new test.
11601
11602 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11603 ! command as a special case.
11604 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11605
11606 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11607
11608 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11609 grub_free.
11610
11611 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11612
11613 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11614
11615 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11616
11617 * docs/grub.texi (Shell-like scripting): Documentation for break,
11618 continue, shift and return commands.
11619
11620 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 Rename CD-ROM to cd on BIOS.
11623
11624 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11625 "cd".
11626 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11627
11628 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11629
11630 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11631 * util/grub-probe.c (main): Likewise.
11632 * util/i386/pc/grub-setup.c (main): Likewise.
11633 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11634 Reported and debugged by: alexxy
11635
11636 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11639 diagnostic info.
11640
11641 2010-09-05 Jo Shields <directhex@apebox.org>
11642
11643 * util/grub.d/30_os-prober.in: Add missing classes.
11644
11645 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * docs/grub.texi (Theme file format): Document new position format.
11648
11649 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11652 a table. Use @code instead of @verbatim.
11653
11654 2010-09-05 Colin D Bennett <colin@gibibit.com>
11655
11656 Gfxmenu documentation.
11657
11658 * docs/grub.texi (Theme file format): New chapter.
11659
11660 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11661
11662 * grub-core/Makefile.core.def (xzio): New module.
11663 * grub-core/io/xzio.c: New file.
11664 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11665 * grub-core/lib/xzembed/xz_config.h: Likewise.
11666 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11667 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11668 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11669 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11670 * grub-core/lib/xzembed/xz_private.h: Likewise.
11671 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11672 * include/grub/file.h (grub_file_filter_id): New compression filter
11673 GRUB_FILE_FILTER_XZIO.
11674
11675 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11678 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11679 size.
11680
11681 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11682
11683 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11684 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11685
11686 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11687
11688 Uncompressed checksum support.
11689
11690 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11691 (check_list): New parameter uncompress.
11692 (grub_cmd_hashsum): Handle --uncompress.
11693
11694 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11695
11696 Reintroduce testload.
11697
11698 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11699 from here ...
11700 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11701 (GRUB_MOD_INIT): New function.
11702 (GRUB_MOD_FINI): Likewise.
11703 * grub-core/Makefile.core.def (testload): New module.
11704
11705 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11706
11707 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11708 (uint8_t): New type.
11709 (uint16_t): Likewise.
11710 (uint32_t): Likewise.
11711 (uint64_t): Likewise.
11712
11713 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11714
11715 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11716
11717 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11720 Made static.
11721 (grub_gzfile_open): Removed. All users updated.
11722 (GRUB_MOD_INIT): New function.
11723 (GRUB_MOD_FINI): Likewise.
11724 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11725 (grub_file_filters_enabled): Likewise.
11726 (grub_file_open): Handle filters.
11727 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11728 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11729 * include/grub/file.h (grub_file_filter_id_t): New type.
11730 (grub_file_filter_t): Likewise.
11731 (grub_file_filters_all): New extern variable.
11732 (grub_file_filters_enabled): Likewise.
11733 (grub_file_filter_register): New inline function.
11734 (grub_file_filter_unregister): Likewise.
11735 (grub_file_filter_disable): Likewise.
11736 (grub_file_filter_disable_compression): Likewise.
11737 * include/grub/gzio.h: Removed.
11738
11739 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11740
11741 Filename expansion support for wildcards in GRUB script.
11742
11743 * tests/grub_script_expansion.in: New test.
11744 * Makefile.util.def: Rule for new test.
11745
11746 * grub-core/commands/wildcard.c: New file, implements filename
11747 expansion support for GRUB script.
11748 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11749 * grub-core/script/argv.c: Cosmetic changes.
11750 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11751 Refactored to perform wildcard expansion on arguments.
11752 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11753 struct.
11754
11755 * tests/util/grub-shell.in: Fix quoting for read input.
11756
11757 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11758
11759 Support for updating environment variables with matched substrings
11760 of regexp.
11761
11762 * tests/grub_cmd_regexp.in: New test.
11763 * Makefile.util.def: Rule for new test.
11764
11765 * grub-core/commands/regexp.c: New option -s to update environment
11766 variables with regexp matches.
11767
11768 2010-09-04 Szymon Janc <szymon@janc.net.pl>
11769
11770 * include/grub/file.h (grub_file): New member not_easly_seekable.
11771 (grub_file_seekable): New inline function.
11772 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11773 easily seekable.
11774 (grub_gzio_open): Set not_easly_seekable.
11775 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11776 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11777
11778 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11779
11780 Support for options to appear multiple times on cmdline.
11781
11782 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11783 * grub-core/commands/extcmd.c: Support for repeatable option.
11784 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11785 repeatable option support.
11786
11787 Refactor menuentry into a regular command.
11788
11789 * grub-core/commands/menuentry.c: New file, menuentry command
11790 implementation.
11791 * grub-core/Makefile.core.def: Rule update for normal.mod.
11792 * grub-core/normal/main.c: Moved menuentry creation to
11793 grub-core/commands/menuentry.c.
11794 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11795 (grub_menu_execute_entry_real): Removed.
11796 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11797 function.
11798 (grub_script_execute_menuentry): Removed.
11799 * grub-core/script/parser.y (menuentry): Removed.
11800 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11801 * grub-core/script/yylex.l (menuentry): Removed.
11802 * include/grub/menu.h (grub_menu_init): New prototype.
11803 (grub_menu_fini): New prototype.
11804 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11805 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11806 (grub_script_execute_sourcecode): New prototype.
11807
11808 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11809
11810 "return" command for GRUB script functions.
11811
11812 * tests/grub_script_return.in: New test.
11813 * Makefile.util.def: Rules for new test.
11814
11815 * grub-core/script/execute.c (grub_script_return): New function.
11816 * grub-core/script/main.c: Register/unregister return commaond.
11817 * include/grub/script_sh.h (grub_script_return): New prototype.
11818
11819 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11820
11821 "setparams" command to update positional parameters.
11822
11823 * tests/grub_script_setparams.in: New test.
11824 * Makefile.util.def: Rules for new test.
11825
11826 * grub-core/script/argv.c (grub_script_argv_make): New function.
11827 * grub-core/script/execute.c (replace_scope): New function.
11828 (grub_script_setparams): New function.
11829 * grub-core/script/lexer.c: Remove unused variables.
11830 * grub-core/script/main.c: Register/unregister setparams command.
11831 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11832 (grub_script_setparams): New prototype.
11833
11834 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11835
11836 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11837 grub_free order.
11838
11839 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11840
11841 Support for passing block of commands as an argument to extcmds.
11842
11843 * Makefile.util.def: Rules for new test.
11844 * tests/grub_script_blockarg.in: New test.
11845 * grub-core/tests/test_blockarg.c: New file, block argument
11846 command used in the test.
11847
11848 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11849 (grub_register_extcmd_prio): New function prototype.
11850 (grub_extcmd_dispatcher): New function prototype.
11851 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11852 type.
11853 * include/grub/script_sh.h (struct grub_script): New members
11854 `children', `next_siblings' and `refcnt' for block arguments and
11855 reference counting.
11856 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11857 (grub_script_arg): New member `script' for block argument.
11858 (grub_script_argv): New member `script' for block argument.
11859 (grub_parser_param): New member `scripts' for block argument.
11860 (grub_script_mem_free): New extern function prototype.
11861 (grub_script_ref): New function prototype.
11862 (grub_script_unref): New function prototype.
11863
11864 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11865 extcmd form to support block arguments.
11866 * grub-core/script/argv.c: Block arguments support.
11867 * grub-core/script/execute.c: Likewise.
11868 * grub-core/script/lexer.c: Likewise.
11869 * grub-core/script/main.c: Likewise.
11870 * grub-core/script/script.c: Likewise.
11871 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11872 non-terminals.
11873
11874 * grub-core/commands/acpi.c: Update extcmd implementations with
11875 grub_extcmd_context_t.
11876 * grub-core/commands/cat.c: Likewise.
11877 * grub-core/commands/echo.c: Likewise.
11878 * grub-core/commands/extcmd.c: Likewise.
11879 * grub-core/commands/hashsum.c: Likewise.
11880 * grub-core/commands/hdparm.c: Likewise.
11881 * grub-core/commands/help.c: Likewise.
11882 * grub-core/commands/hexdump.c: Likewise.
11883 * grub-core/commands/i386/cpuid.c: Likewise.
11884 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11885 * grub-core/commands/i386/pc/halt.c: Likewise.
11886 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11887 * grub-core/commands/iorw.c: Likewise.
11888 * grub-core/commands/keystatus.c: Likewise.
11889 * grub-core/commands/loadenv.c: Likewise.
11890 * grub-core/commands/ls.c: Likewise.
11891 * grub-core/commands/lspci.c: Likewise.
11892 * grub-core/commands/memrw.c: Likewise.
11893 * grub-core/commands/probe.c: Likewise.
11894 * grub-core/commands/search_wrap.c: Likewise.
11895 * grub-core/commands/setpci.c: Likewise.
11896 * grub-core/commands/sleep.c: Likewise.
11897 * grub-core/disk/loopback.c: Likewise.
11898 * grub-core/hello/hello.c: Likewise.
11899 * grub-core/loader/i386/bsd.c: Likewise.
11900 * grub-core/loader/xnu.c: Likewise.
11901 * grub-core/term/gfxterm.c: Likewise.
11902 * grub-core/term/serial.c: Likewise.
11903 * grub-core/tests/lib/functional_test.c: Likewise.
11904
11905 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11906
11907 Multi-line quoted strings support.
11908
11909 * grub-core/script/lexer.c (append_newline): Removed.
11910 (grub_script_lexer_yywrap): Refactored.
11911 (grub_script_lexer_init): Refactored.
11912 * grub-core/script/yylex.l (yywrap): New function.
11913 (grub_lexer_resplit): New function.
11914 (grub_lexer_unput): New function.
11915 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11916 and resplit.
11917 * tests/grub_script_echo1.in: Added few more testcases.
11918
11919 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * grub-core/kern/misc.c: Don't add abort alias in utils.
11922 Reported by: echoline.
11923
11924 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11925
11926 Add missing files into "make dist" tarball for other platforms.
11927
11928 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11929 * conf/Makefile.common (dist_noinst_DATA): New variable.
11930 * conf/Makefile.extra-dist: Added missing make dist files.
11931 * grub-core/Makefile.core.def: Likewise.
11932
11933 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 Compress grub_prefix.
11936
11937 * grub-core/boot/i386/pc/lnxboot.S: Use
11938 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11939 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11940 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11941 GRUB_MACHINE_PREFIX_END. All users updated.
11942 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11943 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11944 + 0x40.
11945 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11946 * util/grub-mkimage.c (image_target_desc): Change data_end to
11947 prefix_end. All users updated.
11948
11949 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11950
11951 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11952 value.
11953 (grub_openbsd_boot): Likewise.
11954 (grub_netbsd_boot): Likewise.
11955 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11956 (grub_xnu_boot): Likewise.
11957
11958 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11959
11960 * configure.ac: Clean LIBS variable after tests.
11961
11962 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11963
11964 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11965
11966 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11969 echo if libdevmapper will be used.
11970
11971 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11972
11973 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11974 constant for the same file.
11975
11976 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11979
11980 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11981
11982 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
11983 grub-core/*.pp.
11984
11985 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11986
11987 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
11988 required by the boot protocol.
11989
11990 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
11991 ebp and edi members.
11992 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
11993 state.ebp and state.edi.
11994 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
11995 %ebp and %edi according to grub_relocator32_ebp and
11996 grub_relocator32_edi respectively.
11997 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
11998 and state.edi.
11999
12000 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12001
12002 Add i386-pc-pxe image target.
12003
12004 * util/grub-mkimage.c (image_target_desc): New enum value
12005 IMAGE_I386_PC_PXE.
12006 (image_targets): New target i386-pc-pxe.
12007 (generate_image): Handle i386-pc-pxe image.
12008
12009 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 Fix grub_pxe_scan.
12012
12013 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
12014 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
12015 All users updated.
12016 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
12017 (grub_pxe_pxenv): Correct type.
12018
12019 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
12020
12021 * NEWS: Document most of the important changes since 1.98.
12022
12023 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
12024
12025 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
12026 generated manual page) a little.
12027
12028 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
12029
12030 * docs/grub.texi: Add myself as an author.
12031
12032 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * Makefile.util.def (libgrub.a): Add missing sunpc.
12035 Reported by: Seth Goldberg.
12036
12037 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Interrupt wrapping and code simplifications.
12040
12041 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
12042 x86_noieee1275 which are functionaly equivalent in this case.
12043 (grub-install): Make source on each platform explicit. Enable on
12044 all noemu.
12045 * gentpl.py (x86_efi_pc): Removed group.
12046 (x86_noefi): Likewise.
12047 (i386_noefi): Likewise.
12048 (x86_noieee1275): Likewise.
12049 (i386_noieee1275): Likewise.
12050 (i386_noefi_noieee1275): Likewise.
12051 (i386_pc_qemu_coreboot): Likewise.
12052 (i386_coreboot_multiboot): Likewise.
12053 (i386_pc_coreboot_multiboot_qemu): Likewise.
12054 (x86_noefi_mips): Likewise.
12055 (noieee1275): Likewise.
12056 (ieee1275_mips): Likewise.
12057 (noemu_noieee1275): Likewise.
12058 (cmos): New group.
12059 (usb): Likewise.
12060 (videoinkernel): Likewise.
12061 (videomodules): Likewise.
12062 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
12063 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
12064 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
12065 include/grub/loader.h, include/grub/msdos_partition.h,
12066 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
12067 include/grub/machine/console.h, include/grub/machine/vga.h,
12068 include/grub/machine/vbe.h, include/grub/machine/init.h,
12069 include/grub/machine/kernel.h, include/grub/cpu/time.h,
12070 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
12071 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
12072 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12073 * grub-core/Makefile.core.def (kernel): Explicit the source for
12074 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12075 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12076 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12077 Use videoinkernel tag.
12078 (usb): Enable on all usb.
12079 (usbserial_common): Likewise.
12080 (usbserial_pl2303): Likewise.
12081 (usbserial_ftdi): Likewise.
12082 (uhci): Enable on all x86.
12083 (ohci): Enable on all pci.
12084 (cmostest): Enable on all CMOS.
12085 (acpi): Include commands/acpi.c on all platforms.
12086 (halt): Add relevant lib/*/halt.c.
12087 (hdparm): Enable on all pci.
12088 (lspci): Likewise.
12089 (usbtest): Enable on all usb.
12090 (ata): Enable on all pci.
12091 (ata_pthru): Likewise.
12092 (usbms): Enable on all usb.
12093 (usb_keyboard): Likewise.
12094 (font): Use tag videomodules.
12095 (bufio): Likewise.
12096 (datetime): Use tag cmos. Enable on all noemu.
12097 (mmap): Use tags common and x86.
12098 (gfxterm): Use tag videomodules.
12099 (bitmap): Likewise.
12100 (bitmap_scale): Likewise.
12101 (video_fb): Likewise.
12102 (video): Likewise.
12103 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12104 adjust padding accordingly. All users updated.
12105 (grub_ohci_transaction): Fix bad format specification.
12106 (GRUB_MOD_INIT): Add asserts for struct size.
12107 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12108 (grub_alloc_td): Likewise.
12109 (grub_free_queue): Likewise.
12110 (grub_uhci_transfer): Likewise.
12111 (grub_uhci_transaction): Fix bad format specification.
12112 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12113 (grub_usb_bulk_readwrite): Likewise.
12114 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12115 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12116 Made static.
12117 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12118 Made static.
12119 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12120 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12121 Transformed into C.
12122 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12123 Moved from here ...
12124 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12125 ... here. Transformed into C. Made static.
12126 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12127 Moved from here ...
12128 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12129 ... here. Transformed into C. Made static.
12130 * grub-core/kern/i386/pc/startup.S
12131 (grub_biosdisk_check_int13_extensions): Moved from here ...
12132 * grub-core/disk/i386/pc/biosdisk.c
12133 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12134 Made static.
12135 * grub-core/kern/i386/pc/startup.S
12136 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12137 * grub-core/disk/i386/pc/biosdisk.c
12138 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12139 Transformed into C. Made static.
12140 * grub-core/kern/i386/pc/startup.S
12141 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12142 * grub-core/disk/i386/pc/biosdisk.c
12143 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12144 Transformed into C. Made static.
12145 * grub-core/kern/i386/pc/startup.S
12146 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12147 * grub-core/disk/i386/pc/biosdisk.c
12148 (grub_biosdisk_get_diskinfo_standard): ... here.
12149 Transformed into C. Made static.
12150 * grub-core/kern/i386/pc/startup.S
12151 (grub_biosdisk_get_num_floppies): Moved from here ...
12152 * grub-core/disk/i386/pc/biosdisk.c
12153 (grub_biosdisk_get_num_floppies): ... here.
12154 Transformed into C. Made static.
12155 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12156 New function.
12157 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12158 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12159 Transformed into C. Made static.
12160 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12161 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12162 Transformed into C. Made static.
12163 * grub-core/kern/i386/ieee1275/init.c: Removed.
12164 * grub-core/kern/i386/misc.S: Likewise.
12165 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12166 Splitted from here ...
12167 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12168 Transformed into C. Made static. All users updated.
12169 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12170 Transformed into C. Made static. All users updated.
12171 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12172 Moved from here...
12173 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12174 Transformed into C. Made static. All users updated.
12175 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12176 Moved from here...
12177 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12178 Transformed into C. Made static. All users updated.
12179 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12180 Removed (replaced by C version).
12181 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12182 Moved from here...
12183 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12184 Transformed into C. Made static.
12185 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12186 Moved from here...
12187 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12188 ... here. Transformed into C.
12189 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12190 Moved from here...
12191 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12192 ... here. Transformed into C.
12193 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12194 Moved from here...
12195 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12196 ... here. Transformed into C. Made static.
12197 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12198 Moved from here...
12199 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12200 ... here. Transformed into C.
12201 * grub-core/kern/i386/pc/startup.S
12202 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12203 * grub-core/video/i386/pc/vbe.c
12204 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
12205 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12206 Moved from here...
12207 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12208 ... here. Transformed into C.
12209 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12210 Moved from here...
12211 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12212 ... here. Transformed into C.
12213 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12214 Moved from here...
12215 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12216 ... here. Transformed into C.
12217 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12218 Moved from here...
12219 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12220 ... here. Transformed into C.
12221 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12222 Moved from here...
12223 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12224 ... here. Transformed into C. Made static.
12225 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12226 Moved from here...
12227 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12228 ... here. Transformed into C. Made static.
12229 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12230 Moved from here...
12231 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12232 ... here. Transformed into C. Made static.
12233 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12234 pxe_rm_entry as third argument.
12235 (grub_bios_interrupt): New function.
12236 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12237 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12238 of calling grub_stop.
12239 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12240 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12241 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12242 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12243 * grub-core/lib/i386/halt.c: Moved from here ...
12244 * grub-core/lib/i386/halt.c: ... here.
12245 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12246 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12247 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12248 grub_stop_floppy.
12249 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12250 * include/grub/i386/coreboot/init.h: Removed.
12251 * include/grub/i386/multiboot/init.h: Likewise.
12252 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12253 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12254 * include/grub/i386/pc/int.h: New file.
12255 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12256 (grub_pxe_scan): Removed.
12257 (grub_pxe_call): Update prototype.
12258 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12259 prototypes.
12260 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12261 * include/grub/i386/qemu/init.h: Removed.
12262 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12263 noreturn.
12264 (grub_halt): Likewise.
12265 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12266 (grub_reboot): Likewise.
12267 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12268 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
12269 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12270
12271 2010-08-30 Robert Millan <rmh@gnu.org>
12272
12273 * NEWS: Document addition of ZFS support in `grub-install' and
12274 `grub-mkconfig'.
12275
12276 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12277
12278 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12279 dprintf output.
12280
12281 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 Remove leftover embedding of font objects.
12284
12285 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12286 * util/grub-install.in (font): Removed.
12287 * util/grub-mkimage.c (generate_image): Remove font support. All users
12288 updated.
12289
12290 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Remove leftover embedding of font objects.
12293
12294 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12295 * util/grub-install.in (font): Removed.
12296 * util/grub-mkimage.c (generate_image): Remove font support. All users
12297 updated.
12298
12299 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * docs/grub.texi (Network): Fix reference to pxe_blksize.
12302 Reported by: Ian Turner
12303
12304 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12305
12306 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12307 timeout to avoid indefinite boot stalling.
12308
12309 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12310
12311 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12312 (grub_env_write_color_highlight): Likewise.
12313
12314 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12315
12316 * grub-core/normal/term.c (print_more): Return to normal and not
12317 to standard state after printing "---MORE---".
12318
12319 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12320
12321 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12322 Mask out the bit 0x80 since it has other meaning that specifiing color.
12323
12324 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 New relocator. Allows for more kernel support and more straightforward
12327 loader writing.
12328
12329 * Makefile.am (BOOTTARGET): New variable.
12330 (QEMU32): Likewise.
12331 (linux.init.x86_64): New target.
12332 (linux.init.i386): Likewise.
12333 (multiboot.elf): Likewise.
12334 (kfreebsd.elf): Likewise.
12335 (kfreebsd.aout): Likewise.
12336 (pc-chainloader.elf): Likewise.
12337 (pc-chainloader.bin): Likewise.
12338 (ntldr.elf): Likewise.
12339 (ntldr.bin): Likewise.
12340 (multiboot2.elf): Likewise.
12341 (kfreebsd.init.x86_64): Likewise.
12342 (kfreebsd.init.i386): Likewise.
12343 (knetbsd.init.i386): Likewise.
12344 (kopenbsd.init.i386): Likewise.
12345 (knetbsd.init.x86_64): Likewise.
12346 (kopenbsd.init.x86_64): Likewise.
12347 (linux-initramfs.i386): Likewise.
12348 (linux-initramfs.x86_64): Likewise.
12349 (kfreebsd-mfsroot.i386.img): Likewise.
12350 (knetbsd.image.i386): Likewise.
12351 (kopenbsd.image.i386): Likewise.
12352 (kopenbsd.image.x86_64): Likewise.
12353 (knetbsd.miniroot-image.i386.img): Likewise.
12354 (kfreebsd-mfsroot.x86_64.img): Likewise.
12355 (knetbsd.image.x86_64): Likewise.
12356 (knetbsd.miniroot-image.x86_64.img): Likewise.
12357 (kfreebsd-mfsroot.i386.gz): Likewise.
12358 (bootcheck-kfreebsd-i386): Likewise.
12359 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12360 (bootcheck-kfreebsd-x86_64): Likewise.
12361 (knetbsd.miniroot-image.i386.gz): Likewise.
12362 (bootcheck-knetbsd-i386): Likewise.
12363 (bootcheck-kopenbsd-i386): Likewise.
12364 (bootcheck-kopenbsd-x86_64): Likewise.
12365 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12366 (bootcheck-knetbsd-x86_64): Likewise.
12367 (bootcheck-linux-i386): Likewise.
12368 (bootcheck-linux-x86_64): Likewise.
12369 (bootcheck-linux16-i386): Likewise.
12370 (bootcheck-linux16-x86_64): Likewise.
12371 (bootcheck-multiboot): Likewise.
12372 (bootcheck-multiboot2): Likewise.
12373 (bootcheck-kfreebsd-aout): Likewise.
12374 (bootcheck-pc-chainloader): Likewise.
12375 (bootcheck-ntldr): Likewise.
12376 (CLEANFILES): Add new targets.
12377 (BOOTCHECKS): New variable.
12378 (.PHONY): Add bootchecks.
12379 (SUCCESSFUL_BOOT_STRING): New variable.
12380 (BOOTCHECK_TIMEOUT): Likewise.
12381 (bootcheck): New target
12382 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12383 * configure.ac: Correct efiemu excuse.
12384 * docs/grub.texi (Supported kernels): New chapter.
12385 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12386 include/grub/mm_private.h. Simplify inclusion of
12387 include/grub/boot.h, include/grub/loader.h
12388 and include/grub/msdos_partition.h
12389 (KERNEL_HEADER_FILES) [i386_coreboot]:
12390 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12391 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12392 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12393 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12394 include/grub/machine/loader.h.
12395 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12396 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12397 extra_dist.
12398 (pci.mod): Enable on i386-multiboot.
12399 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12400 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12401 i386-qemu.
12402 (relocator.mod): Rewritten.
12403 (aout.mod): Enable on all x86.
12404 (bsd.mod): Likewise.
12405 (ntldr.mod): New module.
12406 (linux.mod): Use loader/i386/linux.c on all x86.
12407 (xnu.mod): Enable on all x86.
12408 (vga_text.mod): disable on EFI and QEMU.
12409 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12410 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12411 * grub-core/efiemu/loadcore.c: Likewise.
12412 * grub-core/efiemu/main.c: Likewise.
12413 (grub_efiemu_exit_boot_services): Removed.
12414 (grub_efiemu_finish_boot_services): Likewise.
12415 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12416 function.
12417 * grub-core/efiemu/i386/nocfgtables.c: New file.
12418 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12419 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12420 (grub_efi_finish_boot_services): Moved from here ...
12421 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12422 Fille finish memory map and related data.
12423 (finish_mmap_buf): New variable.
12424 (grub_efi_uintn_t finish_mmap_size): Likewise.
12425 (grub_efi_uintn_t finish_key): Likewise.
12426 (grub_efi_uintn_t finish_desc_size): Likewise.
12427 (grub_efi_uint32_t finish_desc_version): Likewise.
12428 (grub_efi_is_finished): Likewise.
12429 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12430 finished.
12431 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12432 (grub_elf64_phdr_iterate): Likewise.
12433 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12434 (grub_os_area_size): Likewise.
12435 (grub_machine_init): Don't reserve os area.
12436 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12437 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12438 * grub-core/kern/i386/loader.S: Removed.
12439 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12440 (grub_os_area_size): Likewise.
12441 (grub_machine_init): Don't reserve os area.
12442 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12443 Don't call grub_dl_unload_all.
12444 Don't include loader.S.
12445 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12446 Declare the memory after _end as available.
12447 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
12448 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
12449 (GRUB_MM_ALLOC_MAGIC): Moved from here...
12450 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12451 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12452 * include/grub/mm_private.h (grub_mm_header): ... here.
12453 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12454 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
12455 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12456 (grub_mm_region): ..here. Removed addr. Added pre_size.
12457 All users updated.
12458 * grub-core/kern/mm.c (base): Renamed to ...
12459 (grub_mm_base): ... this. Made global.
12460 (grub_real_malloc): Alloc from end of region.
12461 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12462 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12463 * grub-core/kern/powerpc/cache_flush.S: ... here.
12464 * grub-core/lib/efi/relocator.c: New file.
12465 * grub-core/lib/i386/relocator.c: Rewritten.
12466 * grub-core/lib/i386/relocator16.S: New file.
12467 * grub-core/lib/i386/relocator32.S: Likewise.
12468 * grub-core/lib/i386/relocator64.S: Likewise.
12469 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12470 * grub-core/lib/i386/relocator_common.S: New file.
12471 * grub-core/lib/ieee1275/relocator.c: Likewise.
12472 * grub-core/lib/mips/relocator.c: Rewritten.
12473 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12474 stylistic adjustments.
12475 * grub-core/lib/powerpc/relocator.c: New file.
12476 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12477 * grub-core/lib/relocator.c: Rewritten.
12478 * grub-core/lib/x86_64/relocator_asm.S: New file.
12479 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12480 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12481 (bsd_tag): New struct.
12482 (tags): New variable.
12483 (tags_last): Likewise.
12484 (netbsd_module): New struct.
12485 (netbsd_mods): New variable.
12486 (netbsd_mods_last): Likewise.
12487 (openbsd_opts): New parameter "serial".
12488 (OPENBSD_SERIAL_ARG): New definition.
12489 (netbsd_opts): New parameter "serial".
12490 (NETBSD_SERIAL_ARG): New definition.
12491 (grub_freebsd_add_meta): Reorganised into ...
12492 (grub_bsd_add_meta): ...this. All users updated.
12493 (grub_freebsd_add_mmap): Reorganised into ...
12494 (generate_e820_mmap): ...this...
12495 (grub_bsd_add_mmap): ...and this. All users updated.
12496 (grub_freebsd_list_modules): Use tags.
12497 (grub_netbsd_add_meta_module): New function.
12498 (grub_netbsd_list_modules): Likewise.
12499 (grub_freebsd_boot): Use relocator and finish EFI.
12500 (grub_openbsd_boot): Likewise.
12501 (grub_netbsd_setup_video): New function.
12502 (grub_netbsd_add_modules): Likewise.
12503 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12504 and finish EFI.
12505 (grub_bsd_unload): Unload tags.
12506 (grub_bsd_load_aout): Use relocator.
12507 (grub_bsd_elf32_size_hook): New function.
12508 (grub_bsd_elf32_hook): Use relocator.
12509 (grub_bsd_elf64_size_hook): New function.
12510 (grub_bsd_elf64_hook): Use relocator.
12511 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12512 (grub_bsd_load): Zero-out openbsd_ramdisk.
12513 (grub_bsd_load): Use relocator.
12514 (grub_cmd_openbsd): Support serial.
12515 (grub_cmd_netbsd): Support modules.
12516 (grub_cmd_freebsd_module): Use relocator.
12517 (grub_netbsd_module_load): New function.
12518 (grub_cmd_netbsd_module): Likewise.
12519 (grub_cmd_openbsd_ramdisk): Likewise.
12520 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12521 kopenbsd_ramdisk.
12522 (GRUB_MOD_FINI): Unregister new commands.
12523 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12524 (grub_freebsd_load_elfmodule_obj): Use relocator.
12525 (grub_freebsd_load_elfmodule): Likewise.
12526 (grub_freebsd_load_elf_meta): Likewise.
12527 (grub_netbsd_load_elf_meta): New function.
12528 (grub_openbsd_find_ramdisk): Likewise.
12529 * grub-core/loader/i386/bsd_helper.S: Removed.
12530 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12531 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12532 * grub-core/loader/i386/efi/linux.c: Likewise.
12533 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12534 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12535 (DEFAULT_VIDEO_MODE): Likewise.
12536 (real_mode_target): New variable.
12537 (prot_mode_target): Likewise.
12538 (initrd_mem_target): Likewise.
12539 (relocator): Likewise.
12540 (efi_mmap_buf): Likewise.
12541 (efi_mmap_size): Likewise.
12542 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12543 (free_pages): Use relocator.
12544 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12545 (grub_linux_setup_video): Return error.
12546 (grub_linux_trampoline_start): Removed.
12547 (grub_linux_trampoline_end): Likewise.
12548 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12549 andd video parameters depending on firmware.
12550 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12551 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12552 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12553 (grub_cmd_initrd): Use relocator.
12554 * grub-core/loader/i386/linux_trampoline.S: Removed.
12555 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12556 (elf_sec_entsize): Likewise.
12557 (elf_sec_shstrndx): Likewise.
12558 (elf_sections): Likewise.
12559 (grub_multiboot_load): Use relocator.
12560 (grub_multiboot_get_mbi_size): Account for sections.
12561 (grub_multiboot_make_mbi): Use relocator and support sections.
12562 (grub_multiboot_add_elfsyms): New function.
12563 (grub_multiboot_free_mbi): Free sections.
12564 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12565 (grub_linux_real_target): Likewise.
12566 (grub_linux_real_chunk): Likewise.
12567 (grub_linux16_prot_size): Likewise.
12568 (grub_linux16_boot): Use relocator.
12569 (grub_linux_unload): Unload relocator.
12570 (grub_cmd_linux): Use relocator.
12571 (grub_cmd_initrd): Likewise.
12572 * grub-core/loader/i386/pc/ntldr.c: New file.
12573 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12574 Don't try to guess CPU frequency.
12575 (grub_xnu_set_video): Stretch bitmap.
12576 (grub_xnu_boot): Use relocator.
12577 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12578 (grub_linux_unload): Free relocator.
12579 (grub_linux_load32): Use relocator.
12580 (grub_linux_load64): Likewise.
12581 (grub_cmd_initrd): Likewise.
12582 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12583 (grub_multiboot_unload): Unload relocator.
12584 (grub_cmd_multiboot): Use relocator.
12585 (grub_cmd_module): Likewise.
12586 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12587 Use relocator and support sections.
12588 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12589 (elf_sec_entsize): Likewise.
12590 (elf_sec_shstrndx): Likewise.
12591 (elf_sections): Likewise.
12592 (grub_multiboot_load): Use relocator.
12593 (grub_multiboot_get_mbi_size): Account for sections.
12594 (grub_multiboot_make_mbi): Use relocator and support sections.
12595 (grub_multiboot_add_elfsyms): New function.
12596 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12597 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12598 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12599 Prototype changed. All users updated.
12600 (grub_xnu_align_heap): Simplified.
12601 (grub_xnu_writetree_toheap): Likewise.
12602 (grub_xnu_unload): Unload relocator.
12603 (grub_cmd_xnu_kernel): Use relocator.
12604 (grub_cmd_xnu_kernel64): Likewise.
12605 (grub_xnu_register_memory): Simplified.
12606 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
12607 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12608 EFI is finished.
12609 (grub_console_checkkey): Likewise.
12610 (grub_console_getkey): Likewise.
12611 (grub_console_getwh): Likewise.
12612 (grub_console_getxy): Likewise.
12613 (grub_console_gotoxy): Likewise.
12614 (grub_console_cls): Likewise.
12615 (grub_console_setcolorstate): Likewise.
12616 (grub_console_setcursor): Likewise.
12617 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12618 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12619 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12620 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12621 * grub-core/tests/boot/kernel-8086.S: Likewise.
12622 * grub-core/tests/boot/kernel-i386.S: Likewise.
12623 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12624 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12625 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12626 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12627 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12628 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12629 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12630 * grub-core/tests/boot/linux.cfg: Likewise.
12631 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12632 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12633 * grub-core/tests/boot/linux16.cfg: Likewise.
12634 * grub-core/tests/boot/multiboot.cfg: Likewise.
12635 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12636 * grub-core/tests/boot/ntldr.cfg: Likewise.
12637 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12638 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12639 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12640 New definition.
12641 * include/grub/dl.h (grub_dl_unload_all): Removed.
12642 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12643 (grub_efi_finish_boot_services): Change prototype.
12644 (grub_efi_is_finished): New variable.
12645 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12646 Changed prototype.
12647 (grub_efiemu_finish_boot_services): Removed.
12648 (grub_machine_efiemu_init_tables): New prototype.
12649 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12650 (grub_elf64_phdr_iterate): Likewise.
12651 * include/grub/i386/bsd.h: Include relocator.h.
12652 (freebsd_tag_header): New struct.
12653 (grub_openbsd_bios_mmap): Removed.
12654 (grub_unix_real_boot): Removed.
12655 (grub_freebsd_load_elfmodule32): Changed prototype.
12656 (grub_freebsd_load_elfmodule_obj64): Likewise.
12657 (grub_freebsd_load_elf_meta32): Likewise.
12658 (grub_freebsd_load_elf_meta64): Likewise.
12659 (grub_freebsd_add_meta): Removed.
12660 (grub_netbsd_load_elf_meta32): New prototype.
12661 (grub_netbsd_load_elf_meta64): Likewise.
12662 (grub_bsd_add_meta): Likewise.
12663 (grub_openbsd_ramdisk_descriptor): New struct.
12664 (grub_openbsd_find_ramdisk32): New prototype.
12665 (grub_openbsd_find_ramdisk64): Likewise.
12666 * include/grub/i386/coreboot/loader.h: Removed.
12667 * include/grub/i386/efi/loader.h: Likewise.
12668 * include/grub/i386/ieee1275/loader.h: Likewise.
12669 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12670 to grub_uint32_t.
12671 * include/grub/i386/loader.h: Removed.
12672 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12673 value.
12674 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12675 (grub_phys_addr_t): New type.
12676 (grub_vtop): New inline function.
12677 (grub_map_memory): Likewise.
12678 (grub_unmap_memory): Likewise.
12679 * include/grub/i386/multiboot/loader.h: Removed.
12680 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12681 (NETBSD_BTINFO_CONSOLE): New definition.
12682 (NETBSD_BTINFO_SYMTAB): Likewise.
12683 (NETBSD_BTINFO_MODULES): Likewise.
12684 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12685 (grub_netbsd_bootinfo): New struct.
12686 (grub_netbsd_btinfo_common): Use explicit bitsize.
12687 (grub_netbsd_btinfo_mmap_entry): Removed.
12688 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12689 (grub_netbsd_btinfo_bootdisk): New struct.
12690 (grub_netbsd_btinfo_symtab): Likewise.
12691 (grub_netbsd_btinfo_serial): Likewise.
12692 (grub_netbsd_btinfo_modules): Likewise.
12693 (grub_netbsd_btinfo_framebuf): Likewise.
12694 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12695 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12696 Likewise.
12697 (grub_openbsd_bootargs): Use explicit bitsize.
12698 (grub_openbsd_bootarg_console): New struct.
12699 (GRUB_OPENBSD_COM_MAJOR): New definition.
12700 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12701 * include/grub/i386/pc/efiemu.h: Removed.
12702 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12703 * include/grub/i386/qemu/loader.h: Removed.
12704 * include/grub/i386/relocator.h: Rewritten.
12705 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12706 * include/grub/mips/memory.h: New file.
12707 * include/grub/mips/multiboot.h: Rewritten.
12708 * include/grub/mips/relocator.h: Rewritten.
12709 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12710 (grub_vtop): New function.
12711 (grub_map_memory): Likewise.
12712 (grub_unmap_memory): Likewise.
12713 * include/grub/misc.h (ALIGN_DOWN): New definition.
12714 * include/grub/mm.h (grub_mm_check_real): New proto.
12715 (GRUB_MM_CHECK): New definition.
12716 * include/grub/mm_private.h: New file.
12717 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12718 (grub_multiboot_get_mbi_size): Removed.
12719 (grub_multiboot_make_mbi): Change prottype.
12720 (grub_multiboot_set_accepts_video): New proto.
12721 (grub_multiboot_add_elfsyms): Likewise.
12722 (grub_multiboot_payload_eip): New variable.
12723 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12724 New prototype.
12725 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12726 New definition.
12727 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12728 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12729 * include/grub/powerpc/ieee1275/loader.h: Removed.
12730 * include/grub/powerpc/memory.h: New file.
12731 * include/grub/powerpc/relocator.h: Likewise.
12732 * include/grub/relocator.h: Likewise.
12733 * include/grub/relocator_private.h: Likewise.
12734 * include/grub/sparc64/ieee1275/loader.h: Removed.
12735 * include/grub/x86_64/memory.h: New file.
12736 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12737 (grub_xnu_heap_malloc): Likewise.
12738 (grub_xnu_heap_real_start): Removed.
12739 (grub_xnu_heap_start): Likewise.
12740 (grub_xnu_relocator): New variable.
12741 (grub_xnu_heap_target_start): Likewise.
12742 * tests/util/grub-shell.in: Support non-pc.
12743 * util/grub-mkimage.c (image_targets): Fix multiboot target.
12744
12745 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12748 on malloc error.
12749 (grub_bidi_logical_to_visual): Check that malloc succeded.
12750 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12751 puts.
12752 (grub_xputs_normal): Likewise.
12753
12754 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12757 extra_dist.
12758
12759 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12762
12763 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12766
12767 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12768
12769 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12770 dprintf.
12771
12772 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12773
12774 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12775
12776 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12777
12778 * grub-core/normal/term.c (print_more): Fix a memory leak.
12779 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12780 (grub_xputs_normal): Likewise.
12781
12782 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12783
12784 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12785 the begining of the string
12786
12787 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/script/script.c (grub_script_parse): Free parsed on
12790 failure.
12791
12792 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12795 on failure.
12796
12797 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12800 return.
12801
12802 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12805 (scroll_up): Fix a memory leak.
12806
12807 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12810 errors.
12811
12812 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 Handle USB pendrives exposed as floppies.
12815
12816 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12817 floppy.
12818 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12819 Check for partitions on all devices.
12820
12821 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12824 (readkey): Likewise.
12825
12826 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12827
12828 Multiple variable names support to "export" command.
12829
12830 * normal/context.c (grub_cmd_export): "export" command supports
12831 multiple variable names.
12832
12833 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12834
12835 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12836 --target=drive output to Mach device name.
12837
12838 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12839
12840 New Automake based build system for GRUB.
12841
12842 * ABOUT-NLS: New file.
12843 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12844 in Makefile.util.def file.
12845 * Makefile.util.def: New file. Autogen build definitions file for
12846 GRUB host utils.
12847 * conf/Makefile.common: New file. Common variables for GRUB host
12848 utils and target modules.
12849 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12850 * docs/Makefile.am: New file. Automake file for docs.
12851 * gentpl.py: New file. Python script to generate Autogen
12852 template.
12853 * grub-core/Makefile.am: New file. GRUB target modules' rules
12854 that doesn't fit in Makefile.core.def file.
12855 * grub-core/Makefile.core.def: New file. Autogen build
12856 definitions file for GRUB target modules.
12857 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12858 specific setjmp.S file.
12859 * po/Makefile.am: New file.
12860
12861 * .bzrignore: New ignores.
12862 * INSTALL: New requirements, without Ruby.
12863 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12864 * autogen.sh: Updated to invoke autogen as necessary.
12865 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12866 and defines for Automake conditionals.
12867 * geninit.sh: Refactoring.
12868
12869 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12870 necessary.
12871 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12872 New prototype.
12873
12874 * include/grub/test.h: Fix functional test modules' naming.
12875 * grub-core/tests/example_functional_test.c: Fix test module name.
12876
12877 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12878 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12879 * util/grub-editenv.c: Likewise.
12880 * util/grub-fstest.c: Likewise.
12881 * util/grub-mkdevicemap.c: Likewise.
12882 * util/grub-mkfont.c: Likewise.
12883 * util/grub-mkimage.c: Likewise.
12884 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12885 * util/grub-probe.c: Likewise.
12886 * util/grub-script-check.c: Likewise.
12887 * util/i386/pc/grub-setup.c: Likewise.
12888 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12889
12890 * tests/util/grub-shell.in: Fix override directory path.
12891 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12892 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12893
12894 * util/lvm.c: Update #includes.
12895 * util/raid.c: Likewise.
12896 * util/resolve.c: Likewise.
12897 * grub-core/bus/emu/pci.c: Likewise.
12898 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12899 * grub-core/lib/posix_wrap/string.h: Likewise.
12900 * grub-core/kern/emu/main.c: Likewise.
12901
12902 * grub-core/gensymlist.sh: New file. Script for generating kernel
12903 symbols file.
12904 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12905
12906 * grub-core/gentrigtables.c: Fix unused variable warnings.
12907
12908 * Makefile.in: Removed.
12909 * conf/any-emu.rmk: Removed.
12910 * conf/common.rmk: Removed.
12911 * conf/i386-coreboot.rmk: Removed.
12912 * conf/i386-efi.rmk: Removed.
12913 * conf/i386-ieee1275.rmk: Removed.
12914 * conf/i386-multiboot.rmk: Removed.
12915 * conf/i386-pc.rmk: Removed.
12916 * conf/i386-qemu.rmk: Removed.
12917 * conf/i386.rmk: Removed.
12918 * conf/mips-yeeloong.rmk: Removed.
12919 * conf/mips.rmk: Removed.
12920 * conf/powerpc-ieee1275.rmk: Removed.
12921 * conf/sparc64-ieee1275.rmk: Removed.
12922 * conf/tests.rmk: Removed.
12923 * conf/x86-efi.rmk: Removed.
12924 * conf/x86_64-efi.rmk: Removed.
12925 * gendistlist.sh: Removed.
12926 * geninitheader.sh: Removed.
12927 * genkernsyms.sh.in: Removed.
12928 * genmk.rb: Removed.
12929 * gensymlist.sh.in: Removed.
12930 * mkinstalldirs: Removed.
12931 * boot: Moved ...
12932 * grub-core/boot: ... to here.
12933 * bus: Moved ...
12934 * grub-core/bus: ... to here.
12935 * commands: Moved ...
12936 * grub-core/commands: ... to here.
12937 * disk: Moved ...
12938 * grub-core/disk: ... to here.
12939 * efiemu: Moved ...
12940 * grub-core/efiemu: ... to here.
12941 * font: Moved ...
12942 * grub-core/font: ... to here.
12943 * fs: Moved ...
12944 * grub-core/fs: ... to here.
12945 * gencmdlist.sh: Moved ...
12946 * grub-core/gencmdlist.sh: ... to here.
12947 * genemuinit.sh: Moved ...
12948 * grub-core/genemuinit.sh: ... to here.
12949 * genemuinitheader.sh: Moved ...
12950 * grub-core/genemuinitheader.sh: ... to here.
12951 * genfslist.sh: Moved ...
12952 * grub-core/genfslist.sh: ... to here.
12953 * genhandlerlist.sh: Moved ...
12954 * grub-core/genhandlerlist.sh: ... to here.
12955 * genmoddep.awk: Moved ...
12956 * grub-core/genmoddep.awk: ... to here.
12957 * genmodsrc.sh: Moved ...
12958 * grub-core/genmodsrc.sh: ... to here.
12959 * genpartmaplist.sh: Moved ...
12960 * grub-core/genpartmaplist.sh: ... to here.
12961 * genparttoollist.sh: Moved ...
12962 * grub-core/genparttoollist.sh: ... to here.
12963 * genterminallist.sh: Moved ...
12964 * grub-core/genterminallist.sh: ... to here.
12965 * gentrigtables.c: Moved ...
12966 * grub-core/gentrigtables.c: ... to here.
12967 * genvideolist.sh: Moved ...
12968 * grub-core/genvideolist.sh: ... to here.
12969 * gettext: Moved ...
12970 * grub-core/gettext: ... to here.
12971 * gfxmenu: Moved ...
12972 * grub-core/gfxmenu: ... to here.
12973 * gnulib: Moved ...
12974 * grub-core/gnulib: ... to here.
12975 * hello: Moved ...
12976 * grub-core/hello: ... to here.
12977 * hook: Moved ...
12978 * grub-core/hook: ... to here.
12979 * io: Moved ...
12980 * grub-core/io: ... to here.
12981 * kern: Moved ...
12982 * grub-core/kern: ... to here.
12983 * lib: Moved ...
12984 * grub-core/lib: ... to here.
12985 * loader: Moved ...
12986 * grub-core/loader: ... to here.
12987 * mmap: Moved ...
12988 * grub-core/mmap: ... to here.
12989 * normal: Moved ...
12990 * grub-core/normal: ... to here.
12991 * partmap: Moved ...
12992 * grub-core/partmap: ... to here.
12993 * parttool: Moved ...
12994 * grub-core/parttool: ... to here.
12995 * script: Moved ...
12996 * grub-core/script: ... to here.
12997 * term: Moved ...
12998 * grub-core/term: ... to here
12999 * tests/example_functional_test.c: Moved ...
13000 * grub-core/tests/example_functional_test.c: ... to here.
13001 * tests/lib/functional_test.c: Moved ...
13002 * grub-core/tests/lib/functional_test.c: ... to here.
13003 * tests/lib/test.c: Moved ...
13004 * grub-core/tests/lib/test.c: ... to here.
13005 * video: Moved ...
13006 * grub-core/video: ... to here.
13007
13008 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
13009
13010 Replace --enable-grub-emu-modules with grub-emu-lite.
13011
13012 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
13013 cache.S.
13014
13015 * include/grub/emu/misc.h (grub_emu_init): New prototype.
13016 * kern/emu/full.c: New file. For grub-emu specific initialization.
13017 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
13018 * kern/emu/main.c: Call initialization function grub_emu_init.
13019
13020 * Makefile.in: Include grub-emu-lite in install.
13021 * commands/parttool.c: Use grub_no_autoload to differentiate
13022 between grub-emu and grub-emu-lite.
13023 * include/grub/misc.h: New variable grub_no_autoload.
13024
13025 * conf/any-emu.rmk: New rules for grub-emu-lite.
13026 * configure.ac: Remove --enable-grub-emu-modules.
13027 * genmk.rb: Cleanup unnecessary rules.
13028 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
13029
13030 * normal/main.c: Don't load list files on grub-emu-lite.
13031 * util/misc.c (grub_arch_sync_caches): Removed.
13032
13033 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
13034
13035 * kern/mips/startup.S (grub_prefix): Update comment to refer to
13036 grub-mkimage rather than grub-mkelfimage.
13037 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
13038
13039 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
13040
13041 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
13042 a key after CapsLock or NumLock. It's just a qemu bug.
13043
13044 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
13047 needed by libusb wrapper.
13048
13049 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
13050
13051 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
13052
13053 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
13056 --nounzip is passed.
13057
13058 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
13059
13060 USB hotunplugging and USB serial support.
13061
13062 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
13063 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
13064 (grub_uhci_transfer): Respect timeout and set *actual.
13065 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
13066 non-standard length.
13067 (grub_usb_device_attach): Autoload modules.
13068 (GRUB_MOD_INIT): Set grub_term_poll_usb.
13069 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
13070 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13071 users updated.
13072 (grub_usb_add_hub): Fill nports and children.
13073 (attach_root_port): Receive hub instead of controller.
13074 All users updated. Fill hub->devices.
13075 (grub_usb_root_hub): Allocate hub->devices.
13076 (detach_device): New function.
13077 (poll_nonroot_hub): Fill children and detach devices.
13078 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13079 actual arguments. All users updated.
13080 (grub_usb_bulk_read_extended): New function.
13081 * bus/usb/serial/common.c: New file.
13082 * bus/usb/serial/ftdi.c: Likewise.
13083 * bus/usb/serial/pl2303.c: Likewise.
13084 * commands/terminal.c (handle_command): Support wildcard.
13085 * commands/usbtest.c: Output "Unknown" instead of empty string.
13086 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13087 (usbserial_common_mod_SOURCES): New variable.
13088 (usbserial_common_mod_CFLAGS): Likewise.
13089 (usbserial_common_mod_LDFLAGS): Likewise.
13090 (pkglib_MODULES): Add usbserial_pl2303.mod.
13091 (usbserial_pl2303_mod_SOURCES): New variable.
13092 (usbserial_pl2303_mod_CFLAGS): Likewise.
13093 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13094 (pkglib_MODULES): Add usbserial_ftdi.mod.
13095 (usbserial_ftdi_mod_SOURCES): New variable.
13096 (usbserial_ftdi_mod_CFLAGS): Likewise.
13097 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13098 (pkglib_MODULES): Add serial.mod.
13099 (serial_mod_SOURCES): New variable.
13100 (serial_mod_CFLAGS): Likewise.
13101 (serial_mod_LDFLAGS): Likewise.
13102 * conf/i386-pc.rmk: Likewise.
13103 * conf/mips-yeeloong.rmk: Likewise.
13104 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13105 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13106 * disk/usbms.c (first_available_slot): New variable.
13107 (grub_usbms_attach): Don't reuse free slots due to potential cache
13108 problems.
13109 * include/grub/serial.h: Moved to ..
13110 * include/grub/ns8250.h: ...this.
13111 * include/grub/serial.h: New file.
13112 * include/grub/term.h (grub_term_poll_usb): New variable.
13113 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13114 readkey. All users updated.
13115 (grub_terminfo_output_state): Pass term to put.
13116 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13117 (grub_usb_controller_dev): Add timeout and actual arguments to
13118 transfer. All users updated.
13119 (grub_usb_interface): New field detach_data.
13120 (grub_usb_device): New fields children and nports.
13121 (grub_usb_ep_type_t): New type.
13122 (grub_usb_get_ep_type): New function.
13123 (grub_usb_bulk_read_extended): Likewise.
13124 * include/grub/usbdesc.h (grub_usb_desc): New type.
13125 * include/grub/usbserial.h: New file.
13126 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13127 * kern/term.c (grub_term_poll_usb): New variable.
13128 (grub_getkey): Call grub_term_poll_usb if set.
13129 (grub_checkkey): Likewise.
13130 (grub_getkeystatus): Likewise.
13131 * term/serial.c: Moved controller-specific parts to ...
13132 * term/ns8250.c: ... here.
13133 * term/serial.c: Mostly rewritten.
13134 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13135 according to spec.
13136
13137 2010-08-20 Robert Millan <rmh@gnu.org>
13138
13139 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13140 a separate module and maybe other interesting combinations.
13141
13142 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13143 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13144 (kfreebsd_entry): Add generic filesystem module load routine.
13145 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13146
13147 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
13148
13149 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13150 "numcenter" (I misunderstood the purpose of this entry).
13151 * docs/grub.texi (sendkey): Likewise.
13152
13153 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
13154
13155 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13156 status flag options; simply omitting the option is equivalent and
13157 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13158 (keysym_table): Rename "num5numlock" to "numlock".
13159 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13160 can uniformly say that only the last of multiple `sendkey'
13161 invocations has any effect.
13162 * docs/grub.texi (sendkey): New section.
13163
13164 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
13165
13166 * commands/i386/pc/sendkey.c (options): Fix three typos.
13167
13168 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13169
13170 Implement sendkey support.
13171
13172 * commands/i386/pc/sendkey.c: New file.
13173 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13174 (sendkey_mod_SOURCES): New variable.
13175 (sendkey_mod_CFLAGS): Likewise.
13176 (sendkey_mod_LDFLAGS): Likewise.
13177
13178 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
13179
13180 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13181 fix warnings from Autoconf.
13182
13183 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
13184
13185 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13186 to avoid false positives with some assemblers that output things
13187 like "someprefix_func" as part of their output.
13188
13189 2010-08-15 Robert Millan <rmh@gnu.org>
13190
13191 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13192 errors.
13193 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13194 grub_get_libzfs_handle() errors.
13195
13196 2010-08-14 Robert Millan <rmh@gnu.org>
13197
13198 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13199 filesystem is not ZFS.
13200
13201 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13202
13203 Fix for misspelled color names defaulting to black/black (bug
13204 reported by Doug Nazar)
13205
13206 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13207 status to prototype.
13208 * normal/color.c (grub_parse_color_name_pair): Return failure
13209 status.
13210 (grub_env_write_color_normal): Ignore bad color names.
13211 (grub_env_write_color_highlight): Likewise.
13212 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13213
13214 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13215
13216 "shift" command support to GRUB script.
13217
13218 * include/grub/script_sh.h (grub_script_shift): New prototype.
13219 * script/execute.c (grub_script_shift): New function.
13220 * script/main.c (grub_script_init): Register shift command.
13221 (grub_script_fini): Unregister shift command.
13222 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13223
13224 * tests/grub_script_shift.in: New testcase.
13225 * conf/tests.rmk: Rules for new testcase.
13226
13227 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13228
13229 "continue" command support to GRUB script.
13230
13231 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13232 (grub_script_break): Continue support.
13233 * script/main.c (grub_script_init): Register continue command.
13234 (grub_script_fini): Unregister continue command.
13235
13236 * tests/grub_script_continue.in: New testcase.
13237 * conf/tests.rmk: Rules for new testcase.
13238
13239 2010-08-12 BVK Chaitanya <bvk@dbook>
13240
13241 "break" command support to GRUB script.
13242
13243 * conf/common.rmk: Rule updates to grub-script-check.
13244 * include/grub/misc.h (grub_min): New function.
13245 * include/grub/script_sh.h (grub_script_init): New prototype.
13246 (grub_script_fini): New prototype.
13247 (grub_script_break): New prototype.
13248 * script/main.c (grub_script_init): New function.
13249 (grub_script_fini): New function.
13250 * script/execute.c (grub_script_break): New function.
13251 * normal/main.c: Calls to grub_script_{init,fini}.
13252 * util/grub-script-check.c (grub_script_break): New function.
13253
13254 * tests/grub_script_break.in: New testcase.
13255 * conf/tests.rmk: Rules for new test case.
13256
13257 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13258
13259 Function parameters support to GRUB script.
13260
13261 * script/yylex.l (VARIABLE): Regular expression update.
13262 * script/function.c (grub_script_function_call): Moved ...
13263 * script/execute.c (grub_script_function_call): ... to here.
13264 (grub_script_execute_arglist_to_argv): Removed.
13265 (grub_script_arglist_to_argv): New function.
13266 * script/argv.c: New file.
13267 (grub_script_argv_free): New function.
13268 (grub_script_argv_next): Likewise.
13269 (grub_script_argv_append): Likewise.
13270 (grub_script_argv_split_append): Likewise.
13271 * include/grub/script_sh.h (grub_script_argv): New struct.
13272 (grub_script_argv_free): New function.
13273 (grub_script_argv_next): Likewise.
13274 (grub_script_argv_append): Likewise.
13275 (grub_script_argv_split_append): Likewise.
13276
13277 * conf/common.rmk (normal.mod): New source script/argv.c.
13278
13279 * tests/grub_script_echo1.in: More tests.
13280 * tests/grub_script_vars1.in: Likewise.
13281 * tests/grub_script_functions.in: New test case.
13282 * conf/tests.rmk: Rules for new testcase.
13283
13284 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13285
13286 Remove grub_script_cmdblock struct.
13287
13288 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13289 * script/parser.y: Likewise.
13290 * script/execute.c: Rename cmdblock suffix to cmdlist.
13291 * script/script.c: Likewise.
13292 * util/grub-script-check.c: Likewise.
13293
13294 2010-08-11 Yves Blusseau <blusseau@zetam.org>
13295
13296 * .bzrignore: add grub-macho2img
13297
13298 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13301
13302 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 Remove the dump of sm712 initialisation sequence.
13305
13306 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13307 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13308 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13309 (GRUB_VGA_CR_*): Added many registers.
13310 (GRUB_VGA_SR_*): Likewise.
13311 (GRUB_VGA_GR_*): Likewise.
13312 (grub_vga_write_arx): New function.
13313 (grub_video_hw_config): New struct.
13314 (grub_vga_set_geometry): New function.
13315 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13316 GRUB_PCI_CLASS_SUBCLASS_VGA.
13317 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13318 * video/sm712.c (grub_sm712_write_reg): New function
13319 (grub_sm712_read_reg): Likewise.
13320 (grub_sm712_sr_write): Likewise.
13321 (grub_sm712_gr_write): Likewise.
13322 (grub_sm712_cr_write): Likewise.
13323 (grub_sm712_write_arx): Likewise.
13324 (grub_sm712_cr_shadow_write): Likewise.
13325 (grub_sm712_write_dda_lookup): Likewise.
13326 (grub_video_sm712_setup): Initialise the video rather then
13327 blindly replay the dump.
13328 (main) [TEST]: Add a routine to be able to compile as standalone for
13329 tests.
13330 * video/sm712_init.c (sm712_init): Removed.
13331 (sm712_sr_seq1): New array.
13332 (sm712_sr_seq2): Likewise.
13333
13334 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * include/grub/vga.h: Add missing grub/pci.h include.
13337
13338 2010-08-10 Yves Blusseau <blusseau@zetam.org>
13339
13340 * util/grub-macho2img.c (main): fix typo
13341
13342 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13345 (grub_vga_gr_read): Likewise.
13346 (grub_vga_cr_write): Likewise.
13347 (grub_vga_cr_read): Likewise.
13348 (grub_vga_sr_write): Likewise.
13349 (grub_vga_sr_read): Likewise.
13350 (grub_vga_palette_read): Likewise.
13351 (grub_vga_palette_write): Likewise.
13352 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13353 (grub_sm712_sr_read): New function.
13354 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13355 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13356
13357 2010-08-09 Robert Millan <rmh@gnu.org>
13358
13359 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13360 out unused variables on non-ZFS build.
13361
13362 2010-08-08 Robert Millan <rmh@gnu.org>
13363
13364 Fix path generation for sub-filesystems in ZFS.
13365
13366 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13367 missing slash.
13368
13369 2010-08-08 Robert Millan <rmh@gnu.org>
13370
13371 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13372
13373 2010-08-08 Robert Millan <rmh@gnu.org>
13374
13375 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13376 exist, issue a proper error message (rely on `ls' for translated
13377 strings).
13378
13379 2010-08-08 Robert Millan <rmh@gnu.org>
13380
13381 Fix grub-probe invocation.
13382
13383 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13384
13385 2010-08-04 Robert Millan <rmh@gnu.org>
13386
13387 * configure.ac: Remove checks for getfsstat() and getmntany().
13388 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13389 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13390 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13391 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13392 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13393 function.
13394 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13395 via find_mount_point_from_dir() and getfsstat() / getmntany().
13396
13397 2010-08-04 Robert Millan <rmh@gnu.org>
13398
13399 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13400 (grub_find_zpool_from_mount_point): Merge into ...
13401 (grub_find_zpool_from_dir): ... this.
13402 * kern/emu/misc.c: Likewise.
13403
13404 * kern/emu/misc.c
13405 (grub_make_system_path_relative_to_its_root): Replace
13406 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13407 with grub_find_zpool_from_dir().
13408 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13409
13410 2010-08-04 Robert Millan <rmh@gnu.org>
13411
13412 Support OpenSolaris in ZFS device resolution.
13413
13414 * configure.ac: Check for getmntany().
13415 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13416 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13417 support.
13418
13419 2010-08-03 Robert Millan <rmh@gnu.org>
13420
13421 Fix grub-emu build.
13422
13423 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13424 * include/grub/emu/misc.h: ... here.
13425
13426 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13427 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13428
13429 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13430 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13431 (grub_get_libzfs_handle): Move to ...
13432 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13433 (grub_get_libzfs_handle): ... here.
13434
13435 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13436
13437 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13438 as command name case.
13439
13440 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * disk/raid.c (insert_array): Select unique numbers for named arrays
13443 as well, for use as keys in the disk cache.
13444
13445 2010-08-01 Robert Millan <rmh@gnu.org>
13446
13447 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13448 kFreeBSD device name, except on ZFS where the filesystem label is
13449 used.
13450 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13451 `/boot/zfs/zpool.cache'.
13452 Set mountfrom kernel variable using ${kfreebsd_device}.
13453
13454 2010-08-01 Robert Millan <rmh@gnu.org>
13455
13456 Make it even harder to use uninitialized `libzfs_handle' (and
13457 make the interface a bit simpler).
13458
13459 * include/grub/util/misc.h (grub_util_init_libzfs)
13460 (libzfs_handle): Remove.
13461 (grub_get_libzfs_handle): New prototype.
13462
13463 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13464 attribute.
13465 (grub_util_init_libzfs): Remove.
13466 (grub_get_libzfs_handle): New function.
13467
13468 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13469 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13470 accessing `libzfs_handle' directly.
13471
13472 2010-08-01 Robert Millan <rmh@gnu.org>
13473
13474 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13475 (grub_find_zpool_from_mount_point): New function prototypes.
13476
13477 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13478 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13479
13480 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13481 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13482 `static' attribute.
13483
13484 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13485 finding zpool from mount point into ...
13486 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13487
13488 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13489 requested path is part of a ZFS pool, use
13490 grub_find_zpool_from_mount_point() to detect its filesystem name,
13491 and generate a path with `/fsname@path' syntax.
13492
13493 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13494
13495 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13496 (void) rather than () so that this is a proper prototype.
13497
13498 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13499
13500 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13501
13502 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13505 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13506
13507 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13508
13509 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13510
13511 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13512
13513 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13514
13515 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13516
13517 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13518 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13519 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13520 disable gfxpayload.
13521 (Shell-like scripting): Add real content.
13522 (Serial terminal): Suggest `terminal_input serial; terminal_output
13523 serial' rather than putting the two commands on separate lines,
13524 since console input will be inoperative after the first command.
13525 (menuentry): Document --class, --users, and --hotkey options.
13526 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13527 Vladimir Serbinenko).
13528
13529 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13530 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13531
13532 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13533
13534 2010-08-01 Robert Millan <rmh@gnu.org>
13535
13536 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13537 (grub_find_zpool_from_mount_point): New function prototypes.
13538
13539 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13540 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13541
13542 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13543 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13544 `static' attribute.
13545
13546 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13547 finding zpool from mount point into ...
13548 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13549
13550 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13551 requested path is part of a ZFS pool, use
13552 grub_find_zpool_from_mount_point() to detect its filesystem name,
13553 and generate a path with `/fsname@path' syntax.
13554
13555 2010-08-01 Robert Millan <rmh@gnu.org>
13556
13557 Prevent accidental use of uninitialized libzfs_handle.
13558
13559 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13560 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13561 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13562
13563 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13564
13565 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13566 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13567
13568 2010-08-01 Robert Millan <rmh@gnu.org>
13569
13570 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
13571
13572 2010-07-31 Robert Millan <rmh@gnu.org>
13573
13574 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13575
13576 2010-07-31 Robert Millan <rmh@gnu.org>
13577
13578 * kern/emu/misc.c: Add missing license header.
13579
13580 2010-07-31 Robert Millan <rmh@gnu.org>
13581
13582 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13583
13584 * include/grub/util/libnvpair.h: Include `<config.h>'.
13585 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13586 declaring libnvpair prototypes ourselves.
13587 * include/grub/util/libzfs.h: Include `<config.h>'.
13588 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13589 declaring libzfs prototypes ourselves.
13590
13591 (libzfs_handle): Moved to ...
13592 * include/grub/util/misc.h (libzfs_handle): ... here.
13593 Include `<grub/util/libzfs.h>'.
13594
13595 2010-07-30 Robert Millan <rmh@gnu.org>
13596
13597 * include/grub/emu/misc.h: Add missing license header.
13598
13599 2010-07-30 Robert Millan <rmh@gnu.org>
13600
13601 Enable `grub-probe -t device' resolution on ZFS.
13602
13603 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13604 * include/grub/util/libnvpair.h: New file.
13605 * include/grub/util/libzfs.h: New file.
13606
13607 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13608 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13609 `<grub/util/libnvpair.h>'.
13610 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13611
13612 (find_mount_point_from_dir): New static function.
13613 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13614 function.
13615 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13616 find_root_device_from_libzfs() before ressorting to find_root_device().
13617
13618 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13619 prototype.
13620 * util/misc.c: Include `<grub/util/libzfs.h>'.
13621 (grub_util_init_libzfs): New function.
13622 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13623 [HAVE_LIBZFS] (fini_libzfs): New static function.
13624 (grub_util_init_libzfs): New function.
13625 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13626
13627 2010-07-30 Robert Millan <rmh@gnu.org>
13628
13629 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13630 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13631 `warn_unused_result' attribute.
13632 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13633 (grub_xasprintf, grub_xvasprintf): Likewise.
13634 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13635
13636 2010-07-29 Robert Millan <rmh@gnu.org>
13637
13638 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13639 (probe): Handle `PRINT_FS_LABEL'.
13640 (main): Handle `-t fs_label'.
13641
13642 2010-07-29 Robert Millan <rmh@gnu.org>
13643
13644 * configure.ac: Remove grub-mkisofs checks.
13645
13646 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13649 Reported by: Lennart Sorensen.
13650
13651 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13654 prior to terminal_input/terminal_output separation. It's been over 1.5
13655 years and those versions weren't widely deployed.
13656
13657 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
13658
13659 * disk/raid.c (insert_array): Don't count named arrays when looking
13660 for unused array numbers.
13661 Reported and tested by: Michael Guntsche.
13662
13663 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13664
13665 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13666 implementation of this so that grub-emu links again, with a note
13667 that this should support hotplugging in the future.
13668
13669 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13672
13673 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13676 handle on failure.
13677 (grub_loopback_close): Remove empty function.
13678 (grub_loopback_dev): Remove close method.
13679
13680 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13681
13682 Disable EFI cursor when the EFI console becomes inactive.
13683
13684 * term/efi/console.c (grub_efi_console_init): New function.
13685 (grub_efi_console_fini): New function.
13686 (grub_console_term_output): Register init and fini methods.
13687
13688 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13689
13690 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13691 sh script.
13692
13693 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * disk/loopback.c (grub_loopback): Replace filename with file.
13696 (delete_loopback): Handle new semantics.
13697 (grub_cmd_loopback): Likewise.
13698 (grub_loopback_iterate): Likewise.
13699 (grub_loopback_close): Likewise.
13700
13701 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13704 with -p "".
13705 Reported by: Tito Keitel.
13706
13707 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13708
13709 * docs/grub.texi (Naming convention): Document new naming convention.
13710
13711 2010-07-20 Vadim Solomin <vadic052@gmail.com>
13712 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13713
13714 Generate device.map in something closer to the old ordering.
13715
13716 * util/deviceiter.c (struct device): New declaration.
13717 (compare_file_names): Rename to ...
13718 (compare_devices): ... this. Sort by kernel name in preference to
13719 the stable by-id name, but keep the latter as a fallback comparison.
13720 Update header comment.
13721 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13722 of `struct device' rather than of plain file names.
13723
13724 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13725
13726 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13727 on i386.
13728
13729 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13732 hardcoding size.
13733 (setv1table): Likewise.
13734
13735 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13736
13737 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13738 removing the homehost if present.
13739 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13740 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13741 removing the homehost if present.
13742 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13743 if possible.
13744 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13745
13746 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13747 parameter. Set its pointer target to 0.
13748 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13749 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13750 `data_offset' value from the superblock for 1.x metadata.
13751 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13752 data on the device.
13753 (insert_array): Record the start sector of data on the device.
13754 (grub_raid_register): Pass start_sector parameters to
13755 grub_raid_list->detect and insert_array.
13756 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13757 member.
13758 (struct grub_raid): Add start_sector parameter to `detect'.
13759
13760 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13761 __attribute__ ((packed)), leaving a comment.
13762 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13763 (grub_mdraid_detect_09): ... here and ...
13764 (grub_mdraid_detect_1x): ... here.
13765
13766 2010-07-20 Peter Henn <peter.henn@web.de>
13767
13768 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13769 chunk size and disk size, which are already given as sector counts
13770 as distinct from the 0.90 units. Fetch the correct device number
13771 from the role table instead of using the table index.
13772
13773 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
13774
13775 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13776 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13777 (WriteMostly1): New macro.
13778 Set array->name to NULL for metadata format 0.90. Add support for
13779 metadata 1.x. Fix some comments.
13780 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13781 few comments.
13782 * util/getroot.c (grub_util_get_grub_dev): Add support for
13783 /dev/md/name style devices.
13784
13785 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13786
13787 * .bzrignore: Ignore 20_linux_xen.
13788
13789 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
13790
13791 * util/import_unicode.py: Remove unnecessary imports.
13792
13793 2010-07-17 Aleš Nesrsta <starous@volny.cz>
13794
13795 Hotplugging and USB hub support.
13796
13797 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13798 (grub_ohci): Likewise.
13799 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13800 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13801 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13802 (GRUB_OHCI_CTRL_EDS): Likewise.
13803 (GRUB_OHCI_BULK_EDS): Likewise.
13804 (GRUB_OHCI_TDS): Likewise.
13805 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13806 (grub_ohci_ed_phys2virt): New function.
13807 (grub_ohci_virt_to_phys): Likewise.
13808 (grub_ohci_td_phys2virt): Likewise.
13809 (grub_ohci_td_virt2phys): Likewise.
13810 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13811 attachment.
13812 (grub_ohci_find_ed): New function.
13813 (grub_ohci_alloc_td): Likewise.
13814 (grub_ohci_free_td): Likewise.
13815 (grub_ohci_free_tds): Likewise.
13816 (grub_ohci_transfer): Use previously allocated memory.
13817 (grub_ohci_portstatus): Reset status changed bit.
13818 (grub_ohci_detect_dev): Supply status changed.
13819 (grub_ohci_fini_hw): Free memory.
13820 (grub_ohci_restore_hw): Reallocate memory.
13821 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13822 Reset status change.
13823 (grub_uhci_detect_dev): Supply status_change.
13824 * bus/usb/usb.c (attach_hooks): New var.
13825 (grub_usb_device_attach): New function.
13826 (grub_usb_register_attach_hook_class): Likewise.
13827 (grub_usb_unregister_attach_hook_class): Likewise.
13828 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13829 (grub_usb_add_hub): Reset connection changed bit.
13830 (attach_root_port): New function.
13831 (grub_usb_root_hub): Likewise.
13832 (poll_nonroot_hub): Likewise.
13833 (grub_usb_poll_devices): Likewise.
13834 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13835 * disk/usbms.c (grub_usbms_open): Use device hooks.
13836 (grub_usbms_iterate) :Poll devices.
13837 (grub_usbms_finddevs): Split into ...
13838 (grub_usbms_attach): ... this ...
13839 (grub_usbms_attach): ... and this.
13840 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13841 in detect_dev.
13842 (grub_usb_interface): New fields attached and detach_hook.
13843 (grub_usb_attach_hook_class): New type.
13844 (grub_usb_attach_desc): New struct.
13845 (grub_usb_register_attach_hook_class): New function.
13846 (grub_usb_unregister_attach_hook_class): Likewise.
13847 (grub_usb_poll_devices): Likewise.
13848 (grub_usb_device_attach): Likewise.
13849 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13850 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13851
13852 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13855 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13856 delta determination style. Works with most NetBSD partitions too.
13857
13858 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13861 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13862
13863 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13866
13867 2010-07-14 Anton Blanchard <anton@samba.org>
13868
13869 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13870 ET_DYN files.
13871
13872 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13873
13874 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13875
13876 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13877
13878 * kern/partition.c (grub_partition_check_containment): New function to
13879 check that a partition is physically contained in a parent. Since
13880 offsets are relative (and non-negative), this reduces to checking that
13881 the partition ends before its parent.
13882 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13883 (grub_partition_iterate): Likewise.
13884 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13885 comments.
13886 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13887 partitions that start before their parent, and add debug printfs.
13888
13889 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13890
13891 * Makefile.in (.SUFFIX): Spell correctly, as ...
13892 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13893 bare module name without `.mod', e.g. `test') tried to invoke a
13894 Modula-2 compiler.
13895
13896 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13897
13898 * README: Point to the Info manual.
13899
13900 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
13901
13902 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13903 2nd superblock position from partition size.
13904
13905 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
13906
13907 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13908 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13909 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13910 outputs.
13911
13912 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 Restructure SCSI .id handling.
13915 Reported and tested by: Aleš Nesrsta.
13916
13917 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13918 (grub_atapi_dev): Changed .name to "ata". New field .id.
13919 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13920 (grub_usbms_dev): New field .id.
13921 * disk/scsi.c (grub_scsi_iterate): Generate name.
13922 (grub_scsi_open): Parse name.
13923 * include/grub/scsi.h (grub_make_scsi_id): New function.
13924 (grub_scsi_dev): Change iterate and open to number instead of naming
13925 busses. All users updated.
13926 (grub_scsi): Remove name. Add .bus.
13927
13928 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13929
13930 * commands/help.c (grub_cmd_help): Fix a typo.
13931
13932 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13935 Reported and tested by: Colin Watson.
13936
13937 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13938
13939 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13940 in this context.
13941
13942 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13943
13944 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13945
13946 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
13947
13948 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13949 indentation.
13950
13951 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13952
13953 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13954 and disk/raid6_recover.c.
13955 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13956 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13957
13958 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13959
13960 * term/gfxterm.c (repaint_schedulded): Rename to ...
13961 (repaint_scheduled): ... this. Update all callers.
13962 (repaint_was_schedulded): Rename to ...
13963 (repaint_was_scheduled): ... this. Update all callers.
13964
13965 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13966
13967 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13968 which we expect to be handled by upper layers.
13969
13970 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13971
13972 * bus/usb/usbhub.c: #include time.h header.
13973
13974 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13975
13976 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13977 entry_name also for entries without stat blocks (e.g. ".."); fixes
13978 corruption of the first entry in a directory.
13979
13980 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13981
13982 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
13983 after setting gfxterm as the active terminal. GRUB_BACKGROUND
13984 doesn't work otherwise.
13985
13986 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13987
13988 * docs/grub.texi (Features): Update list of supported file systems.
13989 (GNU/Linux): Update for GRUB 2.
13990 (Serial terminal): Remove mention of --disable-serial, which was a
13991 GRUB Legacy configure option. Update instructions to use
13992 `terminal_input' and `terminal_output' rather than `terminal'.
13993 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
13994 configuration' and `Installing GRUB using grub-install'.
13995 (Menu entry editor): Update for GRUB 2.
13996 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
13997 Document new -a, -u, and -v options.
13998 (initrd): New section.
13999 (initrd16): New section.
14000 (linux): New section.
14001 (linux16): New section.
14002 (search): The `var' argument to `--set' is optional.
14003 (GRUB only offers a rescue shell): Go into a little more detail on
14004 drive ordering.
14005
14006 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14007
14008 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
14009
14010 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14011
14012 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
14013 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
14014
14015 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
14016
14017 * util/i386/pc/grub-setup.c (setup): Rename prefix to
14018 install_prefix, in line with install_dos_part and install_bsd_part.
14019 Add new prefix variable, which is copied to install_prefix after
14020 comparing core.img in memory with the one read from disk in the
14021 no-embedding case, and use that rather than overwriting
14022 install_prefix immediately when installing to a partition.
14023 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
14024 Bicakci.
14025
14026 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14027
14028 * configure.ac: Avoid == in test command, it's not portable.
14029 * util/grub.d/30_os-prober.in: Likewise.
14030
14031 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
14034
14035 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
14036
14037 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
14038 multiple (top-level) partmaps.
14039
14040 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * util/i386/efi/grub-install.in: Don't use empty grub_device.
14043 Reported by: Tino Keitel.
14044
14045 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 Bidi and diacritics support.
14048
14049 * Makefile.in (widthspec.bin): New target.
14050 (widthspec.h): Likewise.
14051 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
14052 * autogen.sh: Generate unidata.c.
14053 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
14054 * commands/ls.c (grub_ls_list_devices): Likewise.
14055 (grub_ls_list_files): Likewise.
14056 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
14057 (grub_mini_cmd_lsmod): Likewise.
14058 * commands/read.c: Likewise.
14059 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
14060 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
14061 * lib/arg.c (grub_arg_show_help): Likewise.
14062 * lib/crypto.c (grub_password_get): Likewise.
14063 * normal/auth.c (grub_username_get): Likewise.
14064 * normal/misc.c (grub_normal_print_device_info): Likewise.
14065 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
14066 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
14067 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
14068 (normal/charset.c_DEPENDENCIES): New variable.
14069 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
14070 (pkglib_MODULES): Remove charset.mod.
14071 (charset_mod_SOURCES): Removed.
14072 (charset_mod_CFLAGS): Likewise.
14073 (charset_mod_LDFLAGS): Likewise.
14074 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14075 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14076 and term/tparm.c.
14077 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14078 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14079 (kernel_img_HEADERS): Add terminfo.h.
14080 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14081 Fill ->font. Reverse ascii bitmaps.
14082 (grub_font_get_xheight): New function.
14083 * font/font.c (grub_font_get_string_width): Moved from here ...
14084 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14085 * font/font.c (grub_font_draw_string): Moved from here ...
14086 * gfxmenu/font.c (grub_font_draw_string): ... here.
14087 * font/font.c (grub_font_dup_glyph): New function.
14088 (grub_font_blit_glyph): Likewise.
14089 (grub_font_blit_glyph_mirror): Likewise.
14090 (blit_comb): Likewise.
14091 (grub_font_construct_dry_run): Likewise.
14092 (grub_font_get_constructed_device_width): Likewise.
14093 (grub_font_construct_glyph): Likewise.
14094 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14095 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14096 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14097 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14098 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14099 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14100 (grub_font_get_xheight): New proto.
14101 (grub_font_get_constructed_device_width): Likewise.
14102 (grub_font_construct_glyph): Likewise.
14103 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14104 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14105 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14106 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14107 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14108 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14109 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14110 (grub_console_getcharwidth): Likewise.
14111 * include/grub/misc.h (grub_xputs): New proto.
14112 (grub_puts): Inlined.
14113 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14114 (grub_normal_get_line_counter): Removed.
14115 (grub_install_newline_hook): Likewise.
14116 (grub_normal_get_char_counter): New proto.
14117 (grub_normal_reset_more): Likewise.
14118 (grub_xputs_normal): Likewise.
14119 * include/grub/powerpc/ieee1275/console.h: Removed.
14120 * include/grub/sparc64/ieee1275/console.h: Likewise.
14121 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14122 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14123 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14124 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14125 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14126 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14127 (grub_term_input): Pass reference to self. All users updated.
14128 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14129 Pass reference to self. New fields normal_color, highlight_color and
14130 data. All users updated.
14131 (grub_putchar): Removed.
14132 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14133 (grub_unicode_estimate_width): New function.
14134 (grub_term_getcharwidth): Add defaults.
14135 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14136 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14137 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14138 (grub_cls): Remove EXPORT_FUNC.
14139 (grub_setcolorstate): Inline.
14140 (grub_newline_hook): Removed.
14141 * include/grub/terminfo.h: Rewritten. All users updated.
14142 * include/grub/unicode.h: New file.
14143 * include/grub/video.h (grub_video_signed_rect): New type.
14144 * kern/emu/console.c (grub_console_highlight_color): Removed.
14145 (grub_console_normal_color): Likewise.
14146 (grub_console_standard_color): Made static.
14147 (grub_ncurses_putchar): Remove mapping.
14148 (grub_ncurses_getcharwidth): Removed.
14149 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14150 (grub_ncurses_setcolor): Removed.
14151 (grub_ncurses_getcolor): Likewise.
14152 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14153 (grub_console_putchar): ... this.
14154 (grub_console_putchar): Handle argument difference.
14155 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14156 console_init_early and console_init_lately.
14157 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14158 * kern/misc.c (grub_puts): Removed.
14159 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14160 (grub_vsnprintf_real): Remove str = NULL support.
14161 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14162 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14163 * kern/term.c (grub_putcode): Renamed to ...
14164 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14165 (grub_putchar): Removed.
14166 (grub_xputs_dumb): New function.
14167 (grub_xputs): New variable.
14168 * lib/charset.c: Move from here ...
14169 * normal/charset.c: ... to here.
14170 (grub_ucs4_to_utf8): New function.
14171 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14172 (join_types): New variable.
14173 (unpack_join): New function.
14174 (bidi_types): New variable.
14175 (unpack_bidi): New function.
14176 (get_bidi_type): Likewise.
14177 (get_join_type): Likewise.
14178 (is_mirrored): Likewise.
14179 (grub_unicode_get_comb_type): Likewise.
14180 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14181 (is_type_after): Likewise.
14182 (grub_unicode_aglomerate_comb): Likewise.
14183 (bidi_line_wrap): Likewise.
14184 (grub_bidi_line_logical_to_visual): Likewise.
14185 (grub_bidi_logical_to_visual): Likewise.
14186 (grub_unicode_mirror_code): Likewise.
14187 (grub_unicode_shape_code): Likewise.
14188 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14189 Don't use grub_putchar.
14190 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14191 (grub_normal_reader_init): Likewise.
14192 (grub_xputs_saved): New variable.
14193 (GRUB_MOD_INIT): Set grub_xputs.
14194 (GRUB_MOD_FINI): Restore grub_xputs.
14195 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14196 (menu_init): Avoid printing gfxmenu error.
14197 (show_menu): Use grub_normal_get_char_counter.
14198 * normal/menu_entry.c (update_screen): Fix out-of-array.
14199 (complete): Avoid NULL dereferencing.
14200 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14201 * normal/menu_text.c (print_spaces): Removed.
14202 (grub_print_ucs4): Likewise.
14203 (grub_print_message_indented): Use grub_print_ucs4.
14204 (print_message): Use grub_putcode.
14205 (print_entry): Hanlde diacritics.
14206 * normal/term.c (term_state): New type.
14207 (grub_more_lines): Removed.
14208 (term_states): New variable.
14209 (grub_normal_line_counter): Renamed to ..
14210 (grub_normal_char_counter): ...this. All users updated.
14211 (grub_normal_get_line_counter): Renamed to ...
14212 (grub_normal_get_char_counter): ... this.
14213 (grub_normal_reset_more): New function.
14214 (process_newline): Removed.
14215 (print_more): New function.
14216 (grub_install_newline_hook): Removed.
14217 (map_code): New function.
14218 (grub_puts_terminal): Use grub_print_ucs4.
14219 (putglyph): New function.
14220 (putcode_real): Likewise.
14221 (grub_putcode): Use putcode_real.
14222 (get_maxwidth): New function.
14223 (get_startwidth): Likewise.
14224 (print_ucs4_terminal): Likewise.
14225 (find_term_state): Likewise.
14226 (put_glyphs_terminal): Likewise.
14227 (print_backlog): Likewise.
14228 (print_ucs4_real): Likewise.
14229 (grub_print_ucs4): Likewise.
14230 (grub_xputs_normal): Likewise.
14231 * term/efi/console.c (grub_console_putchar): Output diacritics.
14232 (grub_console_getcharwidth): Removed.
14233 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14234 * term/gfxterm.c (clear_char): Free chars.
14235 (scroll_up): Avoid leaking memory.
14236 (grub_gfxterm_putchar): Support diacritics.
14237 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14238 * term/i386/pc/console.c (grub_console_term_output): Declare as
14239 GRUB_TERM_CODE_TYPE_VGA.
14240 * term/i386/pc/vga.c (grub_vga_term): Declare as
14241 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14242 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14243 GRUB_TERM_CODE_TYPE_VGA.
14244 * term/i386/vga_common.c (map_char): Removed.
14245 (grub_console_putchar): Likewise.
14246 (grub_console_getcharwidth): Likewise.
14247 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14248 (colors): Reordered to match terminfo.
14249 (grub_ofconsole_normal_color): Removed.
14250 (grub_ofconsole_writeesc): Likewise.
14251 (grub_ofconsole_highlight_color): Likewise.
14252 (grub_ofconsole_getcharwidth): Likewise.
14253 (grub_ofconsole_setcolorstate): Likewise.
14254 (grub_ofconsole_setcolor): Likewise.
14255 (grub_ofconsole_getcolor): Likewise.
14256 (grub_ofconsole_readkey): Renamed to ...
14257 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14258 key.
14259 (grub_ofconsole_checkkey): Removed.
14260 (grub_ofconsole_getkey): Likewise.
14261 (grub_ofconsole_getxy): Likewise.
14262 (grub_ofconsole_gotoxy): Likewise.
14263 (grub_ofconsole_cls): Likewise.
14264 (grub_ofconsole_refresh): Likewise.
14265 (grub_ofconsole_terminfo_input): New struct.
14266 (grub_ofconsole_terminfo_output): Likewise.
14267 (grub_ofconsole_term_input): Use terminfo.
14268 (grub_ofconsole_term_output): Likewise.
14269 (grub_console_init): Split into ...
14270 (grub_console_init_early): ...this and ...
14271 (grub_console_init_lately): ...this. Use terminfo.
14272 (grub_ofconsole_putchar): Renamed to ...
14273 (put): ... this. Remove mapping.
14274 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14275 * term/serial.c: Simplify using terminfo.
14276 (xpos): Removed.
14277 (ypos): Likewise.
14278 (keep_track): Likewise.
14279 (registered): Likewise.
14280 (input_buf): Likewise.
14281 (npending): Likewise.
14282 (serial_translate_key_sequence): Likewise.
14283 (fill_input_buf): Likewise.
14284 (grub_serial_checkkey): Likewise.
14285 (grub_serial_getkey): Likewise.
14286 (grub_serial_getxy): Likewise.
14287 (grub_serial_gotoxy): Likewise.
14288 (grub_serial_putchar): Likewise.
14289 (grub_serial_cls): Likewise.
14290 (grub_serial_setcolorstate): Likewise.
14291 (grub_serial_setcursor): Likewise.
14292 (serial_hw_init): Use serial_hw_fetch.
14293 (grub_serial_terminfo_input): New variable.
14294 (grub_serial_terminfo_output): Likewise.
14295 (grub_serial_term_input): Use terminfo.
14296 (grub_serial_term_output): Likewise.
14297 * term/terminfo.c (putstr): Use put.
14298 (grub_terminfo_all_free): New function
14299 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14300 (grub_terminfo_output_register): New function.
14301 (grub_terminfo_output_unregister): Likewise.
14302 (grub_terminfo_getxy): Likewise.
14303 (grub_terminfo_readkey): Likewise.
14304 (grub_terminfo_checkkey): Likewise.
14305 (grub_terminfo_getkey): Likewise.
14306 (grub_terminfo_input_init): Likewise.
14307 (print_terminfo): Likewise.
14308 (grub_cmd_terminfo): Handle encoding.
14309 (grub_terminfo_gotoxy): Track position.
14310 (grub_terminfo_cls): Likewise.
14311 (grub_terminfo_putchar): Likewise.
14312 (grub_terminfo_setcolorstate): Handle colors
14313 (grub_terminfo_cursor_on): This ...
14314 (grub_terminfo_cursor_off): ... and this merged into ...
14315 (grub_terminfo_setcursor): ... this.
14316 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14317 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14318 * unicode/BidiMirroring.txt: Likewise.
14319 * unicode/UnicodeData.txt: Likewise.
14320 * unicode/COPYING: Likewise.
14321 * util/grub-editenv.c (grub_putchar): Removed.
14322 (grub_xputs_real): New function.
14323 (grub_xputs): New variable.
14324 * util/grub-fstest.c (grub_putchar): Removed.
14325 (grub_xputs_real): New function.
14326 (grub_xputs): New variable.
14327 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14328 (grub_xputs_real): New function.
14329 (grub_xputs): New variable.
14330 * util/grub-probe.c (grub_putchar): Removed.
14331 (grub_xputs_real): New function.
14332 (grub_xputs): New variable.
14333 * util/grub-script-check.c (grub_putchar): Removed.
14334 (grub_xputs_real): New function.
14335 (grub_xputs): New variable.
14336 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14337 (grub_xputs_real): New function.
14338 (grub_xputs): New variable.
14339 * util/import_unicode.py: New file.
14340 * util/grub-mkfont.c (ft_errmsgs): New array.
14341 (grub_glyph_info): Make bitmap a pointer.
14342 (file_formats): New type WIDTH_SPEC.
14343 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14344 (options): Add width-spec.
14345 (help): Likewise.
14346 (add_char): Renamed to ...
14347 (add_glyph): ... this.
14348 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14349 (glyph_replace): New type.
14350 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14351 (add_char): New function.
14352 (add_subst): Likewise.
14353 (process_cursive): Likewise.
14354 (add_font): Handle GSUB.
14355 (write_font_width_spec): New function.
14356 (main): Sort glyphs.
14357 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14358 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14359 * kern/term.c (grub_cls): Moved from here...
14360 * normal/term.c (grub_cls): ... here.
14361
14362 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14363
14364 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14365 suitable for using within the format argument of printf when
14366 converting grub_size_t.
14367 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14368 "x" to convert grub_size_t arguments.
14369
14370 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14373 too long captions.
14374 (list_get_minimal_size): Take selection box into account.
14375
14376 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14379 NULL font.
14380
14381 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14382
14383 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14384 devices when iterating over /dev/disk/by-id; they will be handled
14385 later if appropriate, which they aren't always (e.g. LVM).
14386
14387 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14388
14389 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14390 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14391 fails.
14392 (grub_halt): Likewise.
14393 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14394 reset-all fails.
14395 (grub_halt): Don't return, even if all of shut-down, power-off, and
14396 poweroff fail.
14397
14398 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14399
14400 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14401 arguments, not three.
14402
14403 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14404
14405 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14406 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14407 LVM-on-RAID is handled correctly.
14408
14409 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14410
14411 * docs/grub.texi (Changes from GRUB Legacy): New section.
14412 (Future): Fix typo.
14413
14414 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14415
14416 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14417 grub.d/README accidentally ends up executable for one reason or
14418 another. Ignore it.
14419
14420 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14423 (gpt_partition_map_iterate): Support non-512B sectors.
14424
14425 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14428 Tested by: Seth Goldberg.
14429
14430 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14433 Properly align mbi.
14434 Reported by: Seth Goldberg.
14435
14436 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14437
14438 * util/grub-mkrescue.in: Avoid module duplication.
14439
14440 2010-07-01 Sean Finney <seanius@seanius.net>
14441
14442 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14443
14444 2010-07-01 Sean Finney <seanius@seanius.net>
14445
14446 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14447
14448 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14449
14450 * disk/lvm.c (grub_lvm_checkvalue): New function.
14451 (grub_lvm_check_flag): Likewise.
14452
14453 2010-07-01 Robert Millan <rmh@gnu.org>
14454
14455 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14456 Support 'p' as partition separator on kernel of FreeBSD (used
14457 with GPT labels).
14458 (grub_util_biosdisk_get_grub_dev): Likewise.
14459
14460 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 Yeeloong firmware port.
14463
14464 * boot/mips/yeeloong/fwstart.S: New file.
14465 * bus/cs5536.c (gpiodump): New const.
14466 (set_io_space): New function.
14467 (set_iod): Likewise.
14468 (set_p2d): Likewise.
14469 (grub_cs5536_init_geode): Likewise.
14470 * commands/mips/yeeloong/lsspd.c: New file.
14471 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14472 (serial_mod_SOURCES): New variable.
14473 (serial_mod_CFLAGS): Likewise.
14474 (serial_mod_LDFLAGS): Likewise.
14475 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14476 term/terminfo.c and term/tparm.c.
14477 (pkglib_IMAGES): Add fwstart.img.
14478 (fwstart_img_SOURCES): New variable.
14479 (fwstart_img_CFLAGS): Likewise.
14480 (fwstart_img_ASFLAGS): Likewise.
14481 (fwstart_img_LDFLAGS): Likewise.
14482 (fwstart_img_FORMAT): Likewise.
14483 (pkglib_MODULES): Add lsspd.mod.
14484 (lsspd_mod_SOURCES): New variable.
14485 (lsspd_mod_CFLAGS): Likewise.
14486 (lsspd_mod_LDFLAGS): Likewise.
14487 (pkglib_MODULES): Add halt.mod.
14488 (halt_mod_SOURCES): New variable.
14489 (halt_mod_CFLAGS): Likewise.
14490 (halt_mod_LDFLAGS): Likewise.
14491 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14492 (serial_mod_SOURCES): Removed.
14493 (serial_mod_CFLAGS): Likewise.
14494 (serial_mod_LDFLAGS): Likewise.
14495 * disk/ata.c (check_device): New function.
14496 (grub_ata_device_initialize): Use check_device.
14497 (grub_ata_iterate): Recheck devices.
14498 (grub_ata_open): Likewise.
14499 (grub_atapi_iterate): Likewise.
14500 (grub_atapi_open): Likewise.
14501 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14502 (GRUB_ATA_CH1_PORT1): Likewise.
14503 (GRUB_ATA_CH0_PORT2): Likewise.
14504 (GRUB_ATA_CH1_PORT2): Likewise.
14505 * include/grub/mips/loongson.h: New file.
14506 * include/grub/mips/yeeloong/ec.h: Likewise.
14507 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14508 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14509 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14510 * include/grub/misc.h (grub_halt): Declare as noreturn.
14511 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14512 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14513 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14514 (UART_ENABLE_DTRRTS): Likewise.
14515 (UART_ENABLE_MODEM): Removed.
14516 (UART_ENABLE_OUT2): New const.
14517 * include/grub/term.h (grub_term_register_input_active): New function.
14518 (grub_term_register_output_active): Likewise.
14519 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14520 argument.
14521 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14522 (init_pci): New function.
14523 (grub_machine_init): Execute platform init when firmware. Init serial.
14524 (grub_halt): Implement.
14525 (grub_exit): Likewise.
14526 (grub_reboot): Likewise.
14527 * term/serial.c (serial_hw_init): Update macros.
14528 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14529 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14530 (image_targets): New target mipsel-yeeloong-flash.
14531 (generate_image): Support IMAGE_YEELOONG_FLASH.
14532 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14533 (grub_video_sm712_setup): Init card.
14534 (grub_video_sm712_set_palette): Removed.
14535 * video/sm712_init.c: New file.
14536
14537 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
14538
14539 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14540 PATH when running help2man and then run it on the unadorned
14541 executable names, rather than passing $(builddir)/* paths to
14542 help2man. This avoids the build directory ending up in generated
14543 manual pages.
14544
14545 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14546
14547 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14548 to avoid accidents when debugging with 'sh -x'.
14549 * util/grub-mkrescue.in: Likewise.
14550 * util/grub.d/00_header.in: Likewise.
14551 * util/grub.d/10_hurd.in: Likewise.
14552 * util/grub.d/10_kfreebsd.in: Likewise.
14553 * util/grub.d/10_linux.in: Likewise.
14554 * util/grub.d/10_netbsd.in: Likewise.
14555 * util/grub.d/10_windows.in: Likewise.
14556 * util/grub.d/20_linux_xen.in: Likewise.
14557 * util/grub.d/30_os-prober.in: Likewise.
14558 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14559
14560 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14561
14562 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14563 last character in the buffer.
14564 Reported by: Vladimir Serbinenko.
14565
14566 2010-06-29 Robert Millan <rmh@gnu.org>
14567
14568 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14569 (Command-line and menu entry commands): Document `badram' command.
14570
14571 2010-06-28 Robert Millan <rmh@gnu.org>
14572
14573 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14574 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14575 command using ${GRUB_BADRAM} as parameter.
14576
14577 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14578
14579 * docs/grub.texi (Device map): New section.
14580 (Themes): New section (stub).
14581 * Makefile.in (docs/grub.info): The info documentation now builds
14582 without errors. Make sure it stays that way.
14583
14584 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 Use normal parser for menu entries.
14587 Reported by: Thomas Frauendorfer
14588
14589 * include/grub/parser.h (grub_parser_execute): Don't export.
14590 * normal/menu.c (grub_menu_execute_entry_real): New function.
14591 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14592
14593 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14594
14595 * docs/grub.texi (Embedded configuration): New section (replacing
14596 old "Preset Menu" stub).
14597 (Images): New section.
14598 (configfile): Note that any menu entries defined in `file' are shown
14599 immediately.
14600
14601 2010-06-28 Josh Triplett <josh@joshtriplett.org>
14602
14603 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14604
14605 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14606
14607 * util/grub-install.in: Add --debug-image= option.
14608
14609 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14610
14611 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14612 possible on Linux.
14613
14614 * util/deviceiter.c (check_device): Rename to ...
14615 (check_device_readable_unique): ... this. Update all callers.
14616 Maintain and check a list of which devices (by canonicalized name)
14617 have already been seen.
14618 (clear_seen_devices): New function.
14619 (compare_file_names) [__linux__]: New function.
14620 (grub_util_iterate_devices): Clear the list of seen devices on exit
14621 and (just in case) on entry.
14622 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14623 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14624 seen-devices list, superseded by general code in check_device.
14625
14626 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14627
14628 * commands/cat.c (options): New variable.
14629 (grub_cmd_cat): Parse options. If the --dos option is given, print
14630 DOS-style "\r\n" line endings as simple newlines (Debian bug
14631 #586358).
14632 (GRUB_MOD_INIT): Use extcmd.
14633 (GRUB_MOD_FINI): Likewise.
14634 * docs/grub.texi (cat): Document --dos.
14635
14636 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14637
14638 XEN with Linux grub-mkconfig support.
14639
14640 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14641 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14642 GRUB_CMDLINE_XEN_DEFAULT.
14643 * util/grub.d/20_linux_xen.in: New file.
14644
14645 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14646
14647 Initialise VGA video on qemu ourselves.
14648
14649 * boot/i386/qemu/boot.S: Don't call 0xc000.
14650 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14651 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14652 (kernel_img_HEADERS): Add pci.h.
14653 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14654 * configure.ac: Force unifont on qemu and yeeloong.
14655 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14656 (grub_vga_palette_write): Use correct register.
14657 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14658 Call grub_qemu_init_cirrus.
14659 * kern/i386/qemu/init.c: New file.
14660 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14661
14662 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14663
14664 2010-06-26 Pavel Roskin <proski@gnu.org>
14665
14666 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14667 13.
14668
14669 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14670
14671 * docs/grub.texi (Simple configuration): Explain that
14672 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14673 set to `true' to disable their respective recovery entries, not
14674 merely set.
14675
14676 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14677
14678 Make the `source' command slightly faster.
14679
14680 * normal/main.c (grub_normal_execute): Don't re-read list files when
14681 nested.
14682
14683 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14684
14685 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14686 field position and mask size to red fields from mode_info, not
14687 green.
14688 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14689 Remove redundant tag->common.framebuffer_type assignment.
14690 Reported by: Seth Goldberg.
14691
14692 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14693
14694 Sync up other versions of the Linux loader with Robert Millan's
14695 change of 2010-01-09, "Make loader output a bit more user-friendly".
14696
14697 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14698 grub_dprintf().
14699 (grub_cmd_linux): Likewise.
14700 (grub_cmd_initrd): Likewise.
14701 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14702 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14703
14704 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
14705
14706 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14707 larger than MEMORY_MAP_SIZE.
14708
14709 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14710
14711 Fix parallel build.
14712
14713 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14714 dependency.
14715 * script/parser.y: #include grub_script.tab.h header.
14716
14717 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14718
14719 Support >3GiB and <16MiB RAM in i386-qemu.
14720
14721 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14722 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14723 (grub_lower_mem): Removed.
14724 (grub_upper_mem): Likewise.
14725 (mem_size): Made static.
14726 (above_4g): New variable.
14727 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14728 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14729 support.
14730
14731 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 Cirrus 5446 and Bochs video cards support.
14734
14735 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14736 video_bochs.mod
14737 (video_cirrus_mod_SOURCES): New variable.
14738 (video_cirrus_mod_CFLAGS): Likewise.
14739 (video_cirrus_mod_LDFLAGS): Likewise.
14740 (video_bochs_mod_SOURCES): Likewise.
14741 (video_bochs_mod_CFLAGS): Likewise.
14742 (video_bochs_mod_LDFLAGS): Likewise.
14743 * include/grub/vga.h: New file.
14744 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14745 (grub_video_fb_set_page_t): New type.
14746 (grub_video_fb_setup): New prototype.
14747 (grub_video_fb_swap_buffers): Likewise.
14748 (grub_video_fb_get_info_and_fini): Likewise.
14749 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14750 (CRTC_DATA_PORT): Likewise.
14751 (CRTC_CURSOR): Likewise.
14752 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14753 (CRTC_CURSOR_ADDR_LOW): Likewise.
14754 (CRTC_CURSOR_DISABLE): Likewise.
14755 (update_cursor): Use grub_vga_cr_write.
14756 (grub_vga_text_setcursor): Likewise.
14757 * video/bochs.c: New file.
14758 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14759 (palette): Likewise.
14760 (palette_size): Likewise.
14761 (framebuffer): New variable.
14762 (grub_video_fb_init): Use 'framebuffer'.
14763 (grub_video_fb_fini): Likewise.
14764 (grub_video_fb_get_info): Likewise.
14765 (grub_video_fb_get_palette): Likewise.
14766 (grub_video_fb_set_palette): Likewise.
14767 (grub_video_fb_set_viewport): Likewise.
14768 (grub_video_fb_get_viewport): Likewise.
14769 (grub_video_fb_map_color): Likewise.
14770 (grub_video_fb_map_rgb): Likewise.
14771 (grub_video_fb_map_rgba): Likewise.
14772 (grub_video_fb_unmap_color): Likewise.
14773 (grub_video_fb_unmap_color_int): Likewise.
14774 (grub_video_fb_fill_rect): Likewise.
14775 (grub_video_fb_blit_bitmap): Likewise.
14776 (grub_video_fb_blit_render_target): Likewise.
14777 (grub_video_fb_scroll): Likewise.
14778 (grub_video_fb_create_render_target): Likewise.
14779 (grub_video_fb_doublebuf_blit_init): Likewise.
14780 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14781 (doublebuf_pageflipping_update_screen): New function.
14782 (doublebuf_pageflipping_init): Likewise.
14783 (grub_video_fb_setup): Likewise.
14784 (grub_video_fb_swap_buffers): Likewise.
14785 (grub_video_fb_get_info_and_fini): Likewise.
14786 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14787 All users updated.
14788 (doublebuf_pageflipping_commit): Restructured into ...
14789 (doublebuf_pageflipping_set_page): ... this.
14790 (doublebuf_pageflipping_update_screen): Removed.
14791 (doublebuf_pageflipping_init): Likewise.
14792 (double_buffering_init): Likewise.
14793 (grub_video_vbe_setup): Use grub_video_fb_setup.
14794 (grub_video_vbe_swap_buffers): Removed.
14795 (grub_video_vbe_set_active_render_target): Likewise.
14796 (grub_video_vbe_get_active_render_target): Likewise.
14797 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14798 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14799 grub_video_fb_set_active_render_target and
14800 grub_video_fb_get_active_render_target.
14801 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14802 (SEQUENCER_DATA_PORT): Likewise.
14803 (MAP_MASK_REGISTER): Likewise.
14804 (CRTC_ADDR_PORT): Likewise.
14805 (CRTC_DATA_PORT): Likewise.
14806 (START_ADDR_HIGH_REGISTER): Likewise.
14807 (START_ADDR_LOW_REGISTER): Likewise.
14808 (GRAPHICS_ADDR_PORT): Likewise.
14809 (GRAPHICS_DATA_PORT): Likewise.
14810 (READ_MAP_REGISTER): Likewise.
14811 (INPUT_STATUS1_REGISTER): Likewise.
14812 (INPUT_STATUS1_VERTR_BIT): Likewise.
14813 (get_map_mask): Use grub_vga_sr_read.
14814 (set_map_mask): Use grub_vga_sr_write.
14815 (set_read_map): Use grub_vga_gr_write.
14816 (set_start_address): Use grub_vga_cr_write.
14817 * video/sm712.c (framebuffer): Remove leftover fields.
14818
14819 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
14820
14821 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14822 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14823 instead. Replace the gfxterm backend check with a check that
14824 ${GRUB_PREFIX}/video.lst is non-empty.
14825 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14826 again.
14827 (load_video): New generated function. Call it before loading
14828 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14829 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14830 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14831 * docs/grub.texi (Simple configuration): Document
14832 GRUB_VIDEO_BACKEND.
14833
14834 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 Use video functions in linux and xnu loaders.
14837
14838 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14839 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14840 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14841 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14842 loader/i386/pc/linux.c.
14843 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14844 (find_line_len): Removed.
14845 (find_framebuf): Likewise.
14846 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14847 * loader/i386/efi/xnu.c: Removed.
14848 * loader/i386/pc/xnu.c: Moved from here...
14849 * loader/i386/xnu.c: ...here.
14850
14851 Enable priorities in video drivers.
14852
14853 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14854 (grub_video_adapter): New field prio.
14855 (grub_video_register): Respect prio when inserting.
14856 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14857 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14858 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14859 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14860 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14861 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14862 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14863
14864 Fix SDL driver ID.
14865
14866 * include/grub/video.h (grub_video_driver_id_t): New value
14867 GRUB_VIDEO_DRIVER_SDL.
14868 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14869
14870 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14871
14872 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14873 argument to printf.
14874 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14875
14876 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14877
14878 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14879 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14880
14881 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14882
14883 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14884 directly, and recommend grub-install instead.
14885 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14886
14887 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14888
14889 Fix i386-pc prefix handling with nested partitions (Debian bug
14890 #585068). Note that the case where the core image is booted using
14891 multiboot and relocated from its original location still requires
14892 more work.
14893
14894 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14895 with "(,", fill the boot drive in between those two characters, but
14896 expect that a full partition specification including partition map
14897 names will follow.
14898 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14899 specified, write a prefix without the drive name but including a
14900 full partition specification.
14901
14902 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
14903
14904 * util/grub-mkconfig.in: Ignore non-option arguments, for
14905 compatibility with older versions (before 2010-06-12) which did the
14906 same. In particular, this makes it easier to ship an update-grub
14907 wrapper which is compatible with that used with GRUB Legacy (Debian
14908 bug #586056).
14909
14910 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14911
14912 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14913 for manual page generation.
14914
14915 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14916
14917 * po/POTFILES: Remove leftover commands/handler.c.
14918
14919 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14920
14921 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14922 left this script non-functional.
14923
14924 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14925
14926 * docs/man/grub-emu.h2m: New file.
14927
14928 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
14929
14930 * docs/grub.texi (Commands): Document reduced command set in rescue
14931 mode.
14932 (cpuid): New section.
14933
14934 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14935
14936 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14937 new partition naming style.
14938 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14939
14940 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14941
14942 Add "-o grub.iso" like cmdline options support.
14943
14944 * util/grub-install.in: Improve cmdline option parsing.
14945 * util/grub-mkconfig.in: Likewise.
14946 * util/grub-mkrescue.in: Likewise.
14947 * util/grub-reboot.in: Likewise.
14948 * util/grub-set-default.in: Likewise.
14949 * util/i386/efi/grub-install.in: Likewise.
14950 * util/ieee1275/grub-install.in: Likewise.
14951 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14952
14953 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14954
14955 * .bzrignore: Ignore 41_custom.
14956
14957 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14958
14959 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14960
14961 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14962
14963 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14964 prototype declarations.
14965
14966 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14967 generating fs, partmap, and video lists.
14968 * include/grub/fs.h (grub_fs_register): Omit prototype if
14969 GRUB_LST_GENERATOR is defined.
14970 * include/grub/partition.h (grub_partition_map_register): Likewise.
14971 * include/grub/video.h (grub_video_register): Likewise.
14972
14973 2010-06-12 Javier Martín <lordhabbit@gmail.com>
14974
14975 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14976
14977 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14978
14979 * util/grub-mkrescue.in: Support --xorriso argument.
14980
14981 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
14984 Suggested by: Thomas Schmitt.
14985
14986 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14987
14988 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
14989 Suggested by: Thomas Schmitt.
14990
14991 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14992
14993 custom.cfg support.
14994
14995 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
14996 * util/grub.d/41_custom.in: New file.
14997
14998 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14999
15000 * util/grub-mkrescue.in (make_image): Remove sh module, which has
15001 been merged back into normal.
15002
15003 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
15004
15005 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
15006 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
15007
15008 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
15009
15010 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
15011 when generating manual pages.
15012 * docs/man/grub-bin2h.h2m: New file.
15013 * docs/man/grub-editenv.h2m: New file.
15014 * docs/man/grub-fstest.h2m: New file.
15015 * docs/man/grub-install.h2m: New file.
15016 * docs/man/grub-macho2img.h2m: New file.
15017 * docs/man/grub-mkconfig.h2m: New file.
15018 * docs/man/grub-mkdevicemap.h2m: New file.
15019 * docs/man/grub-mkfont.h2m: New file.
15020 * docs/man/grub-mkimage.h2m: New file.
15021 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
15022 * docs/man/grub-mkrelpath.h2m: New file.
15023 * docs/man/grub-mkrescue.h2m: New file.
15024 * docs/man/grub-ofpathname.h2m: New file.
15025 * docs/man/grub-pe2elf.h2m: New file.
15026 * docs/man/grub-probe.h2m: New file.
15027 * docs/man/grub-reboot.h2m: New file.
15028 * docs/man/grub-script-check.h2m: New file.
15029 * docs/man/grub-set-default.h2m: New file.
15030 * docs/man/grub-setup.h2m: New file.
15031
15032 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 Use FOR_* macros instead of *_iterate whenever possible.
15035
15036 * commands/handler.c: Removed.
15037 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
15038 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
15039 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15040 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
15041 (grub_probe_SOURCES): Remove kern/parser.c.
15042 (util/grub-script-check.c_DEPENDENCIES): Removed.
15043 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
15044 and grub_script_check_init.c.
15045 (grub_script_check_init.lst): Removed.
15046 (grub_script_check_init.h): Likewise.
15047 (grub_script_check_init.c): Likewise.
15048 (pkglib_MODULES): Remove handler.mod and sh.mod.
15049 (handler_mod_SOURCES): Removed.
15050 (handler_mod_CFLAGS): Likewise.
15051 (handler_mod_LDFLAGS): Likewise.
15052 (normal_mod_SOURCES): Remove normal/handler.c.
15053 Add script/main.c, script/script.c, script/execute.c,
15054 script/function.c, script/lexer.c, grub_script.tab.c
15055 and grub_script.yy.c.
15056 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15057 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15058 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
15059 (grub_setup_SOURCES): Remove kern/parser.c.
15060 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15061 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
15062 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
15063 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15064 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
15065 (grub_setup_SOURCES): Remove kern/parser.c.
15066 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
15067 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
15068 * include/grub/command.h (grub_command_iterate): Removed.
15069 (FOR_COMMANDS): New macro.
15070 * include/grub/dl.h (grub_dl): New member next.
15071 (grub_dl_iterate): Removed.
15072 (grub_dl_head): New variable declaration.
15073 (FOR_DL_MODULES): New macro.
15074 * include/grub/fs.h: Include list.h.
15075 (grub_fs): Make next first element.
15076 (grub_fs_list): New variable declaration.
15077 (grub_fs_register): Make inline.
15078 (grub_fs_unregister): Likewise.
15079 (grub_fs_iterate): Removed.
15080 (FOR_FILESYSTEMS): New macro.
15081 * include/grub/handler.h: Removed.
15082 * include/grub/list.h (grub_list_hook_t): Removed.
15083 (grub_list_test_t): Likewise.
15084 (grub_list_pop): Likewise.
15085 (grub_list_iterate): Likewise.
15086 (grub_list_insert): Likewise.
15087 (FOR_LIST_ELEMENTS): New macro.
15088 * include/grub/parser.h (grub_parser_class): Removed.
15089 (grub_parser_register): Likewise.
15090 (grub_parser_unregister): Likewise.
15091 (grub_parser_get_current): Likewise.
15092 (grub_parser_set_current): Likewise.
15093 (grub_register_rescue_parser): Likewise.
15094 (grub_rescue_parse_line): New function.
15095 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15096 * include/grub/script_sh.h (grub_script_function_list): New variable
15097 declaration.
15098 (FOR_SCRIPT_FUNCTIONS): New macro.
15099 (grub_script_function_iterate): Removed.
15100 (grub_normal_parse_line): New prototype.
15101 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15102 (FOR_DISABLED_TERM_INPUTS): Likewise.
15103 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15104 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15105 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15106 element.
15107 (grub_video_register): Inline.
15108 (grub_video_unregister): Likewise.
15109 (grub_video_adapter_list): New variable declaration.
15110 (grub_video_iterate): Removed.
15111 (FOR_VIDEO_ADAPTERS): New macro.
15112 * kern/dl.c (grub_dl_list): Removed. All users updated.
15113 (grub_dl_iterate): Removed.
15114 * kern/fs.c (grub_fs_list): Make global.
15115 (grub_fs_register): Removed.
15116 (grub_fs_unregister): Likewise.
15117 (grub_fs_iterate): Likewise.
15118 * kern/handler.c: Removed.
15119 * kern/list.c (grub_list_pop): Removed.
15120 (grub_list_iterate): Likewise.
15121 (grub_list_insert): Likewise.
15122 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15123 (grub_prio_list_insert): Don't use grub_list_insert.
15124 * kern/main.c (grub_register_rescue_parser): Don't call
15125 grub_register_rescue_parser.
15126 * kern/parser.c (grub_parser_class): Removed.
15127 (grub_parser_execute): Use grub_rescue_parse_line.
15128 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15129 (grub_rescue_parser): Removed.
15130 (grub_register_rescue_parser): Likewise.
15131 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15132 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15133 (grub_auth_check_authentication): Likewise.
15134 * normal/completion.c (iterate_command): Removed.
15135 (grub_normal_do_completion): Use FOR_COMMANDS.
15136 * normal/handler.c: Removed.
15137 * normal/main.c (read_config_file): Remove parser changing.
15138 (grub_normal_execute): Don't call read_handler_list.
15139 (grub_normal_read_line_real): Statically allocate prompt.
15140 (grub_cmdline_run): Use grub_normal_parse_line.
15141 (GRUB_MOD_FINI): Don't call free_handler_list.
15142 * normal/menu_entry.c (run): Likewise.
15143 * script/function.c (grub_script_function_list): Make global.
15144 (grub_script_function_iterate): Removed.
15145 * script/main.c (grub_normal_parse_line): Make global.
15146 (grub_sh_parser): Removed.
15147 (GRUB_MOD_INIT): Likewise.
15148 (GRUB_MOD_FINI): Likewise.
15149 * tests/lib/functional_test.c (grub_functional_test): Use
15150 FOR_LIST_ELEMENTS.
15151 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15152 (grub_test_run): Use FOR_LIST_ELEMENTS.
15153 * tests/lib/unit_test.c (main): Likewise.
15154 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15155 grub_list_pop.
15156 * util/grub-fstest.c (grub_term_input_class): Removed.
15157 (grub_term_output_class): Likewise.
15158 * util/grub-probe.c: Likewise.
15159 * util/i386/pc/grub-setup.c: Likewise.
15160 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15161 * util/grub-script-check.c (main): Don't call grub_init_all and
15162 grub_fini_all.
15163 * video/video.c (grub_video_adapter_list): Make global.
15164 (grub_video_register): Removed.
15165 (grub_video_unregister): Likewise.
15166 (grub_video_iterate): Likewise.
15167
15168 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15171 reported by Henrique Ferreiro.
15172
15173 2010-06-09 Robert Millan <rmh@gnu.org>
15174
15175 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15176 ones, when both are available.
15177
15178 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15179
15180 Make --version uniform and avoid hard-coded program name.
15181
15182 * util/grub-mkimage.c (main): Use `program_name' instead of
15183 hard-coded string.
15184 * util/i386/pc/grub-setup.c (main): Likewise.
15185 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15186 * util/grub-install.in: Save the basename of $0 in $self, and use the
15187 latter in informational messages. Use the same format for --version
15188 as the binary programs.
15189 * util/grub-mkconfig.in: Likewise.
15190 * util/grub-mkrescue.in: Likewise.
15191 * util/grub-reboot.in: Likewise.
15192 * util/grub-set-default.in: Likewise.
15193 * util/i386/efi/grub-install.in: Likewise.
15194 * util/ieee1275/grub-install.in: Likewise.
15195 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15196
15197 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15198
15199 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15200 embedding area. Use <= instead of == when checking for non-emptiness.
15201
15202 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15203
15204 * configure.ac: Add `.' to the directories searched for unifont.
15205
15206 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15207
15208 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15209 grub_script.yy.h.
15210
15211 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15212
15213 * docs/grub.texi (History): Expand to cover GRUB 2.
15214 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15215 commands, not `terminal'.
15216 (serial): Likewise.
15217 (terminal_input): New section.
15218 (terminal_output): New section.
15219 (uppermem): New section (stub).
15220 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15221
15222 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15223
15224 * docs/grub.texi (Security): Menu entries are unrestricted by
15225 default, not restricted to superusers as I had previously thought.
15226 Reword to account for this.
15227
15228 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15229
15230 * kern/emu/misc.c (device_mapper_null_log): New function.
15231 (grub_device_mapper_supported): New function.
15232 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15233 prototype.
15234 * kern/emu/hostdisk.c (find_partition_start): Check whether
15235 device-mapper is supported before trying to use it.
15236 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15237
15238 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15239
15240 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15241 (File name syntax): Likewise.
15242 (help): --all is no longer supported in GRUB 2. Be more precise
15243 about pattern matching.
15244
15245 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15246
15247 * normal/completion.c (grub_normal_do_completion): When completing
15248 arguments to "set" and the current word contains an equals sign,
15249 skip to after the equals sign before starting completion.
15250
15251 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15252
15253 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15254
15255 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15256
15257 * docs/grub.texi (Network): New section.
15258 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15259 `(nd)' as in GRUB Legacy.
15260 (pxe_unload): New section.
15261
15262 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15263
15264 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15265 in the rescue shell, so recommend using `set' instead. Thanks,
15266 Jordan Uggla.
15267
15268 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15269
15270 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15271 (password): New section.
15272 (password_pbkdf2): New section.
15273 (search): New section.
15274 (Security): New section.
15275 (Troubleshooting): New section, currently very incomplete.
15276 (Invoking grub-mkpasswd-pbkdf2): New section.
15277 (Internals): New section, currently very incomplete.
15278
15279 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15280
15281 * util/grub.d/00_header.in: Add some more quoting (of
15282 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15283 work again.
15284 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15285
15286 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15287
15288 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15289 to `count', fixing variable shadowing that broke the -c option.
15290
15291 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
15292
15293 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15294 in case they contain spaces.
15295
15296 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
15297
15298 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15299 "part_" to partmap module names, in line with grub-install.
15300 Reported by: Jindřich Makovička (Debian bug #584426).
15301
15302 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
15303
15304 * util/grub-mkimage.c: Make target-related error messages slightly
15305 more helpful; -O talks about "format". Explicitly point to the use
15306 of -O if no target is specified.
15307 Reported by: Didier Raboud (Debian bug #584415).
15308
15309 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
15310
15311 * INSTALL: Document several build requirements for optional features
15312 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15313
15314 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15315
15316 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15317 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15318 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15319
15320 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15321
15322 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15323 Thanks to Jordan Uggla for spotting this.
15324
15325 2010-06-02 Aleš Nesrsta <starous@volny.cz>
15326
15327 Finally make USB usable.
15328
15329 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15330 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15331 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15332 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15333 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15334 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15335 (GRUB_OHCI_FSMPS): Likewise.
15336 (GRUB_OHCI_PERIODIC_START): Likewise.
15337 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15338 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15339 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15340 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15341 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15342 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15343 (grub_ohci_transaction): Likewise.
15344 (grub_ohci_transfer): Improve condition detection algorithms.
15345 Handle toggle property. Program the transactions correctly.
15346 Improve error handling. Various important fixups.
15347 (grub_ohci_portstatus): Put register writes in right order.
15348 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15349 (grub_uhci_transfer): Don't show "failed" message on success.
15350 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15351 array.
15352 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15353 determine its size.
15354 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15355 before initialization is completed. Use IN direction for empty
15356 transfers. Use last_trans and compute toggle.
15357 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15358 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15359 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15360 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15361 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15362 (grub_usb_device): Increase toggle to 256.
15363 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15364 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15365 GRUB_USBMS_SUBCLASS_SFF8070.
15366 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15367 (grub_scsi_inquiry): New member page and alloc_length.
15368 (grub_scsi_request_sense): New structure.
15369 (grub_scsi_request_sense_data): Likewise.
15370 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15371 control.
15372 * disk/scsi.c (grub_scsi_request_sense): New function.
15373 (grub_scsi_test_unit_ready): Likewise.
15374 (grub_scsi_inquiry): Fill new fields.
15375 (grub_scsi_read_capacity): Likewise.
15376 (grub_scsi_read10): Add request sense at the end.
15377 (grub_scsi_read12): Likewise.
15378 (grub_scsi_write10): Likewise.
15379 (grub_scsi_write12): Likewise.
15380 (grub_scsi_open): Add Test Unit Ready.
15381 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15382 Support additional subclasses. Con't clear halt yet. Activate the
15383 proper config. Calculate LUNs correctly.
15384 (grub_usbms_transfer): Various important fixups.
15385
15386 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15387
15388 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15389 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15390 (grub_ohci_fini_hw): New function.
15391 (grub_ohci_restore_hw): Likewise.
15392 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15393 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15394 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15395
15396 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15397
15398 Dedicated DMA allocations.
15399
15400 * bus/pci.c (grub_memalign_dma32): New function
15401 (grub_dma_free): Likewise.
15402 (grub_dma_get_virt): Likewise.
15403 (grub_dma_get_phys): Likewise.
15404 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15405 (grub_ohci_pci_iter): Use dma32_alloc.
15406 (grub_ohci_transfer): Likewise.
15407 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15408 (grub_usb_bulk_readwrite): Likewise.
15409 * include/grub/pci.h: Add declarations.
15410
15411 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 CS5536 support.
15414
15415 * bus/cs5536.c: New file.
15416 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15417 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15418 (cs5536_mod_SOURCES): New variable.
15419 (cs5536_mod_CFLAGS): Likewise.
15420 (cs5536_mod_LDFLAGS): Likewise.
15421 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15422 machine/pci.h.
15423 (kernel_img_SOURCES): Add bus/cs5536.c.
15424 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15425 usb_keyboard.mod.
15426 (usb_mod_SOURCES): New variable.
15427 (usb_mod_CFLAGS): New variable.
15428 (usb_mod_LDFLAGS): New variable.
15429 (usbtest_mod_SOURCES): New variable.
15430 (usbtest_mod_CFLAGS): New variable.
15431 (usbtest_mod_LDFLAGS): New variable.
15432 (ohci_mod_SOURCES): New variable.
15433 (ohci_mod_CFLAGS): New variable.
15434 (ohci_mod_LDFLAGS): New variable.
15435 (usbms_mod_SOURCES): New variable.
15436 (usbms_mod_CFLAGS): New variable.
15437 (usbms_mod_LDFLAGS): New variable.
15438 (usb_keyboard_mod_SOURCES): New variable.
15439 (usb_keyboard_mod_CFLAGS): New variable.
15440 (usb_keyboard_mod_LDFLAGS): New variable.
15441 * include/grub/smbus.h: New file.
15442 * include/grub/cs5536.h: New file.
15443
15444 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * util/grub.d/00_header.in: Add safety check to make sure that
15447 ${locale_dir} exists before trying to probe it.
15448
15449 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15450
15451 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15452 per the GNU Coding Standards; this is now too obscure to be worth
15453 documenting.
15454 (QNX): Likewise.
15455 (chainloader): Remove cross-reference to `SCO UnixWare'.
15456
15457 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15458
15459 * docs/grub.texi (Chain-loading): New section.
15460 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15461 adjusted for GRUB 2.
15462 (SCO UnixWare): Likewise.
15463 (QNX): Likewise.
15464 (chainloader): Add reference to `Block list syntax'.
15465 (drivemap): New section.
15466 (parttool): New section.
15467
15468 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15469
15470 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15471 the grub shell'.
15472 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15473 (Installing GRUB using grub-install): Remove reference to the grub
15474 shell; mention `grub-mkimage' and `grub-setup' instead.
15475 (Invoking grub-install): Likewise.
15476 (Interface): Add reference to `Menu entry editor'.
15477 (serial): Remove `--device' option.
15478
15479 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15480
15481 * docs/grub.texi (Configuration): New section, documenting
15482 configuration file generation using grub-mkconfig. I've left a slot
15483 for documenting the full shell scripting format but have not yet
15484 started on writing that up.
15485 (Invoking grub-mkconfig): New section.
15486
15487 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15488
15489 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15490 (GNU GRUB manual): Likewise.
15491 (General commands): Update description of `terminfo' for GRUB 2.
15492
15493 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15494
15495 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15496 (GRUB_MOD_INIT): Fix capitalisation.
15497 * docs/grub.texi (Command-line and menu entry commands): Document
15498 gettext and gptsync commands.
15499
15500 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15501
15502 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15503 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15504
15505 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
15506
15507 Add btrfs probing support, currently only in the single-device case.
15508
15509 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15510 function.
15511 (grub_guess_root_device): Call find_root_device_from_mountinfo
15512 before looking in /dev.
15513
15514 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15515
15516 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15517 GRUB_DISK_SIZE_UNKNOWN.
15518 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15519
15520 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
15521
15522 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15523 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15524 corrupted or not synced properly.
15525
15526 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15527
15528 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15529 Reported by: Seth Goldberg.
15530
15531 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15534 addition of dest.
15535 Reported by: Seth Goldberg.
15536
15537 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15540 Reported by: Seth Goldberg.
15541
15542 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15545 64-bit address as signed on MIPS.
15546
15547 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15548
15549 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15550 to the empty string.
15551
15552 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15553
15554 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15555
15556 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15557 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15558 * kern/misc.c (__enable_execute_stack): Disable on
15559 GRUB_MACHINE_EMU.
15560
15561 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15562
15563 Make grub-probe work with symbolic links under /dev/mapper as well
15564 as with real block devices. The Linux world seems to be (at best)
15565 in transition here, and GRUB shouldn't get caught in the middle.
15566
15567 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15568 /dev/mapper.
15569
15570 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15571
15572 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15573 input files (in which case exit zero).
15574
15575 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15576
15577 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15578 return NULL for various reasons even if it has a maximum-length
15579 buffer: for example, there might be a symlink loop, or the path
15580 might exceed PATH_MAX. If this happens, return NULL.
15581
15582 2010-05-27 Robert Millan <rmh@gnu.org>
15583
15584 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15585 partmap module to handle cross-partmap setups.
15586 Reported by Orestes Mas. Gràcies!
15587
15588 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15589
15590 * util/grub-mkrescue.in: Initialise override_dir rather than
15591 assuming that it's unset or empty in the environment.
15592
15593 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15594
15595 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15596 variable index into p_index to suppress a warning with -Wshadow.
15597
15598 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15599
15600 * INSTALL: Added flex >= 2.5.35 requirement.
15601
15602 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15603
15604 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15605
15606 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 cmostest support.
15609
15610 * commands/i386/cmostest.c: New file.
15611 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15612 (cmostest_mod_SOURCES): New variable.
15613 (cmostest_mod_CFLAGS): Likewise.
15614 (cmostest_mod_LDFLAGS): Likewise.
15615 * conf/i386-pc.rmk: Likewise.
15616 * docs/grub.texi (Vendor power-on keys): New section.
15617 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15618 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15619 and GRUB_BUTTON_CMOS_ADDRESS.
15620 * util/grub.d/00_header.in: Handle powering-on by separate button.
15621
15622 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15625 Removed drawing_scrollbar argument. All users updated
15626 Fixes #29792.
15627 Reported by Jo Shields
15628
15629 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15630
15631 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15632 buffer since gfxterm handles double repaint.
15633
15634 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15635
15636 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15637 * term/gfxterm.c (real_scroll): Likewise.
15638
15639 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15642 before calling BIOS.
15643
15644 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 * include/grub/i18n.h: Always enable grub_gettext.
15647
15648 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15649
15650 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15651 partition naming style.
15652
15653 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
15654
15655 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15656 not the first option.
15657
15658 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15659
15660 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15661
15662 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15663
15664 * util/misc.c: Move inclusion of <limits.h> to ...
15665 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15666
15667 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15668
15669 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15670 Fix merge error in NetBSD code.
15671 (find_partition_start) [__NetBSD__]: Likewise.
15672
15673 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15674
15675 Fix grub-mkrescue usage unit testing.
15676
15677 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15678
15679 2010-05-18 Christian Franke <franke@computer.org>
15680
15681 * util/grub.d/10_windows.in: Use path names instead of
15682 drive letters to prevent warning from Cygwin 1.7.
15683 Add drivemap command to menuentry if needed.
15684
15685 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15686
15687 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15688 gnumach and gnumach.gz.
15689
15690 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 * include/grub/i18n.h (gettext): Inline instead of using #define.
15693 (grub_gettext): Likewise.
15694 (_): Likewise.
15695
15696 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15699 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15700 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15701 (main): Add a slash after pkglibdirroot.
15702
15703 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * util/grub-install.in: Add missing "in" keyword.
15706
15707 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15710 Reported by: Seth Goldberg.
15711
15712 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15715
15716 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15717
15718 * configure.ac: Check for Linux device-mapper support.
15719
15720 * util/hostdisk.c (device_is_mapped): New function.
15721 (find_partition_start): New function, partly broken out from
15722 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15723 device-mapper support added.
15724 (linux_find_partition): Use find_partition_start.
15725 (convert_system_partition_to_system_disk): Add `st' argument.
15726 Support Linux /dev/mapper/* devices if device-mapper support is
15727 available; only DM-RAID devices are understood at present.
15728 (find_system_device): Add `st' argument. Pass it to
15729 convert_system_partition_to_system_disk.
15730 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15731 find_system_device and convert_system_partition_to_system_disk. Use
15732 find_partition_start.
15733
15734 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15735 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15736 * util/deviceiter.c [__linux__]: Define MINOR.
15737 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15738 * util/mkdevicemap.c (grub_putchar): New function.
15739 (grub_getkey): New function.
15740 (grub_refresh): New function.
15741 (main): Set debug=all if -v -v is used.
15742
15743 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15744
15745 Fix build with non-GNU libcs.
15746
15747 * util/misc.c (canonicalize_file_name): Move to ...
15748 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15749 grub_make_system_path_relative_to_its_root.
15750
15751 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15752
15753 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15754 we handle finding grub-mkimage. Default to finding grub-mkimage in
15755 ${bindir} with program_transform_name applied, and provide a
15756 --grub-mkimage option to override this.
15757
15758 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Remove grub-mkisofs.
15761
15762 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15763 (grub_mkisofs_SOURCES): Removed.
15764 (grub_mkisofs_CFLAGS): Removed.
15765 * util/mkisofs/defaults.h: Removed.
15766 * util/mkisofs/eltorito.c: Likewise.
15767 * util/mkisofs/exclude.h: Likewise.
15768 * util/mkisofs/hash.c: Likewise.
15769 * util/mkisofs/include/: Likewise.
15770 * util/mkisofs/include/fctldefs.h: Likewise.
15771 * util/mkisofs/include/mconfig.h: Likewise.
15772 * util/mkisofs/include/prototyp.h: Likewise.
15773 * util/mkisofs/include/statdefs.h: Likewise.
15774 * util/mkisofs/iso9660.h: Likewise.
15775 * util/mkisofs/joliet.c: Likewise.
15776 * util/mkisofs/match.c: Likewise.
15777 * util/mkisofs/match.h: Likewise.
15778 * util/mkisofs/mkisofs.c: Likewise.
15779 * util/mkisofs/mkisofs.h: Likewise.
15780 * util/mkisofs/msdos_partition.h: Likewise.
15781 * util/mkisofs/multi.c: Likewise.
15782 * util/mkisofs/name.c: Likewise.
15783 * util/mkisofs/rock.c: Likewise.
15784 * util/mkisofs/tree.c: Likewise.
15785 * util/mkisofs/write.c: Likewise.
15786
15787 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 Unify grub-mkimage accross platforms.
15790
15791 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15792 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15793 (grub_mkelfimage_SOURCES): Removed.
15794 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15795 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15796 (bin_UTILITIES): Add grub-mkimage.
15797 (grub_mkimage_SOURCES): New variable.
15798 (kernel_img_HEADERS): Remove machine/kernel.h.
15799 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15800 (pkglib_PROGRAMS): Add kernel.img.
15801 (kernel_img_HEADERS): Add machine/kernel.h.
15802 (kernel_img_FORMAT): Removed.
15803 (bin_UTILITIES): Remove grub-mkimage.
15804 (grub_mkimage_SOURCES): Removed.
15805 (grub_mkimage_CFLAGS): Likewise.
15806 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15807 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15808 (pkglib_PROGRAMS): Add kernel.img.
15809 (bin_UTILITIES): Remove grub-mkimage.
15810 (grub_mkimage_SOURCES): Removed.
15811 (grub_mkimage_CFLAGS): Likewise.
15812 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15813 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15814 (pkglib_PROGRAMS): Add kernel.img.
15815 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15816 (pkglib_PROGRAMS): Add kernel.img.
15817 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15818 (grub_mkimage_SOURCES): Removed.
15819 (grub_mkimage_CFLAGS): Likewise.
15820 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15821 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15822 (pkglib_PROGRAMS): Add kernel.img.
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/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15828 (grub_mkimage_SOURCES): Removed.
15829 (grub_mkimage_CFLAGS): Likewise.
15830 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15831 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15832 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15833 (grub_pe32_optional_header): ... this.
15834 (grub_pe64_optional_header): ... and this. All users updated.
15835 (GRUB_PE32_PE32_MAGIC): Split into ..
15836 (GRUB_PE32_PE32_MAGIC): .. this.
15837 (GRUB_PE32_PE64_MAGIC): .. and this.
15838 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15839 * include/grub/elf.h (PT_GNU_STACK): New definition.
15840 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15841 * include/grub/i386/efi/kernel.h: Likewise.
15842 * include/grub/i386/kernel.h: Likewise.
15843 * include/grub/i386/pc/kernel.h: Likewise.
15844 * include/grub/i386/qemu/boot.h: Likewise.
15845 * include/grub/mips/kernel.h: Likewise.
15846 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15847 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15848 * include/grub/powerpc/kernel.h: Likewise.
15849 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15850 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15851 * include/grub/sparc64/kernel.h: Likewise.
15852 * include/grub/x86_64/efi/kernel.h: Likewise.
15853 * include/grub/x86_64/kernel.h: Likewise.
15854 * include/grub/offsets.h: New file.
15855 * include/grub/kernel.h (grub_module_info): Split into ...
15856 (grub_module_info32): ... this.
15857 (grub_module_info64): ... and this.
15858 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15859 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15860 (grub_boot_blocklist): Moved from here ...
15861 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15862 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15863 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15864 * include/grub/types.h (grub_target_to_host16): Removed.
15865 (grub_target_to_host32): Likewise.
15866 (grub_target_to_host64): Likewise.
15867 (grub_host_to_target16): Likewise.
15868 (grub_host_to_target32): Likewise.
15869 (grub_host_to_target64): Likewise.
15870 (grub_host_to_target_addr): Likewise.
15871
15872 Support grub-mkrescue for efi, coreboot and qemu.
15873
15874 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15875 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15876 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15877 * util/grub-mkrawimage.c: Moved from here ...
15878 * util/grub-mkimage.c: ... here. All users updated.
15879 (ALIGN_ADDR): Use image_target.
15880 (TARGET_NO_FIELD): New const.
15881 (image_target_desc): New type.
15882 (image_targets): New array.
15883 (grub_target_to_host64): Use image_target.
15884 (grub_target_to_host32): Likewise.
15885 (grub_target_to_host16): Likewise.
15886 (grub_host_to_target64): Likewise.
15887 (grub_host_to_target32): Likewise.
15888 (grub_host_to_target16): Likewise.
15889 (grub_host_to_target_addr): Likewise.
15890 (generate_image): Handle multiimage.
15891 (main): Require -O parameter. All users updated.
15892 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15893 util/efi/grub-mkimage.c
15894 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15895 New option --rom-directory.
15896 Use xorriso.
15897 * util/i386/efi/grub-mkimage.c: Removed.
15898 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15899 (grub_target_to_host32): Likewise.
15900 (grub_target_to_host64): Likewise.
15901 (grub_host_to_target16): Likewise.
15902 (grub_host_to_target32): Likewise.
15903 (grub_host_to_target64): Likewise.
15904 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15905 (grub_target_to_host32): Likewise.
15906 (grub_target_to_host64): Likewise.
15907 (grub_host_to_target16): Likewise.
15908 (grub_host_to_target32): Likewise.
15909 (grub_host_to_target64): Likewise.
15910
15911 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15912
15913 Source tree is reorganized for emu build.
15914
15915 * include/grub/util/console.h: Move from here...
15916 * include/grub/emu/console.h: ...to here.
15917 * include/grub/util/getroot.h: Move from here...
15918 * include/grub/emu/getroot.h: ...to here.
15919 * include/grub/util/hostdisk.h: Move from here...
15920 * include/grub/emu/hostdisk.h: ...to here.
15921 * util/console.c: Move from here...
15922 * kern/emu/console.c: ...to here.
15923 * util/getroot.c: Move from here...
15924 * kern/emu/getroot.c: ...to here.
15925 * util/grub-emu.c: Move from here...
15926 * kern/emu/main.c: ...to here.
15927 * util/hostdisk.c: Move from here...
15928 * kern/emu/hostdisk.c: ...to here.
15929 * util/hostfs.c: Move from here...
15930 * kern/emu/hostfs.c: ...to here.
15931 * util/mm.c: Move from here...
15932 * kern/emu/mm.c: ...to here.
15933 * util/pci.c: Move from here...
15934 * bus/emu/pci.c: ...to here.
15935 * util/sdl.c: Move from here...
15936 * video/emu/sdl.c: ...to here.
15937 * util/time.c: Move from here...
15938 * kern/emu/time.c: ...to here.
15939 * util/usb.c: Move from here...
15940 * bus/usb/emu/usb.c: ...to here.
15941
15942 * include/grub/emu/misc.h: New header for grub-emu functions.
15943 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15944
15945 * conf/any-emu.rmk: Rule updates for above renames.
15946 * conf/common.rmk: Likewise.
15947 * conf/i386-pc.rmk: Likewise.
15948 * conf/i386-qemu.rmk: Likewise.
15949 * conf/mips.rmk: Likewise.
15950 * conf/sparc64-ieee1275.rmk: Likewise.
15951 * conf/x86-efi.rmk: Likewise.
15952
15953 * disk/lvm.h: #include updates for above renames.
15954 * util/grub-mkrelpath.c: Likewise.
15955 * util/grub-probe.c: Likewise.
15956 * util/i386/pc/grub-setup.c: Likewise.
15957 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15958 * kern/emu/console.c: Likewise.
15959 * kern/emu/getroot.c: Likewise.
15960 * kern/emu/hostdisk.c: Likewise.
15961 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15962
15963 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15964 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15965 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15966 * util/misc.c: Remove grub-emu functions.
15967
15968 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15969
15970 Fix gfxmenu crash.
15971 Reported by: Thorsten Grützmacher.
15972
15973 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15974 timeout hook.
15975 (circprog_set_property): Register and unregister timeout hook.
15976 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15977 (label_destroy): Free template. and unregister hook.
15978 (label_set_state): New function.
15979 (label_set_property): Handle templates and hooks.
15980 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
15981 timeout hook.
15982 (progress_bar_set_property): Register and unregister timeout hook.
15983 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
15984 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
15985 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
15986 (update_timeout_visit): Removed.
15987 (update_timeouts): New function.
15988 (redraw_timeouts): Likewise.
15989 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
15990 (grub_gfxmenu_clear_timeout): Likewise.
15991 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
15992 (grub_gfxmenu_timeout_notify): Likewise.
15993 (grub_gfxmenu_timeout_notifications): New external variable.
15994 (grub_gfxmenu_timeout_register): New function.
15995 (grub_gfxmenu_timeout_unregister): Likewise.
15996
15997 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 Transform (broken) vga terminal into (working) vga video driver.
16000
16001 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
16002 video/i386/pc/vga.c.
16003 * include/grub/video.h (grub_video_driver_id):
16004 Add GRUB_VIDEO_DRIVER_VGA.
16005 * term/i386/pc/vga.c: Renamed to ...
16006 * video/i386/pc/vga.c: ...this
16007 (DEBUG_VGA): Removed.
16008 (CHAR_WIDTH): Likewise.
16009 (CHAR_HEIGHT): Likewise.
16010 (TEXT_WIDTH): Likewise.
16011 (TEXT_HEIGHT): Likewise.
16012 (DEFAULT_FG_COLOR): Likewise.
16013 (DEFAULT_BG_COLOR): Likewise.
16014 (colored_char): Likewise.
16015 (xpos): Likewise.
16016 (ypos): Likewise.
16017 (cursor_state): Likewise.
16018 (fg_color): Likewise.
16019 (bg_color): Likewise.
16020 (text_buf): Likewise.
16021 (page): Likewise.
16022 (font): Likewise.
16023 (framebuffer): New variable.
16024 (set_read_map): Disabled.
16025 (setup): New variable.
16026 (is_target): Likewise.
16027 (grub_vga_mod_init): Likewise.
16028 (grub_vga_mod_fini): Likewise.
16029 (check_vga_mem): Likewise.
16030 (write_char): Likewise.
16031 (write_cursor): Likewise.
16032 (scroll_up): Likewise.
16033 (grub_vga_putchar): Likewise.
16034 (grub_vga_getcharwidth): Likewise.
16035 (grub_vga_getwh): Likewise.
16036 (grub_vga_getxy): Likewise.
16037 (grub_vga_gotoxy): Likewise.
16038 (grub_vga_cls): Likewise.
16039 (grub_vga_setcolorstate): Likewise.
16040 (grub_vga_setcursor): Likewise.
16041 (grub_video_vga_init): New function.
16042 (grub_video_vga_setup): Likewise.
16043 (grub_video_vga_fini): Likewise.
16044 (update_target): Likewise.
16045 (grub_video_vga_blit_bitmap): Likewise.
16046 (grub_video_vga_blit_render_target): Likewise.
16047 (grub_video_vga_set_active_render_target): Likewise.
16048 (grub_video_vga_get_active_render_target): Likewise.
16049 (grub_video_vga_swap_buffers): Likewise.
16050 (grub_video_vga_set_palette): Likewise.
16051 (grub_video_vga_get_info_and_fini): Likewise.
16052 (grub_vga_term): Removed.
16053 (grub_video_vga_adapter): New variable.
16054 (GRUB_MOD_INIT): Register a video driver instead of terminal.
16055 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
16056
16057 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 * video/readers/jpeg.c: Indented.
16060
16061 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 Various jpeg cleanups.
16064
16065 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
16066 (grub_jpeg_decode_quan_table): Use sizeof.
16067 (grub_jpeg_decode_du): Use ARRAY_SIZE.
16068
16069 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
16070
16071 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16072 tables. Ignore non-last ac bit.
16073 (grub_jpeg_decode_quan_table): Likewise.
16074
16075 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16078 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16079 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16080 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16081 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16082 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16083
16084 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16087 error.
16088
16089 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16092
16093 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16094
16095 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16096 condition.
16097
16098 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16101 part.
16102
16103 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16106 pointers.
16107
16108 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16111
16112 2010-05-01 Christian Franke <franke@computer.org>
16113
16114 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16115 Remove broken Cygwin path conversion.
16116 * util/misc.c: [__CYGWIN__] Add include and define.
16117 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16118 for Cygwin 1.7.
16119 (make_system_path_relative_to_its_root): Simplify loop, replace early
16120 return by break.
16121 [__CYGWIN__] Add conversion to win32 path.
16122 Include "/" case in trailing slash removal.
16123
16124 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16125
16126 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16127 Reported by: Seth Goldberg
16128
16129 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * commands/help.c (grub_cmd_help): Fix a typo.
16132 Reported by: Seth Goldberg
16133
16134 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16135
16136 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16137 name and add N_.
16138 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16139 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16140 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16141 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16142 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16143 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16144 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16145 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16146 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16147 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16148 * normal/context.c (GRUB_MOD_INIT): Likewise.
16149 * normal/main.c (GRUB_MOD_INIT): Likewise.
16150 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16151 * term/serial.c (GRUB_MOD_INIT): Likewise.
16152 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16153
16154 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16157 extra == 0.
16158
16159 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * commands/iorw.c: New file.
16162 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16163 (iorw_mod_SOURCES): New variable.
16164 (iorw_mod_CFLAGS): Likewise.
16165 (iorw_mod_LDFLAGS): Likewise.
16166
16167 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16168
16169 Hotkey support
16170
16171 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16172 * normal/main.c (hotkey_aliases): New variable.
16173 (grub_normal_add_menu_entry): Parse "--hotkey".
16174 * normal/menu_text.c (run_menu): Handle hotkeys.
16175
16176 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16177
16178 * kern/i386/coreboot/init.c (grub_machine_init): Call
16179 grub_machine_mmap_init on qemu.
16180
16181 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 * boot/i386/qemu/boot.S: Add a missing .code16.
16184
16185 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16186
16187 Use LBIO on coreboot.
16188
16189 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16190 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16191 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16192 New declaration.
16193 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16194 grub_machine_mmap_init on coreboot.
16195 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16196 GRUB_LINUXBIOS_MEMBER_LINK.
16197 (grub_machine_mmap_iterate): Fix declaration.
16198 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16199
16200 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16201
16202 Split coreboot and multiboot ports.
16203
16204 * conf/i386-multiboot.rmk: New file.
16205 * configure.ac: Add multiboot port.
16206 * include/grub/i386/multiboot/boot.h: New file.
16207 * include/grub/i386/multiboot/console.h: Likewise.
16208 * include/grub/i386/multiboot/init.h: Likewise.
16209 * include/grub/i386/multiboot/kernel.h: Likewise.
16210 * include/grub/i386/multiboot/loader.h: Likewise.
16211 * include/grub/i386/multiboot/memory.h: Likewise.
16212 * include/grub/i386/multiboot/serial.h: Likewise.
16213 * include/grub/i386/multiboot/time.h: Likewise.
16214 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16215 * loader/multiboot.c: Likewise.
16216 * loader/multiboot_mbi2.c: Likewise.
16217 * util/grub-mkrescue.in: Generate multiboot rescue.
16218
16219 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16222
16223 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 Merge handling of input and output terminals. Fix a hang.
16226
16227 * commands/terminal.c (abstract_terminal): New struct.
16228 (handle_command): New function. Based on grub_cmd_terminal_input.
16229 (grub_cmd_terminal_input): Use handle_command.
16230 (grub_cmd_terminal_output): Use handle_command.
16231
16232 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16233
16234 Fix comment handling.
16235
16236 * tests/grub_script_comments.in: New testcase.
16237 * conf/tests.rmk: Rules for new testcase.
16238 * script/yylex.l: Updated flex rules.
16239
16240 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16241
16242 * docs/grub.texi (play): Document that zero pitches produce rests.
16243 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16244 if argc is 1.
16245
16246 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16249 autogen issues.
16250
16251 2010-04-26 Christian Franke <franke@computer.org>
16252
16253 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16254 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16255 (grub_get_prefix): Remove function.
16256 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16257 make_system_path_relative_to_its_root ().
16258 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16259
16260 2010-04-24 Christian Franke <franke@computer.org>
16261
16262 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16263 (kernel_img_LDFLAGS): Remove -static-libgcc.
16264
16265 2010-04-24 Christian Franke <franke@computer.org>
16266
16267 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16268 and CHECK_END_SYMBOL if grub-emu is built.
16269 Unset TARGET_OBJ2ELF if grub-emu is built
16270 without module support.
16271
16272 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
16273
16274 Nilfs2 support.
16275
16276 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16277 (grub_fstest_SOURCES): Likewise.
16278 (pkglib_MODULES): Add nilfs2.mod.
16279 (nilfs2_mod_SOURCES): New variable.
16280 (nilfs2_mod_CFLAGS): Likewise.
16281 (nilfs2_mod_LDFLAGS): Likewise.
16282 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16283 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16284 * fs/nilfs2.c: New file.
16285
16286 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16289 is not supported.
16290
16291 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16292
16293 Add grub-mkconfig support for NetBSD.
16294
16295 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16296 * util/grub-mkconfig.in: export new NetBSD specific variables.
16297 * po/POTFILES-shell: added 10_netbsd.in.
16298 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16299
16300 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16301
16302 Fix emu build with grub-emu-pci and grub-emu-modules.
16303
16304 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16305 functions.
16306 * include/grub/libpciaccess.h: New file.
16307 * conf/any-emu.rmk: Update kernel headers for emu build.
16308
16309 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16312
16313 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16314
16315 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16316
16317 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16318
16319 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16320 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16321 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16322 util/ieee1275/ofpath.c.
16323 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16324 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16325 * include/grub/sparc64/ieee1275/boot.h
16326 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16327 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16328 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16329 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16330 const char *.
16331 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16332 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16333 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16334 install.
16335
16336 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16337
16338 * util/grub-mkconfig.in: Corrected two == equality tests.
16339 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16340 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16341 expect a number appended to it.
16342 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16343 expects a number appended to it.
16344
16345 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16348
16349 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16350
16351 * util/hostdisk.c (make_device_name): Change to new partition naming.
16352
16353 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16356
16357 2010-04-17 Christian Franke <franke@computer.org>
16358
16359 * Makefile.in: Add missing localedir setting.
16360
16361 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
16362
16363 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16364 mistake in r2156. Noticed by Anthony Fok.
16365
16366 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16367 @localedir@.
16368 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16369
16370 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16371
16372 Fix a spurious, uninitialized variable warning.
16373
16374 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16375 Initialize variable, shdr.
16376 (grub_freebsd_load_elfmodule): Likewise.
16377 (grub_freebsd_load_elf_meta): Likewise.
16378
16379 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16380
16381 Fix for escaped dollar in double quoted strings.
16382
16383 * script/yylex.l: Updated flex rules.
16384 * conf/tests.rmk: Rule for new testcase.
16385 * tests/grub_script_dollar.in: New testcase.
16386
16387 2010-04-13 Carles Pina i Estany <carles@pina.cat>
16388 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
16389
16390 Enclose all translated strings in grub.cfg in single quotes, and
16391 escape them appropriately (Ubuntu bug #552921).
16392
16393 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16394 * util/grub.d/10_hurd.in: Use it.
16395 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16396 * util/grub.d/10_linux.in (linux_entry): Likewise.
16397
16398 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16399
16400 Fix cygwin compilation.
16401
16402 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16403 * include/grub/misc.h (__register_frame_info)
16404 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16405 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16406 * kern/misc.c (__register_frame_info)
16407 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16408 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16409
16410 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16411
16412 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16413
16414 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16415
16416 Unify libgcc processing.
16417
16418 * Makefile.in (kernel_img_LDFLAGS): New variable.
16419 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16420 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16421 overwriting.
16422 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16423 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16424 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16425 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16426 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16427 overwriting. Remove -lgcc and -static-libgcc
16428 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16429 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16430 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16431 (kernel_img_LDFLAGS): Append instead of overwriting.
16432 Remove -lgcc and -static-libgcc
16433 * conf/sparc64-ieee1275.rmk: Likewise.
16434 * include/grub/powerpc/libgcc.h: Move to ...
16435 * include/grub/libgcc.h: .. this.
16436 * include/grub/libgcc.h: Don't export most of the function on x86.
16437 (__bswapsi2): New export.
16438 (__bswapdi2): Likewise.
16439 * include/grub/mips/libgcc.h: Removed.
16440 * include/grub/sparc64/libgcc.h: Likewise.
16441
16442 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16443
16444 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16445 disk_info_msg (conflicts with gettexting into languages with cases).
16446
16447 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16448
16449 Add grub-probe support for NetBSD.
16450
16451 * util/getroot.c (find_root_device): Convert block device to
16452 character device on NetBSD.
16453 * util/probe.c (probe): Require character device on NetBSD.
16454 * util/hostdisk.c: NetBSD specific headers.
16455 (configure_device_driver): new function to tune device driver
16456 parameters (currently only for NetBSD floppy driver).
16457 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16458 via disklabel ioctl).
16459 (open_device): call configure_device_driver on NetBSD.
16460 (convert_system_partition_to_system_disk): NetBSD specific code.
16461 (device_is_wholedisk): Likewise.
16462 (grub_util_biosdisk_get_grub_dev): Likewise.
16463 (make_device_name): Fixed a typo in bsd_part_str.
16464 * configure.ac: check for opendisk() and getrawpartition() on
16465 NetBSD and set LIBUTIL.
16466 * Makefile.in: add LIBUTIL to LIBS.
16467
16468 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16469
16470 Documentation fix.
16471
16472 * util/grub-script-check.c: Better help message.
16473
16474 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16475
16476 Fix FreeBSD build.
16477
16478 * configure.ac: Flex version check.
16479 * conf/common.rmk: Add -Wno-error to sh.mod.
16480 * script/yylex.l: Remove all #pragma.
16481
16482 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16485 prototype.
16486 Reported by: Seth Goldberg.
16487
16488 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16491 Rename "module" to "module2".
16492 Reported by: Seth Goldberg.
16493
16494 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16495
16496 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16497 EXPORT_FUNC.
16498 Reported by: Seth Goldberg.
16499
16500 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * lib/posix_wrap/locale.h: Add missing file.
16503 Reported by: Seth Goldberg.
16504
16505 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 grub-emu module load support.
16508
16509 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16510 NO_DYNAMIC_MODULES switched to this.
16511 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16512 (CFLAGS): Likewise.
16513 * conf/any-emu.rmk: Generate symlist.
16514 (kernel_img_HEADERS): Add util/datetime.h.
16515 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16516 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16517 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16518 kern/$(target_cpu)/cache.S.
16519 * configure.ac (grub-emu-modules): New option.
16520 * genmk.rb: Handle multiple source lists.
16521 * include/grub/sdl.h: New file.
16522 * include/grub/libusb.h: Likewise.
16523 * util/grub-emu.c (main): Hanle (host) root.
16524 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16525 GRUB_ERR_UNKNOWN_DEVICE.
16526 * util/misc.c: Move mm functions to ...
16527 * util/mm.c: ... here. All users updated.
16528
16529 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16532 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16533 missing files.
16534 (maintainer-clean): Remove libgcrypt-grub.
16535
16536 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16537
16538 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16539
16540 2010-04-09 EFI Coder <eficoder@hotmail.com>
16541
16542 * normal/menu_text.c (print_message): Clean up the message and show
16543 the Fn information when on EFI
16544 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16545
16546 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16547
16548 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16549 All users updated.
16550 * normal/crypto.c (read_crypto_list): Likewise.
16551 * normal/dyncmd.c (read_command_list): Likewise.
16552 * normal/term.c (read_terminal_list): Likewise.
16553 * normal/main.c (read_lists): Use explicit prefix.
16554 (read_lists_hook): Use read_lists.
16555 (grub_normal_execute): Likewise.
16556
16557 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16558
16559 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16560 Reported by: Thomas Schmitt.
16561 Add -no-emul-boot to grub-mkisofs parameters.
16562
16563 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16564
16565 * font/font.c: Indented.
16566
16567 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16568
16569 Elif support to GRUB script (by Deepak Vankadaru).
16570
16571 * tests/grub_script_if.in: New testcase.
16572 * conf/tests.rmk: Rule for new testcase.
16573 * script/parser.y: Grammar rules for elif.
16574
16575 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16576
16577 While and until loops support to GRUB script.
16578
16579 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16580 (grub_script_create_cmdwhile): New function prototype.
16581 (grub_script_execute_cmdwhile): New function prototype.
16582 * script/execute.c (grub_script_execute_cmdwhile): New function.
16583 * script/parser.y (command): New commands.
16584 (whilecmd): New grammar rule.
16585 (untilcmd): New grammar rule.
16586 * script/script.c (grub_script_create_cmdwhile): New function.
16587 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16588 function.
16589
16590 * tests/grub_script_while1.in: New testcase.
16591 * conf/tests.rmk: Rule for new testcase.
16592
16593 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16594
16595 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16596 as *.jpg.
16597
16598 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
16599
16600 GRUB_BACKGROUND support.
16601
16602 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16603 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16604
16605 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16606
16607 Load fonts and modules for gfxmenu in grub-mkconfig.
16608 Idea by: Mario Vazquez
16609
16610 * util/grub.d/00_header.in: Load pf2 and image modules.
16611
16612 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16613
16614 grub-mkconfig multiple terminal support.
16615
16616 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16617 * util/grub.d/00_header.in: Likewise.
16618
16619 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16620
16621 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16622 we use cd $(srcdir).
16623
16624 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
16625
16626 * util/grub.d/10_linux.in: Only use the first word of
16627 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16628 spaces in GRUB_DISTRIBUTOR.
16629 * util/grub.d/10_kfreebsd.in: Likewise.
16630 * util/grub.d/10_hurd.in: Likewise.
16631
16632 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16633
16634 Fix unit testing framework for Qemu 0.12.
16635
16636 * tests/util/grub-shell.in: Remove -serial stdio option.
16637
16638 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16639
16640 POSIX header file wrappers.
16641
16642 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16643 equivalents.
16644 * lib/posix_wrap/ctype.h: Likewise.
16645 * lib/posix_wrap/errno.h: Likewise.
16646 * lib/posix_wrap/langinfo.h: Likewise.
16647 * lib/posix_wrap/limits.h: Likewise.
16648 * lib/posix_wrap/localcharset.h: Likewise.
16649 * lib/posix_wrap/stdint.h: Likewise.
16650 * lib/posix_wrap/stdio.h: Likewise.
16651 * lib/posix_wrap/stdlib.h: Likewise.
16652 * lib/posix_wrap/string.h: Likewise.
16653 * lib/posix_wrap/sys/types.h: Likewise.
16654 * lib/posix_wrap/unistd.h: Likewise.
16655 * lib/posix_wrap/wchar.h: Likewise.
16656 * lib/posix_wrap/wctype.h: Likewise.
16657 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16658 (grub_script.yy.h): Likewise.
16659 * script/yylex.l: Remove POSIX emulation #defines.
16660 * Makefile.in (POSIX_CFLAGS): New variable.
16661 (GNULIB_UTIL_CFLAGS): Likewise.
16662
16663 Regexp support.
16664
16665 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16666 (regexp_mod_SOURCES): New variable.
16667 (regexp_mod_CFLAGS): Likewise.
16668 (regexp_mod_LDFLAGS): Likewise.
16669 * commands/regexp.c: New file.
16670 * gnulib/regcomp.c: New file. Imported from gnulib.
16671 * gnulib/regex.c: Likewise.
16672 * gnulib/regex_internal.c: Likewise.
16673 * gnulib/regex_internal.h: Likewise.
16674 * gnulib/regexec.c: Likewise.
16675 * gnulib/regex.h: Likewise.
16676
16677 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16678
16679 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16680 unsupported video mode types.
16681
16682 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16683
16684 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16685
16686 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16687
16688 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16689 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16690
16691 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 Remove unused grub_vga_get_font.
16694
16695 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16696 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16697
16698 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16699
16700 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16701 * include/grub/misc.h: Likewise.
16702
16703 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16704
16705 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16706 for which failure is fatal.
16707
16708 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16709
16710 * util/grub-install.in: Use mkdir -p to create grub directory.
16711 * util/i386/efi/grub-install.in: Likewise.
16712 * util/ieee1275/grub-install.in: Likewise.
16713
16714 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16715
16716 * Makefile.in (LEX): new variable.
16717
16718 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16719
16720 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16721 `=' and added double quotes on operands of this equality test.
16722
16723 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16724
16725 * Makefile.in (uninstall): Remove a leftover debug echo.
16726 Reported by: Grégoire Sutre
16727
16728 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 MIPS multiboot2 support.
16731
16732 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16733 (multiboot2_mod_SOURCES): New variable.
16734 (multiboot2_mod_CFLAGS): Likewise.
16735 (multiboot2_mod_LDFLAGS): Likewise.
16736 (multiboot2_mod_ASFLAGS): Likewise.
16737 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16738 definition.
16739 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16740 (MULTIBOOT_MBI_REGISTER): Likewise.
16741 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16742 (MULTIBOOT_ELF32_MACHINE): Likewise.
16743 (MULTIBOOT_ELF64_MACHINE): Likewise.
16744 * include/grub/mips/multiboot.h: New file.
16745 * include/grub/video.h (grub_video_driver_id): New type
16746 GRUB_VIDEO_DRIVER_SM712.
16747 (grub_video_get_info_and_fini): Export.
16748 (grub_video_get_palette): Likewise.
16749 (grub_video_get_driver_id): Likewise.
16750 * include/multiboot2.h: Resynced with spec.
16751 * loader/i386/multiboot.c: Moved from here ...
16752 * loader/multiboot.c: ... here. All users updated.
16753 (grub_multiboot_boot): Use platform-specific macros.
16754 * loader/i386/multiboot_elfxx.c: Moved from here ...
16755 * loader/multiboot_elfxx.c: ... here. All users updated.
16756 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16757 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16758 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16759
16760 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 Import gnulib argp module.
16763
16764 * gnulib/argp-ba.c: New file.
16765 * gnulib/argp-eexst.c: Likewise.
16766 * gnulib/argp-fmtstream.c: Likewise.
16767 * gnulib/argp-fmtstream.h: Likewise.
16768 * gnulib/argp-fs-xinl.c: Likewise.
16769 * gnulib/argp-help.c: Likewise.
16770 * gnulib/argp-namefrob.h: Likewise.
16771 * gnulib/argp-parse.c: Likewise.
16772 * gnulib/argp-pin.c: Likewise.
16773 * gnulib/argp-pv.c: Likewise.
16774 * gnulib/argp-pvh.c: Likewise.
16775 * gnulib/argp-version-etc.c: Likewise.
16776 * gnulib/argp-version-etc.h: Likewise.
16777 * gnulib/argp-xinl.c: Likewise.
16778 * gnulib/argp.h: Likewise.
16779
16780 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16781
16782 * kern/device.c (grub_device_iterate): Clear errors after failed
16783 opening device.
16784
16785 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16786
16787 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16788 returned by firmware.
16789
16790 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16793 compilation on coreboot and qemu
16794
16795 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16796
16797 * include/multiboot2.h: Resync with spec.
16798
16799 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16800
16801 Multiboot2 tag support
16802
16803 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16804 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16805 Remove loader/multiboot_loader.c.
16806 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16807 (grub_multiboot2_real_boot): Likewise.
16808 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16809 (grub_get_multiboot_mmap_count): New proto.
16810 (grub_fill_multiboot_mmap): Likewise.
16811 (grub_multiboot_set_video_mode): Likewise.
16812 (grub_multiboot_set_console): Likewise.
16813 (grub_multiboot_load): Likewise.
16814 (grub_multiboot_load_elf): Likewise.
16815 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16816 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16817 * include/multiboot.h: Resynced with specification.
16818 * include/multiboot2.h: Resynced with specification.
16819 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16820 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16821 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16822 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16823 users updated.
16824 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16825 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16826 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16827 Removed.
16828 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16829 Moved from here...
16830 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16831 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16832 Moved from here...
16833 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16834 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16835 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16836 All users updated.
16837 * loader/i386/multiboot_mbi2.c: New file.
16838
16839 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 Resync with gnulib.
16842
16843 * Makefile.in (GNULIB_CFLAGS): New variable.
16844 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16845 (grub_script_check_CFLAGS): New variable.
16846 * gnulib/alloca.h: Resync with gnulib.
16847 * gnulib/error.c: Likewise.
16848 * gnulib/error.h: Likewise.
16849 * gnulib/fnmatch.c: Likewise.
16850 * gnulib/fnmatch_loop.c: Likewise.
16851 * gnulib/getdelim.c: Likewise.
16852 * gnulib/getline.c: Likewise.
16853 * gnulib/getopt.c: Likewise.
16854 * gnulib/getopt1.c: Likewise.
16855 * gnulib/getopt_int.h: Likewise.
16856 * gnulib/gettext.h: Likewise.
16857 * gnulib/progname.c: Likewise.
16858 * gnulib/progname.h: Likewise.
16859
16860 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16861
16862 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16863 which is the case with --disabled-nls.
16864
16865 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16866 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16867 * util/misc.c: Likewise.
16868 * util/mkisofs/mkisofs.c: Likewise.
16869 * util/mkisofs/mkisofs.h: Likewise.
16870
16871 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 Simplify Apple CC support.
16874
16875 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16876 Add 0 byte at the end not to have a symbol with empty target.
16877 * mmap/i386/pc/mmap_helper.S: Likewise.
16878 * genmk.rb: Ignore errors 2030 and 2050.
16879 * kern/i386/pc/startup.S: Use LOCAL when possible.
16880
16881 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16882
16883 Testcase and the fix for final semicolon on cmdline.
16884
16885 * tests/grub_script_final_semicolon.in: New testcase.
16886 * conf/tests.rmk: Rules for the new testcase.
16887 * script/parser.y: Grammar fix.
16888
16889 2010-03-26 BVK Chaitanya <bvk@localhost>
16890
16891 Blank lines testcase for GRUB script.
16892
16893 * tests/grub_script_blanklines.in: New testcase.
16894 * conf/tests.rmk: Rules for the new testcase.
16895
16896 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16897
16898 Don't use __FILE__.
16899
16900 * genmk.rb: Add -DGRUB_FILE to all C targets.
16901 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16902 * include/grub/list.h: Likewise.
16903 * include/grub/misc.h: Likewise.
16904 * include/grub/mm.h: Likewise.
16905 * include/grub/test.h: Likewise.
16906 * kern/mm.c: Likewise.
16907 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16908
16909 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16910
16911 Sunpc partitions support.
16912
16913 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16914 (grub_fstest_SOURCES): Likewise.
16915 (pkglib_MODULES): Add part_sunpc.mod.
16916 (part_sunpc_mod_SOURCES): New variable.
16917 (part_sunpc_mod_CFLAGS): Likewise.
16918 (part_sunpc_mod_LDFLAGS): Likewise.
16919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16920 * partmap/sunpc.c: New file.
16921
16922 2010-03-26 BVK Chaitanya <bvk@localhost>
16923
16924 For loop support to GRUB script.
16925
16926 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16927 (grub_script_create_cmdfor): New function prototype.
16928 (grub_script_execute_cmdfor): New function prototype.
16929 * script/execute.c (grub_script_execute_cmdfor): New function.
16930 * script/parser.y (command): New for command.
16931 (forcmd): New grammar rule.
16932 * script/script.c (grub_script_create_cmdfor): New function.
16933 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16934 function.
16935 * tests/grub_script_for1.in: New testcase.
16936 * conf/tests.rmk: Rules for new testcase.
16937
16938 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 Nested partitions
16941
16942 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16943 'partition' is NULL, grub_partition_get_start already does that.
16944 * commands/loadenv.c (check_blocklists): Likewise.
16945 (write_blocklists): Likewise.
16946 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16947 (grub_fstest_SOURCES): Likewise.
16948 (pkglib_MODULES): Add part_bsd.mod.
16949 (part_bsd_mod_SOURCES): New variable.
16950 (part_bsd_mod_CFLAGS): Likewise.
16951 (part_bsd_mod_LDFLAGS): Likewise.
16952 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16953 (grub_emu_SOURCES): Likewise.
16954 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16955 * include/grub/bsdlabel.h: New file.
16956 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16957 'get_name'.
16958 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16959 (grub_partition_map_list): New variable.
16960 (grub_partition_map_register): Inline.
16961 (grub_partition_map_unregister): Likewise.
16962 (FOR_PARTITION_MAPS): New macro.
16963 (grub_partition_map_iterate): Removed.
16964 (grub_partition_get_start): Handle nested partitions.
16965 * include/grub/msdos_partition.h: Remove bsd-related entries.
16966 (grub_pc_partition): Remove.
16967 * kern/disk.c (grub_disk_close): Free partition data.
16968 (grub_disk_adjust_range): Handle nested partitions.
16969 * kern/partition.c (grub_partition_map_probe): New function.
16970 (grub_partition_probe): Parse name to number, handle subpartitions.
16971 (get_partmap): New function.
16972 (grub_partition_iterate): Handle subpartitions.
16973 (grub_partition_get_name): Likewise.
16974 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16975 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16976 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16977 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16978 Set 'number'.
16979 (acorn_partition_map_probe): Remove.
16980 (acorn_partition_map_get_name): Likewise.
16981 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
16982 Set 'number'.
16983 Set 'index' to 0 since there can be only one partition entry per sector.
16984 (amiga_partition_map_probe): Remove.
16985 (amiga_partition_map_get_name): Likewise.
16986 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
16987 Set 'number'.
16988 Set 'offset' and 'index' to real positions of partitions.
16989 (apple_partition_map_probe): Remove.
16990 (apple_partition_map_get_name): Likewise.
16991 * partmap/bsdlabel.c: New file.
16992 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
16993 Set 'number'.
16994 Allocate 'data' so it can be correctly freed.
16995 Set 'index' to offset inside sector.
16996 (gpt_partition_map_probe): Remove.
16997 (gpt_partition_map_get_name): Likewise.
16998 * partmap/msdos.c (grub_partition_parse): Remove.
16999 (pc_partition_map_iterate): Don't force raw access.
17000 Set 'number'.
17001 Make 'ext_offset' a local variable.
17002 (pc_partition_map_probe): Remove.
17003 (pc_partition_map_get_name): Remove.
17004 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
17005 Set 'number'.
17006 (sun_partition_map_probe): Remove.
17007 (sun_partition_map_get_name): Likewise.
17008 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
17009 (grub_pcpart_type): Likewise.
17010 * util/hostdisk.c (open_device): Handle new numbering scheme.
17011 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
17012 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
17013 * util/grub-probe.c (probe_partmap): Handle nested paritions.
17014 * util/grub-install.in: Insert all subpartition modules.
17015 * util/ieee1275/grub-install.in: Likewise.
17016
17017 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
17018
17019 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
17020 grammar.
17021
17022 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
17023
17024 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
17025
17026 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
17027
17028 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
17029 match where 'make install' puts them.
17030 * util/i386/efi/grub-install.in: Likewise.
17031
17032 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
17033
17034 * .bzrignore: Add gentrigtables, grub-script-check,
17035 grub_script_check_init.c, grub_script_check_init.h, and
17036 trigtables.c.
17037
17038 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
17039
17040 * kern/parser.c: Indented.
17041
17042 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17043
17044 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
17045
17046 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
17049 alpha_mask_size == 0 case.
17050
17051 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
17052
17053 GRUB shell lexer and parser improvements.
17054
17055 * conf/any-emu.rmk: Build rule updates.
17056 * conf/common.rmk: Likewise.
17057 * conf/i386-coreboot.rmk: Likewise.
17058 * conf/i386-efi.rmk: Likewise.
17059 * conf/i386-ieee1275.rmk: Likewise.
17060 * conf/i386-pc.rmk: Likewise.
17061 * conf/powerpc-ieee1275.rmk: Likewise.
17062 * conf/x86_64-efi.rmk: Likewise.
17063
17064 * configure.ac: Configure check for flex.
17065
17066 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
17067 types.
17068 (grub_lexer_param): Struct member updates.
17069 (grub_parser_param): Likewise.
17070 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17071 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17072 (grub_script_lexer_init): Prototype update.
17073 (grub_script_lexer_record_start): Likewise.
17074 (grub_script_lexer_record_stop): Likewise.
17075 (grub_script_lexer_yywrap): New function prototype.
17076 (grub_script_lexer_fini): Likewise.
17077 (grub_script_execute_argument_to_string): Removed by...
17078 (grub_script_execute_argument_to_argv): ...better version.
17079
17080 * script/execute.c (ROUND_UPTO): New macro.
17081 (grub_script_execute_cmdline): Out of memory fixes.
17082 (grub_script_execute_menuentry): Likewise.
17083 (grub_script_execute_argument_to_string): Removed. Update all
17084 users by...
17085 (grub_script_execute_argument_to_argv): ...better version.
17086 * script/function.c (grub_script_function_create): Use
17087 grub_script_execute_argument_to_argv instead of
17088 grub_script_execute_argument_to_string.
17089
17090 * script/lexer.c (check_varstate): Removed.
17091 (check_textstate): Removed.
17092 (grub_script_lexer_record_start): Likewise.
17093 (grub_script_lexer_record_stop): Likewise.
17094 (recordchar): Replaced with...
17095 (grub_script_lexer_record): ...new function.
17096 (nextchar): Removed.
17097 (grub_script_lexer_init): Rewritten.
17098 (grub_script_yylex): Rewritten.
17099 (append_newline): New function.
17100 (grub_script_lexer_yywrap): New function.
17101 (grub_script_lexer_fini): New function.
17102 (grub_script_yyerror): Sets error flag.
17103
17104 * script/yylex.l: New file.
17105 (grub_lexer_yyfree): Wrapper for flex yyffre.
17106 (grub_lexer_yyalloc): Likewise.
17107 (grub_lexer_yyrealloc): Likewise.
17108 * script/parser.y: Refactored.
17109
17110 * script/script.c (grub_script_arg_add): Out of memory fixes.
17111 (grub_script_add_arglist): Likewise.
17112 (grub_script_create_cmdline): Likewise.
17113 (grub_script_create_cmdmenu): Likewise.
17114 (grub_script_add_cmd): Likewise.
17115 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17116 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17117 unnecessary code.
17118
17119 * tests/grub_script_echo1.in: New testcase.
17120 * tests/grub_script_vars1.in: New testcase.
17121 * tests/grub_script_echo_keywords.in: New testcase.
17122
17123 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 Remove some redundancy in build system.
17126
17127 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17128 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17129 (TARGET_LDFLAGS): Add -nostdlib.
17130 (TARGET_IMG_LDFLAGS): Likewise.
17131 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17132 anything since mmap isn't available.
17133 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17134 Add util/time.c.
17135 (pkglib_MODULES): Remove reboot.mod.
17136 (reboot_mod_SOURCES): Removed.
17137 (reboot_mod_CFLAGS): Likewise.
17138 (reboot_mod_LDFLAGS): Likewise.
17139 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17140 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17141 (DEFSYMFILES): Add kernel_syms.lst.
17142 (kernel_img_HEADERS): Add common headers.
17143 (symlist.c): New target.
17144 (kernel_syms.lst): Likewise.
17145 (pkglib_MODULES): Add memdisk.mod.
17146 (memdisk_mod_SOURCES): New variable.
17147 (memdisk_mod_CFLAGS): Likewise.
17148 (memdisk_mod_LDFLAGS): Likewise.
17149 (pkglib_MODULES): Add reboot.mod.
17150 (reboot_mod_SOURCES): New variable.
17151 (reboot_mod_CFLAGS): Likewise.
17152 (reboot_mod_LDFLAGS): Likewise.
17153 (pkglib_MODULES): Add date.mod.
17154 (date_mod_SOURCES): New variable.
17155 (date_mod_CFLAGS): Likewise.
17156 (date_mod_LDFLAGS): Likewise.
17157 (pkglib_MODULES): Add datehook.mod.
17158 (datehook_mod_SOURCES): New variable.
17159 (datehook_mod_CFLAGS): Likewise.
17160 (datehook_mod_LDFLAGS): Likewise.
17161 (pkglib_MODULES): Add lsmmap.mod.
17162 (lsmmap_mod_SOURCES): New variable.
17163 (lsmmap_mod_CFLAGS): Likewise.
17164 (lsmmap_mod_LDFLAGS): Likewise.
17165 (pkglib_MODULES): Add boot.mod.
17166 (boot_mod_SOURCES): New variable.
17167 (boot_mod_CFLAGS): Likewise.
17168 (boot_mod_LDFLAGS): Likewise.
17169 * conf/i386-coreboot.rmk: Removed redundant parts.
17170 * conf/i386-ieee1275.rmk: Likewise.
17171 * conf/i386-pc.rmk: Likewise.
17172 * conf/mips-yeeloong.rmk: Likewise.
17173 * conf/mips.rmk: Likewise.
17174 * conf/powerpc-ieee1275.rmk: Likewise.
17175 * conf/sparc64-ieee1275.rmk: Likewise.
17176 * conf/x86_64-efi.rmk: Likewise.
17177 * conf/i386-coreboot.rmk: Moved qemu parts ..
17178 * conf/i386-qemu.rmk: ... here
17179 * conf/i386-efi.rmk: Moved common parts to...
17180 * conf/x86-efi.rmk: ... here.
17181 * conf/i386.rmk: Added modules common to all x86 variants.
17182 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17183 * disk/memdisk.c: Remove grub/machine/kernel.h.
17184 * gensymlist.sh.in: Include symbol.h.
17185 * hook/datehook.c: Correct module name.
17186 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17187 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17188 * include/grub/i386/efi/serial.h: New file.
17189 * include/grub/x86_64/efi/serial.h: Likewise.
17190 * util/time.c: Likewise.
17191 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17192
17193 2010-03-14 Colin King <colin.king@ubuntu.com>
17194 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
17195
17196 Shrink the pre-partition-table part of boot.img by eight bytes.
17197
17198 * boot/i386/pc/boot.S (ERR): New macro.
17199 (chs_mode): Use ERR.
17200 (geometry_error): Likewise.
17201 (hd_probe_error): Remove. This is only used once, so we wrwite
17202 it inline instead.
17203 (read_error): Instead of printing read_error_string, just set up
17204 %si and fall through to ...
17205 (error_message): ... this new function, also used by ERR.
17206
17207 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
17208
17209 Speed up consecutive hostdisk operations on the same device.
17210
17211 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17212 (grub_util_biosdisk_open): Initialise disk->data.
17213 (struct linux_partition_cache): New structure.
17214 (linux_find_partition): Cache partition start positions; these are
17215 expensive to compute on every read and write.
17216 (open_device): Cache open file descriptor in disk->data, so that we
17217 don't have to reopen it and flush the buffer cache for consecutive
17218 operations on the same device.
17219 (grub_util_biosdisk_close): New function.
17220 (grub_util_biosdisk_dev): Set `close' member.
17221
17222 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17223 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17224 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17225 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17226 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17227
17228 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 Compile parts of grub-emu as modules.
17231
17232 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17233 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17234 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17235 (all-local): Add $(GRUB_EMU).
17236 (install-local): Install $(GRUB_EMU).
17237 (uninstall): Uninstall $(GRUB_EMU).
17238 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17239 * kern/dl.c: Likewise.
17240 * commands/sleep.c: Not include machine/time.h.
17241 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17242 (COMMON_CFLAGS): Likewise.
17243 (sbin_UTILITIES): Remove grub-emu.
17244 (grub_emu_SOURCES): Removed.
17245 (kernel_img_RELOCATABLE): New variable.
17246 (pkglib_PROGRAMS): Add kernel.img.
17247 (kernel_img_SOURCES): New variable
17248 (kernel_img_CFLAGS): Likewise.
17249 (kernel_img_LDFLAGS): Likewise.
17250 (TARGET_NO_STRIP): Likewise.
17251 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17252 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17253 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17254 (grub-emu): New target.
17255 (GRUB_EMU): New variable.
17256 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17257 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17258 * loader/xnu.c: Likewise.
17259 * include/grub/pci.h: Likewise.
17260 * genemuinit.sh: New file.
17261 * genemuinitheader.sh: Likewise.
17262 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17263 Support TARGET_NO_DYNAMIC_MODULES.
17264 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17265 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17266 * disk/loopback.c: Likewise.
17267 * font/font_cmd.c: Likewise.
17268 * partmap/acorn.c: Likewise.
17269 * partmap/amiga.c: Likewise.
17270 * partmap/apple.c: Likewise.
17271 * partmap/gpt.c: Likewise.
17272 * partmap/msdos.c: Likewise.
17273 * partmap/sun.c: Likewise.
17274 * parttool/msdospart.c: Likewise.
17275 * term/gfxterm.c: Likewise.
17276 * video/bitmap.c: Likewise.
17277 * video/readers/jpeg.c: Likewise.
17278 * video/readers/png.c: Likewise.
17279 * video/readers/tga.c: Likewise.
17280 * video/video.c: Likewise.
17281 * util/grub-emu.c (read_command_list): Removed.
17282 (main): Don't call util_init_nls.
17283 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17284 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17285
17286 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17289 date.mod, datehook.mod.
17290 (datetime_mod_SOURCES): New variable.
17291 (datetime_mod_CFLAGS): Likewise.
17292 (datetime_mod_LDFLAGS): Likewise.
17293 (date_mod_SOURCES): Likewise.
17294 (date_mod_CFLAGS): Likewise.
17295 (date_mod_LDFLAGS): Likewise.
17296 (datehook_mod_SOURCES): Likewise.
17297 (datehook_mod_CFLAGS): Likewise.
17298 (datehook_mod_LDFLAGS): Likewise.
17299 * conf/sparc64-ieee1275.rmk: Likewise.
17300 * lib/ieee1275/datetime.c: New file.
17301
17302 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17305 (ieee1275_fb_mod_SOURCES): New variable.
17306 (ieee1275_fb_mod_CFLAGS): Likewise.
17307 (ieee1275_fb_mod_LDFLAGS): Likewise.
17308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17309 New proto.
17310 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17311 (HEAP_MAX_ADDR): Likewise.
17312 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17313 type.
17314 Correct stop condition.
17315 (grub_ieee1275_devices_iterate): New function.
17316 * video/ieee1275.c: New file.
17317
17318 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17319
17320 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17321
17322 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17323 as scratch.
17324 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17325 SCRATCH_PAD_DISKBOOT as scratch.
17326 (bootit): Pass Openfirmware pointer in %o4.
17327 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17328 of 0x200000.
17329 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17330 with util/grub-mkrawimage.c.
17331 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17332 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17333 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17334 (grub_aout_load) [GRUB_UTIL]: Likewise.
17335 * include/grub/kernel.h (grub_modules_get_end): New proto.
17336 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17337 (SCRATCH_PAD_BOOT): New definition.
17338 (SCRATCH_PAD_DISKBOOT): Likewise.
17339 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17340 * include/grub/sparc64/ieee1275/ieee1275.h
17341 (grub_ieee1275_original_stack): New variable
17342 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17343 New definition
17344 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17345 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17346 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17347 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17348 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17349 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17350 (grub_platform_image_format_t): New type.
17351 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17352 * kern/main.c (grub_modules_get_end)
17353 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17354 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17355 (codestart): Switch stacks.
17356 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17357 variable.
17358 (grub_heap_init): Use grub_modules_get_end.
17359 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17360 stack.
17361 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17362 (main): Likewise.
17363 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17364
17365 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
17366
17367 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17368
17369 2010-03-08 Matt Kraai <kraai@ftbfs.org>
17370
17371 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17372 bug #559005).
17373
17374 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * genmoddep.awk: Output all missing symbols and not only first.
17377
17378 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 * NEWS: Put the date of 1.98 release.
17381
17382 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17383
17384 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17385 ft2build.h.
17386
17387 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17388
17389 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17390 completition in the middle of string.
17391
17392 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17393
17394 * util/grub-mkrescue.in: Use mktemp with explicit template.
17395
17396 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17397
17398 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17399
17400 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17401
17402 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17403 right pointer.
17404
17405 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 Fix FreeBSD compilation.
17408
17409 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17410 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17411
17412 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17413
17414 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17415
17416 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17419
17420 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17421
17422 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17423
17424 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17425
17426 Support relative image path in theme file.
17427
17428 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17429 (image_set_property): Handle theme_dir and relative path.
17430
17431 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 * configure.ac: Alias amd64 to x86_64.
17434
17435 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17436
17437 * NEWS: mention multiboot on EFI.
17438
17439 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17440
17441 * kern/main.c (grub_load_modules): Handle errors from init functions of
17442 embeded modules.
17443
17444 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17445
17446 * normal/autofs.c (autoload_fs_module): Handle errors.
17447
17448 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 Disable linux.mod on qemu-mips since it's not functional and leads
17451 to compilation failure.
17452
17453 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17454 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17455 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17456 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17457 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17458 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17459 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17460 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17461 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17462 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17463 Reported by: BVK Chaitanya
17464
17465 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17466
17467 * INSTALL: Add gettext as a dependency and add qemu to a new section
17468 "Prerequisites for make-check".
17469
17470 2010-03-04 Christian Franke <franke@computer.org>
17471
17472 * util/grub-pe2elf.c: Add missing include "progname.h".
17473
17474 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * normal/crypto.c (read_crypto_list): Fix a typo.
17477 Reported by: Seth Goldberg.
17478
17479 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17480
17481 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
17482 Reported by: Seth Goldberg.
17483
17484 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17485
17486 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17487 ascii.bitmaps.
17488
17489 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * genmk.rb: Remove terminal*.lst in make clean.
17492 Reported by: Seth Goldberg.
17493
17494 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * util/i386/efi/grub-install.in: Copy gettext files.
17497
17498 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17499
17500 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17501
17502 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17503
17504 Wait for user entry basing on presence of output rather than on errors.
17505
17506 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17507 (grub_install_newline_hook): Likewise.
17508 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17509 * normal/menu.c (show_menu): Check line_counter to determine presence
17510 of output.
17511 * normal/term.c (grub_normal_line_counter): New variable.
17512 (grub_normal_get_line_counter): New function.
17513 (grub_install_newline_hook): Likewise.
17514
17515 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17516
17517 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17518
17519 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * configure.ac: Update version to 1.98.
17522
17523 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * util/grub.d/10_linux.in (linux_entry): Don't default to
17526 gfxpayload=keep if Linux doesn't support video handover.
17527
17528 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17529
17530 Don't compile video modules on yeeloong since video subsystem is part
17531 of kernel.
17532
17533 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17534 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17535 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17536 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17537 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17538 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17539 * include/grub/bitmap_scale.h: Likewise.
17540 * include/grub/bufio.h: Likewise.
17541 * include/grub/font.h: Likewise.
17542 * include/grub/gfxterm.h: Likewise.
17543 * include/grub/video.h: Likewise.
17544 * include/grub/vbe.h: Don't include video_fb.h.
17545 * video/i386/pc/vbe.c: Include video_fb.h.
17546 * commands/i386/pc/vbetest.c: Include video.h.
17547
17548 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17549
17550 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17551 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17552 default entry if GRUB_SAVEDEFAULT=true. This allows using
17553 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17554 saving a new default on every boot.
17555
17556 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17557
17558 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17559 * normal/term.c (read_terminal_list): Likewise.
17560 * normal/main.c (grub_normal_init_page): Likewise.
17561 (grub_normal_read_line_real): Likewise.
17562
17563 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17564
17565 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17566 memory leak.
17567 Reported by: Seth Goldberg.
17568
17569 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17570
17571 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17572 duplicate declaration of `start'.
17573
17574 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17575
17576 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17577 filename.
17578 Reported by: Georgy Buranov
17579
17580 2010-02-20 Carles Pina i Estany <carles@pina.cat>
17581
17582 * util/grub-mkrawimage.c (usage): Change string formatting to
17583 improve gettext.
17584
17585 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17586
17587 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17588 backspace keys.
17589
17590 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17591
17592 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17593 Reported by: Michael Suchanek.
17594
17595 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
17596
17597 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17598 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17599
17600 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17601
17602 Remove any reference to non-free fonts.
17603
17604 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17605 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17606 uses non-free components.
17607 * font/font.c (grub_font_get_name): Remove example name.
17608 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17609 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17610 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17611 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17612
17613 2010-02-16 Georgy Buranov <gburanov@gmail.com>
17614
17615 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17616
17617 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17620 Double divisor.
17621 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17622 features.
17623 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17624
17625 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17628
17629 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17630
17631 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17632 * docs/grub.texi (Command-line and menu entry commands): Document play
17633 command.
17634
17635 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17636
17637 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17638 parse arguments as inline tempo and notes. Move code for playing notes
17639 to...
17640 (play): ... new function.
17641
17642 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17643
17644 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17645 grub_uint16_t instead of short.
17646 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17647 disk from little endian to cpu endianness.
17648
17649 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17650
17651 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17652 GRUB_TICKS_PER_SECOND instead of 120.
17653
17654 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17655
17656 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17657 escape sequence after \e.
17658
17659 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17660
17661 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17662 non-ASCII characters.
17663
17664 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17665
17666 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17667 set root in single quotes to prevent \, from being unescaped.
17668
17669 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17670
17671 Prevent unknown commands from stopping menuentry execution.
17672
17673 * script/execute.c (grub_script_execute_cmdline): Print error after
17674 unknown command.
17675
17676 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17677
17678 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17679 Reported by: Pavel Pisa.
17680
17681 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17682
17683 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17684
17685 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 Merge grub_ieee1275_map_physical into grub_map and rename to
17688 grub_ieee1275_map
17689
17690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17691 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17692 Remove.
17693 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17694 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17695 necessary.
17696 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17697
17698 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17701 opening and not after.
17702
17703 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17704
17705 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17706 constants.
17707
17708 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17709
17710 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17711 (alloc_phys): Use ALIGN_UP instead of align_addr.
17712
17713 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17714
17715 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17716
17717 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17718
17719 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17720
17721 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17722
17723 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17724 verbose dprintf.
17725
17726 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 Fix over-4GiB seek on sparc64.
17729
17730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17731 Replace pos_i and pos_lo with pos. All users updated.
17732 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17733 New constant.
17734 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17735 Likewise.
17736 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17737 and pos_lo.
17738
17739 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * util/grub-mkrawimage.c (main): Call set_program_name.
17742
17743 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 Properly align 64-bit targets.
17746
17747 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17748 (generate_image): Use ALIGN_ADDR.
17749
17750 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17751
17752 Properly create cross-endian images.
17753
17754 * include/grub/types.h (grub_host_to_target_addr): New macro
17755 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17756
17757 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17760
17761 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17762
17763 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17764
17765 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17766 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17767 (grub_linux_boot): Divide by 64K when on VESA.
17768
17769 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 Support GRUB_GFXPAYLOAD_LINUX.
17772
17773 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17774 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17775
17776 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17777
17778 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17779 to show messages instead of discarding them.
17780 Process errors after executing command and not before. Keep old method
17781 too as precaution.
17782
17783 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * configure.ac: Check for ft2build.h.
17786
17787 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17788
17789 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17790
17791 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17792
17793 * genkernsyms.sh.in: Use TARGET_CC.
17794
17795 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
17796
17797 * NEWS: Update.
17798
17799 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17800
17801 * include/grub/multiboot2.h: Remove leftover file.
17802 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17803 * include/grub/partition.h [GRUB_UTIL]: Likewise.
17804
17805 2010-02-07 Yves Blusseau <blusseau@zetam.org>
17806
17807 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
17808
17809 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17810
17811 Fix warnings in grub-emu when compiling with maximum warning options.
17812
17813 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17814 (grub_arch_modules_addr): Return 0 and not NULL.
17815 * util/misc.c (ENABLE_RELOCATABLE): New definition.
17816 (xstrdup): Use newstr instead of dup.
17817 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17818 of disk to dsk to avoid shadowing.
17819 (find_free_slot): Fix prototype.
17820 * util/getroot.c (grub_util_is_dmraid): Make static.
17821 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17822 Add missing prototype.
17823 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
17824
17825 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17826
17827 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17828 appropriately.
17829
17830 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17833 code out.
17834
17835 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17838 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17839 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17840 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17841 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17842 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17843
17844 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17845
17846 * include/grub/err.h (grub_err_printf): Don't export.
17847
17848 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17849
17850 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17851
17852 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17853
17854 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17855 * kern/misc.c (grub_gettext_dummy): Make static.
17856
17857 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17858
17859 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17860 by non-valid ones.
17861 * kern/term.c (grub_putchar): Likewise.
17862
17863 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17866 buggy hook call and memory leak.
17867
17868 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17869
17870 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17871
17872 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17875
17876 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17877
17878 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17879 modevar.
17880 Return grub_errno on allocation error.
17881
17882 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17885
17886 2010-02-06 Yves Blusseau <blusseau@zetam.org>
17887
17888 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17889 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17890
17891 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17894 non-pxe disk.
17895 (grub_pxefs_open): Likewise.
17896
17897 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17898
17899 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17900 * util/grub.d/10_kfreebsd.in: Likewise.
17901 * util/grub.d/10_linux.in: Likewise.
17902
17903 2010-02-06 Colin D Bennett <colin@gibibit.com>
17904
17905 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17906 (gfxmenu_mod_SOURCES): New variable.
17907 (gfxmenu_mod_CFLAGS): Likewise.
17908 (gfxmenu_mod_LDFLAGS): Likewise.
17909 * include/grub/term.h (grub_term_set_current_output): Declare
17910 argument as const.
17911 * docs/gfxmenu-theme-example.txt: New file.
17912 * gfxmenu/gfxmenu.c: Likewise.
17913 * gfxmenu/gui_box.c: Likewise.
17914 * gfxmenu/gui_canvas.c: Likewise.
17915 * gfxmenu/gui_circular_progress.c: Likewise.
17916 * gfxmenu/gui_image.c: Likewise.
17917 * gfxmenu/gui_label.c: Likewise.
17918 * gfxmenu/gui_list.c: Likewise.
17919 * gfxmenu/gui_progress_bar.c: Likewise.
17920 * gfxmenu/gui_string_util.c: Likewise.
17921 * gfxmenu/gui_util.c: Likewise.
17922 * gfxmenu/icon_manager.c: Likewise.
17923 * gfxmenu/model.c: Likewise.
17924 * gfxmenu/named_colors.c: Likewise.
17925 * gfxmenu/theme_loader.c: Likewise.
17926 * gfxmenu/view.c: Likewise.
17927 * gfxmenu/widget-box.c: Likewise.
17928 * include/grub/gfxmenu_model.h: Likewise.
17929 * include/grub/gfxmenu_view.h: Likewise.
17930 * include/grub/gfxwidgets.h: Likewise.
17931 * include/grub/gui.h: Likewise.
17932 * include/grub/gui_string_util.h: Likewise.
17933 * include/grub/icon_manager.h: Likewise.
17934
17935 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17936
17937 Agglomerate scrolling in gfxterm.
17938
17939 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17940 (grub_virtual_screen_setup): Initialise 'total_screen'.
17941 (write_char): Split to ...
17942 (paint_char): ... this ...
17943 (write_char): ... and this.
17944 (paint_char): Handle delayed scrolling.
17945 (draw_cursor): Likewise.
17946 (scroll_up): Split to ...
17947 (real_scroll): ... this ...
17948 (scroll_up): ... and this.
17949 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17950 characters.
17951 (grub_gfxterm_refresh): Call real_scroll.
17952
17953 2010-02-06 Colin D Bennett <colin@gibibit.com>
17954
17955 * include/grub/misc.h (grub_iscntrl): New inline function.
17956 (grub_isalnum): Likewise.
17957 (grub_strtol): Likewise.
17958
17959 2010-02-06 Colin D Bennett <colin@gibibit.com>
17960
17961 * normal/menu_text.c (get_entry_number): Move from here ...
17962 * normal/menu.c (get_entry_number): ... moved here.
17963 * include/grub/menu.h (grub_menu_get_default_entry_index):
17964 New prototype.
17965 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17966 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17967 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17968 (grub_menu_viewer_should_return): Likewise.
17969 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17970 * normal/menu_text.c (run_menu): Enable menu switching.
17971 * normal/menu_viewer.c (should_return): New variable.
17972 (menu_viewer_changed): Likewise.
17973 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17974 (grub_menu_viewer_should_return): New function.
17975 (menuviewer_write_hook): Likewise.
17976 (grub_menu_viewer_init): Likewise.
17977
17978 2010-02-06 Colin D Bennet <colin@gibibit.com>
17979 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 Support for gfxterm in a window.
17982
17983 * include/grub/gfxterm.h: New file.
17984 * include/grub/video.h (struct grub_video_rect): New declaration.
17985 (grub_video_rect_t): Likewise.
17986 * term/gfxterm.c (struct grub_gfxterm_window): New type.
17987 (refcount): New variable.
17988 (render_target): Likewise.
17989 (window): Likewise.
17990 (repaint_callback): Likewise.
17991 (grub_virtual_screen_setup): Use 'render_target'.
17992 (init_window): New function.
17993 (grub_gfxterm_init_window): Likewise.
17994 (grub_gfxterm_init): Check reference counter.
17995 Use init_window.
17996 (destroy_window): New function.
17997 (grub_gfxterm_destroy_window): Likewise.
17998 (grub_gfxterm_fini): Check reference counter.
17999 Use destroy_window.
18000 (redraw_screen_rect): Restore viewport.
18001 Use 'render_target' and 'window'.
18002 Call 'repaint_callback'.
18003 (write_char): Use 'render_target'.
18004 (draw_cursor): Likewise.
18005 (scroll_up): Restore viewport.
18006 Use 'render_target' and 'window'.
18007 Call 'repaint_callback'.
18008 (grub_gfxterm_cls): Likewise.
18009 (grub_gfxterm_refresh): Use 'window'.
18010 (grub_gfxterm_set_repaint_callback): New function.
18011 (grub_gfxterm_background_image_cmd): Use 'window'.
18012 (grub_gfxterm_get_term): New function.
18013 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
18014
18015 2010-02-06 Colin D Bennett <colin@gibibit.com>
18016
18017 Bitmap scaling support.
18018
18019 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
18020 (bitmap_scale_mod_SOURCES): New variable.
18021 (bitmap_scale_mod_CFLAGS): Likewise.
18022 (bitmap_scale_mod_LDFLAGS): Likewise.
18023 * include/grub/bitmap_scale.h: New file.
18024 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
18025 (background_image_cmd_options): New variable.
18026 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
18027 (cmd): Rename and change type to ...
18028 (background_image_cmd_handle): ... this. All users updated.
18029 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
18030 * video/bitmap_scale.c: New file.
18031
18032 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18033
18034 SDL support.
18035
18036 * Makefile.in (LIBSDL): New variable.
18037 (enable_grub_emu_sdl): Likewise.
18038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
18039 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
18040 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
18041 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
18042 * util/sdl.c: New file.
18043
18044 2010-02-06 Colin D Bennett <colin@gibibit.com>
18045 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 Double buffering support.
18048
18049 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
18050 * include/grub/video.h: Update comment.
18051 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
18052 New type.
18053 (grub_video_fb_doublebuf_blit_init): New prototype.
18054 * term/gfxterm.c (scroll_up): Support double buffering.
18055 (grub_gfxterm_refresh): Likewise.
18056 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
18057 (grub_video_fb_doublebuf_blit_init): Likewise.
18058 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
18059 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
18060 'displayed_page', 'render_page' and 'update_screen'.
18061 (grub_video_vbe_fini): Free offscreen buffer.
18062 (doublebuf_pageflipping_commit): New function.
18063 (doublebuf_pageflipping_update_screen): Likewise.
18064 (doublebuf_pageflipping_init): Likewise.
18065 (double_buffering_init): Likewise.
18066 (grub_video_vbe_setup): Enable doublebuffering.
18067 (grub_video_vbe_swap_buffers): Implement.
18068 (grub_video_vbe_set_active_render_target): Handle double buffering.
18069 (grub_video_vbe_get_active_render_target): Likewise.
18070 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18071 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18072 (grub_video_vbe_enable_double_buffering): Likewise.
18073 (grub_video_vbe_swap_buffers): Use update_screen.
18074 (grub_video_set_mode): Use double buffering.
18075
18076 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18077
18078 * maintainance/gentrigtables.py: Remove.
18079 * lib/trig.c: Likewise.
18080
18081 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18082
18083 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18084 `trigtables.c'.
18085 (trigtables.c): New rule.
18086 (gentrigtables): Likewise.
18087 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18088
18089 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18090
18091 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18092 integer constants.
18093
18094 2010-02-06 Colin D Bennet <colin@gibibit.com>
18095
18096 Trigonometry support.
18097
18098 * include/grub/trig.h: New file.
18099 * lib/trig.c: Likewise.
18100 * maintainance/gentrigtables.py: Likewise.
18101 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18102 (trig_mod_SOURCES): New variable.
18103 (trig_mod_CFLAGS): Likewise.
18104 (trig_mod_LDFLAGS): Likewise.
18105
18106 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18109 disk devices.
18110
18111 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18112
18113 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18114 error.
18115
18116 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * util/hostdisk.c (open_device): Don't use partition device when reading
18119 before the partition.
18120 (grub_util_biosdisk_read): Don't read from partition and before the
18121 partition in single operation.
18122 (grub_util_biosdisk_write): Don't write to partition and before the
18123 partition in single operation.
18124
18125 2010-02-03 Torsten Landschoff <torsten@debian.org>
18126
18127 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18128 last sectors.
18129
18130 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18133 CDROM reads.
18134 (grub_biosdisk_write): Refuse to write to CDROM.
18135
18136 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18137
18138 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18139
18140 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * font/font.c (find_glyph): Check that bmp_idx is available before
18143 using it.
18144 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18145 with (font == NULL).
18146
18147 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
18148
18149 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18150
18151 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18152
18153 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18154 * util/grub-script-check.c (getline): Fix empty lines case.
18155
18156 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18157
18158 * Makefile.in (check): Exit with fail status when one of the tests
18159 fails.
18160 * tests/example_functional_test.c (example_test): Fix reversed assert.
18161 * tests/example_unit_test.c (example_test): Likewise.
18162
18163 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
18164
18165 * util/grub.d/10_linux.in: This script does not use any of the
18166 contents of gettext.sh, only the external command `gettext', so stop
18167 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18168 the same prefix as GRUB.)
18169 * util/grub.d/10_kfreebsd.in: Likewise.
18170
18171 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18174 of the line.
18175
18176 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18177
18178 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18179 last sectors.
18180
18181 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18184 having a 4KiB and not 32KiB buffer size.
18185
18186 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18187
18188 * util/hostfs.c: Include `<errno.h>'.
18189 (grub_hostfs_read): Handle errors from fseeko() and fread().
18190
18191 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18192
18193 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18194 loop when using read hooks on files whose size isn't sector-aligned.
18195
18196 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18197
18198 Remove unused parameter.
18199
18200 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18201 (grub_iso9660_open): Remove initialization of `data->length'.
18202
18203 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18204
18205 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18206 memleak conditions.
18207
18208 2010-01-27 Carles Pina i Estany <carles@pina.cat>
18209
18210 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18211 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18212
18213 2010-01-26 Carles Pina i Estany <carles@pina.cat>
18214
18215 * util/bin2h.c (usage): Fix warning (space after backslash).
18216
18217 2010-01-26 Carles Pina i Estany <carles@pina.cat>
18218
18219 * font/font.c: Include `grub/fontformat.h.
18220 Remove font file format constants.
18221 (grub_font_load): Use the new macros.
18222 * include/grub/fontformat.h: New file.
18223 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18224 (write_font_pf2): Use the new macros.
18225
18226 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18227
18228 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18229 does.
18230
18231 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18232
18233 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18234
18235 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18236 (_start): Macroify `0x7F'.
18237
18238 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18239 (make_install_device): Use "(pxe)" as fallback prefix when booting
18240 via PXE.
18241
18242 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18243
18244 * configure.ac: Reset LIBS after check for libgcc symbols.
18245
18246 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
18247
18248 * util/hostdisk.c (open_device): Add trailing newline to debug
18249 message.
18250
18251 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18252
18253 * configure.ac: Check for `limits.h'.
18254 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18255
18256 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18257
18258 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18259 capitalize error strings.
18260
18261 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18262
18263 * util/grub.d/10_hurd.in: Add a recovery mode.
18264
18265 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18266
18267 * configure.ac: Check for libgcc symbols with -nostdlib.
18268
18269 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18270
18271 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18272
18273 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18276 stack since heap may be unavailable at that point.
18277 (grub_ofconsole_gotoxy): Likewise.
18278
18279 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18280
18281 * configure.ac: Check for _restgpr_14_x.
18282 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18283 and _savegpr_* prototypes.
18284
18285 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18286
18287 Use generic grub_reboot() for i386-efi.
18288
18289 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18290 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18291 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18292
18293 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18296 presence of "prefix" variable as it breaks when normal.mod is
18297 embedded.
18298
18299 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18302 stack since heap is unavailable at that point.
18303
18304 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18305
18306 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18307 (grub_freebsd_bootinfo): Rewritten.
18308 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18309
18310 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18311
18312 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18313
18314 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18315
18316 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18317 domain now.
18318
18319 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
18320
18321 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18322 around for handling "/" to the correct fix. Fix a memory leak. Use
18323 xstrdup instead of strdup.
18324
18325 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18328
18329 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18330
18331 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18332
18333 * font/font.c (struct grub_font): New member 'bmp_idx'.
18334 (font_init): Initialise 'bmp_idx'.
18335 (load_font_index): Fill 'bmp_idx'.
18336 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18337
18338 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18341 unnecessary calls.
18342
18343 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18344
18345 Move context handling out of the kernel.
18346
18347 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18348 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18349 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18350 * conf/i386-efi.rmk: Likewise.
18351 * conf/i386-ieee1275.rmk: Likewise.
18352 * conf/i386-pc.rmk: Likewise.
18353 * conf/powerpc-ieee1275.rmk: Likewise.
18354 * conf/sparc64-ieee1275.rmk: Likewise.
18355 * conf/x86_64-efi.rmk: Likewise.
18356 * include/grub/env.h: Include grub/menu.h.
18357 (grub_env_var_type): Removed.
18358 (grub_env_var): Replaced field 'type' with 'global'.
18359 (grub_env_find): New prototype.
18360 (grub_env_context_open): Remove EXPORT_FUNC.
18361 (grub_env_context_close): Likewise.
18362 (grub_env_export): Likewise.
18363 (grub_env_set_data_slot): Removed.
18364 (grub_env_get_data_slot): Likewise.
18365 (grub_env_unset_data_slot): Likewise.
18366 (grub_env_unset_menu): New prototype.
18367 (grub_env_set_menu): Likewise.
18368 (grub_env_get_menu): Likewise.
18369 * include/grub/env_private.h: New file.
18370 * include/grub/normal.h (grub_context_init): New prototype.
18371 (grub_context_fini): Likewise.
18372 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18373 * normal/context.c (grub_cmd_export): ... to here.
18374 * kern/env.c: Include env_private.h.
18375 (HASHSZ): Moved to include/grub/env_private.h.
18376 (grub_env_context): Likewise.
18377 (grub_env_sorted_var): Likewise.
18378 (current_context): Renamed from this ...
18379 (grub_current_context): ...to this. 'static' removed. All users updated.
18380 (grub_env_find): Removed 'static'.
18381 (grub_env_context_open): Moved to normal/context.c.
18382 (grub_env_context_close): Likewise.
18383 (grub_env_export): Likewise.
18384 (mangle_data_slot_name): Removed.
18385 (grub_env_set_data_slot): Likewise.
18386 (grub_env_get_data_slot): Likewise.
18387 (grub_env_unset_data_slot): Likewise.
18388 * kern/main.c (grub_set_root_dev): Don't export root.
18389 It will be done later.
18390 (grub_main): Don't export prefix.
18391 It will be done later.
18392 * normal/context.c: New file.
18393 * normal/main.c (free_menu): Use grub_env_unset_menu.
18394 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18395 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18396 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18397 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18398
18399 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18400
18401 setpci support.
18402
18403 * commands/setpci.c: New file.
18404 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18405 (setpci_mod_SOURCES): New variable.
18406 (setpci_mod_CFLAGS): Likewise.
18407 (setpci_mod_LDFLAGS): Likewise.
18408
18409 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18410
18411 Byte-addressable PCI configuration space.
18412
18413 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18414 dword address.
18415 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18416 GRUB_PCI_REG_CACHELINE.
18417 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18418 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18419 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18420 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18421 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18422 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18423 grub_pci_make_address.
18424 (lock_rom_area): Likewise.
18425 * commands/lspci.c (grub_lspci_iter): Use macroses
18426 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18427 of grub_pci_make_address.
18428 * disk/ata.c (grub_ata_pciinit): Likewise.
18429 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18430 (GRUB_PCI_REG_VENDOR): Likewise.
18431 (GRUB_PCI_REG_DEVICE): Likewise.
18432 (GRUB_PCI_REG_COMMAND): Likewise.
18433 (GRUB_PCI_REG_STATUS): Likewise.
18434 (GRUB_PCI_REG_REVISION): Likewise.
18435 (GRUB_PCI_REG_CLASS): Likewise.
18436 (GRUB_PCI_REG_CACHELINE): Likewise.
18437 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18438 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18439 (GRUB_PCI_REG_BIST): Likewise.
18440 (GRUB_PCI_REG_ADDRESSES): Likewise.
18441 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18442 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18443 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18444 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18445 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18446 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18447 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18448 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18449 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18450 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18451 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18452 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18453 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18454 (GRUB_PCI_REG_MIN_GNT): Likewise.
18455 (GRUB_PCI_REG_MAX_LAT): Likewise.
18456 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18457 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18458 * video/efi_uga.c (find_framebuf): Likewise.
18459 * video/sm712.c (grub_video_sm712_setup): Likewise.
18460 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18461 space.
18462
18463 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18464
18465 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18466 can be reliably determined to be supported.
18467
18468 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18469
18470 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18471 that VESA is supported.
18472 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18473 supported.
18474
18475 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18476
18477 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18478
18479 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18480
18481 * util/misc.c (make_system_path_relative_to_its_root): Work around
18482 special-casing of "/", as previous incarnation of this routine did.
18483
18484 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18485
18486 Fix any-emu compilation.
18487
18488 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18489 * grub_bin2h_SOURCES: New variable.
18490
18491 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18492
18493 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18494
18495 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18496
18497 * util/grub.d/00_header.in: Fix handling of locale_dir.
18498
18499 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18502 as possible unifont location (Gentoo).
18503 Reported by: Alexander Brüning
18504
18505 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18506
18507 Don't try to generate lists for kernel.img.
18508
18509 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18510 (pkglib_MODULES): Remove kernel.img.
18511 (kernel_img_EXPORTS): Removed.
18512 (kernel_img_RELOCATABLE): New variable.
18513 * conf/x86_64-efi.rmk: Likewise.
18514 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18515
18516 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18517
18518 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18519 grub_xasprintf or grub_snprintf.
18520 (grub_vsprintf): Likewise.
18521 (grub_snprintf): New proto.
18522 (grub_vsnprintf): Likewise.
18523 (grub_xasprintf): Likewise.
18524 (grub_xvasprintf): Likewise.
18525 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18526 (grub_sprintf): Removed.
18527 (grub_vsnprintf): New function.
18528 (grub_snprintf): Likewise.
18529 (grub_xvasprintf): Likewise.
18530 (grub_xasprintf): Likewise.
18531 (grub_vsprintf): Renamed to ...
18532 (grub_vsnprintf_real): ...this. New argument max_len.
18533
18534 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18535
18536 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18537 fix grub-script-check warning.
18538
18539 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18540
18541 * include/grub/font.h (grub_font_load): Fix prototype.
18542
18543 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18546
18547 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18548
18549 * include/grub/x86_64/at_keyboard.h: New file.
18550
18551 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * loader/mips/linux.c: Include missing grub/i18n.h.
18554
18555 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18556
18557 * normal/menu.c (notify_execution_failure): Clarify error message.
18558
18559 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18560
18561 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18562 return value (and revert all return statements). Update users.
18563
18564 2010-01-20 Dan Merillat <debian@dan.merillat.org>
18565
18566 * kern/device.c (grub_device_iterate): Allocate new part_ent
18567 structure based on sizeof (*p) rather than sizeof (p->next), to
18568 account for structure padding.
18569
18570 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18571 disk is NULL, which might happen for LVM physical volumes with no
18572 LVM signature.
18573
18574 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18575
18576 * loader/mips/linux.c (grub_cmd_initrd)
18577 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18578
18579 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18580
18581 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18582 (grub_video_video_init, grub_video_bitmap_init)
18583 (grub_font_manager_init, grub_term_gfxterm_init)
18584 (grub_at_keyboard_init): New extern declarations.
18585 (grub_machine_init): Initialize gfxterm and at_keyboard.
18586
18587 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18588
18589 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18590 `gfxterm.mod' into core image.
18591
18592 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18593 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18594 (kernel_img_FORMAT): Copy to ...
18595
18596 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18597 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18598 (kernel_img_FORMAT): ... here, and ...
18599
18600 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18601 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18602 (kernel_img_FORMAT): ... here.
18603
18604 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18605 and input (at_keyboard) terminals in kernel.
18606 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18607
18608 (pkglib_MODULES): Remove `pci.mod'.
18609 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18610 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18611 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18612 (at_keyboard_mod_LDFLAGS): Remove variables.
18613
18614 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
18615
18616 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18617
18618 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18619
18620 * include/grub/mips/libgcc.h: Only export symbols for functions
18621 that libgcc provides.
18622
18623 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 MIPS support.
18626
18627 * bus/bonito.c: New file.
18628 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18629 GRUB_PCI_NUM_DEVICES.
18630 * term/i386/pc/serial.c: Move to ...
18631 * term/serial.c: ... here. All users updated.
18632 * util/i386/pc/grub-mkimage.c: Move to ...
18633 * util/grub-mkrawimage.c: ... here. All users updated.
18634 * term/i386/pc/at_keyboard.c: Move to ...
18635 * term/at_keyboard.c: ... here. All users updated.
18636 * conf/mips-qemu-mips.rmk: New file.
18637 * conf/mips-yeeloong.rmk: Likewise.
18638 * conf/mips.rmk: Likewise.
18639 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18640 mipsel-qemu-mips.
18641 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18642 to port addresses.
18643 (grub_ata_pciinit): Support CS5536.
18644 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18645 * font/font_cmd.c (loadfont_command): Open file before passing it to
18646 grub_font_load.
18647 (pseudo_file_read): New function.
18648 (pseudo_file_close): Likewise.
18649 (pseudo_fs): New structure.
18650 (load_font_module): New function.
18651 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18652 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18653 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18654 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18655 * include/grub/i386/at_keyboard.h: Split into ...
18656 * include/grub/at_keyboard.h: ... this ...
18657 * include/grub/i386/at_keyboard.h: ... and this.
18658 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18659 New prototype.
18660 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18661 updated.
18662 (grub_elf64_size): Likewise.
18663 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18664 filename.
18665 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18666 * include/grub/i386/coreboot/serial.h: Rewritten.
18667 * include/grub/i386/ieee1275/serial.h: Include
18668 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18669 * include/grub/i386/pc/serial.h: Moved from here ...
18670 * include/grub/serial.h: ... to here. All users updated.
18671 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18672 (GRUB_PCI_NUM_BUS): Likewise.
18673 (GRUB_PCI_NUM_DEVICES): Likewise.
18674 (grub_pci_device_map_range): Add missing volatile keyword.
18675 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18676 * include/grub/mips/at_keyboard.h: New file.
18677 * include/grub/mips/cache.h: Likewise.
18678 * include/grub/mips/io.h: Likewise.
18679 * include/grub/mips/kernel.h: Likewise.
18680 * include/grub/mips/libgcc.h: Likewise.
18681 * include/grub/mips/pci.h: Likewise.
18682 * include/grub/mips/qemu-mips/boot.h: Likewise.
18683 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18684 * include/grub/mips/qemu-mips/loader.h: Likewise.
18685 * include/grub/mips/qemu-mips/memory.h: Likewise.
18686 * include/grub/mips/qemu-mips/serial.h: Likewise.
18687 * include/grub/mips/qemu-mips/time.h: Likewise.
18688 * include/grub/mips/relocator.h: Likewise.
18689 * include/grub/mips/time.h: Likewise.
18690 * include/grub/mips/types.h: Likewise.
18691 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18692 * include/grub/mips/yeeloong/boot.h: Likewise.
18693 * include/grub/mips/yeeloong/kernel.h: Likewise.
18694 * include/grub/mips/yeeloong/loader.h: Likewise.
18695 * include/grub/mips/yeeloong/memory.h: Likewise.
18696 * include/grub/mips/yeeloong/pci.h: Likewise.
18697 * include/grub/mips/yeeloong/serial.h: Likewise.
18698 * include/grub/mips/yeeloong/time.h: Likewise.
18699 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18700 * kern/elf.c (grub_elf32_size): New parameter. All users
18701 updated.
18702 (grub_elf64_size): Likewise.
18703 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18704 Load modules before saying "Welcome to GRUB!".
18705 Call grub_refresh after saying "Welcome to GRUB!".
18706 * kern/mips/cache.S: New file.
18707 * kern/mips/cache_flush.S: Likewise.
18708 * kern/mips/dl.c: Likewise.
18709 * kern/mips/init.c: Likewise.
18710 * kern/mips/qemu-mips/init.c: Likewise.
18711 * kern/mips/startup.S: Likewise.
18712 * kern/mips/yeeloong/init.c: Likewise.
18713 * kern/term.c (grub_putcode): Handle NULL terminal.
18714 (grub_getcharwidth): Likewise.
18715 (grub_getkey): Likewise.
18716 (grub_checkkey): Likewise.
18717 (grub_getkeystatus): Likewise.
18718 (grub_getxy): Likewise.
18719 (grub_getwh): Likewise.
18720 (grub_gotoxy): Likewise.
18721 (grub_cls): Likewise.
18722 (grub_setcolorstate): Likewise.
18723 (grub_setcolor): Likewise.
18724 (grub_getcolor): Likewise.
18725 (grub_refresh): Likewise.
18726 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18727 (write_jump): Add hatch nop.
18728 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18729 * lib/mips/setjmp.S: New file.
18730 * loader/mips/linux.c: Likewise.
18731 * term/i386/pc/at_keyboard.c: Move from here ...
18732 * term/at_keyboard.c: ... to here.
18733 * term/i386/pc/serial.c: Moved from here ...
18734 * term/serial.c: ... to here. All users updated.
18735 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18736 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18737 (serial_translate_key_sequence): Avoid deadlock.
18738 (grub_serial_getkey): Handle backspace.
18739 (grub_serial_putchar): Fix newline handling.
18740 * util/i386/pc/grub-mkimage.c: Move from here ...
18741 * util/grub-mkrawimage.c: ... to here. All users updated.
18742 (generate_image): New parameters 'font_path' and 'format'.
18743 Support embedding font.
18744 Use grub_host_to_target* instead of grub_cpu_to_le*.
18745 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18746 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18747 (options): New option "--font".
18748 (usage): Likewise.
18749 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18750 (main): Handle "--font".
18751 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18752 (grub_virtual_screen_setup): Set bg_color_display.
18753 (redraw_screen_rect): Use bg_color_display instead of incorrect
18754 bg_color.
18755 (grub_gfxterm_cls): Likewise.
18756 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18757 Support embedding config file.
18758 (add_segments): Likewise.
18759 (options): New option "--config".
18760 (main): Handle "--config".
18761 * video/sm712.c: New file.
18762
18763 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18764
18765 Fix parallel builds.
18766
18767 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18768 font.c depend on ascii.h).
18769
18770 2010-01-12 Carles Pina i Estany <carles@pina.cat>
18771
18772 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18773
18774 2010-01-11 Carles Pina i Estany <carles@pina.cat>
18775
18776 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18777 By default: disabled.
18778 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18779 parameter.
18780
18781 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18782
18783 * font/font.c: Update copyright years.
18784 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18785
18786 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18787
18788 * font/font.c: Include `ascii.h'.
18789 (ASCII_BITMAP_SIZE): New macro.
18790 (ascii_font_glyph): Define.
18791 (ascii_glyph_lookup): New function.
18792 (grub_font_get_string_width): Change comment. If glyph not found, use
18793 ascii_glyph_lookup.
18794 (grub_font_get_glyph_with_fallback): If glyph not available returns
18795 ascii_glyph_lookup.
18796 * util/grub-mkfont.c (file_formats): New enum.
18797 (options): Add `ascii-bitmaps' new option.
18798 (usage): Add `asii-bitmaps' new option.
18799 (write_font_ascii_bitmap): New function.
18800 (write_font): Rename to ...
18801 (write_font_p2): ... this. Remove print_glyphs call.
18802 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18803 used. Call print_glyphs.
18804 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18805
18806 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18807
18808 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18809 (grub_bin2h_SOURCES): New variable.
18810 * util/bin2h.c: New file.
18811
18812 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18813
18814 * include/multiboot.h: Resynced with spec.
18815 * include/multiboot2.h: Likewise.
18816 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18817 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18818
18819 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18820
18821 * include/grub/term.h (grub_term_register_input,
18822 grub_term_register_output): Check return of terminal init()
18823 routines, and abort if errors are raised.
18824
18825 * commands/terminal.c: Update copyright year.
18826
18827 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18828
18829 * commands/terminal.c (grub_cmd_terminal_input)
18830 (grub_cmd_terminal_output): Check return of terminal init()
18831 routines, and abort if errors are raised.
18832
18833 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18834
18835 * include/grub/i386/bsd.h: Fix include pathes.
18836
18837 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18838
18839 Add missing *BSD copyright headers.
18840
18841 * include/grub/aout.h: Add BSD licence.
18842 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18843 * include/grub/i386/freebsd_linker.h: ... here,
18844 * include/grub/i386/freebsd_reboot.h: ... here,
18845 * include/grub/i386/netbsd_bootinfo.h: ... here,
18846 * include/grub/i386/netbsd_reboot.h: ... here,
18847 * include/grub/i386/openbsd_bootarg.h: ... here,
18848 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18849 licence to each file.
18850
18851 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18852
18853 * acinclude.m4: Remove `nop' assembly instruction; it's not
18854 implemented by all architectures.
18855
18856 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18857
18858 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18859 ELILO. This is no longer necessary.
18860
18861 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18862
18863 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18864
18865 * util/grub-script-check.c: grub-script-check tool.
18866 * conf/common.rmk: Make rules for grub-script-check.
18867
18868 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18871 spotting it back in 2008. Shame on me for forgetting he did.
18872
18873 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18874
18875 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18876
18877 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18878 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18879 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18880 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18881 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18882 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18883
18884 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18885
18886 * include/grub/test.h: Add license header.
18887 * tests/example_functional_test.c: Likewise.
18888 * tests/example_unit_test.c: Likewise.
18889 * tests/lib/functional_test.c: Likewise.
18890 * tests/lib/test.c: Likewise.
18891 * tests/lib/unit_test.c: Likewise.
18892
18893 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18894
18895 Use flag-based instead of hook-based video mode selection and "auto"
18896 keyword.
18897
18898 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18899 (grub_video_set_mode): Changed prototype. All users updated.
18900 (grub_video_check_mode_flag): New inline function.
18901 * video/video.c (parse_modespec): New function.
18902 (grub_video_set_mode): Parse flags and keywords.
18903
18904 2010-01-17 Carles Pina i Estany <carles@pina.cat>
18905
18906 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18907 fprintf call.
18908
18909 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18910
18911 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18912
18913 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18914
18915 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18916 string.
18917 * util/grub-emu.c (usage): Likewise.
18918 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18919 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18920 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18921 * util/i386/pc/grub-setup.c (usage): Likewise.
18922
18923 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18924
18925 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18926 the message.
18927 (grub_util_info): Likewise.
18928 (grub_util_error): Likewise.
18929 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18930 and/or new lines in `grub_util_warna', `grub_util_info',
18931 `grub_util_error' calls.
18932 * util/getroot.c: Likewise.
18933 * util/grub-editenv.c: Likewise.
18934 * util/grub-emu.c: Likewise.
18935 * util/grub-fstest.c: Likewise.
18936 * util/grub-mkdevicemap.c: Likewise.
18937 * util/grub-mkfont.c: Likewise.
18938 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18939 * util/grub-mkrelpath.c: Likewise.
18940 * util/grub-pe2elf.c: Likewise.
18941 * util/grub-probe.c: Likewise.
18942 * util/hostdisk.c: Likewise.
18943 * util/i386/efi/grub-mkimage.c: Likewise.
18944 * util/i386/pc/grub-mkimage.c: Likewise.
18945 * util/i386/pc/grub-setup.c: Likewise.
18946 * util/ieee1275/ofpath.c: Likewise.
18947 * util/mkisofs/eltorito.c: Likewise.
18948 * util/mkisofs/rock.c: Likewise.
18949 * util/mkisofs/write.c: Likewise.
18950 * util/raid.c: Likewise.
18951 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18952 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18953
18954 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18955
18956 Enable multiboot on non-pc.
18957
18958 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18959 multiboot.mod and multiboot2.mod to ...
18960 * conf/i386.rmk (pkglib_MODULES): ... here.
18961 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18962 Moved to ...
18963 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18964 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18965 Moved to ...
18966 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18967 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18968 Moved to ...
18969 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18970 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18971 Moved to ...
18972 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18973 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18974 relocator.mod.
18975 (ata_mod_SOURCES): Removed.
18976 (ata_mod_CFLAGS): Likewise.
18977 (ata_mod_LDFLAGS): Likewise.
18978 (relocator_mod_SOURCES): Removed.
18979 (relocator_mod_CFLAGS): Likewise.
18980 (relocator_mod_ASFLAGS): Likewise.
18981 (relocator_mod_LDFLAGS): Likewise.
18982 Include i386.mk.
18983 * include/grub/x86_64/multiboot.h: New file.
18984 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
18985 Terminate EFI.
18986
18987 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18988
18989 Video multiboot support.
18990
18991 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
18992 New prototype.
18993 * include/multiboot.h: Resynced with multiboot specification.
18994 * include/multiboot2.h: Likewise.
18995 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
18996 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
18997 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
18998 (HAS_VGA_TEXT): Likewise.
18999 (accepts_video): New variable.
19000 (grub_multiboot_set_accepts_video): New function.
19001 (grub_multiboot_get_mbi_size): Account for video structures.
19002 (set_video_mode): New function.
19003 (retrieve_video_parameters): Likewise.
19004 (grub_multiboot_make_mbi): Fill video fields.
19005
19006 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19007
19008 Video driver ids.
19009
19010 * include/grub/video.h (grub_video_driver_id): New type.
19011 (grub_video_adapter): New member 'id'. All users updated.
19012 (grub_video_get_driver_id): New proto.
19013 * video/video.c (grub_video_get_driver_id): New function.
19014
19015 2010-01-14 Carles Pina i Estany <carles@pina.cat>
19016
19017 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
19018 `var=val'.
19019
19020 2010-01-14 Carles Pina i Estany <carles@pina.cat>
19021
19022 * normal/cmdline.c (print_completion): Gettextizze.
19023
19024 2001-01-14 Carles Pina i Estany <carles@pina.cat>
19025
19026 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
19027
19028 2010-01-14 Carles Pina i Estany <carles@pina.cat>
19029
19030 * gettext/gettext.c (grub_gettext_translate): Push and pop
19031 grub_errno.
19032 (grub_gettext_delete_list): Change comment style.
19033 * kern/err.c (grub_error): Gettextizze.
19034 (grub_fatal): Gettextizze.
19035
19036 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
19037
19038 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
19039 (grub_linux16_real_boot): ... this.
19040 * kern/i386/loader.S: Likewise.
19041 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
19042 (grub_linux16_boot): New function. Switches to text mode and calls
19043 grub_linux16_real_boot().
19044
19045 * loader/i386/bsd.c: Include `<grub/video.h>'.
19046 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
19047 text mode before calling grub_unix_real_boot().
19048
19049 * loader/i386/multiboot.c: Include `<grub/video.h>'.
19050 (grub_multiboot_boot): Switch to text mode before calling
19051 grub_relocator32_boot().
19052
19053 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
19054 (grub_chainloader_boot): Switch to text mode before calling
19055 grub_chainloader_real_boot().
19056
19057 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19058 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19059
19060 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
19061 non-empty value.
19062
19063 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19064 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19065
19066 * util/grub.d/00_header.in: Define a "savedefault" function for use
19067 in menu entries.
19068 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
19069
19070 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19071 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19072
19073 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19074 saved_entry if boot_once is unset.
19075 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19076 previous saved entry (i.e. grub-reboot).
19077
19078 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19079
19080 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19081
19082 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19083
19084 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19085 `var=val'.
19086 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19087
19088 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19089
19090 * util/grub-reboot.in: Fix --version output.
19091 * util/grub-set-default.in: Likewise.
19092
19093 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19094
19095 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19096 blocks.
19097
19098 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19099
19100 * util/grub.d/00_header.in: Quote the value assigned to `default',
19101 in case it contains spaces.
19102
19103 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19106 `save_default_entry' call from the macosx case to the linux case.
19107
19108 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
19109 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
19110
19111 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19112 in `chosen' environment variable.
19113 * normal/menu_text.c (get_entry_number): Check if the variable
19114 matches the title of a menu entry.
19115 (run_menu): Pass menu to get_entry_number.
19116
19117 * util/grub-reboot.in: New file.
19118 * util/grub-set-default.in: New file.
19119 * conf/common.rmk (grub-reboot): New utility.
19120 (grub-set-default): New utility.
19121
19122 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19123 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19124 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19125 move it to `saved_entry' for the next boot. Load environment on
19126 initialisation.
19127 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19128 * util/grub.d/10_hurd.in: Likewise.
19129 * util/grub.d/10_linux.in (linux_entry): Likewise.
19130 * util/grub.d/10_windows.in: Likewise.
19131 * util/grub.d/30_os-prober.in: Likewise.
19132
19133 * util/grub-install.in: Create environment block.
19134 * util/i386/efi/grub-install.in: Likewise.
19135 * util/ieee1275/grub-install.in: Likewise.
19136 * util/sparc64/ieee1275/grub-install.in: Likewise.
19137
19138 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19139
19140 Unit testing framework for GRUB.
19141
19142 * Makefile.in: Test framework build rules for 'make check'.
19143 * conf/tests.rmk: Build rules for individual tests and framework.
19144
19145 * include/grub/test.h: Header file for whitebox tests.
19146 * tests/lib/functional_test.c: Framework support for whitebox
19147 functional tests.
19148 * tests/lib/test.c: Common whitebox testing code for unit and
19149 functional tests.
19150 * tests/lib/unit_test.c: Framework support for whitebox unit
19151 tests.
19152
19153 * tests/util/grub-shell-tester.in: Support utility for grub-script
19154 tests.
19155 * tests/util/grub-shell.in: Utility to execute grub-script
19156 commands in a Qemu instance.
19157
19158 * tests/example_functional_test.c: Example whitebox functional
19159 test.
19160 * tests/example_grub_script_test.in: Example grub-script test.
19161 * tests/example_scripted_test.in: Example scripted test.
19162 * tests/example_unit_test.c: Example whitebox unit test.
19163
19164 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19165
19166 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19167 Add loader/i386/multiboot_mbi.c.
19168 (multiboot2_mod_SOURCES): Likewise.
19169 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19170 (multiboot2_mod_SOURCES): Likewise.
19171 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19172 (grub_multiboot_make_mbi): Likewise.
19173 (grub_multiboot_free_mbi): Likewise.
19174 (grub_multiboot_init_mbi): Likewise.
19175 (grub_multiboot_add_module): Likewise.
19176 (grub_multiboot_set_bootdev): Likewise.
19177 * loader/i386/multiboot.c (mbi): Removed.
19178 (mbi_dest): Likewise.
19179 (alloc_mbi): New variable.
19180 (grub_multiboot_payload_size): Removed. All users updated.
19181 (grub_multiboot_pure_size): New variable.
19182 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19183 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19184 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19185 (grub_fill_multiboot_mmap): Likewise.
19186 (grub_multiboot_get_bootdev): Likewise.
19187 (grub_multiboot): Use multiboot_mbi functions.
19188 * loader/i386/multiboot_mbi.c: New file.
19189
19190 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19191
19192 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19193 it would result in module crash.
19194
19195 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19196
19197 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19198 (grub_ofconsole_getwh): Split to ...
19199 (grub_ofconsole_getwh): ... this.
19200 (grub_ofconsole_dimensions): ...and this.
19201 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19202
19203 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19204
19205 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19206
19207 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19208
19209 * loader/i386/pc/multiboot2.c: Removed stalled file.
19210
19211 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19212
19213 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19214 Reported by: Grégoire Sutre
19215
19216 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19217
19218 * util/misc.c (canonicalize_file_name): New function.
19219 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19220 instead of realpath().
19221
19222 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
19223
19224 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19225 and make it clearer that it's optional. Based on confusion
19226 witnessed on IRC.
19227
19228 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19229
19230 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19231 in premature implicit newline.
19232
19233 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19234
19235 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19236 which resulted in garbled command line at the end of screen.
19237
19238 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19239
19240 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19241 initialization with similar approach as with other Linux loaders.
19242
19243 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19244
19245 Fix i386-ieee1275 build.
19246
19247 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19248 and grub_term_height() for video_{width,height} initialization.
19249
19250 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19251
19252 Fix grub-emu build.
19253
19254 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19255
19256 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19257 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19258
19259 Support for multiple terminals.
19260
19261 * Makefile.in (pkglib_DATA): terminal.lst.
19262 (terminal.lst): New target.
19263 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19264 (GRUB_MOD_INIT(handler)): Likewise.
19265 (GRUB_MOD_FINI(handler)): Likewise.
19266 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19267 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19268 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19269 (grub_cmd_sleep): Use grub_term_save_pos.
19270 * commands/terminal.c: New file.
19271 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19272 commands/terminal.c and lib/charset.c.
19273 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19274 (pkglib_MODULES): Add terminal.mod.
19275 (terminal_mod_SOURCES): New variable.
19276 (terminal_mod_CFLAGS): Likewise.
19277 (terminal_mod_LDFLAGS): Likewise.
19278 * genhandlerlist.sh: Don't handle terminals.
19279 * genmk.rb: Generate terminal-*.lst.
19280 * genterminallist.sh: New file.
19281 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19282 (grub_is_valid_utf8): Likewise.
19283 (grub_utf8_to_ucs4_alloc): Likewise.
19284 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19285 (grub_menu_register_viewer): Changed argument.
19286 (grub_menu_try_text): New proto.
19287 (grub_gfxmenu_try_hook): New declaration.
19288 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19289 (grub_menu_init_page): Additional argument term.
19290 (grub_normal_init_page): Likewise.
19291 (grub_cmdline_get): Arguments simplified.
19292 (grub_utf8_to_ucs4_alloc): Removed.
19293 (grub_print_ucs4): Additional argument term.
19294 (grub_getstringwidth): Likewise.
19295 (grub_print_message_indented): Likewise.
19296 (grub_menu_text_register_instances): New proto.
19297 (grub_show_menu): Likewise.
19298 (read_terminal_list): Likewise.
19299 (grub_set_more): Likewise.
19300 * include/grub/parser.h: Include handler.h.
19301 * include/grub/reader.h: Rewritten.
19302 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19303 (GRUB_TERM_WIDTH): Changed to function.
19304 (GRUB_TERM_HEIGHT): Likewise.
19305 (GRUB_TERM_BORDER_WIDTH): Likewise.
19306 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19307 (GRUB_TERM_NUM_ENTRIES): Likewise.
19308 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19309 (GRUB_TERM_CURSOR_X): Likewise.
19310 (grub_term_input_class): Likewise.
19311 (grub_term_output_class): Likewise.
19312 (grub_term_outputs_disabled): New declaration.
19313 (grub_term_inputs_disabled): Likewise.
19314 (grub_term_outputs): Likewise.
19315 (grub_term_inputs): Likewise.
19316 (grub_term_register_input): Rewritten.
19317 (grub_term_register_output): Likewise.
19318 (grub_term_unregister_input): Likewise.
19319 (grub_term_unregister_output): Likewise.
19320 (FOR_ACTIVE_TERM_INPUTS): New macro.
19321 (FOR_DISABLED_TERM_INPUTS): Likewise.
19322 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19323 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19324 * include/grub/terminfo.h: Add oterm argument to all protypes.
19325 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19326 Use grub_rescue_run.
19327 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19328 All users updated.
19329 * kern/reader.c: Removed. All users updated.
19330 * kern/rescue_reader.c (grub_rescue_init): Removed.
19331 (grub_rescue_reader): Likewise.
19332 (grub_register_rescue_reader): Likewise.
19333 (grub_rescue_run): New function based on kern/reader.c.
19334 * kern/term.c: Adapted for multiterm.
19335 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19336 (grub_is_valid_utf8): Likewise.
19337 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19338 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19339 right terminal.
19340 * loader/i386/linux.c (grub_linux_boot): Likewise.
19341 * normal/auth.c (grub_username_get): New function.
19342 (grub_auth_check_authentication): Use grub_username_get.
19343 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19344 * normal/color.c: Adapt for multiterm.
19345 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19346 (grub_normal_init_page): Additional argument term.
19347 (read_lists): Call read_terminal_lists.
19348 (grub_enter_normal_mode): Call grub_cmdline_run.
19349 Handle grub_normal_exit_level.
19350 (grub_cmd_normal): Make reentrant.
19351 (grub_cmd_normal_exit): New function.
19352 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19353 * normal/menu.c: Adapt for multiterm.
19354 * normal/menu_entry.c: Likewise.
19355 * normal/menu_text.c: Likewise.
19356 * normal/menu_viewer.c: Removed. All users updated.
19357 * normal/term.c: New file.
19358 * util/console.c: Change order of includes to workaround a bug in
19359 ncurses headers.
19360 * term/terminfo.c: New argument oterm on all exported functions.
19361 All users updated.
19362 * util/grub-editenv.c (grub_term_input_class): Removed.
19363 (grub_term_output_class): Likewise.
19364
19365 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19366
19367 Make loader output a bit more user-friendly.
19368
19369 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19370 is being loaded. Likewise for the Hurd.
19371
19372 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19373 that kernel of FreeBSD ${version} is being loaded.
19374
19375 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19376 grub_dprintf().
19377 (grub_cmd_initrd): Likewise.
19378 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19379 that Linux ${version} is being loaded. Likewise for initrd.
19380
19381 2010-01-09 Carles Pina i Estany <carles@pina.cat>
19382
19383 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19384
19385 2010-01-08 Carles Pina i Estany <carles@pina.cat>
19386
19387 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19388 (GRUB_MOD_INIT): Gettextizze.
19389 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19390 (GRUB_MOD_INIT): Gettextizze.
19391 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19392 (grub_cmd_linux): Capitalise Linux.
19393 (GRUB_MOD_INIT): Gettextizze.
19394 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19395 (grub_cmd_linux): Capitalise Linux.
19396 (GRUB_MOD_INIT): Gettextizze.
19397 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19398 (grub_cmd_linux): Capitalise Linux.
19399 (GRUB_MOD_INIT): Gettextizze.
19400 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19401 (GRUB_MOD_INIT): Gettextizze.
19402 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19403 (grub_cmd_linux): Capitalise Linux.
19404 (GRUB_MOD_INIT): Gettextizze.
19405 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19406 (grub_cpu_xnu_init): Gettextizze.
19407 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19408 (GRUB_MOD_INIT): Gettextizze.
19409 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19410 (GRUB_MOD_INIT): Gettextizze.
19411 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19412 (grub_linux_load64): Capitalise Linux.
19413 (GRUB_MOD_INIT): Gettextizze.
19414 * loader/xnu.c: Include `<grub/i18n.h>'.
19415 (GRUB_MOD_INIT): Gettextizze.
19416 * po/POTFILES: Add `loader/efi/appleloader.c',
19417 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19418 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19419 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19420 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19421 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19422 and `loader/xnu.c'.
19423
19424 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19425
19426 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19427
19428 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19429
19430 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19431 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19432 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19433
19434 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19435
19436 Reset Multiboot 2 support. New loader implements the draft in
19437 /branches/multiboot2 and shares as much code as possible with the
19438 production Multiboot 1 implementation.
19439
19440 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19441 * loader/multiboot2.c: Likewise.
19442 * loader/i386/multiboot_helper.S: Likewise.
19443 * include/multiboot2.h: Replace with latest version from the draft
19444 in /branches/multiboot2.
19445
19446 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19447 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19448 and `loader/multiboot2.c'.
19449 (pkglib_MODULES): Add `multiboot2.mod'.
19450 (multiboot2_mod_SOURCES): New variable.
19451 (multiboot2_mod_LDFLAGS): Likewise.
19452 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19453
19454 * conf/i386-pc.rmk: Likewise.
19455
19456 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19457 (multiboot_mod_SOURCES): Remove variable.
19458 (multiboot_mod_LDFLAGS): Likewise.
19459 (multiboot_mod_CFLAGS): Likewise.
19460
19461 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19462 `<multiboot2.h>' instead of `<multiboot.h>'.
19463 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19464 (MULTIBOOT_HEADER_MAGIC): New macros.
19465
19466 * loader/multiboot_loader.c (module_version_status): Remove variable.
19467 (find_multi_boot2_header): Remove function.
19468 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19469 logic. Always check for the Multiboot version we're compiling for.
19470 (grub_cmd_module_loader): Likewise.
19471 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19472 command instead of `multiboot'.
19473
19474 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19475
19476 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19477 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19478 all users.
19479
19480 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19481 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19482
19483 Fix breakage introduced with previous commit.
19484
19485 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19486 commands.
19487 * normal/handler.c (read_handler_list): Revert part of previous commit
19488 affecting this file.
19489 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19490 (grub_normal_execute): ... here.
19491
19492 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19493
19494 Merge prefix-redefinition-fix branch.
19495
19496 * normal/autofs.c (read_fs_list): Make function capable of being
19497 run multiple times, gracefuly replacing the previous data
19498 structures.
19499 * normal/dyncmd.c (read_command_list): Likewise.
19500 * normal/handler.c (read_handler_list): Likewise.
19501 * normal/main.c (read_lists): New function. Calls all the
19502 list reading functions.
19503 (grub_normal_execute): Use read_lists() instead of calling all
19504 list reading functions explicitly. Register read_lists() as a
19505 variable hook attached to ${prefix}.
19506
19507 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19508
19509 Merge crypto branch.
19510
19511 * Makefile.in (pkglib_DATA): Add crypto.lst.
19512 (crypto.lst): New target.
19513 * commands/hashsum.c: New file.
19514 * commands/password.c (check_password): Use grub_crypto_memcmp.
19515 * commands/password_pbkdf2.c: New file.
19516 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19517 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19518 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19519 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19520 -I$(srcdir)/lib/libgcrypt_wrap.
19521 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19522 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19523 password_pbkdf2.mod.
19524 (crypto_mod_SOURCES): New variable.
19525 (crypto_mod_CFLAGS): Likewise.
19526 (crypto_mod_LDFLAGS): Likewise.
19527 (hashsum_mod_SOURCES): New variable.
19528 (hashsum_mod_CFLAGS): Likewise.
19529 (hashsum_mod_LDFLAGS): Likewise.
19530 (pbkdf2_mod_SOURCES): New variable.
19531 (pbkdf2_mod_CFLAGS): Likewise.
19532 (pbkdf2_mod_LDFLAGS): Likewise.
19533 (password_pbkdf2_mod_SOURCES): New variable.
19534 (password_pbkdf2_mod_CFLAGS): Likewise.
19535 (password_pbkdf2_mod_LDFLAGS): Likewise.
19536 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19537 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19538 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19539 Include conf/gcry.rmk.
19540 * include/grub/auth.h: Rewritten.
19541 * include/grub/crypto.h: New file.
19542 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19543 * include/grub/normal.h (read_crypto_list): New prototype.
19544 * lib/crypto.c: New file.
19545 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19546 * lib/pbkdf2.c: Likewise.
19547 * normal/auth.c (grub_auth_strcmp): Removed.
19548 (grub_iswordseparator): Likewise.
19549 (grub_auth_strword): Likewise.
19550 (is_authenticated): Use grub_strword.
19551 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19552 and grub_strword. Pass entered password to authentication callback.
19553 * normal/crypto.c: New file.
19554 * normal/main.c: Call read_crypto_list.
19555 * util/grub-mkpasswd-pbkdf2.c: New file.
19556 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19557
19558 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 Fix descent and ascent calculation.
19561
19562 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19563 (options): New option "asce".
19564 (usage): Likewise.
19565 (add_char): Ignore invalid glyphs for descent calculation.
19566 Calculate ascent from actual content.
19567 (print_glyphs): Use 'asce'.
19568 (write_font): Likewise. Allow ascent override.
19569 (main): Handle "asce" option.
19570
19571 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19572
19573 * kern/err.c: Include `<grub/i18n.h>'.
19574 (grub_print_error): Add full stop. Gettextizze.
19575 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19576 (grub_bsd_load_elf): Capitalise ELF.
19577 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19578 (grub_cmd_freebsd_module): Likewise.
19579 (grub_cmd_freebsd_module_elf): Likewise.
19580 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19581
19582 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19583
19584 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19585 * commands/search_file.c (HELP_MESSAGE): New macro.
19586 * commands/search_label.c (HELP_MESSAGE): Likewise.
19587 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19588 * po/POTFILES: Add `commands/search_file.c',
19589 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19590 `commands/search.c'.
19591
19592 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19593
19594 * config.rpath: Update from Gnulib.
19595
19596 2010-01-05 Yves Blusseau <blusseau@zetam.org>
19597
19598 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19599
19600 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19601
19602 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19603
19604 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19607 arguments to fread so that we get a return value in bytes, rather
19608 than something that will normally be rounded down to 0.
19609 Adjust error handling to avoid producing garbage when size_t is not
19610 the same size as long long.
19611
19612 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19613
19614 * util/mkisofs/write.c (padblock_write): Check return value of
19615 fread.
19616
19617 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19618
19619 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19620 floppy images now.
19621
19622 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19623
19624 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19625
19626 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19627 instead of manual alignment.
19628 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19629 verbose). Avoid attempts to read past end of the device
19630 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19631 but GRUB_DISK_CACHE_SIZE may exceed that).
19632
19633 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19634
19635 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19636 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19637 it to upper layer.
19638
19639 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19640
19641 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19642 New constant.
19643 (grub_efi_piwg_device_path): New structure
19644 (grub_efi_piwg_device_path_t): New type.
19645 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19646 (devpath_1): Transform to a structure. All users updated.
19647 (devpath_2): Likewise.
19648 (devpath_3): Likewise.
19649 (devpath_4): Likewise.
19650 (devpath_5): Likewise.
19651
19652 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19653
19654 * loader/efi/appleloader.c: Restored. Update all users.
19655
19656 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19657
19658 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19659
19660 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19661 (struct boot_blocklist): Move from here ...
19662 * include/grub/i386/pc/boot.h [ASM_FILE]
19663 (struct grub_boot_blocklist): ... to here. Update all users.
19664 (setup): Only initialize `start' member of `first_block'
19665 structure. Add assert() calls to verify the other members.
19666
19667 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19668 (generate_image): Fix broken blocklist length initialization.
19669 Add assert() call to verify blocklist `segment' field.
19670
19671 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19672
19673 * loader/efi/appleloader.c: Remove. Update all users.
19674
19675 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19676
19677 * boot/i386/pc/boot.S: Update copyright year.
19678 * boot/i386/pc/cdboot.S: Likewise.
19679 * boot/i386/pc/diskboot.S: Likewise.
19680 * boot/i386/pc/lnxboot.S: Likewise.
19681 * boot/i386/pc/pxeboot.S: Likewise.
19682 * bus/pci.c: Likewise.
19683 * commands/cmp.c: Likewise.
19684 * commands/help.c: Likewise.
19685 * commands/hexdump.c: Likewise.
19686 * commands/i386/pc/halt.c: Likewise.
19687 * commands/i386/pc/play.c: Likewise.
19688 * commands/i386/pc/vbeinfo.c: Likewise.
19689 * commands/ls.c: Likewise.
19690 * commands/test.c: Likewise.
19691 * disk/dmraid_nvidia.c: Likewise.
19692 * disk/i386/pc/biosdisk.c: Likewise.
19693 * disk/ieee1275/nand.c: Likewise.
19694 * disk/ieee1275/ofdisk.c: Likewise.
19695 * disk/lvm.c: Likewise.
19696 * disk/raid.c: Likewise.
19697 * disk/raid6_recover.c: Likewise.
19698 * disk/scsi.c: Likewise.
19699 * fs/affs.c: Likewise.
19700 * fs/cpio.c: Likewise.
19701 * fs/ext2.c: Likewise.
19702 * fs/hfs.c: Likewise.
19703 * fs/iso9660.c: Likewise.
19704 * fs/ntfs.c: Likewise.
19705 * fs/sfs.c: Likewise.
19706 * fs/udf.c: Likewise.
19707 * fs/ufs.c: Likewise.
19708 * fs/xfs.c: Likewise.
19709 * gencmdlist.sh: Likewise.
19710 * genmk.rb: Likewise.
19711 * include/grub/disk.h: Likewise.
19712 * include/grub/efi/api.h: Likewise.
19713 * include/grub/efi/efi.h: Likewise.
19714 * include/grub/efi/pe32.h: Likewise.
19715 * include/grub/elf.h: Likewise.
19716 * include/grub/fs.h: Likewise.
19717 * include/grub/i386/at_keyboard.h: Likewise.
19718 * include/grub/i386/pc/memory.h: Likewise.
19719 * include/grub/i386/pc/vbe.h: Likewise.
19720 * include/grub/i386/pci.h: Likewise.
19721 * include/grub/i386/tsc.h: Likewise.
19722 * include/grub/ieee1275/ieee1275.h: Likewise.
19723 * include/grub/ntfs.h: Likewise.
19724 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19725 * include/grub/sparc64/libgcc.h: Likewise.
19726 * include/grub/symbol.h: Likewise.
19727 * include/grub/types.h: Likewise.
19728 * include/multiboot2.h: Likewise.
19729 * io/gzio.c: Likewise.
19730 * kern/device.c: Likewise.
19731 * kern/disk.c: Likewise.
19732 * kern/efi/efi.c: Likewise.
19733 * kern/efi/mm.c: Likewise.
19734 * kern/elf.c: Likewise.
19735 * kern/file.c: Likewise.
19736 * kern/i386/dl.c: Likewise.
19737 * kern/i386/pc/init.c: Likewise.
19738 * kern/i386/pc/startup.S: Likewise.
19739 * kern/ieee1275/ieee1275.c: Likewise.
19740 * kern/ieee1275/init.c: Likewise.
19741 * kern/main.c: Likewise.
19742 * kern/mm.c: Likewise.
19743 * kern/powerpc/dl.c: Likewise.
19744 * kern/sparc64/dl.c: Likewise.
19745 * kern/x86_64/dl.c: Likewise.
19746 * lib/hexdump.c: Likewise.
19747 * loader/efi/appleloader.c: Likewise.
19748 * loader/i386/ieee1275/linux.c: Likewise.
19749 * loader/i386/pc/chainloader.c: Likewise.
19750 * loader/i386/pc/linux.c: Likewise.
19751 * loader/i386/pc/multiboot2.c: Likewise.
19752 * loader/ieee1275/multiboot2.c: Likewise.
19753 * loader/multiboot2.c: Likewise.
19754 * loader/multiboot_loader.c: Likewise.
19755 * loader/powerpc/ieee1275/linux.c: Likewise.
19756 * normal/completion.c: Likewise.
19757 * normal/menu_entry.c: Likewise.
19758 * partmap/apple.c: Likewise.
19759 * util/grub.d/10_hurd.in: Likewise.
19760 * util/hostfs.c: Likewise.
19761 * video/readers/png.c: Likewise.
19762
19763 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
19764
19765 * include/grub/misc.h (GNUC_PREREQ): New macro.
19766 (ATTRIBUTE_ERROR): New macro.
19767 * include/grub/list.h (grub_bad_type_cast_real): Use
19768 ATTRIBUTE_ERROR.
19769
19770 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19771
19772 * normal/menu_text.c (print_message): Change messages.
19773
19774 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19775
19776 * normal/menu_entry.c (store_completion): Gettextizze.
19777
19778 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19779
19780 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19781
19782 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19783
19784 * po/POTFILES: Sort correctly.
19785
19786 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19787
19788 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19789 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19790 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19791 full stop.
19792 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19793 summary. Gettextizze the strings.
19794 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19795 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19796 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19797 full stop.
19798 (GRUB_MOD_INIT): Remove command name from summary.
19799 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19800 summary.
19801 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19802 * term/i386/pc/serial.c (options): Add full stops.
19803 (GRUB_MOD_INIT): Remove command name from the summary.
19804
19805 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19806
19807 * commands/acpi.c: Gettextizze help strings and/or options. Include
19808 `grub/i18n.h' if needed.
19809 * commands/blocklist.c: Likewise.
19810 * commands/boot.c: Likewise.
19811 * commands/cat.c: Likewise.
19812 * commands/cmp.c: Likewise.
19813 * commands/configfile.c: Likewise.
19814 * commands/crc.c: Likewise.
19815 * commands/date.c: Likewise.
19816 * commands/echo.c: Likewise.
19817 * commands/efi/fixvideo.c: Likewise.
19818 * commands/efi/loadbios.c: Likewise.
19819 * commands/gptsync.c: Likewise.
19820 * commands/halt.c: Likewise.
19821 * commands/handler.c: Likewise.
19822 * commands/hdparm.c: Likewise.
19823 * commands/hexdump.c: Likewise.
19824 * commands/i386/cpuid.c: Likewise.
19825 * commands/i386/pc/drivemap.c: Likewise.
19826 * commands/i386/pc/halt.c: Likewise.
19827 * commands/i386/pc/pxecmd.c: Likewise.
19828 * commands/i386/pc/vbeinfo.c: Likewise.
19829 * commands/i386/pc/vbetest.c: Likewise.
19830 * commands/ieee1275/suspend.c: Likewise.
19831 * commands/keystatus.c: Likewise.
19832 * commands/loadenv.c: Likewise.
19833 * commands/ls.c: Likewise.
19834 * commands/lsmmap.c: Likewise.
19835 * commands/lspci.c: Likewise.
19836 * commands/memrw.c: Likewise.
19837 * commands/minicmd.c: Likewise.
19838 * commands/parttool.c: Likewise.
19839 * commands/password.c: Likewise.
19840 * commands/probe.c: Likewise.
19841 * commands/read.c: Likewise.
19842 * commands/reboot.c: Likewise.
19843 * commands/search.c: Likewise.
19844 * commands/sleep.c: Likewise.
19845 * commands/test.c: Likewise.
19846 * commands/true.c: Likewise.
19847 * commands/usbtest.c: Likewise.
19848 * commands/videotest.c: Likewise.
19849 * commands/xnu_uuid.c: Likewise.
19850 * disk/loopback.c: Likewise.
19851 * hello/hello.c: Likewise.
19852 * loader/i386/bsd.c: Likewise.
19853 * term/i386/pc/serial.c: Likewise.
19854 * po/POTFILES: Add new files.
19855
19856 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
19857
19858 * term/i386/pc/at_keyboard.c
19859 (keyboard_controller_wait_untill_ready): Rename to ...
19860 (keyboard_controller_wait_until_ready): ... this. Update all users.
19861
19862 2010-01-01 Carles Pina i Estany <carles@pina.cat>
19863
19864 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19865 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19866 string using string width.
19867 * normal/menu_text.c (grub_print_message_indented): Use
19868 grub_print_spaces and not print_spaces.
19869 (print_timeout): Likewise.
19870 (print_spaces): Move to...
19871 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19872
19873 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19874
19875 Import from Gnulib.
19876
19877 * gnulib/getdelim.c: New file.
19878 * gnulib/getline.c: Likewise.
19879
19880 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19881
19882 * include/grub/list.h (grub_assert_fail): Removed.
19883 (grub_bad_type_cast_real): New function.
19884 (grub_bad_type_cast): New macro.
19885 (GRUB_AS_LIST): Use grub_bad_type_cast.
19886 (GRUB_AS_LIST_P): Likewise.
19887 (GRUB_AS_NAMED_LIST): Likewise.
19888 (GRUB_AS_NAMED_LIST_P): Likewise.
19889 (GRUB_AS_PRIO_LIST): Likewise.
19890 (GRUB_AS_PRIO_LIST_P): Likewise.
19891 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
19892
19893 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19894
19895 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19896 Fix syntax error.
19897
19898 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19899
19900 * configure.ac: Check for TARGET_CFLAGS initialization before we
19901 initialize it ourselves (sigh).
19902 Move a few modifications to TARGET_CFLAGS to be unconditional
19903 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19904 eh_frame)
19905
19906 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19907 * term/i386/pc/at_keyboard.c
19908 (keyboard_controller_wait_untill_ready): Likewise.
19909 (keyboard_controller_led): Rename `led_status' paramter to avoid
19910 name conflict.
19911
19912 2009-12-28 Carles Pina i Estany <carles@pina.cat>
19913
19914 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19915 quotes.
19916
19917 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19918
19919 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19920
19921 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19922
19923 * normal/menu_text.c (grub_print_message_indented): Prevent
19924 past-the-end-of-array dereference.
19925
19926 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19927
19928 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19929 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19930
19931 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19932
19933 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19934 * normal/main.c (grub_normal_read_line): Remove a space from the
19935 default prompt.
19936
19937 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19938
19939 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19940 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19941 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19942 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19943 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19944 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19945 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19946
19947 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19948
19949 * video/readers/jpeg.c (cmd): Declare.
19950 (grub_cmd_jpegtest): Use `grub_command_t' type.
19951 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19952 Assign to `cmd'.
19953 (GRUB_MOD_FINI): Use `cmd' to unregister.
19954 * video/readers/png.c (cmd): Declare.
19955 (grub_cmd_pngtest): Use `grub_command_t' type.
19956 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19957 Assign to `cmd'.
19958 (GRUB_MOD_FINI): Use `cmd' to unregister.
19959 * video/readers/tga.c (cmd): Declare.
19960 (grub_cmd_tgatest): Use `grub_command_t' type.
19961 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19962 Assign to `cmd'.
19963 (GRUB_MOD_FINI): Use `cmd' to unregister.
19964
19965 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19966
19967 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19968 stops.
19969 * kern/corecmd.c (grub_register_core_commands): Likewise.
19970 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19971 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19972 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19973 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19974 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19975 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19976 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19977 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19978 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19979 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19980 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19981 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19982 * normal/handler.c (insert_handler): Likewise.
19983 * normal/main.c (GRUB_MOD_INIT): Likewise.
19984 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19985
19986 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19987
19988 * commands/help.c (grub_cmd_help): Print the command name before the
19989 summary.
19990 (GRUB_MOD_INIT): Remove command name from the summary.
19991 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
19992 string as summary.
19993 * lib/arg.c (find_long): Print the command name before the summary.
19994 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
19995 summary.
19996 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
19997 * commands/cat.c (GRUB_MOD_INIT): Likewise.
19998 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
19999 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
20000 * commands/crc.c (GRUB_MOD_INIT): Likewise.
20001 * commands/date.c (GRUB_MOD_INIT): Likewise.
20002 * commands/echo.c (GRUB_MOD_INIT): Likewise.
20003 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
20004 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20005 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20006 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
20007 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
20008 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
20009 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
20010 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20011 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
20012 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
20013 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
20014 * commands/ls.c (GRUB_MOD_INIT): Likewise.
20015 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20016 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20017 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20018 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
20019 * commands/password.c (GRUB_MOD_INIT): Likewise.
20020 * commands/probe.c (GRUB_MOD_INIT): Likewise.
20021 * commands/read.c (GRUB_MOD_INIT): Likewise.
20022 * commands/search.c (GRUB_MOD_INIT): Likewise.
20023 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
20024 * commands/test.c (GRUB_MOD_INIT): Likewise.
20025 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
20026 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20027 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20028 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
20029 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20030 * lib/arg.c (GRUB_MOD_INIT): Likewise.
20031 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
20032 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
20033 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
20034 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20035 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20036 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
20037 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
20038 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
20039
20040 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20041
20042 Use search command for preliminar UUID search.
20043
20044 * commands/search.c: Split into ...
20045 * commands/search_wrap.c: ...this
20046 * commands/search.c: ...and this.
20047 * commands/search_file.c: New file.
20048 * commands/search_label.c: New file.
20049 * commands/search_uuid.c: New file.
20050 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
20051 Add commands/search_wrap.c, commands/search_file.c,
20052 commands/search_label.c and commands/search_uuid.c.
20053 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
20054 (search_mod_SOURCES): Set to commands/search_wrap.c.
20055 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
20056 search_label.mod.
20057 (search_fs_file_mod_SOURCES): New variable.
20058 (search_fs_file_mod_CFLAGS): Likewise.
20059 (search_fs_file_mod_LDFLAGS): Likewise.
20060 (search_label_mod_SOURCES): Likewise.
20061 (search_label_mod_CFLAGS): Likewise.
20062 (search_label_mod_LDFLAGS): Likewise.
20063 (search_fs_uuid_mod_SOURCES): New variable.
20064 (search_fs_uuid_mod_CFLAGS): Likewise.
20065 (search_fs_uuid_mod_LDFLAGS): Likewise.
20066 (fs_file_mod_SOURCES): Removed.
20067 (fs_file_mod_CFLAGS): Likewise.
20068 (fs_file_mod_LDFLAGS): Likewise.
20069 (fs_uuid_mod_SOURCES): Removed.
20070 (fs_uuid_mod_CFLAGS): Likewise.
20071 (fs_uuid_mod_LDFLAGS): Likewise.
20072 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20073 Set to util/grub-install.in.
20074 * disk/fs_file.c: Removed.
20075 * disk/fs_uuid.c: Likewise.
20076 * include/grub/search.h: New file.
20077 * util/grub-install.in: Handle sparc64.
20078 Create and use load.cfg.
20079 * util/sparc64/ieee1275/grub-install.in: Removed.
20080
20081 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20082
20083 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20084 Ignore return status if CF is cleared.
20085 (grub_biosdisk_get_diskinfo_standard): Likewise.
20086
20087 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20088
20089 * term/i386/pc/at_keyboard.c
20090 (keyboard_controller_wait_untill_ready): New function.
20091 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20092 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20093 for keyboard polling, rather than duplicate the same loop. This
20094 saves a few bytes in code size.
20095
20096 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20097
20098 Support for (pxe[:server[:gateway]]) syntax and
20099 use environment variable for PXE.
20100
20101 * commands/i386/pc/pxecmd.c (options): Removed.
20102 (print_ip): Removed.
20103 (grub_cmd_pxe): Removed
20104 (grub_cmd_pxe_unload): New function.
20105 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20106 (grub_pxe_your_ip): Made static.
20107 (grub_pxe_default_server_ip): Likewise.
20108 (grub_pxe_default_gateway_ip): Likewise.
20109 (grub_pxe_blksize): Likewise.
20110 (parse_ip): New function.
20111 (grub_pxe_open): Support server and gateway specification.
20112 (grub_pxe_close): Free disk->data.
20113 (grub_pxefs_open): Use disk->data.
20114 (grub_pxefs_read): Likewise.
20115 (grub_env_write_readonly): New function.
20116 (set_mac_env): Likewise.
20117 (set_env_limn_ro): Likewise.
20118 (parse_dhcp_vendor): Likewise.
20119 (grub_pxe_detect): Set the environment variables.
20120 (set_ip_env): New function.
20121 (write_ip_env): Likewise.
20122 (grub_env_write_pxe_default_server): Likewise.
20123 (grub_env_write_pxe_default_gateway): Likewise.
20124 (grub_env_write_pxe_blocksize): Likewise.
20125 (GRUB_MOD_INIT(pxe)): Set environment variables.
20126 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20127 (grub_pxe_mac_addr_t): ... this. All users updated.
20128 (grub_pxe_your_ip): Removed.
20129 (grub_pxe_server_ip): Likewise.
20130 (grub_pxe_gateway_ip): Likewise.
20131 (grub_pxe_blksize): Likewise.
20132
20133 2009-12-25 Carles Pina i Estany <carles@pina.cat>
20134
20135 * commands/help.c: Include `<grub/i18n.h>'.
20136 (grub_cmd_help): Gettextizze.
20137 (GRUB_MOD_INIT): Likewise.
20138 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20139 (GRUB_MOD_INIT): Gettextizze.
20140 * commands/search.c: Include `<grub/i18n.h>'.
20141 (options): Gettextizze.
20142 (GRUB_MOD_INIT): Gettextizze.
20143 * lib/arg.c: Include `<grub/i18n.h>'.
20144 (help_options): Gettextizze.
20145 (find_long): Likewise.
20146 (grub_arg_show_help): Likewise.
20147 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20148 (read_command_list): Gettextizze.
20149 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
20150 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
20151
20152 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20153
20154 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20155 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20156 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20157 (led_status): New variable.
20158 (keyboard_controller_led): New function.
20159 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20160 update led status for caps lock, num lock and scroll lock.
20161
20162 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
20163
20164 * util/hostdisk.c (open_device): Fix a comment.
20165
20166 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20167
20168 * util/grub-install.in (host_os): New variable.
20169 * util/i386/efi/grub-install.in (host_os): Likewise.
20170
20171 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20172
20173 * util/mkisofs/write.c (padblock_write): Abort when given an
20174 excedingly large embed image, instead of silently truncating it.
20175
20176 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20177
20178 * include/multiboot.h: Indentation fixes.
20179
20180 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20181
20182 * include/multiboot.h (struct multiboot_aout_symbol_table)
20183 (struct multiboot_elf_section_header_table): New structure
20184 declarations (stolen from GRUB Legacy).
20185 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20186 table information.
20187
20188 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20189 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20190 type aliases.
20191
20192 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20193
20194 * include/multiboot.h: Make comments src2texi-friendly.
20195
20196 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20197
20198 For consistency with [multiboot]/docs/boot.S.
20199
20200 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20201 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20202 (MULTIBOOT_MAGIC2): Rename from this ...
20203 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20204
20205 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20206
20207 * include/multiboot.h: Remove `<grub/types.h>'.
20208 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20209 types. Update all users.
20210
20211 2009-12-25 Carles Pina i Estany <carles@pina.cat>
20212
20213 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20214 `couldn't' and `can not' by `cannot'.
20215 * commands/i386/pc/drivemap.c: Likewise.
20216 * disk/ata.c: Likewise.
20217 * disk/ieee1275/nand.c: Likewise.
20218 * fs/affs.c: Likewise.
20219 * fs/fat.c: Likewise.
20220 * fs/hfs.c: Likewise.
20221 * fs/hfsplus.c: Likewise.
20222 * fs/iso9660.c: Likewise.
20223 * fs/jfs.c: Likewise.
20224 * fs/minix.c: Likewise.
20225 * fs/reiserfs.c: Likewise.
20226 * fs/sfs.c: Likewise.
20227 * fs/udf.c: Likewise.
20228 * fs/ufs.c: Likewise.
20229 * fs/xfs.c: Likewise.
20230 * loader/powerpc/ieee1275/linux.c: Likewise.
20231 * loader/sparc64/ieee1275/linux.c: Likewise.
20232 * util/grub-probe.c: Likewise.
20233 * util/misc.c: Likewise.
20234
20235 2009-12-24 Carles Pina i Estany <carles@pina.cat>
20236
20237 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20238 grub_errno calls.
20239 * commands/acpi.c: Likewise.
20240 * commands/blocklist.c: Likewise.
20241 * commands/efi/loadbios.c: Likewise.
20242 * commands/i386/pc/drivemap.c: Likewise.
20243 * commands/loadenv.c: Likewise.
20244 * commands/memrw.c: Likewise.
20245 * commands/password.c: Likewise.
20246 * commands/videotest.c: Likewise.
20247 * disk/ata.c: Likewise.
20248 * disk/ata_pthru.c: Likewise.
20249 * disk/dmraid_nvidia.c: Likewise.
20250 * disk/ieee1275/nand.c: Likewise.
20251 * disk/ieee1275/ofdisk.c: Likewise.
20252 * disk/loopback.c: Likewise.
20253 * disk/lvm.c: Likewise.
20254 * disk/mdraid_linux.c: Likewise.
20255 * disk/raid.c: Likewise.
20256 * disk/raid6_recover.c: Likewise.
20257 * disk/scsi.c: Likewise.
20258 * efiemu/main.c: Likewise.
20259 * efiemu/mm.c: Likewise.
20260 * efiemu/pnvram.c: Likewise.
20261 * efiemu/symbols.c: Likewise.
20262 * font/font.c: Likewise.
20263 * fs/cpio.c: Likewise.
20264 * fs/hfsplus.c: Likewise.
20265 * fs/iso9660.c: Likewise.
20266 * fs/jfs.c: Likewise.
20267 * fs/minix.c: Likewise.
20268 * fs/ntfs.c: Likewise.
20269 * fs/ntfscomp.c: Likewise.
20270 * fs/reiserfs.c: Likewise.
20271 * fs/ufs.c: Likewise.
20272 * fs/xfs.c: Likewise.
20273 * gettext/gettext.c: Likewise.
20274 * include/grub/auth.h: Likewise.
20275 * kern/elf.c: Likewise.
20276 * kern/file.c: Likewise.
20277 * kern/ieee1275/init.c: Likewise.
20278 * kern/ieee1275/mmap.c: Likewise.
20279 * kern/ieee1275/openfw.c: Likewise.
20280 * kern/powerpc/dl.c: Likewise.
20281 * kern/sparc64/dl.c: Likewise.
20282 * lib/arg.c: Likewise.
20283 * loader/i386/bsd.c: Likewise.
20284 * loader/i386/bsdXX.c: Likewise.
20285 * loader/i386/efi/linux.c: Likewise.
20286 * loader/i386/efi/xnu.c: Likewise.
20287 * loader/i386/ieee1275/linux.c: Likewise.
20288 * loader/i386/linux.c: Likewise.
20289 * loader/i386/multiboot.c: Likewise.
20290 * loader/i386/pc/linux.c: Likewise.
20291 * loader/i386/pc/multiboot2.c: Likewise.
20292 * loader/i386/xnu.c: Likewise.
20293 * loader/ieee1275/multiboot2.c: Likewise.
20294 * loader/macho.c: Likewise.
20295 * loader/machoXX.c: Likewise.
20296 * loader/multiboot2.c: Likewise.
20297 * loader/multiboot_loader.c: Likewise.
20298 * loader/powerpc/ieee1275/linux.c: Likewise.
20299 * loader/sparc64/ieee1275/linux.c: Likewise.
20300 * loader/xnu.c: Likewise.
20301 * loader/xnu_resume.c: Likewise.
20302 * mmap/i386/pc/mmap.c: Likewise.
20303 * normal/menu_viewer.c: Likewise.
20304 * partmap/acorn.c: Likewise.
20305 * partmap/amiga.c: Likewise.
20306 * partmap/apple.c: Likewise.
20307 * script/lexer.c: Likewise.
20308 * term/gfxterm.c: Likewise.
20309 * term/i386/pc/serial.c: Likewise.
20310 * term/i386/pc/vga.c: Likewise.
20311 * term/ieee1275/ofconsole.c: Likewise.
20312 * term/terminfo.c: Likewise.
20313 * video/bitmap.c: Likewise.
20314 * video/efi_gop.c: Likewise.
20315 * video/efi_uga.c: Likewise.
20316 * video/fb/video_fb.c: Likewise.
20317 * video/i386/pc/vbe.c: Likewise.
20318 * video/readers/tga.c: Likewise.
20319 * video/video.c: Likewise.
20320
20321 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
20322
20323 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20324 * commands/lspci.c: Likewise.
20325 * commands/probe.c: Likewise.
20326 * commands/xnu_uuid.c: Likewise.
20327 * conf/i386-coreboot.rmk: Likewise.
20328 * conf/i386-efi.rmk: Likewise.
20329 * conf/i386-ieee1275.rmk: Likewise.
20330 * conf/i386-pc.rmk: Likewise.
20331 * conf/powerpc-ieee1275.rmk: Likewise.
20332 * conf/sparc64-ieee1275.rmk: Likewise.
20333 * conf/x86_64-efi.rmk: Likewise.
20334 * fs/i386/pc/pxe.c: Likewise.
20335 * gettext/gettext.c: Likewise.
20336 * include/grub/efi/graphics_output.h: Likewise.
20337 * include/grub/i386/pc/memory.h: Likewise.
20338 * kern/env.c: Likewise.
20339 * kern/i386/qemu/startup.S: Likewise.
20340 * lib/i386/pc/biosnum.c: Likewise.
20341 * lib/i386/relocator.c: Likewise.
20342 * lib/i386/relocator_asm.S: Likewise.
20343 * lib/relocator.c: Likewise.
20344 * loader/i386/bsd.c: Likewise.
20345 * loader/i386/multiboot.c: Likewise.
20346 * loader/i386/pc/chainloader.c: Likewise.
20347 * loader/i386/xnu.c: Likewise.
20348 * loader/xnu.c: Likewise.
20349 * normal/main.c: Likewise.
20350 * normal/menu_text.c: Likewise.
20351 * util/getroot.c: Likewise.
20352 * util/grub-mkconfig_lib.in: Likewise.
20353 * util/grub.d/00_header.in: Likewise.
20354 * util/i386/pc/grub-mkimage.c: Likewise.
20355 * util/mkisofs/eltorito.c: Likewise.
20356 * util/mkisofs/exclude.h: Likewise.
20357 * util/mkisofs/hash.c: Likewise.
20358 * util/mkisofs/iso9660.h: Likewise.
20359 * util/mkisofs/joliet.c: Likewise.
20360 * util/mkisofs/mkisofs.c: Likewise.
20361 * util/mkisofs/mkisofs.h: Likewise.
20362 * util/mkisofs/multi.c: Likewise.
20363 * util/mkisofs/name.c: Likewise.
20364 * util/mkisofs/rock.c: Likewise.
20365 * util/mkisofs/tree.c: Likewise.
20366 * util/mkisofs/write.c: Likewise.
20367 * video/efi_gop.c: Likewise.
20368
20369 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20372 size counting.
20373
20374 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20375
20376 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20377 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20378
20379 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20380
20381 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20382 (GRUB_MOD_INIT(memrw)): Update help line.
20383
20384 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20387 Use grub_extcmd_t. All users updated.
20388 (options): New variable.
20389 (grub_cmd_read): Restructure for readability. Support "-v" option.
20390 (grub_cmd_write): Restructure for readability.
20391
20392 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20393
20394 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20395
20396 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20397
20398 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20399 with the actual contents of the correspondending make variable.
20400 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20401 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20402 specifying `*.lst' and `efiemu??.o'
20403
20404 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20405
20406 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20407 after function name.
20408 Noticed by Rene Engelhard <rene@debian.org>.
20409
20410 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20411
20412 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20413 (options): New variable.
20414 (iospace): Likewise.
20415 (grub_lspci_iter): List IO spaces if "-i" was given.
20416 (grub_cmd_lspci): Parse options.
20417 (GRUB_MOD_INIT(lspci)): Use extcmd.
20418 (GRUB_MOD_FINI(lspci)): Likewise.
20419
20420 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20421
20422 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20423 `function' keyword.
20424 Patch by Tony Mancill <tmancill@debian.org>.
20425
20426 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20427
20428 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20429 (grub_uhci_portstatus): Likewise.
20430 (grub_uhci_portstatus): Add necessary delay.
20431 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
20432
20433 2009-12-21 Carles Pina i Estany <carles@pina.cat>
20434
20435 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20436 (GRUB_MOD_INIT): Likewise.
20437 * commands/boot.c (GRUB_MOD_INIT): Likewise.
20438 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20439 * commands/echo.c (options): Fix capitalizations and/or full stops.
20440 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20441 (enable_rom_area): Likewise.
20442 (GRUB_MOD_INIT): Likewise.
20443 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20444 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20445 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20446 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20447 * commands/hexdump.c (options): Likewise.
20448 * commands/i386/cpuid.c (options): Likewise.
20449 (GRUB_MOD_INIT): Likewise.
20450 * commands/i386/pc/drivemap.c (options): Likewise.
20451 (GRUB_MOD_INIT): Likewise.
20452 * commands/i386/pc/halt (options): Likewise.
20453 (GRUB_MOD_INIT): Likewise.
20454 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20455 * commands/i386/pc/pxecmd.c (options): Likewise.
20456 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20457 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20458 * commands/keystatus.c (options): Likewise.
20459 (GRUB_MOD_INIT): Likewise.
20460 * commands/loadenv.c (options): Likewise.
20461 * commands/ls.c (options): Likewise.
20462 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20463 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20464 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20465 * commands/parttool.c (helpmsg): Likewise.
20466 * commands/probe.c (options): Likewise.
20467 * commands/read.c (GRUB_MOD_INIT): Likewise.
20468 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20469 * commands/search.c (options): Likewise.
20470 * commands/sleep.c (options): Likewise.
20471 * commands/test.c (GRUB_MOD_INIT): Likewise.
20472 * commands/true.c (GRUB_MOD_INIT): Likewise.
20473 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20474 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20475 * lib/arg.c (help_options): Likewise.
20476 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20477 `$(XGETTEXT)'.
20478 * po/POTFILES: Add `commands/loadenv.c'.
20479
20480 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
20481
20482 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
20483 instead of specifying them explicit.
20484
20485 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20486
20487 * NEWS: Add grub-probe support for GNU/Hurd.
20488
20489 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20490
20491 * NEWS: gettext was added after 1.97.
20492
20493 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20494
20495 * util/mkisofs/msdos_partition.h: New file (based on
20496 include/grub/msdos_partition.h).
20497 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20498 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20499 (ld_options, main): Recognize --protective-msdos-label.
20500 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20501 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20502 (padblock_write): If `use_protective_msdos_label' is set, patch a
20503 protective DOS-style label in the output image.
20504
20505 * util/grub-mkrescue.in: Use --protective-msdos-label.
20506
20507 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20508
20509 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20510 boot.
20511
20512 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20513
20514 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20515 variables.
20516 (ld_options, main): Recognize `--embedded-boot'.
20517 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20518 declarations.
20519 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20520 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20521 (padblock_write): Likewise. Rewrite to support embedded boot image.
20522
20523 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20524 for BIOS-based disk boot instead of only ElTorito.
20525
20526 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20527
20528 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20529 build (not needed for bootstrap).
20530
20531 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20532
20533 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20534 from i386-pc build (not needed for bootstrap).
20535 Rewrite a pair of strings.
20536
20537 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20538
20539 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20540
20541 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
20542
20543 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20544
20545 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20546
20547 * kern/env.c (grub_env_context_open): Mark exported variable for
20548 reexport.
20549
20550 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20551
20552 * kern/env.c (grub_env_export): Create nonexistent variables before
20553 exporting.
20554
20555 2009-12-20 Carles Pina i Estany <carles@pina.cat>
20556
20557 * include/grub/auth.h: Include `<grub/i18n.h>'.
20558 (GRUB_GET_PASSWORD): Gettextizze string.
20559 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20560 menu_text.c.
20561 (grub_utf8_to_ucs4_alloc): Fix indentation.
20562 (grub_print_ucs4): Likewise.
20563 (grub_getstringwidth): Likewise.
20564 (print_message_indented): New declaration.
20565 * normal/auth.c: Include `<grub/i18n.h>'.
20566 (grub_auth_check_authentication): Gettexttize string.
20567 * normal/cmdline.c: Include `<grub/i18n.h>'.
20568 (grub_cmdline_get): Gettextizze.
20569 * normal/color.c: Include `<grub/i18n.h>'.
20570 (grub_parse_color_name_pair): Gettexttize strings.
20571 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20572 string (use `print_message_indented').
20573 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20574 `include/grub/normal.h'.
20575 (print_message_indented): Renamed to ...
20576 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20577 used in normal/main.c).
20578 (print_message): Use `grub_print_message_indented' instead of
20579 `print_message_indented'.
20580 (print_timeout): Likewise.
20581 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20582 (grub_normal_print_device_info): Gettexttize strings.
20583 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20584
20585 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20586
20587 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20588 of arguments. Return number of tokens and not arguments. All users
20589 updated.
20590
20591 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20592
20593 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20594 non-MSDOS paritions.
20595
20596 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20597
20598 * include/grub/types.h (UNUSED): Removed since it conflicts with
20599 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20600 Reported by Grégoire Sutre.
20601
20602 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20603
20604 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20605 (grub_print_ucs4_alloc): Likewise.
20606 (grub_getstringwidth): Likewise.
20607 * normal/main.c (grub_normal_init_page): Gettextize version string.
20608 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20609 (getstringwidth): Renamed to ...
20610 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20611 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20612 (grub_print_ucs4): Remove `static' qualifer (now used in
20613 normal/main.c).
20614 * po/POTFILES: Add normal/main.c.
20615
20616 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20617
20618 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20619 (print_message_indented): Add `margin_left' and `margin_right'
20620 parameters.
20621 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20622 strings.
20623 (print_timeout): Use `print_message_indented' to print the message.
20624 Deletes `second_stage' parameter.
20625 (run_menu): Update `print_timeout' calls.
20626
20627 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 Fix console palette on OpenFirmware.
20630
20631 * term/ieee1275/ofconsole.c (MAX): Removed.
20632 (colors): Redone based on VGA palette.
20633 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20634 colors are supported.
20635 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20636
20637 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 Fix potential EfiEmu double prepare.
20640
20641 * efiemu/main.c (prepared): New variable
20642 (grub_efiemu_unload): Set prepare to '0'.
20643 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20644
20645 set_virtual_address_map support.
20646
20647 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20648 prototype.
20649 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20650 prototype.
20651 (grub_efiemu_crc32): Likewise.
20652 (grub_efiemu_crc64): Likewise.
20653 (grub_efiemu_set_virtual_address_map): Likewise.
20654 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20655 New definition.
20656 (grub_autoefi_set_virtual_address_map): Likewise.
20657 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20658 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20659 Restructure flow to accomodate it.
20660 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20661 (grub_efiemu_crc): Recompute CRC32.
20662 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20663 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20664 * efiemu/symbols.c (relocated_handle): New variable.
20665 (grub_efiemu_free_syms): Free relocated_handle.
20666 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20667 (grub_efiemu_write_sym_markers): New function.
20668 (grub_efiemu_set_virtual_address_map): Likewise.
20669
20670 Newer XNU parameters.
20671
20672 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20673 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20674 (grub_xnu_fill_devicetree): New prototype.
20675 (grub_xnu_heap_real_start): New variable.
20676 * loader/xnu.c (get_name_ptr): New function.
20677 (grub_xnu_load_driver): Fill namelen and name.
20678
20679 64-bit xnu support.
20680
20681 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20682 and 'loader/macho64.c'.
20683 * conf/i386-pc.rmk: Likewise.
20684 * conf/x86_64-efi.rmk: Likewise.
20685 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20686 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20687 * include/grub/macho.h (grub_macho_segment64): New structure.
20688 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20689 (grub_macho_size32): ... to this.
20690 (grub_macho32_get_entry_point): Renamed from ...
20691 (grub_macho_get_entry_point32): ... to this.
20692 (grub_macho_contains_macho64): New prototype.
20693 (grub_macho_size64): Likewise.
20694 (grub_macho_get_entry_point64): Likewise.
20695 (grub_macho32_load): Renamed from ...
20696 (grub_macho_load32): ... to this.
20697 (grub_macho32_filesize): Renamed from ...
20698 (grub_macho_filesize32): ... to this.
20699 (grub_macho32_readfile): Renamed from ...
20700 (grub_macho_readfile32): ... to this.
20701 (grub_macho_filesize64): New prototype.
20702 (grub_macho_readfile64): Likewise.
20703 (grub_macho_parse32): Likewise.
20704 (grub_macho_parse64): Likewise.
20705 * loader/macho.c: Split into ...
20706 * loader/machoXX.c: ... and this. Replace 32 with XX.
20707 * loader/macho32.c: New file.
20708 * loader/macho64.c: Likewise.
20709 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20710 (grub_cmd_xnu_kernel): Make 32-bit only.
20711 (grub_cmd_xnu_kernel64): New function.
20712 (grub_xnu_load_driver): Support Mach-O 64.
20713 (grub_cmd_xnu_mkext): Likewise.
20714 * util/grub.d/30_os-prober.in (osx_entry): New function.
20715 Generate entries for 64-bit boot too.
20716
20717 Eliminate ad-hoc tree format in XNU and EfiEmu.
20718
20719 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20720 * efiemu/pnvram.c: Rewritten to use environment variables.
20721 All users updated.
20722
20723 Inline utf16_to_utf8.
20724
20725 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20726 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20727 All users updated.
20728 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20729
20730 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20731 * commands/usbtest.c (grub_usb_get_string): ... move here.
20732 (usb_print_str): Fix error handling.
20733 * include/grub/usb.h (grub_usb_get_string): Remove.
20734
20735 UTF-8 to UTF-16 transformation.
20736
20737 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20738 (charset_mod_SOURCES): New variable.
20739 (charset_mod_CFLAGS): Likewise.
20740 (charset_mod_LDFLAGS): Likewise.
20741 * include/grub/utf.h: New file.
20742 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20743
20744 Support for device properties.
20745
20746 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20747 (grub_xnu_devprop_device_header): Likewise.
20748 (grub_xnu_devprop_device_descriptor): Likewise.
20749 (grub_xnu_devprop_add_device): New prototype.
20750 (grub_xnu_devprop_remove_device): Likewise.
20751 (grub_xnu_devprop_remove_property): Likewise.
20752 (grub_xnu_devprop_add_property_utf8): Likewise.
20753 (grub_xnu_devprop_add_property_utf16): Likewise.
20754 (grub_cpu_xnu_init): Likewise.
20755 (grub_cpu_xnu_fini): Likewise.
20756 (grub_cpu_xnu_unload): Likewise.
20757 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20758 (property_descriptor): Likewise.
20759 (devices): New variable.
20760 (grub_xnu_devprop_remove_property): New function.
20761 (grub_xnu_devprop_add_device): Likewise.
20762 (grub_xnu_devprop_remove_device): Likewise.
20763 (grub_xnu_devprop_add_property): Likewise.
20764 (grub_xnu_devprop_add_property_utf8): Likewise.
20765 (grub_xnu_devprop_add_property_utf16): Likewise.
20766 (hextoval): Likewise.
20767 (grub_cpu_xnu_fill_devprop): Likewise.
20768 (grub_cmd_devprop_load): Likewise.
20769 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20770 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20771 (cmd_devprop_load): New variable.
20772 (grub_cpu_xnu_init): New function.
20773 (grub_cpu_xnu_fini): Likewise.
20774 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20775 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20776 (grub_cmd_xnu_devtree): Likewise.
20777 (hextoval): New function.
20778 (unescape): Likewise.
20779 (grub_xnu_fill_devicetree): Likewise.
20780
20781 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20782 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20783
20784 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20785
20786 Workaround for broken ATI VBE.
20787
20788 * video/i386/pc/vbe.c (last_set_mode): New variable.
20789 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20790 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20791 (grub_video_vbe_setup): Don't check for reserved flag.
20792
20793 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
20794
20795 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20796 the `find' command.
20797
20798 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20799
20800 UUID support for HFS.
20801
20802 * fs/hfs.c (grub_hfs_uuid): New function.
20803 (grub_hfs_fs): New value .uuid.
20804 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20805
20806 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
20807
20808 Fix a segfault with parsing unknown long options.
20809
20810 * util/grub-mkrelpath.c (options): Zero terminate it.
20811
20812 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20813
20814 * include/grub/misc.h (grub_puts): New declaration.
20815 (grub_puts_): Likewise.
20816 * kern/misc.c (grub_puts): New definition.
20817 (grub_puts_): Likewise.
20818
20819 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20820
20821 * util/grub-probe.c (probe): Improve error message.
20822
20823 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20824
20825 * loader/i386/multiboot_elfxx.c
20826 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20827 initialization.
20828
20829 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20830
20831 Relocator framework
20832
20833 * loader/i386/xnu_helper.S: Removed. All users updated.
20834 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20835 (relocator_mod_SOURCES): New variable.
20836 (relocator_mod_CFLAGS): Likewise.
20837 (relocator_mod_LDFLAGS): Likewise.
20838 (relocator_mod_ASFLAGS): Likewise.
20839 * conf/x86_64.rmk: Likewise.
20840 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20841 (grub_multiboot_payload_entry_offset): Likewise.
20842 (grub_multiboot_forward_relocator): Likewise.
20843 (grub_multiboot_forward_relocator_end): Likewise.
20844 (grub_multiboot_backward_relocator): Likewise.
20845 (grub_multiboot_backward_relocator_end): Likewise.
20846 (grub_multiboot_payload_eip): New variable.
20847 (grub_multiboot_payload_orig): Likewise.
20848 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20849 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20850 * include/grub/i386/memory.h
20851 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20852 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20853 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20854 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20855 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20856 * include/grub/i386/relocator.h: New file.
20857 * include/grub/x86_64/relocator.h: Likewise.
20858 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20859 (XNU_RELOCATOR): New macro.
20860 (grub_xnu_launcher_start): Remove.
20861 (grub_xnu_launcher_end): Likewise.
20862 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20863 (grub_xnu_heap_real_start): Remove.
20864 (grub_xnu_heap_start): Change to void *. All users updated.
20865 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20866 * lib/i386/relocator.c: New file.
20867 * lib/i386/relocator_asm.S: Likewise.
20868 * lib/i386/relocator_backward.S: Likewise.
20869 * lib/mips/relocator.c: Likewise.
20870 * lib/mips/relocator_asm.S: Likewise.
20871 * lib/relocator.c: Likewise.
20872 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20873 (entry): Removed.
20874 (playground): Likewise.
20875 (grub_multiboot_payload_orig): New variable.
20876 (grub_multiboot_payload_dest): Likewise.
20877 (grub_multiboot_payload_size): Likewise.
20878 (grub_multiboot_payload_eip): Likewise.
20879 (grub_multiboot_payload_esp): Likewise.
20880 (grub_multiboot_boot): Use grub_relocator32_boot.
20881 (grub_multiboot_unload): Free relocators.
20882 (grub_multiboot): Setup stack. Use relocators.
20883 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20884 (grub_multiboot_load_elfXX): Use relocators.
20885 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20886 (grub_multiboot_payload_size): Likewise.
20887 (grub_multiboot_payload_dest): Likewise.
20888 (grub_multiboot_payload_entry_offset): Likewise.
20889 (grub_multiboot_forward_relocator): Likewise.
20890 (grub_multiboot_backward_relocator): Likewise.
20891 (grub_multiboot_real_boot): Likewise.
20892 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20893 (grub_xnu_entry_point): Likewise.
20894 (grub_xnu_arg1): Likewise.
20895 (grub_xnu_stack): Likewise.
20896 (grub_xnu_launch): Removed.
20897 (grub_xnu_boot_resume): New function.
20898 (grub_xnu_boot): Use relocators.
20899 * loader/i386/xnu_helper.S: Removed.
20900 * loader/xnu.c (grub_xnu_heap_start): New variable.
20901 (grub_xnu_heap_size): Likewise.
20902 (grub_xnu_heap_malloc): Use relocators.
20903 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20904
20905 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20906
20907 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20908 anything.
20909
20910 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20911
20912 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20913 GRUB_ERR_NONE before calling grub_env_set.
20914
20915 2009-12-12 Robert Millan <rmh@aybabtu.com>
20916
20917 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20918 * genmk.rb (video): New variable.
20919 (CLEANFILES, VIDEOFILES): Add #{video}.
20920 (#{video}): New target rule.
20921 * genvideolist.sh: New file.
20922 * Makefile.in (pkglib_DATA): Add video.lst.
20923 (video.lst): New target rule.
20924 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20925 `video.lst'.
20926 * util/grub.d/30_os-prober.in: Replace `vbe' with
20927 ${GRUB_VIDEO_BACKEND}.
20928
20929 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20930
20931 * THANKS: Add David Miller.
20932
20933 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20934
20935 libpciaccess support.
20936
20937 * Makefile.in (LIBPCIACCESS): New variable.
20938 (enable_grub_emu_pci): Likewise.
20939 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20940 util/pci.c and commands/lspci.c.
20941 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20942 * configure.ac (grub-emu-pci): New option.
20943 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20944 (grub_pci_device_unmap_range): Likewise.
20945 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20946 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20947 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20948 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20949 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20950 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20951 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20952 * include/grub/pciutils.h: New file.
20953 * util/pci.c: Likewise.
20954
20955 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
20956
20957 * util/misc.c: Don't include <errno.h> twice.
20958
20959 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
20960
20961 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20962 name in an error message.
20963 (grub_biosdisk_rw): Likewise.
20964
20965 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 Eliminate NTFS 4Gib barrier.
20968
20969 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20970 (read_run_data): Likewise.
20971 (grub_ntfs_read_run_list): Likewise.
20972 (grub_ntfs_read_block): Likewise.
20973 (grub_ntfs_iterate_dir): Likewise.
20974 (read_mft): Likewise.
20975 (read_data): Likewise.
20976 Use COM_LOG_LEN.
20977 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20978 to avoid 64-bit division
20979 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
20980 (grub_ntfs_rlst): Use grub_disk_addr_t.
20981
20982 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20983
20984 Eliminate grub-fstest 4Gib barrier.
20985
20986 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
20987 (read_file): Fix error reporting.
20988
20989 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20990
20991 Eliminate hexdump 4Gib barrier.
20992
20993 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
20994 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
20995
20996 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20997
20998 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
20999 Fixes amarsh bug.
21000
21001 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
21002
21003 Remove miscellaneous files in distclean target.
21004
21005 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
21006
21007 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
21008
21009 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
21010 if they're already set. This resolves the conflict between my
21011 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
21012 fixing the --grub-probe option again.
21013 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
21014 change on 2009-10-06, so that we now once again source
21015 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21016
21017 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
21018
21019 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
21020 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
21021 `util/devicemap.c'.
21022
21023 2009-12-08 Carles Pina i Estany <carles@pina.cat>
21024
21025 * include/grub/misc.h (grub_printf_): New declaration.
21026 * kern/misc.c (grub_printf_): New definition.
21027 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
21028 instead of `grub_printf' and `_'.
21029 * normal/menu_entry.c (store_completion): Likewise.
21030 (run): Likewise.
21031 (grub_menu_entry_run): Likewise.
21032 * normal/menu_text.c (grub_wait_after_message): Likewise.
21033 (notify_booting): Likewise.
21034 (notify_fallback): Likewise.
21035 (notify_execution_failure): Likewise.
21036
21037 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
21038
21039 * configure.ac: Check for vasprintf.
21040 * util/misc.c (asprintf): Move allocation from here ...
21041 (vasprintf): ... to here. New function.
21042 (xasprintf): New function.
21043 * include/grub/util/misc.h (vasprintf, xasprintf): Add
21044 prototypes.
21045 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
21046 * util/grub-mkfont.c (write_font): Likewise.
21047 * util/grub-probe.c (probe): Likewise.
21048 * util/hostdisk.c (make_device_name): Likewise.
21049
21050 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
21051
21052 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
21053 anything even prefixed with 'cdrom' as a cdrom.
21054
21055 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
21056
21057 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
21058 mount points.
21059
21060 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21061
21062 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
21063 grub_gettext_msg_list.
21064 (grub_gettext_gettranslation_from_position): Return const char *
21065 and not char *.
21066 (grub_gettext_translate): Add the translated strings into a list,
21067 returns from the list if existing there.
21068 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
21069 (grub_gettext_delete_list): Delete the list.
21070 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21071 lang environment variable is changed.
21072 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21073
21074 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21075
21076 Rename kernel.mod to kernel.img.
21077
21078 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21079 (kernel_mod_EXPORTS): Rename to ...
21080 (kernel_img_EXPORTS): ... this.
21081 (kernel_mod_SOURCES): Rename to ...
21082 (kernel_img_SOURCES): ... this.
21083 (kernel_mod_HEADERS): Rename to ...
21084 (kernel_img_HEADERS): ... this. All users updated.
21085 (kernel_mod_CFLAGS): Rename to ...
21086 (kernel_img_CFLAGS): ... this.
21087 (kernel_mod_ASFLAGS): Rename to ...
21088 (kernel_img_ASFLAGS): ... this.
21089 (kernel_mod_LDFLAGS): Rename to ...
21090 (kernel_img_LDFLAGS): ... this.
21091 * conf/x86_64-efi.rmk: Likewise.
21092 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21093 (read_kernel_image): ... this. All users updated.
21094 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21095
21096 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21097
21098 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21099 (print_spaces): New function.
21100 (grub_print_ucs4): New function.
21101 (getstringwidth): New function.
21102 (print_message_indented): New function.
21103 (print_message): Gettexttize strings using print_message_indented.
21104 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21105 width.
21106 (get_entry_number): Gettextize and uses dynamic terminal width.
21107 (notify_booting, notify_fallback, notify_execution_failure):
21108 Gettextize.
21109 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21110 string.
21111 (run): Likewise.
21112 (grub_menu_entry_run): Likewise.
21113 * PO/POTFILES: Add normal/menu_entry.c.
21114
21115 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21118
21119 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21120
21121 * util/grub-install.in: Install gettext .mo files.
21122 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21123
21124 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21125
21126 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21127 grub_dprintf.
21128
21129 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21130
21131 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21132 non-firmware-dependant one in realmode.S takes precedence.
21133
21134 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21135
21136 * commands/halt.c: Replace misc arch-specific headers with
21137 `<grub/misc.h>'.
21138 * commands/reboot.c: Likewise.
21139 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21140 `<grub/misc.h>'.
21141 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21142 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21143 (kernel_img_SOURCES): ... to here.
21144
21145 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21146 * include/grub/i386/pc/init.h: Likewise.
21147 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21148 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21149
21150 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21151
21152 * include/grub/i386/halt.h: Remove.
21153 * include/grub/i386/reboot.h: Likewise.
21154
21155 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21156
21157 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
21158
21159 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21160 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21161 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21162 "progname.h"
21163 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21164 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21165 (usage): Add missing comma in printf.
21166
21167 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21168
21169 Use the same reboot approach on i386 coreboot and qemu as we do on
21170 BIOS.
21171
21172 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21173 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21174 * kern/i386/reboot.c: Remove.
21175 * include/grub/i386/reboot.h (grub_reboot): Export function.
21176 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21177 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21178 0xf000:0xfff0 instead of 0xffff:0x0000.
21179 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21180 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21181
21182 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21183
21184 Fix $srcdir != $objdir build.
21185
21186 * Makefile.in (po/%.po): Rewrite as ...
21187 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21188
21189 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21190
21191 Fix GNU/Hurd grub-install crash.
21192 * util/grub-probe.c (probe): Try to access `path' only when it is not
21193 NULL.
21194
21195 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21196
21197 Correct module naming.
21198
21199 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21200 (GRUB_MOD_INIT(efi_uga)): ... to this
21201 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21202 (GRUB_MOD_FINI(efi_uga)): ... to this
21203 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21204 (GRUB_MOD_INIT(efi_gop)): ... to this
21205 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21206 (GRUB_MOD_FINI(efi_gop)): ... to this
21207
21208 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21209
21210 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21211 translatable.
21212 (usage): Translate `arg' strings using gettext().
21213 Thanks to Jordi Mallach for the suggestion.
21214
21215 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21216
21217 GOP support. Based on patch from Bean
21218 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21219
21220 * video/efi_gop.c: New file.
21221 * include/grub/efi/graphics_output.h: Likewise.
21222 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21223 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21224 variables.
21225 * conf/x86_64-efi.rmk: Likewise.
21226
21227 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21228
21229 Rename efi_fb to efi_uga.
21230
21231 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21232 'efi_uga.mod'.
21233 (efi_fb_mod_SOURCES): Rename this ...
21234 (efi_uga_mod_SOURCES): ... to this.
21235 (efi_fb_mod_CFLAGS): Rename this ...
21236 (efi_uga_mod_CFLAGS): ... to this.
21237 (efi_fb_mod_LDFLAGS): Rename this ...
21238 (efi_uga_mod_LDFLAGS): ... to this.
21239 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21240 'efi_uga.mod'.
21241 (efi_fb_mod_SOURCES): Rename this ...
21242 (efi_uga_mod_SOURCES): ... to this.
21243 (efi_fb_mod_CFLAGS): Rename this ...
21244 (efi_uga_mod_CFLAGS): ... to this.
21245 (efi_fb_mod_LDFLAGS): Rename this ...
21246 (efi_uga_mod_LDFLAGS): ... to this.
21247 * video/efi_fb.c: Move this ...
21248 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21249
21250 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21251
21252 * po/README: New file. Explain our PO file workflow.
21253
21254 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21255
21256 * po/ChangeLog: Remove. Move relevant entries back to ...
21257 * ChangeLog: ... here.
21258 * po/ca.po: Remove (now handled by TLP).
21259 * po/id.po: Likewise.
21260 * po/zh_CN.po: Likewise.
21261 * Makefile.in (LINGUAS): Initialize in a way that supports
21262 empty set.
21263
21264 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21265
21266 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21267 reliing on po/LINGUAS.
21268 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21269 (po/%.po): ... this.
21270
21271 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21272
21273 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21274 (main): Use `program_name' instead of nonexistent `progname'.
21275
21276 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21277
21278 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21279 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21280
21281 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21282
21283 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21284 commit.
21285 * conf/i386-efi.rmk: Likewise.
21286 * conf/i386-ieee1275.rmk: Likewise.
21287 * conf/powerpc-ieee1275.rmk: Likewise.
21288 * conf/sparc64-ieee1275.rmk: Likewise.
21289 * conf/x86_64-efi.rmk: Likewise.
21290
21291 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21292
21293 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21294
21295 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21296
21297 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21298
21299 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21300
21301 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21302 (grub_mkdevicemap_SOURCES): New variable.
21303 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21304 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21305 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21306 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21307 (grub_mkdevicemap_SOURCES): Remove.
21308 * conf/i386-efi.rmk: Likewise.
21309 * conf/i386-ieee1275.rmk: Likewise.
21310 * conf/i386-pc.rmk: Likewise.
21311 * conf/powerpc-ieee1275.rmk: Likewise.
21312 * conf/sparc64-ieee1275.rmk: Likewise.
21313 * conf/x86_64-efi.rmk: Likewise.
21314 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21315 (usage): Fix strings to use `program_name'.
21316 (main): Initialize gettext.
21317 * util/grub-editenv.c: Likewise.
21318 * util/grub-emu.c: Likewise.
21319 * util/grub-fstest.c: Likewise.
21320 * util/grub-mkdevicemap.c: Likewise.
21321 * util/grub-mkfont.c: Likewise.
21322 * util/grub-mkrelpath.c: Likewise.
21323 * util/grub-pe2elf.c: Likewise.
21324 * util/grub-probe.c: Likewise.
21325 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21326 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21327 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21328
21329 * util/misc.c: Include `"progname.h"'.
21330 (progname): Remove variable.
21331 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21332
21333 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
21334
21335 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21336 printf and print a newline after the menuentry header line.
21337 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21338
21339 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
21340
21341 autoconf >= 2.60 support $(localedir).
21342
21343 * INSTALL: Note that autoconf 2.60 is required.
21344 * configure.ac (AC_PREREQ): Bump to 2.60.
21345 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21346 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21347
21348 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21349
21350 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21351 aclocal is run.
21352
21353 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21354
21355 * normal/main.c (grub_normal_read_line): Fix off-by-one
21356 buffer overflow.
21357
21358 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21359
21360 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21361 "parser.grub" in grub_command_execute() call.
21362
21363 2009-11-24 Carles Pina i Estany <carles@pina.cat>
21364
21365 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21366 * conf/i386-efi.rmk: Likewise.
21367 * conf/i386-ieee1275.rmk: Likewise.
21368 * conf/i386-pc.rmk: Likewise.
21369 * conf/powerpc-ieee1275.rmk: Likewise.
21370 * conf/sparc64-ieee1275.rmk: Likewise.
21371 * conf/x86_64-efi.rmk: Likewise.
21372 * gettext/gettex.c: Include <grub/i18n.h>.
21373 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21374 here ...
21375 * include/grub/i18n.h: ... to here
21376 * include/grub/i18n.h: ... to here.
21377 * kern/misc.c: Include <grub/i18n.h>
21378 (grub_gettext_dummy): Move above user.
21379
21380 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21381
21382 * util/Makefile.in (install-local): Convert a `for' into a normal
21383 shell expansion.
21384
21385 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21386
21387 * autogen.sh: Add automake call.
21388 * config.guess: Remove.
21389 * config.sub: Likewise.
21390 * install-sh: Likewise.
21391
21392 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21393
21394 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21395
21396 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21397
21398 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21399 function to a normal shell `for'.
21400
21401 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21402
21403 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21404
21405 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21406
21407 * util/grub-mkrelpath.c: New file.
21408 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21409 (grub_mkrelpath_SOURCES): New variable.
21410 * include/grub/util/misc.h: New function prototype.
21411 * util/misc.c (make_system_path_relative_to_its_root): New function.
21412
21413 * util/grub-mkconfig_lib.in (bindir): New variable.
21414 (grub_mkrelpath): Likewise.
21415 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21416
21417 * util/probe.c (probe): Make the file path relative to its root.
21418 Change a info message to use the GRUB path. Enable again the
21419 check if we can read the file with GRUB facilities.
21420
21421 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21422 to its root.
21423
21424 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21425
21426 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21427 platform.
21428
21429 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21430
21431 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21432 strncmp().
21433
21434 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21435
21436 * util/getroot.c (grub_util_is_dmraid): New function.
21437 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21438 devices as normal ones, not as LVM.
21439
21440 2009-11-23 Carles Pina i Estany <carles@pina.cat>
21441
21442 * conf/common.rmk: Add grub-gettext_lib target and updates
21443 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21444 LDFLAGS.
21445 * gettext/gettext.c: New file. (Reads mo files).
21446 * include/grub/file.h (grub_file_pread): New prototype.
21447 * include/grub/i18n.h (_): New prototype.
21448 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21449 prototypes.
21450 * kern/misc.c (grub_gettext_dummy): New function.
21451 * normal/menu_text.c: Include <grub/i18n.h>.
21452 * normal/menu_text.c (print_timeout): Gettexttize string.
21453 * normal/menu_text.c (print_message): Gettexttize string.
21454 * po/POTFILES: Add `normal/menu_text.c'.
21455 * po/ca.po: Add new translations.
21456 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21457 gettext module and defines locale_dir and lang in grub.cfg.
21458 * NEWS: Add gettext support.
21459
21460 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21461
21462 * util/hostdisk.c: Include `<grub/i18n.h>'.
21463 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21464 (make_device_name): Rewrite using asprintf.
21465 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21466 (find_system_device): If a device is not found, generate one just
21467 by reusing the OS path name.
21468 (read_device_map): Make it permissible for device.map not to exist.
21469
21470 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21471
21472 * script/sh/execute.c: Move from here ...
21473 * script/execute.c: ... to here. Update all users.
21474 * script/sh/function.c: Move from here ...
21475 * script/function.c: ... to here. Update all users.
21476 * script/sh/lexer.c: Move from here ...
21477 * script/lexer.c: ... to here. Update all users.
21478 * script/sh/main.c: Move from here ...
21479 * script/main.c: ... to here. Update all users.
21480 * script/sh/parser.y: Move from here ...
21481 * script/parser.y: ... to here. Update all users.
21482 * script/sh/script.c: Move from here ...
21483 * script/script.c: ... to here. Update all users.
21484
21485 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21486
21487 * configure.ac: Detect all `emu' platforms. Define
21488 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21489 --enable-grub-emu logic. Disable include/grub/machine
21490 symlink on `emu' platforms.
21491
21492 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21493 * gensymlist.sh.in: Likewise.
21494
21495 * include/grub/i386/coreboot/machine.h: Remove file.
21496 * include/grub/i386/efi/machine.h: Likewise.
21497 * include/grub/i386/ieee1275/machine.h: Likewise.
21498 * include/grub/i386/pc/machine.h: Likewise.
21499 * include/grub/i386/qemu/machine.h: Likewise.
21500 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21501 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21502 * include/grub/x86_64/efi/machine.h: Likewise.
21503
21504 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21505 * commands/halt.c: Likewise.
21506 * commands/reboot.c: Likewise.
21507 * include/grub/autoefi.h: Likewise.
21508 * include/grub/i386/at_keyboard.h: Likewise.
21509 * include/grub/i386/kernel.h: Likewise.
21510 * include/grub/i386/loader.h: Likewise.
21511 * include/grub/i386/pc/memory.h: Likewise.
21512 * kern/dl.c: Likewise.
21513 * kern/i386/coreboot/init.c: Likewise.
21514 * loader/i386/bsd.c: Likewise.
21515 * loader/i386/linux.c: Likewise.
21516 * loader/multiboot_loader.c: Likewise.
21517 * term/i386/pc/serial.c: Likewise.
21518 * term/usb_keyboard.c: Likewise.
21519
21520 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21521 `<grub/machine/machine.h>'
21522 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21523 * util/misc.c: Remove `<grub/machine/machine.h>' and
21524 `<grub/machine/time.h>'.
21525
21526 * Makefile.in (enable_grub_emu): Remove variable.
21527 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21528
21529 * conf/any-emu.rmk: New file.
21530 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21531 (grub_emu_init.c): Move from here ...
21532 * conf/any-emu.rmk: ... to here.
21533
21534 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21535 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21536 * conf/any-emu.rmk: ... to here.
21537
21538 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21539
21540 * include/grub/parser.h (grub_parser_register): Document need
21541 of `name' parameter.
21542 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21543 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21544 "sh" to "grub".
21545
21546 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21547
21548 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21549 `$(XGETTEXT)'.
21550 * include/grub/i18n.h (N_): New macro.
21551 * util/mkisofs/mkisofs.h: Likewise.
21552 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21553 around N_().
21554 (usage): Use gettext() to translate help strings when printing them.
21555
21556 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21557
21558 Based on patch from Bean
21559 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21560
21561 * video/efi_fb.c: New file.
21562 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21563 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21564 variables.
21565 * conf/x86_64-efi.rmk: Likewise.
21566
21567 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21568
21569 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21570 * util/i386/pc/grub-setup.c: Likewise.
21571
21572 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21573
21574 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21575 <hurd/fs.h>
21576 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21577 file_get_storage_info to implement grub_guess_root_device.
21578
21579 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21580
21581 * Makefile.in (target): Use make's builtin $(shell) function
21582 instead of calling directly $(SHELL) to create the locale directories,
21583 inside the $(foreach) function.
21584
21585 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21586
21587 * util/grub-mkrescue.in: Print an error and usage if output option
21588 has not been given.
21589
21590 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21591
21592 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21593 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21594 root and /boot are on different devices.
21595
21596 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21597
21598 Fix build for srcdir != objdir.
21599
21600 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21601 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21602 $(srcdir).
21603 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21604 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21605 reference for input.
21606
21607 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21608
21609 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21610 or hardlinking it). Remove -J option, Joliet is not compatible with
21611 multiple source directories.
21612
21613 2009-11-21 Carles Pina i Estany <carles@pina.cat>
21614 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21615
21616 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21617 (process_input_dir): New function. Process an arbitrary input
21618 directory.
21619 Misc adjustments to support both "override mode" and system-wide mode.
21620
21621 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21622
21623 * configure.ac (UNIFONT_BDF): Rename to ...
21624 (FONT_SOURCE): ... this. Update all users.
21625
21626 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21627
21628 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21629 to the list of unifont files to look for.
21630
21631 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21632
21633 Patch from Joe Auricchio <jauricchio@gmail.com>
21634 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21635 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21636 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21637
21638 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21639
21640 * Makefile.in (install-local): Add a missing backslash.
21641
21642 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21643
21644 * include/grub/x86_64/io.h: New file.
21645
21646 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21647
21648 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21649 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21650 Include `"progname.h"'.
21651 (main): Initialize gettext.
21652 * util/i386/pc/grub-setup.c: Gettexttize.
21653 * util/i386/pc/grub-mkimage.c: Likewise.
21654
21655 * Makefile.in (po/*.po): Redefine as ...
21656 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21657
21658 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21659
21660 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21661
21662 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21663 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21664 (program_name): Remove.
21665 (main): Initialize gettext support.
21666 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21667 Include `<libintl.h>'.
21668 (_): New macro.
21669
21670 * util/mkisofs/eltorito.c: Gettexttize.
21671 * util/mkisofs/joliet.c: Likewise.
21672 * util/mkisofs/mkisofs.c: Likewise.
21673 * util/mkisofs/multi.c: Likewise.
21674 * util/mkisofs/rock.c: Likewise.
21675 * util/mkisofs/tree.c: Likewise.
21676 * util/mkisofs/write.c: Likewise.
21677
21678 * po/POTFILES: Update with new files.
21679
21680 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21681
21682 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21683 * util/mkisofs/iso9660.h: Likewise.
21684 * util/mkisofs/joliet.c: Likewise.
21685 * util/mkisofs/mkisofs.c: Likewise.
21686 * util/mkisofs/mkisofs.h: Likewise.
21687 * util/mkisofs/rock.c: Likewise.
21688 * util/mkisofs/tree.c: Likewise.
21689 * util/mkisofs/write.c: Likewise.
21690
21691 * util/mkisofs/eltorito.c (rcsid): Remove.
21692 * util/mkisofs/hash.c: Likewise.
21693 * util/mkisofs/joliet.c: Likewise.
21694 * util/mkisofs/name.c: Likewise.
21695 * util/mkisofs/rock.c: Likewise.
21696 * util/mkisofs/tree.c: Likewise.
21697 * util/mkisofs/write.c: Likewise.
21698
21699 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21700
21701 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21702 instead of static allocation.
21703 * util/mkisofs/match.h: Likewise.
21704
21705 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21706
21707 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21708 and `util/grub.d/10_linux.in'.
21709 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21710 translatable Shell files.
21711
21712 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21713
21714 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21715
21716 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21717
21718 * INSTALL: Document Automake is needed for bootstrap.
21719 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
21720 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21721 Add gettext initialization.
21722 (kfreebsd_entry): Make menuentry output translatable.
21723
21724 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21725
21726 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21727 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21728 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21729 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21730 (LINGUAS): Auto-generate using `po/LINGUAS'.
21731 * po/LINGUAS: New file.
21732
21733 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21734
21735 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21736 other things).
21737 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21738 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21739 bindtextdomain() calls for gettext initialization.
21740
21741 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21742
21743 * gnulib/progname.c: New file (imported from Gnulib).
21744 * gnulib/progname.h: Likewise.
21745 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21746 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21747 (usage): Replace `progname' with `program_name'.
21748 (main): Use set_program_name() for program name initialization.
21749
21750 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21751
21752 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21753 from here ...
21754 * Makefile.in (CPPFLAGS): ... to here.
21755
21756 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21757
21758 * aclocal.m4: Move from here ...
21759 * acinclude.m4: ... to here.
21760 * autogen.sh: Add call to `aclocal'.
21761 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21762
21763 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21764
21765 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21766 (LINGUAS): New variable.
21767 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21768 (install-local): Install MO files.
21769 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21770 * include/grub/i18n.h: New file.
21771 * po/POTFILES: New file.
21772 * po/ca.po: New file.
21773 * util/grub.d/10_linux.in (bindir): New variable.
21774 Add gettext initialization.
21775 (linux_entry): Make menuentry output translatable.
21776 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21777 (usage): Make --help output translatable.
21778 (main): Initialize gettext.
21779
21780 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21781
21782 * import_gcry.py: New file (written by Vladimir with minor
21783 adjustments).
21784 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21785 ciphers.
21786 * INSTALL: Document that Python is required for bootstrap.
21787
21788 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21789
21790 Import ciphers from libgcrypt 1.4.4.
21791
21792 * lib/libgcrypt/cipher/ChangeLog
21793 * lib/libgcrypt/cipher/ac.c
21794 * lib/libgcrypt/cipher/arcfour.c
21795 * lib/libgcrypt/cipher/bithelp.h
21796 * lib/libgcrypt/cipher/blowfish.c
21797 * lib/libgcrypt/cipher/camellia-glue.c
21798 * lib/libgcrypt/cipher/camellia.c
21799 * lib/libgcrypt/cipher/camellia.h
21800 * lib/libgcrypt/cipher/cast5.c
21801 * lib/libgcrypt/cipher/cipher.c
21802 * lib/libgcrypt/cipher/crc.c
21803 * lib/libgcrypt/cipher/des.c
21804 * lib/libgcrypt/cipher/dsa.c
21805 * lib/libgcrypt/cipher/ecc.c
21806 * lib/libgcrypt/cipher/elgamal.c
21807 * lib/libgcrypt/cipher/hash-common.c
21808 * lib/libgcrypt/cipher/hash-common.h
21809 * lib/libgcrypt/cipher/hmac-tests.c
21810 * lib/libgcrypt/cipher/md.c
21811 * lib/libgcrypt/cipher/md4.c
21812 * lib/libgcrypt/cipher/md5.c
21813 * lib/libgcrypt/cipher/primegen.c
21814 * lib/libgcrypt/cipher/pubkey.c
21815 * lib/libgcrypt/cipher/rfc2268.c
21816 * lib/libgcrypt/cipher/rijndael-tables.h
21817 * lib/libgcrypt/cipher/rijndael.c
21818 * lib/libgcrypt/cipher/rmd.h
21819 * lib/libgcrypt/cipher/rmd160.c
21820 * lib/libgcrypt/cipher/rsa.c
21821 * lib/libgcrypt/cipher/seed.c
21822 * lib/libgcrypt/cipher/serpent.c
21823 * lib/libgcrypt/cipher/sha1.c
21824 * lib/libgcrypt/cipher/sha256.c
21825 * lib/libgcrypt/cipher/sha512.c
21826 * lib/libgcrypt/cipher/tiger.c
21827 * lib/libgcrypt/cipher/twofish.c
21828 * lib/libgcrypt/cipher/whirlpool.c
21829
21830 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21831
21832 Fix build for systems without error().
21833
21834 * gnulib/error.c: New file (imported from Gnulib).
21835 * gnulib/error.h: Likewise.
21836 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21837 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21838 (this variable is now used by error()).
21839
21840 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21841
21842 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21843 instead of relying that char is signed.
21844
21845 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21846
21847 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21848 blocksize different from specified.
21849 (grub_pxefs_read): Likewise.
21850
21851 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21852
21853 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21854
21855 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21856 (grub_ata_readwrite): Likewise. Update 2 format strings.
21857 (grub_atapi_read): Likewise.
21858
21859 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21860 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21861 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21862 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21863 (ata_mod_LDFLAGS): Move from here ...
21864 * conf/i386.rmk: ... to here ...
21865 * conf/x86_64-efi.rmk: ... and here.
21866 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21867 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21868
21869 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21870
21871 Relicense multiboot.h, with RMS' blessing.
21872
21873 * include/multiboot.h: Change to X11 license.
21874
21875 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21876
21877 Support --version in grub-mkisofs.
21878
21879 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21880 (OPTION_VERSION): New macro.
21881 (ld_options): Recognize --version.
21882 (usage): Move `program_name' from here ...
21883 (program_name): ... to here. Add `static' qualifier.
21884 (main): Recognize `OPTION_VERSION'.
21885
21886 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
21887
21888 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21889 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21890
21891 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21892
21893 Fix help2man generation for mkisofs.
21894
21895 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21896 (usage): Send output to stdout (rather than stderr).
21897
21898 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21899
21900 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21901 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21902 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21903 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21904 (bin_SCRIPTS): Add `grub-mkfloppy'.
21905 (grub_mkfloppy_SOURCES): New variable.
21906
21907 * util/grub-mkrescue.in: New file.
21908 * util/i386/pc/grub-mkfloppy.in: New file.
21909
21910 * util/i386/coreboot/grub-mkrescue.in: Remove.
21911 * util/i386/pc/grub-mkrescue.in: Remove.
21912
21913 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21914
21915 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21916 from here ...
21917 * include/multiboot.h (struct multiboot_header): ... to here. Update
21918 all users.
21919 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21920 from here ...
21921 * include/multiboot.h (struct multiboot_info): ... to here. Update
21922 all users.
21923 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21924 from here ...
21925 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21926 Update all users.
21927 * include/grub/multiboot.h (struct grub_mod_list): Move
21928 from here ...
21929 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21930 Update all users.
21931
21932 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21933
21934 * include/multiboot2.h (multiboot_word): Rename from this ...
21935 (multiboot2_word): ... to this. Update all users.
21936 (multiboot_header): Rename from this ...
21937 (multiboot2_header): ... to this. Update all users.
21938 (multiboot_tag_header): Rename from this ...
21939 (multiboot2_tag_header): ... to this. Update all users.
21940 (multiboot_tag_start): Rename from this ...
21941 (multiboot2_tag_start): ... to this. Update all users.
21942 (multiboot_tag_name): Rename from this ...
21943 (multiboot2_tag_name): ... to this. Update all users.
21944 (multiboot_tag_module): Rename from this ...
21945 (multiboot2_tag_module): ... to this. Update all users.
21946 (multiboot_tag_memory): Rename from this ...
21947 (multiboot2_tag_memory): ... to this. Update all users.
21948 (multiboot_tag_unused): Rename from this ...
21949 (multiboot2_tag_unused): ... to this. Update all users.
21950 (multiboot_tag_end): Rename from this ...
21951 (multiboot2_tag_end): ... to this. Update all users.
21952
21953 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21954
21955 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21956 this platform we should support Multiboot1 first.
21957
21958 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21959 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21960 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21961
21962 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21963
21964 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21965 of write calls (converting them to fwrite() if they aren't already).
21966 (get_torito_desc): Likewise.
21967 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21968
21969 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21970
21971 * util/i386/pc/grub-install.in: Move from here ...
21972 * util/grub-install.in: ... to here. Update all users.
21973
21974 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
21975
21976 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21977
21978 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21979
21980 Support for El Torito without floppy emulation.
21981
21982 * util/mkisofs/eltorito.c: Include `<errno.h>'.
21983 (init_boot_catalog): Improve error handling.
21984 (get_torito_desc): Don't use floppy emulation unless requested by
21985 user. Patch boot information table when requested via
21986 `-boot-info-table'.
21987 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
21988 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
21989 (use_boot_info_table): New variables.
21990 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
21991 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
21992 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
21993 `--eltorito-emul-floppy'.
21994 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
21995 and `OPTION_ELTORITO_EMUL_FLOPPY'.
21996 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
21997 (use_boot_info_table, get_731): New prototypes.
21998 * util/mkisofs/write.c (get_731): New function.
21999
22000 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
22001
22002 Fix the generation of the man page.
22003
22004 * util/pc/i386/grub-install.in: Source
22005 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
22006
22007 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
22008
22009 Large file support for grub-mkisofs.
22010
22011 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
22012 * util/mkisofs/mkisofs.c (next_extent, last_extent)
22013 (session_start): Upgrade type to `uint64_t'. Update all users.
22014 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
22015 (struct directory_entry): Upgrade type of `starting_block' and
22016 `size' to `uint64_t'. Update all users.
22017 (struct deferred): Remove unused structure.
22018 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
22019 Update all users.
22020 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
22021 file is larger than `UINT32_MAX'.
22022 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
22023 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
22024 return value.
22025 (struct deferred_write): Upgrade type of `extent' and `size' to
22026 `uint64_t'. Update all users.
22027 (last_extent_written): Upgrade type to `uint64_t'. Update all
22028 users.
22029 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
22030 Update all users. Upgrade type of `remain' to `int64_t' and
22031 `use' to `size_t'. Use error() to handle fread() errors.
22032 (write_files): Rely on write_one_file() rather than calling
22033 xfwrite() directly.
22034
22035 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
22036
22037 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
22038
22039 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22040
22041 * util/mkisofs/fnmatch.c: Remove.
22042 * util/mkisofs/getopt1.c: Likewise.
22043 * util/mkisofs/getopt.c: Likewise.
22044 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
22045 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
22046 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
22047 `gnulib/getopt1.c' and `gnulib/getopt.c'.
22048 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
22049
22050 * configure.ac: Detect `mingw32msvc' host_os.
22051 Check for lstat(), getuid() and getgid().
22052
22053 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
22054 instances of `u_char' with `uint8_t'.
22055
22056 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
22057 [!HAVE_GETUID] (getuid): New function (stub).
22058 [!HAVE_GETGID] (getgid): Likewise.
22059 [!HAVE_LSTAT] (lstat): Likewise.
22060 [!S_IROTH] (S_IROTH): New macro (dummy).
22061 [!S_IRGRP] (S_IRGRP): Likewise.
22062
22063 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22064
22065 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
22066 conditional expression).
22067
22068 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22069
22070 Import from Gnulib.
22071
22072 * gnulib/fnmatch.c: New file.
22073 * gnulib/fnmatch.h: Likewise.
22074 * gnulib/fnmatch_loop.c: Likewise.
22075 * gnulib/getopt.c: Likewise.
22076 * gnulib/getopt.h: Likewise.
22077 * gnulib/getopt1.c: Likewise.
22078 * gnulib/getopt_int.h: Likewise.
22079 * gnulib/gettext.h: Likewise.
22080
22081 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22082
22083 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22084 * normal/handler.c (read_handler_list): Likewise.
22085
22086 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22087
22088 Misc cleanup.
22089
22090 * kern/command.c (grub_register_command_prio): Use
22091 grub_zalloc() instead of explicitly zeroing data.
22092 * kern/list.c: Include `<grub/mm.h>'.
22093 (grub_named_list_find): Replace `0' with `NULL'.
22094 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22095 (fs_module_list): Change type to `grub_named_list_t'. Update all
22096 users.
22097 * normal/dyncmd.c (read_command_list): Add space between function
22098 call and parenthesis.
22099 * normal/handler.c (read_handler_list): Likewise.
22100
22101 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22102
22103 * normal/auth.c (punishment_delay): Moved from here ...
22104 (grub_auth_strcmp): ... to here (inside function).
22105
22106 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22107
22108 * include/grub/list.h (struct grub_named_list): Remove `const'
22109 qualifier from `name'.
22110 (struct grub_prio_list): Likewise.
22111
22112 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22113
22114 * normal/auth.c: Include `<grub/time.h>'.
22115 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22116
22117 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22118
22119 * normal/auth.c (punishment_delay): New variable.
22120 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22121 (grub_auth_check_authentication): Punish failed login attempts with
22122 an incremental (2^N) delay.
22123
22124 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22127 path with $(srcdir).
22128
22129 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22130
22131 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22132
22133 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22134
22135 * util/i386/coreboot/grub-mkrescue.in: New file.
22136 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22137 variables.
22138
22139 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22140 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22141 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22142 requirements.
22143 * util/mkisofs/defaults.h: New file.
22144 * util/mkisofs/eltorito.c: Likewise.
22145 * util/mkisofs/exclude.h: Likewise.
22146 * util/mkisofs/fnmatch.c: Likewise.
22147 * util/mkisofs/getopt.c: Likewise.
22148 * util/mkisofs/getopt1.c: Likewise.
22149 * util/mkisofs/hash.c: Likewise.
22150 * util/mkisofs/include/fctldefs.h: Likewise.
22151 * util/mkisofs/include/mconfig.h: Likewise.
22152 * util/mkisofs/include/prototyp.h: Likewise.
22153 * util/mkisofs/include/statdefs.h: Likewise.
22154 * util/mkisofs/iso9660.h: Likewise.
22155 * util/mkisofs/joliet.c: Likewise.
22156 * util/mkisofs/match.c: Likewise.
22157 * util/mkisofs/match.h: Likewise.
22158 * util/mkisofs/mkisofs.c: Likewise.
22159 * util/mkisofs/mkisofs.h: Likewise.
22160 * util/mkisofs/multi.c: Likewise.
22161 * util/mkisofs/name.c: Likewise.
22162 * util/mkisofs/rock.c: Likewise.
22163 * util/mkisofs/tree.c: Likewise.
22164 * util/mkisofs/write.c: Likewise.
22165
22166 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22169 being insecure.
22170
22171 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22172
22173 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22174 `grub-mkimage' (and use $0 when possible).
22175
22176 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22177
22178 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22179 error message for excessively large memory map.
22180
22181 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22182
22183 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22184 executable bit.
22185
22186 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22187
22188 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22189 message for coreboot users.
22190
22191 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22192
22193 Fix build with GNU gold.
22194
22195 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22196 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22197 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22198 link addresses.
22199 * aclocal.m4: Likewise.
22200
22201 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
22202
22203 * configure.ac (AC_PREREQ): Bump to 2.59d.
22204 * INSTALL: Make it more clear when Autoconf and Ruby are
22205 needed and when to run `./autogen.sh'.
22206
22207 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22208
22209 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22210 OSes.
22211
22212 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22213
22214 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22215
22216 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22217
22218 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22219 giving it to GNU Mach.
22220
22221 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22222
22223 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22224 GNU partition number to get internal GRUB partition number.
22225
22226 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22227
22228 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22229 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22230
22231 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22232
22233 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22234 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22235 case.
22236
22237 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
22238
22239 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22240
22241 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22242
22243 Fix build problem.
22244
22245 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22246 `-isystem=$(srcdir)/include'.
22247
22248 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22249
22250 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22251 checked (grub-install doesn't currently rely on it).
22252
22253 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22254
22255 Revert SVN r2660.
22256
22257 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22258 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22259 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22260 * conf/i386-ieee1275.rmk: Likewise.
22261 * conf/i386-pc.rmk: Likewise.
22262 * conf/powerpc-ieee1275.rmk: Likewise.
22263 * conf/sparc64-ieee1275.rmk: Likewise.
22264 * conf/x86_64-efi.rmk: Likewise.
22265
22266 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22267
22268 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22269
22270 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22271
22272 * include/grub/misc.h: Stop checking for APPLE_CC.
22273
22274 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22275
22276 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22277 doesn't cause an infinite call loop.
22278
22279 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
22280
22281 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22282 strings.
22283
22284 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22285
22286 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22287 variable.
22288 * Makefile.in: Likewise.
22289
22290 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22291
22292 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22293
22294 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22295
22296 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22297
22298 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22299
22300 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22301
22302 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22303
22304 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22305 from here ...
22306 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22307
22308 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22309
22310 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22311 in $(MAKEINFO) invocation. This makes it clear in output that
22312 errors are being ignored.
22313
22314 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22315
22316 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22317 from here ...
22318 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22319 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22320 * conf/i386-ieee1275.rmk: Likewise.
22321 * conf/i386-pc.rmk: Likewise.
22322 * conf/powerpc-ieee1275.rmk: Likewise.
22323 * conf/sparc64-ieee1275.rmk: Likewise.
22324 * conf/x86_64-efi.rmk: Likewise.
22325
22326 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
22327
22328 * util/grub-editenv.c (main): If only a command is given, use
22329 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22330 (usage): FILENAME is now optional and has a default.
22331
22332 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
22333
22334 Improve grub-mkconfig performance when there are several menu
22335 entries on a single filesystem.
22336
22337 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22338 prepare_grub_to_access_device.
22339 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22340 * util/grub.d/30_os-prober.in: Likewise.
22341
22342 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22343
22344 * util/grub.d/10_freebsd.in: Remove.
22345 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22346 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22347
22348 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22349
22350 * docs/grub.cfg: Fix example usage of *BSD loaders.
22351
22352 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22353
22354 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22355 grub_util_error() call.
22356
22357 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22358
22359 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22360 `reserved_first_sector' member.
22361 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22362 `reserved_first_sector' to 1.
22363 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22364 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22365 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22366 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22367 filesystems which begin at first sector.
22368 (options): New option --skip-fs-probe.
22369 (main): Handle --skip-fs-probe and pass it to setup().
22370
22371 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22372
22373 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22374 (memset): Fix function prototype.
22375
22376 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22377 2009-10-25 Vasily Averin <vvs@parallels.com>
22378
22379 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22380 `dirent.direntlen == 0'.
22381
22382 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22383
22384 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22385 `cpio'.
22386 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22387
22388 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22389
22390 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22391 `__trampoline_setup' and `__ucmpdi2'.
22392 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22393 that libgcc provides.
22394
22395 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22396
22397 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22398 * include/grub/sparc64/libgcc.h (memset): Likewise.
22399 * include/grub/misc.h (memset, memcmp): New function prototypes.
22400
22401 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22402
22403 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22404 `cpio'.
22405 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22406
22407 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22408
22409 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22410 * docs/grub.cfg: Compensate for recent change in multiboot
22411 loader (since 2009-08-14 it won't pass filename to payload).
22412 * util/grub.d/10_hurd.in: Likewise.
22413
22414 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
22415
22416 * config.guess: Update to latest version from config git
22417 repository.
22418 * config.sub: Likewise.
22419
22420 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22421
22422 Fix build on sparc64.
22423
22424 * configure.ac: Perform checks for libgcc symbols before
22425 adding `-nostdlib' to LDFLAGS.
22426
22427 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22428
22429 Let user specify OpenBSD root device.
22430
22431 * loader/i386/bsd.c (openbsd_root): New variable.
22432 (openbsd_opts): New option 'root'.
22433 (OPENBSD_ROOT_ARG): New macro.
22434 (grub_openbsd_boot): Use 'openbsd_root'.
22435 (grub_cmd_openbsd): Fill 'openbsd_root'.
22436
22437 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22438
22439 * NEWS: Misc adjustments.
22440
22441 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22442
22443 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22444
22445 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22446
22447 * configure.ac: Bump version to 1.97.
22448
22449 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
22450
22451 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22452 -mno-3dnow on x86 architectures. Some toolchains enable these
22453 features by default, but they rely on registers that aren't enabled
22454 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22455
22456 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 Make entry text a bit more readable.
22459
22460 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22461
22462 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22463
22464 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22465
22466 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22469 operations.
22470
22471 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22472
22473 * configure.ac: Add missing dollar.
22474
22475 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22476
22477 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22478
22479 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22480 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22481 exports.
22482 * include/grub/sparc64/libgcc.h: Likewise. Use
22483 preprocessor conditionals.
22484
22485 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22486
22487 * conf/common.rmk (grub-dumpbios): Remove rule.
22488 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22489 * util/grub-dumpbios.in: Remove file.
22490
22491 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22492
22493 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22494 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22495
22496 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22497 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22498 users.
22499
22500 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22501 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22502 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22503 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22504 users.
22505
22506 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22507
22508 * term/tparm.c: Switch to GPLv3.
22509
22510 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22511
22512 * include/grub/i386/cpuid.h: Add header protection.
22513
22514 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22515
22516 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22517
22518 * include/grub/i386/cpuid.h: New file.
22519 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22520 (has_longmode): Rename to ...
22521 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22522 `static' attribute.
22523 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22524 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22525 on a CPU that doesn't implement AMD64 instruction set.
22526
22527 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22528
22529 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22530 that version.texi is rebuilt on version number changes.
22531
22532 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22533
22534 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22535 Fixes bug #27602.
22536
22537 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22538
22539 * util/i386/pc/grub-install.in: Source
22540 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22541 that the --grub-probe option will work.
22542 * util/sparc64/ieee1275/grub-install.in: Likewise.
22543
22544 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22545
22546 * configure.ac: Bump version to 1.97~beta4.
22547
22548 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22549
22550 Resync grub-mkdevicemap in x86_64-efi.
22551
22552 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22553 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22554 `util/devicemap.c'.
22555
22556 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
22557
22558 * util/grub-editenv.c (create_envblk_file): Write new block with a
22559 .new suffix and then rename it into place, to ensure atomic
22560 creation.
22561
22562 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22563
22564 Do not automatically install headers.
22565
22566 * Makefile.in (include_DATA): Remove. Update all users.
22567
22568 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22569
22570 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22571 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22572
22573 * util/osdetect.lua: Remove.
22574 * script/lua/lauxlib.c: Likewise.
22575 * script/lua/ldebug.c: Likewise.
22576 * script/lua/grub_main.c: Likewise.
22577 * script/lua/lauxlib.h: Likewise.
22578 * script/lua/ldebug.h: Likewise.
22579 * script/lua/ltablib.c: Likewise.
22580 * script/lua/liolib.c: Likewise.
22581 * script/lua/lstrlib.c: Likewise.
22582 * script/lua/lualib.h: Likewise.
22583 * script/lua/ldo.c: Likewise.
22584 * script/lua/ldump.c: Likewise.
22585 * script/lua/ldo.h: Likewise.
22586 * script/lua/loslib.c: Likewise.
22587 * script/lua/lundump.c: Likewise.
22588 * script/lua/grub_lib.c: Likewise.
22589 * script/lua/ldblib.c: Likewise.
22590 * script/lua/lundump.h: Likewise.
22591 * script/lua/lmem.c: Likewise.
22592 * script/lua/grub_lib.h: Likewise.
22593 * script/lua/lmathlib.c: Likewise.
22594 * script/lua/lstate.c: Likewise.
22595 * script/lua/ltm.c: Likewise.
22596 * script/lua/lvm.c: Likewise.
22597 * script/lua/lmem.h: Likewise.
22598 * script/lua/lstate.h: Likewise.
22599 * script/lua/ltm.h: Likewise.
22600 * script/lua/ltable.c: Likewise.
22601 * script/lua/lvm.h: Likewise.
22602 * script/lua/llex.c: Likewise.
22603 * script/lua/lgc.c: Likewise.
22604 * script/lua/grub_lua.h: Likewise.
22605 * script/lua/loadlib.c: Likewise.
22606 * script/lua/lfunc.c: Likewise.
22607 * script/lua/lopcodes.c: Likewise.
22608 * script/lua/lparser.c: Likewise.
22609 * script/lua/ltable.h: Likewise.
22610 * script/lua/llex.h: Likewise.
22611 * script/lua/lgc.h: Likewise.
22612 * script/lua/lfunc.h: Likewise.
22613 * script/lua/lbaselib.c: Likewise.
22614 * script/lua/lopcodes.h: Likewise.
22615 * script/lua/lparser.h: Likewise.
22616 * script/lua/lzio.c: Likewise.
22617 * script/lua/linit.c: Likewise.
22618 * script/lua/lobject.c: Likewise.
22619 * script/lua/llimits.h: Likewise.
22620 * script/lua/lstring.c: Likewise.
22621 * script/lua/lzio.h: Likewise.
22622 * script/lua/lapi.c: Likewise.
22623 * script/lua/lcode.c: Likewise.
22624 * script/lua/lua.h: Likewise.
22625 * script/lua/lobject.h: Likewise.
22626 * script/lua/lstring.h: Likewise.
22627 * script/lua/lapi.h: Likewise.
22628 * script/lua/lcode.h: Likewise.
22629 * script/lua/luaconf.h: Likewise.
22630
22631 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
22632
22633 * docs/grub.texi (Command-line and menu entry commands): Document
22634 date and echo commands.
22635
22636 2009-09-24 Pavel Roskin <proski@gnu.org>
22637
22638 * include/grub/kernel.h (struct grub_module_header): Remove
22639 `grub_module_header_types'. Make `type' unsigned. Make `size'
22640 32-bit on all platforms.
22641 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22642 8-bit field. Use grub_host_to_target32() for `size'.
22643 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22644 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22645 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22646
22647 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22648
22649 Fix "lost keypress" bug in at_keyboard.
22650
22651 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22652 Checks for readyness of input buffer (without flushing it).
22653 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22654 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22655
22656 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22657
22658 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22659 size check within GRUB_MACHINE_PCBIOS section.
22660
22661 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22662
22663 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22664 return value.
22665 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22666 KEYBOARD_ISREADY check.
22667 (grub_at_keyboard_checkkey): Rename to ...
22668 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22669 Remove gratuitous cast.
22670
22671 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
22672
22673 * configure.ac: Call AC_PROG_MKDIR_P.
22674 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22675 version.texi in $(builddir) rather than $(srcdir).
22676 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22677 to makeinfo's @include search path.
22678
22679 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22680
22681 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22682
22683 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22684
22685 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22686 for `*.dpkg-new'.
22687
22688 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
22689
22690 Build info documentation. Some code borrowed from Automake.
22691
22692 * configure.ac: Check for makeinfo.
22693 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22694 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22695 docs/version.texi.
22696 (MOSTLYCLEANFILES): Add vti.tmp.
22697 (docs/version.texi, docs/stamp-vti): Update automatically.
22698 (docs/grub.info): Build info documentation. Use --force and ignore
22699 errors for now.
22700 (all-local): Add $(INFOS).
22701 (install-local): Install info files.
22702 (uninstall): Uninstall info files.
22703 * docs/version.texi: Remove from revision control. This file is
22704 automatically generated on build now.
22705 * gendistlist.sh: Add `*.info'.
22706
22707 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22708
22709 * kern/term.c: Fix indentation.
22710
22711 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22712
22713 * util/hostdisk.c: Fix a comment.
22714
22715 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22716
22717 Fix regression introduced in r2539.
22718
22719 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22720 to 0xA1.
22721
22722 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
22723
22724 * util/grub.d/30_os-prober.in: Don't throw away stderr from
22725 os-prober. Under normal operation, it does not print anything to
22726 stderr; if it does, we need to debug it, and throwing away stderr
22727 makes that excessively difficult.
22728
22729 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22730
22731 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22732
22733 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22734
22735 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22736 AC_LANG_PROGRAM from autoconf.
22737 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22738 prototypes (fixes warning).
22739
22740 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22741 `--disable-werror' was used.
22742
22743 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22744
22745 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22746 uninitialized `lastaddr'.
22747
22748 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22749
22750 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
22751
22752 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22753
22754 * commands/test.c (get_fileinfo): Return immediately if
22755 grub_fs_probe fails.
22756
22757 2009-09-14 José Martínez <xosemp@gmail.com>
22758
22759 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22760
22761 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22762
22763 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22764 output.
22765
22766 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22767
22768 * configure.ac: Remove --enable-grub-pe2elf. Only build
22769 grub-pe2elf when needed by the build system itself.
22770 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22771
22772 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22773
22774 * configure.ac: Bump version to 1.97~beta3.
22775 * docs/version.texi: Likewise.
22776
22777 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22778
22779 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22780 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22781 from here ...
22782 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22783 (grub_linux_setup_video): ... to here (with some adjustments).
22784
22785 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22786
22787 Fix memory corruption issue (spotted by Colin Watson).
22788
22789 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22790 causing returned size to be stored in an incorrect memory location.
22791 Fix use of uninitialized value when storing the returned size.
22792
22793 2009-09-12 Yves Blusseau <blusseau@zetam.org>
22794
22795 Change clean rules to properly remove files
22796
22797 * genmk.rb: add new clean rules
22798 * Makefile.in (clean): add the new targets
22799 (mostlyclean): likewise
22800
22801 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22802
22803 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22804 to grub_uint64_t.
22805 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22806 non-resident files.
22807
22808 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22809
22810 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22811 part of bug #27349.
22812
22813 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22814
22815 * util/grub-mkconfig.in: Make the created config mode 400 and
22816 print a warning if it fails.
22817
22818 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22819
22820 * util/grub.d/40_custom.in: Ask user to type custom entries below
22821 comment, rather than below 'exec tail' line.
22822
22823 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22824
22825 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22826 visible in grub.cfg.
22827
22828 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22829
22830 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22831 file.
22832
22833 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22834
22835 * docs/grub.cfg: Add an example menu entry for memtest86+.
22836
22837 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
22838
22839 * config.guess: Update to latest version from config git.
22840 * config.sub: Likewise.
22841
22842 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
22843
22844 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22845 unknown-command case. Fixes bug #27320.
22846
22847 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
22848
22849 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22850 `help' if the command exists.
22851
22852 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22853
22854 * INSTALL: Require GCC 4.1.3 or later.
22855
22856 2009-09-06 Yves Blusseau <blusseau@zetam.org>
22857
22858 * Makefile.in (RMKFILES): add i386-qemu.rmk
22859 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22860 $(srcdir)/stamp-h.in
22861
22862 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22863
22864 * util/grub-probe.c (probe): Comment out buggy codepath, which
22865 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22866 should be re-enabled after 1.97.
22867
22868 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
22869
22870 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22871 find searches for.
22872
22873 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22874
22875 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22876 unnecessary calls to grub_error.
22877
22878 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
22879
22880 * NEWS: Mention `keystatus' and Unicode fonts.
22881
22882 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22883
22884 * configure.ac: Bump version to 1.97~beta2.
22885 * docs/version.texi: Likewise.
22886
22887 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22888
22889 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22890 containing unwind information in some cases where it previously did
22891 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22892 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22893 discussion.
22894
22895 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22896
22897 Embedding loadenv module into grub-emu
22898
22899 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22900 commands/loadenv.c
22901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22902 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22905 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22906 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22907
22908 2009-09-03 Magnus Granberg <zorry@ume.nu>
22909
22910 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22911 include -fPIE in the default specs.
22912 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22913 to TARGET_CFLAGS.
22914
22915 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
22916
22917 * INSTALL: Note that GNU Bison 2.3 or later is required.
22918
22919 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22920
22921 * kern/i386/pc/startup.S: Fix typo.
22922
22923 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22924
22925 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22926 according to GCS.
22927
22928 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22929
22930 * docs/grub.texi (Naming convention): Describe one-based partition
22931 numbering.
22932 (Device syntax): Likewise.
22933 (File name syntax): Likewise.
22934 (Block list syntax): Likewise.
22935 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22936 menu.lst.
22937 (File name syntax): Likewise.
22938 (Command-line and menu entry commands): Document acpi, blocklist,
22939 crc, export, insmod, keystatus, ls, set, and unset commands.
22940
22941 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22942
22943 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22944 to avoid implying that only one of --shift, --ctrl, or --alt may be
22945 used.
22946
22947 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22948
22949 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22950 rather than comparing against S_IFREG, which will almost never work.
22951
22952 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22953
22954 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22955 (write_blocklists): Likewise.
22956
22957 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
22958
22959 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22960 argument to grub_printf.
22961
22962 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
22963
22964 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
22965 non GNU test.
22966
22967 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22968
22969 * kern/file.c (grub_file_read): Spelling fix
22970
22971 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22972
22973 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22974 loading of headers in some cases.
22975
22976 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22977
22978 * configure.ac: Bump version to 1.97~beta1.
22979 * docs/version.texi: Likewise.
22980
22981 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 * include/grub/i386/xnu.h: Add license header.
22984 include grub/err.h explicitly.
22985
22986 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22987
22988 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
22989 to `ufs' in the vfs.root.mountfrom kernel parameter.
22990
22991 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22992
22993 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
22994
22995 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
22996 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
22997
22998 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
22999 `ARRAY_SIZE' macro.
23000
23001 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23002
23003 * kern/file.c (grub_file_read): Check offset.
23004 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
23005 * fs/jfs.c (grub_jfs_read_file): Likewise.
23006 * fs/ntfs.c (grub_ntfs_read): Likewise.
23007 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
23008 * fs/minix.c (grub_minix_read_file): Correct offset check.
23009 * fs/ufs.c (grub_ufs_read_file): Likewise.
23010
23011 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
23012
23013 * term/i386/pc/console.c (bios_data_area): Cast
23014 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
23015
23016 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23017
23018 1-bit optimised blitters.
23019
23020 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
23021 prototype.
23022 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23023 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23024 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23025 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23026 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23027 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23028 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
23029 function.
23030 (grub_video_fbblit_replace_24bit_1bit): Likewise.
23031 (grub_video_fbblit_replace_16bit_1bit): Likewise.
23032 (grub_video_fbblit_replace_8bit_1bit): Likewise.
23033 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
23034 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
23035 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
23036 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
23037 when possible.
23038 * video/video.c (grub_video_get_blit_format): Return
23039 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
23040
23041 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
23042
23043 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
23044 the first argument to grub_printf.
23045
23046 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
23047 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
23048
23049 Add `getkeystatus' terminal method. Add a new `keystatus' command
23050 to query it.
23051
23052 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
23053 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
23054 modifier key bitmasks.
23055 (struct grub_term_input): Add `getkeystatus' member.
23056 (grub_getkeystatus): Add prototype.
23057 * kern/term.c (grub_getkeystatus): New function.
23058
23059 * include/grub/i386/pc/memory.h
23060 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
23061 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
23062 Data Area layout.
23063 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
23064 (grub_console_term_input): Set `getkeystatus' member.
23065 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
23066 constants.
23067 (grub_usb_keyboard_getreport): Likewise.
23068 (grub_usb_keyboard_checkkey): Likewise.
23069 (grub_usb_keyboard_getkeystatus): New function.
23070 (grub_usb_keyboard_term): Set `getkeystatus' member.
23071
23072 * commands/keystatus.c: New file.
23073 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23074 (keystatus_mod_SOURCES): New variable.
23075 (keystatus_mod_CFLAGS): Likewise.
23076 (keystatus_mod_LDFLAGS): Likewise.
23077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23078 commands/keystatus.c.
23079 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23080 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23081 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23083 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23084 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23085
23086 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23087
23088 Split befs.mod and afs.mod into *_be.mod and *.mod
23089
23090 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23091 (grub_fstest_SOURCES): Likewise.
23092 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23093 (afs_be_mod_SOURCES): New variable.
23094 (afs_be_mod_CFLAGS): Likewise.
23095 (afs_be_mod_LDFLAGS): Likewise.
23096 (befs_be_mod_SOURCES): Likewise.
23097 (befs_be_mod_CFLAGS): Likewise.
23098 (befs_be_mod_LDFLAGS): Likewise.
23099 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23100 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23101 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23102 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23103 (grub_emu_SOURCES): Likewise.
23104 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23105 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23106 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23107 * fs/afs_be.c: New file.
23108 * fs/befs_be.c: New file.
23109 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23110 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23111 (U16): Replaced with ...
23112 (grub_afs_to_cpu16): ...this. All users updated.
23113 (U32): Replaced with ...
23114 (grub_afs_to_cpu32): ...this. All users updated.
23115 (U64): Replaced with ...
23116 (grub_afs_to_cpu64): ...this. All users updated.
23117 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23118 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
23119 (grub_afs_validate_sblock): Check only one endianness.
23120 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23121 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23122 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23123 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23124 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23125 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23126 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23127 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23128
23129 2009-08-26 Bean <bean123ch@gmail.com>
23130
23131 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23132 64-bit number.
23133 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23134 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23135 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23136
23137 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23138
23139 NetBSD memory map support.
23140
23141 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23142 (grub_netbsd_btinfo_mmap_header): New structure.
23143 (grub_netbsd_btinfo_mmap_entry): Likewise.
23144 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23145
23146 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23147
23148 Enable bsd.mod on coreboot.
23149
23150 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23151 (bsd_mod_SOURCES): New variable.
23152 (bsd_mod_CFLAGS): Likewise.
23153 (bsd_mod_LDFLAGS): Likewise.
23154 (bsd_mod_ASFLAGS): Likewise.
23155 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23156 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23157
23158 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Cleanup NetBSD root support.
23161
23162 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23163 grub_bsd_get_device.
23164 Fix typo.
23165
23166 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
23167
23168 * util/grub.d/00_header.in: Move check for the video backend of
23169 gfxterm from here ...
23170 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23171 a suitable video backend.
23172
23173 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 Fix breakage in grub-setup.
23176
23177 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23178 "msdos_partition_map".
23179
23180 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23181
23182 Fix breakage in normal/auth.c.
23183
23184 * normal/auth.c (grub_iswordseparator): New function.
23185
23186 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 Authentication support.
23189
23190 * commands/password.c: New file.
23191 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23192 (password_mod_SOURCES): New variable.
23193 (password_mod_CFLAGS): Likewise.
23194 (password_mod_LDFLAGS): Likewise.
23195 (normal_mod_SOURCES): Add normal/auth.c.
23196 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23197 normal/auth.c.
23198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23200 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23202 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23204 * include/grub/auth.h: New file.
23205 * include/grub/err.h (grub_err_t): New enum value
23206 GRUB_ERR_ACCESS_DENIED.
23207 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23208 'users'.
23209 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23210 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23211 users updated.
23212 * normal/auth.c: New file.
23213 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23214 (grub_cmdline_run): Don't allow to go to command line without
23215 authentication.
23216 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23217 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23218 menuentry without superuser rights.
23219 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23220 user isn't a superuser.
23221
23222 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23223
23224 Save space by inlining misc.c functions.
23225
23226 * kern/misc.c (grub_iswordseparator): Made static.
23227 * kern/misc.c (grub_strcat): Moved from here ...
23228 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23229 * kern/misc.c (grub_strncat): Moved from here ...
23230 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23231 * kern/misc.c (grub_strcasecmp): Moved from here ...
23232 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23233 * kern/misc.c (grub_strncasecmp): Moved from here ...
23234 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23235 * kern/misc.c (grub_isalpha): Moved from here ...
23236 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23237 * kern/misc.c (grub_isdigit): Moved from here ...
23238 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23239 * kern/misc.c (grub_isgraph): Moved from here ...
23240 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23241 * kern/misc.c (grub_tolower): Moved from here ...
23242 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23243
23244 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23245
23246 * script/sh/function.c (grub_script_function_find): Cut error message
23247 not to flood terminal.
23248 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23249 limit.
23250 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23251
23252 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
23253
23254 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23255 `report' grub_uint8_t *.
23256 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23257 Use a 50-millisecond timeout rather than just repeating
23258 grub_usb_keyboard_getreport 50 times.
23259 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23260
23261 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23262
23263 Rename *_partition_map to part_*
23264
23265 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23266 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23267 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23268 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23269 All users updated.
23270 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23271 All users updated.
23272 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23273 * util/grub-probe.c (probe_partmap): Don't transform partition name
23274 to get module name.
23275
23276 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23277
23278 Fix OpenBSD and NetBSD support.
23279
23280 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23281 memory address conflict.
23282 (OPENBSD_MMAP_ACPI): New definition.
23283 (OPENBSD_MMAP_NVS): Likewise.
23284 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23285 and OPENBSD_MMAP_NVS.
23286 Add memory map terminator
23287 Explicit cast when calling grub_unix_real_boot.
23288 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
23289
23290 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23291
23292 Let user specify NetBSD root device.
23293
23294 * loader/i386/bsd.c (netbsd_root): New variable.
23295 (netbsd_opts): New option 'root'.
23296 (NETBSD_ROOT_ARG): New macro.
23297 (grub_netbsd_boot): Use 'netbsd_root'.
23298 (grub_bsd_unload): Free 'netbsd_root'.
23299 (grub_cmd_netbsd): Fill 'netbsd_root'.
23300
23301 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23302
23303 Support for 64-bit NetBSD.
23304
23305 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23306 point when booting non-FreeBSD.
23307
23308 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23309
23310 Support --no-smp and --no-acpi for NetBSD.
23311
23312 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23313 (NETBSD_AB_NOACPI): Likewise.
23314 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23315 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23316
23317 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23318
23319 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23320 errors.
23321 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23322 errors. Call grub_error when needed.
23323
23324 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 * commands/search.c (search_fs): Try searching without autoload first.
23327 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23328 filesystem module explicitly for faster booting.
23329
23330 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
23331
23332 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23333
23334 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
23335
23336 * util/grub.d/30_os-prober.in: Disable os-prober if
23337 `GRUB_DISABLE_OS_PROBER' was set to true.
23338
23339 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23340
23341 * partmap/pc.c: Rename to ...
23342 * partmap/msdos.c: ... this. Update all users.
23343 (grub_pc_partition_map): Rename to ...
23344 (grub_msdos_partition_map): ... this. Update all users.
23345
23346 * parttool/pcpart.c: Rename to ...
23347 * parttool/msdospart.c: ... this. Update all users.
23348
23349 * include/grub/pc_partition.h: Rename to ...
23350 * include/grub/msdos_partition.h: ... this. Update all users.
23351 (grub_pc_partition_bsd_entry): Rename to ...
23352 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23353 (grub_pc_partition_disk_label): Rename to ...
23354 (grub_msdos_partition_disk_label): ... this. Update all users.
23355 (grub_pc_partition_entry): Rename to ...
23356 (grub_msdos_partition_entry): ... this. Update all users.
23357 (grub_pc_partition_mbr): Rename to ...
23358 (grub_msdos_partition_mbr): ... this. Update all users.
23359 (grub_pc_partition): Rename to ...
23360 (grub_msdos_partition): ... this. Update all users.
23361 (grub_pc_partition_is_empty): Rename to ...
23362 (grub_msdos_partition_is_empty): ... this. Update all users.
23363 (grub_pc_partition_is_extended): Rename to ...
23364 (grub_msdos_partition_is_extended): ... this. Update all users.
23365 (grub_pc_partition_is_bsd): Rename to ...
23366 (grub_msdos_partition_is_bsd): ... this. Update all users.
23367
23368 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23369 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23370 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23371 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23372 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23373 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23374 (gpt_mod_LDFLAGS): Rename to ...
23375 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23376 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23377 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23378 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23379 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23380 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23381 (part_gpt_mod_LDFLAGS): ... this.
23382 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23383 `pcpart.mod' to `msdospart.mod'.
23384 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23385 to ...
23386 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23387 (msdospart_mod_LDFLAGS): ... this.
23388
23389 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23390
23391 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23392 (openbsd_opts): Likewise.
23393 (netbsd_opts): Likewise.
23394 (freebsd_flags): Added 0 terminator.
23395 (openbsd_flags): Likewise.
23396 (netbsd_flags): Likewise.
23397 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23398 (grub_cmd_freebsd): Transformed into extended command.
23399 (grub_cmd_openbsd): Likewise.
23400 (grub_cmd_netbsd): Likewise.
23401 (cmd_freebsd): Changed type to grub_extcmd_t.
23402 (cmd_openbsd): Likewise.
23403 (cmd_netbsd): Likewise.
23404 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23405 grub_cmd_openbsd as extended commands.
23406 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23407 cmd_netbsd and cmd_openbsd
23408
23409 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23410
23411 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23412
23413 2009-08-21 Pavel Roskin <proski@gnu.org>
23414
23415 * Makefile.in (install-local): When checking if a file is in the
23416 build directory, use "test -e" to detect symlinks.
23417
23418 * Makefile.in (install-local): Remove all files in
23419 $(DESTDIR)$(pkglibdir) before installing new files there.
23420
23421 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23422
23423 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23424 grub-mkelfimage.
23425
23426 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23427
23428 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23429 explicitly specified by the user.
23430
23431 2009-08-18 Pavel Roskin <proski@gnu.org>
23432
23433 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23434 grub_uint8_t pointer for data.
23435 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23436 Likewise.
23437 * video/fb/fbutil.c: Remove unnecessary casts.
23438
23439 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23440
23441 VBE cleanup.
23442
23443 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23444 (grub_vbe_set_video_mode): Save active mode info
23445 only after setting the mode.
23446 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23447 second argument.
23448
23449 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23450
23451 Rename variables for clarity.
23452
23453 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23454 (active_vbe_mode_info): ... this. All users updated.
23455 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23456 All users updated.
23457 (initial_mode): Rename to ...
23458 (initial_vbe_mode): ... this. All users updated.
23459 (mode_in_use): Rename to ..
23460 (vbe_mode_in_use): ... this. All users updated.
23461 (mode_list): Rename to ..
23462 (vbe_mode_list): ... this. All users updated.
23463 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23464 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23465 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23466 'mode_list_size' to 'vbe_mode_list_size'.
23467 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23468 'best_mode_info' to 'best_vbe_mode_info' and
23469 'best_mode' to 'best_vbe_mode'
23470
23471 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23472
23473 Remove duplicate grub_video_fb_get_video_ptr.
23474
23475 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23476 (grub_video_fb_get_video_ptr): ... this.
23477 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23478 * video/fb/fbutil.c: Add comment about addressing.
23479 (get_data_ptr): Rename to ...
23480 (grub_video_fb_get_video_ptr): ... this. All users updated.
23481 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23482
23483 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23484
23485 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23486 grub_dprintf() that was just added.
23487
23488 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23489
23490 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23491 (DEFAULT_VIDEO_MODE): Remove macros.
23492 (grub_linux_boot): Remove assumption that Linux has FB support,
23493 and use "text" as default video mode.
23494
23495 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23496
23497 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23498 grub_dprintf.
23499 * fs/fat.c (grub_fat_read_data): Likewise.
23500
23501 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23502
23503 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23504 payload.
23505 (grub_module): Likewise.
23506
23507 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23508
23509 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23510 mbi->cmdline but free playground.
23511
23512 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 Handle group offset on UFS1.
23515
23516 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23517 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23518
23519 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23520
23521 Split ufs.mod into ufs1.mod and ufs2.mod.
23522
23523 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23524 (grub_fstest_SOURCES): Likewise.
23525 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23526 (ufs_mod_SOURCES): Remove.
23527 (ufs_mod_CFLAGS): Likewise.
23528 (ufs_mod_LDFLAGS): Likewise.
23529 (ufs1_mod_SOURCES): New variable.
23530 (ufs1_mod_CFLAGS): Likewise.
23531 (ufs1_mod_LDFLAGS): Likewise.
23532 (ufs2_mod_SOURCES): New variable.
23533 (ufs2_mod_CFLAGS): Likewise.
23534 (ufs2_mod_LDFLAGS): Likewise.
23535 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23536 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23537 Likewise.
23538 (grub_emu_SOURCES): Likewise.
23539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23540 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23541 (grub_setup_SOURCES): Likewise.
23542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23543 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23544 (grub_setup_SOURCES): Likewise.
23545 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23546 Likewise.
23547 * fs/ufs2.c: New file.
23548 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23549
23550 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 Framebuffer split.
23553
23554 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23555 subsystem at the end.
23556 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23557 (video_fb_mod_SOURCES): New variable.
23558 (video_fb_mod_CFLAGS): Likewise.
23559 (video_fb_mod_LDFLAGS): Likewise.
23560 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23561 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23562 * video/i386/pc/vbeblit.c: Moved from here ...
23563 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23564 * video/i386/pc/vbefill.c: Moved from here ...
23565 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23566 * video/i386/pc/vbeutil.c: Moved from here ...
23567 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23568 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23569 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23570 * include/grub/i386/pc/vbefill.h: Moved from here ...
23571 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23572 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23573 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23574 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23575 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23576 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23577 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23578 (grub_video_adapter): Added 'get_info_and_fini'.
23579 (grub_video_get_info_and_fini): New prototype.
23580 (grub_video_set_mode): make modestring const char *.
23581 * loader/i386/linux.c (grub_linux_setup_video): Use
23582 grub_video_get_info_and_fini.
23583 (grub_linux_boot): Move modesetting just before booting.
23584 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23585 grub_video_get_info_and_fini.
23586 * video/i386/pc/vbe.c: Moved framebuffer part ...
23587 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23588 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23589 grub_video_fbstd_colors and grub_video_fb_set_palette.
23590 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23591 grub_video_fb_init.
23592 (grub_video_vbe_fini): Use grub_video_fb_fini.
23593 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23594 render_target and use grub_video_fb_set_active_render_target and
23595 grub_video_fb_set_palette.
23596 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23597 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23598 (grub_video_vbe_adapter): Use framebuffer.
23599 * video/video.c (grub_video_get_info_and_fini): New function.
23600 (grub_video_set_mode): Make modestring const char *.
23601 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23602 values are already initialised.
23603
23604 2009-08-14 Pavel Roskin <proski@gnu.org>
23605
23606 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23607 ABS and APPLE_CC.
23608 * boot/i386/pc/diskboot.S: Likewise.
23609 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23610 sectors allow compilation on MacOSX.
23611 * conf/i386-pc.rmk: Enable unconditional compilation of
23612 lnxboot.img.
23613
23614 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
23615
23616 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23617 * util/grub.d/00_header.in: Enter interruptible sleep if
23618 GRUB_HIDDEN_TIMEOUT is set.
23619
23620 2009-08-13 Yves Blusseau <blusseau@zetam.org>
23621
23622 * include/grub/symbol.h: Add the LOCAL macro.
23623 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23624 starting with "L_".
23625
23626 2009-08-13 Pavel Roskin <proski@gnu.org>
23627
23628 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23629 any modern compilers we support.
23630
23631 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23632 Use local labels starting with "L_" so that Apple assembler
23633 knows they are local.
23634
23635 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23636
23637 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23638 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23639 (bsd_kernel_types): ... this enum.
23640
23641 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23642 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23643 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23644
23645 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23646 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23647 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23648 messages.
23649
23650 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23651
23652 * util/grub-dumpdevtree: Moved from here ...
23653 * util/i386/efi/grub-dumpdevtree: ... to here.
23654 (hexify): New function. Converts a string to its hex version.
23655 Generate hex versions of "efi" and "device-properties" by calling
23656 hexify() on the ASCII strings rather than by hardcoding numbers.
23657
23658 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23659
23660 * fs/jfs.c: Update copyright year.
23661
23662 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23663
23664 * util/grub.d/00_header.in: Fix a comment.
23665 * util/grub.d/10_linux.in: Likewise.
23666 * util/grub.d/10_windows.in: Likewise.
23667 * util/grub.d/10_hurd.in: Likewise.
23668
23669 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23670
23671 * util/grub-mkconfig.in: Allow the user to specify the used font
23672 with GRUB_FONT.
23673
23674 2009-08-08 Pavel Roskin <proski@gnu.org>
23675
23676 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23677 available, xfs.mod needs it now.
23678
23679 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23680 the "g" modifier in sed when the intention is to strip something
23681 once. This fixes comparison of kernels with multiple dashes.
23682
23683 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23684 on it. Add missing space before closing bracket. Fix
23685 misleading formatting.
23686
23687 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23688
23689 * docs/grub.texi: Major overhaul. Remove all sections that are
23690 specific to GRUB Legacy, or mostly composed of Legacy-specific
23691 information.
23692
23693 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23694
23695 * docs/version.texi: New file. Provides version information for
23696 grub.texi.
23697
23698 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23699
23700 * docs/grub.texi: Update CVS information to SVN.
23701 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23702
23703 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23704
23705 * util/grub-mkconfig.in: Remove a wrong `fi'.
23706
23707 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23708
23709 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23710 (grub_jfs_uuid): New function.
23711 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23712
23713 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23714
23715 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23716 of it to ...
23717 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23718 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23719
23720 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23721
23722 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23723 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23724 Update all users.
23725
23726 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23727 not just "vmlinu[zx]".
23728 Moved from here ...
23729 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23730 all users.
23731
23732 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23733 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23734 all users.
23735
23736 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23737
23738 * util/grub.d/10_freebsd.in: Use an absolute device path for
23739 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23740
23741 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
23742
23743 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23744 handling of multiple abstraction modules.
23745
23746 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23747
23748 Fix a bug resulting in black screen when loading Linux using a
23749 packed video mode.
23750
23751 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23752 function.
23753
23754 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23755 (grub_vbe_bios_getset_dac_palette_width): New function.
23756 (grub_vbe_bios_get_dac_palette_width)
23757 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23758 grub_vbe_bios_getset_dac_palette_width()).
23759
23760 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23761 check for return status.
23762 (grub_vbe_get_video_mode_info): When getting information for a packed
23763 mode (<= 8 bpp), obtain DAC palette width using
23764 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23765 {red,green,blue}_mark_size.
23766
23767 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
23768
23769 * commands/search.c (options): Fix help output to match actual code.
23770
23771 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23772
23773 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23774 of homegrown code.
23775
23776 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23779 on XFS or ReiserFS.
23780
23781 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Support Apple partition map with sector size different from 512 bytes.
23784
23785 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23786 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23787 and 'apart.partmap_size'.
23788
23789 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23790 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23791
23792 Fix cpuid command.
23793
23794 * commands/i386/cpuid.c (options): New variable.
23795 (grub_cmd_cpuid): Return real error.
23796 (GRUB_MOD_INIT(cpuid)): Declare options.
23797
23798 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23801 valid.
23802
23803 2009-07-31 Bean <bean123ch@gmail.com>
23804
23805 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23806 log2_inode.
23807 (grub_fshelp_node): Move inode field to the end.
23808 (grub_xfs_data): Remove inode field.
23809 (grub_xfs_inode_block): Calculate inode size using sblock.
23810 (grub_xfs_inode_offset): Likewise.
23811 (grub_xfs_read_inode): Calculate inode size using sblock.
23812 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23813 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23814 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23815 to match inode size.
23816 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23817 not accessible when data is null.
23818 (grub_xfs_open): Likewise.
23819
23820 2009-07-31 Bean <bean123ch@gmail.com>
23821
23822 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23823 Don't change pv->disk if it's already set.
23824
23825 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23826 (grub_raid_register): ... here.
23827 (grub_raid_rescan): Removed.
23828
23829 * include/grub/raid.h (grub_raid_rescan): Removed.
23830
23831 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23832 (fstest): Replace grub_raid_rescan with module fini function followed
23833 by init function.
23834
23835 * util/grub-probe.c: Add include file <grub/raid.h>.
23836 (probe_raid_level): New function.
23837 (probe): Detect abstraction by walking the disk device, support two
23838 level of abstraction (LVM on RAID) when detecting partition map.
23839
23840 2009-07-31 Pavel Roskin <proski@gnu.org>
23841
23842 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23843 to grub_zalloc(), it was erroneous.
23844 Reported by Bean <bean123ch@gmail.com>
23845
23846 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23847
23848 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
23849 embedding zone, not only the first one.
23850
23851 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
23852
23853 * term/gfxterm.c (clear_char): New function.
23854 (grub_virtual_screen_setup): Use clear_char.
23855 (scroll_up): Likewise.
23856 (grub_virtual_screen_cls): Likewise.
23857
23858 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
23859
23860 * util/deviceiter.c (get_acceleraid_disk_name): New static
23861 function.
23862 (grub_util_iterate_devices): Handle Accelraid devices.
23863 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23864
23865 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23866
23867 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23868 separator for the suggested gfxpayload string (';' collides with the
23869 parser and needs escaping).
23870
23871 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23872
23873 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23874 Clear direction flag before jumping to OS.
23875 (grub_multiboot2_real_boot): Likewise.
23876
23877 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23878
23879 * util/i386/pc/grub-install: Fix parsing of --disk-module
23880 option.
23881
23882 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23883
23884 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23885 when embedding.
23886
23887 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
23888
23889 * util/grub-mkconfig.in (package_version): New variable.
23890 Use it do display the version.
23891
23892 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23893
23894 * kern/file.c (grub_file_open): Revert to previous check with
23895 grub_errno.
23896
23897 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23898
23899 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23900 from help line. It's out of sync with code.
23901
23902 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23903
23904 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23905 entries on failed boot.
23906
23907 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23908
23909 * kern/file.c (grub_file_open): Fix an error check.
23910
23911 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23914 partition map couldn't be identified.
23915
23916 2009-07-23 Pavel Roskin <proski@gnu.org>
23917
23918 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23919 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23920 case of little endian words becomes just an optimization.
23921 Respect const modifier.
23922 (md5_final): Use code that doesn't depend on endianness.
23923
23924 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23925 to avoid loss of upper bits if align is unsigned and shorter
23926 than addr.
23927
23928 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23929
23930 UUID support for UFS
23931
23932 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23933 (grub_ufs_uuid): New function.
23934 (grub_ufs_fs): add .uuid
23935
23936 2009-07-21 Pavel Roskin <proski@gnu.org>
23937
23938 * kern/dl.c (grub_dl_check_header): Make static.
23939
23940 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
23941
23942 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23943 add drivemap for Vista. It breaks Windows 7.
23944
23945 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23948 128 bytes
23949
23950 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23951
23952 Add BFS support
23953
23954 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23955 (grub_fstest_SOURCES): Likewise.
23956 (pkglib_MODULES): Add befs.mod.
23957 (befs_mod_SOURCES): New variable.
23958 (befs_mod_CFLAGS): Likewise.
23959 (befs_mod_LDFLAGS): Likewise.
23960 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23961 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23962 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23963 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23964 (grub_setup_SOURCES): Likewise.
23965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23967 (grub_setup_SOURCES): Likewise.
23968 * fs/befs.c: New file.
23969 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23970 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23971 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23972 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23973 (B_KEY_INDEX_ALIGN): New declaration.
23974 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23975 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23976 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23977 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23978 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23979 (grub_afs_mount) [MODE_BFS]: Likewise.
23980 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
23981 (grub_afs_fs): Use GRUB_AFS_FSNAME
23982 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
23983 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
23984 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
23985 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
23986
23987 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
23988
23989 * util/getroot.c (find_root_device): Add support for MacOSX.
23990 * util/hostdisk.c: Likewise.
23991
23992 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23993
23994 * font/font.c (find_glyph): Check whether a font is present to avoid
23995 segmentation fault.
23996
23997 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
23998
23999 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
24000
24001 2009-07-20 Pavel Roskin <proski@gnu.org>
24002
24003 * configure.ac: Trim excessively wordy excuses.
24004
24005 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24006
24007 Add symlink, mtime and label support to AtheFS.
24008
24009 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
24010 (grub_afs_iterate_dir): Handle symlinks.
24011 (grub_afs_open): Use grub_afs_read_symlink.
24012 (grub_afs_dir): Likewise.
24013 Pass mtime.
24014 (grub_afs_label): New function.
24015 (grub_afs_fs): Add grub_afs_label.
24016 (grub_afs_read_symlink): New function.
24017
24018 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24019
24020 Fix AtheFS support.
24021
24022 * fs/afs.c: Fix comments style.
24023 (grub_afs_blockrun): Declare as packed.
24024 (grub_afs_datastream): Likewise.
24025 (grub_afs_bnode): Likewise.
24026 (grub_afs_btree): Likewise.
24027 (grub_afs_sblock): Likewise.
24028 Declare `name' as char.
24029 (grub_afs_inode): Declare as packed.
24030 Change void *vnode to grub_uint32_t unused.
24031 (grub_afs_iterate_dir): Check that key_size is positive.
24032 (grub_afs_mount): Don't read superblock twice.
24033 (grub_afs_dir): Don't free node in case of error,
24034 grub_fshelp_find_file already handles this.
24035 (grub_afs_open): Likewise.
24036
24037 2009-07-19 Pavel Roskin <proski@gnu.org>
24038
24039 * Makefile.in: Remove LIBLZO and enable_lzo.
24040 * conf/i386-pc.rmk: Remove lzo support.
24041 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
24042 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
24043 support.
24044 * kern/i386/pc/lzo1x.S: Remove.
24045 * kern/i386/pc/startup.S: Remove lzo support.
24046 * util/i386/pc/grub-mkimage.c: Likewise.
24047
24048 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
24049
24050 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
24051 * fs/xfs.c (grub_xfs_dir): Likewise.
24052 * fs/afs.c (grub_afs_dir): Likewise.
24053 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
24054 (grub_iso9660_open): Likewise.
24055 * fs/jfs.c (grub_jfs_open): Likewise.
24056 * fs/ext2.c (grub_ext2_dir): Likewise.
24057 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
24058 * script/sh/lexer.c (grub_script_yylex): Likewise.
24059
24060 2009-07-16 Pavel Roskin <proski@gnu.org>
24061
24062 * configure.ac: Never add "-c" to CFLAGS.
24063
24064 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
24065
24066 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
24067 grub_cv_cc_efiemu should be used.
24068
24069 * configure.ac: Typo fixes.
24070
24071 * kern/mm.c (grub_zalloc): New function.
24072 (grub_debug_zalloc): Likewise.
24073 * include/grub/mm.h: Declare grub_zalloc() and
24074 grub_debug_zalloc().
24075 * util/misc.c (grub_zalloc): New function.
24076 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24077 instead of grub_malloc(), remove unneeded initializations.
24078 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24079 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24080 * commands/parttool.c (grub_cmd_parttool): Likewise.
24081 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24082 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24083 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24084 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24085 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24086 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24087 (grub_cmd_efiemu_pnvram): Likewise.
24088 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24089 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24090 (grub_iso9660_iterate_dir): Likewise.
24091 * fs/jfs.c (grub_jfs_opendir): Likewise.
24092 * fs/ntfs.c (list_file): Likewise.
24093 (grub_ntfs_mount): Likewise.
24094 * kern/disk.c (grub_disk_open): Likewise.
24095 * kern/dl.c (grub_dl_load_core): Likewise.
24096 * kern/elf.c (grub_elf_file): Likewise.
24097 * kern/env.c (grub_env_context_open): Likewise.
24098 (grub_env_set): Likewise.
24099 (grub_env_set_data_slot): Likewise.
24100 * kern/file.c (grub_file_open): Likewise.
24101 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24102 * loader/i386/multiboot.c (grub_module): Likewise.
24103 * loader/xnu.c (grub_xnu_create_key): Likewise.
24104 (grub_xnu_create_value): Likewise.
24105 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24106 (read_config_file): Likewise.
24107 * normal/menu_entry.c (make_screen): Likewise.
24108 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24109 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24110 * script/sh/script.c (grub_script_parse): Likewise.
24111 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24112 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24113 * video/readers/png.c (grub_png_output_byte): Likewise.
24114 (grub_video_reader_png): Likewise.
24115
24116 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24117
24118 Enable all targets that can be built by default
24119
24120 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
24121 grub-mkfont and grub-fstest if they can be built
24122
24123 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24124
24125 Fix hang and segmentation fault in grub-emu-usb
24126
24127 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24128 * util/usb.c (grub_libusb_devices): likewise
24129 (grub_libusb_init): rename to ...
24130 (GRUB_MOD_INIT (libusb)):...this
24131 (grub_libusb_fini): rename to ..
24132 (GRUB_MOD_FINI (libusb)):...this
24133 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24134 * include/grub/disk.h (grub_raid_init): removed, it's useless
24135 (grub_raid_fini): likewise
24136 (grub_lvm_init): likewise
24137 (grub_lvm_fini): likewise
24138 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24139 by grub_init_all
24140
24141 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 Fix libusb
24144
24145 * Makefile.in (LIBUSB): new macro
24146 * genmk.rb (Utility/print_tail): new method
24147 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24148 (top level): call util.print_tail at the end.
24149
24150 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24151
24152 Make FreeBSD accept zpool.cache
24153
24154 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24155 type is /boot/zfs/zpool.cache
24156
24157 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24158
24159 Fix 64-bit efiemu
24160
24161 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24162 correct wrong typedef
24163 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24164
24165 2009-07-15 Pavel Roskin <proski@gnu.org>
24166
24167 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24168 * kern/disk.c (struct grub_disk_cache): Likewise.
24169
24170 * commands/probe.c (options): Typo fix.
24171
24172 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24173 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24174 accordingly.
24175 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24176
24177 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24178 the end of "Error" to make the message more readable.
24179
24180 * boot/i386/pc/boot.S (kernel_segment): Remove.
24181 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24182 for destination.
24183
24184 * boot/i386/pc/boot.S (boot_version): Remove.
24185 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24186 Remove.
24187
24188 * include/grub/i386/pc/boot.h: Sort all offsets.
24189 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24190 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24191 * boot/i386/pc/boot.S: Assert location of every offset listed in
24192 include/grub/i386/pc/boot.h.
24193
24194 2009-07-13 Pavel Roskin <proski@gnu.org>
24195
24196 * include/grub/i386/coreboot/machine.h: Rename
24197 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24198 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24199 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24200
24201 * kern/dl.c: Force native word size to suppress warnings when
24202 compiling grub-emu.
24203
24204 * kern/device.c (grub_device_iterate): Change struct part_ent to
24205 hold the name, not a pointer to it. Use one grub_malloc() per
24206 partition, not two. Free partition_name if grub_malloc() fails.
24207 Set ents to NULL only before grub_partition_iterate() is called.
24208
24209 2009-07-11 Bean <bean123ch@gmail.com>
24210
24211 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24212 childname.
24213
24214 2009-07-10 Bean <bean123ch@gmail.com>
24215 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24216
24217 * kern/ieee1275/openfw.c (grub_children_iterate)
24218 (grub_devalias_iterate): Fix size evaluation for property or path
24219 strings, which was broken since r2132.
24220
24221 2009-07-07 Pavel Roskin <proski@gnu.org>
24222
24223 * commands/search.c (search_file): Merge into ...
24224 (search_fs): ... this. Accept search type as argument.
24225 (grub_cmd_search): Pass search type to search_fs().
24226
24227 * include/grub/util/console.h: New file.
24228 * util/console.c: Use it instead of grub/machine/console.h.
24229 * util/grub-emu.c: Likewise.
24230
24231 * lib/arg.c (find_long_option): Remove.
24232 (find_long): Add `len' argument, make `s' const char *.
24233 (grub_arg_parse): Parse long options in place, not in a
24234 temporary buffer.
24235
24236 2009-07-06 Pavel Roskin <proski@gnu.org>
24237
24238 * commands/search.c (search_fs): Fix potential NULL pointer
24239 dereference.
24240
24241 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24242 function pointer.
24243
24244 2009-07-06 Daniel Mierswa <impulze@impulze.org>
24245
24246 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24247 comparison.
24248
24249 2009-07-05 Pavel Roskin <proski@gnu.org>
24250
24251 * include/grub/i386/linux.h (struct linux_kernel_params):
24252 Restore padding3, it's still needed.
24253
24254 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24255 FreeBSD.
24256 * util/osdetect.lua: Likewise.
24257
24258 2009-07-05 Bean <bean123ch@gmail.com>
24259
24260 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24261
24262 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24263 (grub_lua_getenv): Likewise.
24264 (grub_lua_setenv): Likewise.
24265 (save_errno): New function.
24266 (push_result): Likewise.
24267 (grub_lua_enum_device): Likewise.
24268 (grub_lua_enum_file): Likewise.
24269 (grub_lua_file_open): Likewise.
24270 (grub_lua_file_close): Likewise.
24271 (grub_lua_file_seek): Likewise.
24272 (grub_lua_file_read): Likewise.
24273 (grub_lua_file_getline): Likewise.
24274 (grub_lua_file_getsize): Likewise.
24275 (grub_lua_file_getpos): Likewise.
24276 (grub_lua_file_eof): Likewise.
24277 (grub_lua_file_exist): Likewise.
24278 (grub_lua_add_menu): Likewise.
24279
24280 * script/lua/grub_lua.h (isupper): New inline function.
24281 (islower): Likewise.
24282 (ispunct): Likewise.
24283 (isxdigit): Likewise.
24284 (strcspn): Change to normal function.
24285 (strpbkr): New function declaration.
24286 (memchr): Likewise.
24287
24288 * script/lua/grub_main.c (scan_str): New function.
24289 (strcspn): Likewise.
24290 (strpbrk): Likewise.
24291 (memchr): Likewise.
24292
24293 * script/lua/linit.c (lualibs): Enable the string library.
24294
24295 * util/osdetect.lua: New file.
24296
24297 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24298
24299 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24300 `capabilities' member.
24301
24302 2009-07-02 Pavel Roskin <proski@gnu.org>
24303
24304 * genparttoollist.sh: Add missing newline at the end.
24305
24306 2009-07-01 Pavel Roskin <proski@gnu.org>
24307
24308 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24309
24310 * util/hostdisk.c (open_device): Remove `const' from
24311 `sysctl_size', as sysctlbyname() can change it (in this case it
24312 doesn't actually happen).
24313
24314 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24315 using signed long int constants.
24316
24317 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24318 constant to avoid a warning on FreeBSD.
24319
24320 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24321 where it's needed.
24322
24323 * Makefile.in: Install include/grub/machine symlink.
24324
24325 * Makefile.in: When installing symlinks, use "cp -fR", which
24326 works on FreeBSD and MacOSX.
24327 From Yves Blusseau <cl7m42e02@sneakemail.com>
24328
24329 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24330 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24331
24332 * util/misc.c: Move grub_reboot() and grub_halt() ...
24333 * util/grub-emu.c: ... here. Make main_env static.
24334 * include/grub/util/misc.h: Remove main_env.
24335
24336 * kern/mm.c: Use correct format to print size_t.
24337
24338 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24339 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24340 * kern/powerpc/dl.c: Likewise.
24341 * kern/sparc64/dl.c: Likewise.
24342 * kern/x86_64/dl.c: Likewise.
24343
24344 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24345
24346 Fix grub-emu build on sparc64-ieee1275.
24347
24348 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
24349 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24350
24351 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24352
24353 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24354 (grub_reboot, grub_halt): New functions.
24355
24356 * util/i386/pc/misc.c: Delete. Update all users.
24357 * util/sparc64/ieee1275/misc.c: Likewise.
24358 * util/powerpc/ieee1275/misc.c: Likewise.
24359
24360 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24361
24362 * conf/i386.rmk (setjmp_mod_SOURCES)
24363 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24364 * conf/common.rmk (setjmp_mod_SOURCES)
24365 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24366 to use $(target_cpu).
24367 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24368 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24369 * conf/powerpc-ieee1275.rmk: Likewise.
24370 * conf/sparc64-ieee1275.rmk: Likewise.
24371
24372 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24373 $(target_cpu) for kern/$(target_cpu)/dl.c.
24374 * conf/i386-efi.rmk: Likewise.
24375 * conf/i386-ieee1275.rmk: Likewise.
24376 * conf/x86_64-efi.rmk: Likewise.
24377 * conf/i386-coreboot.rmk: Likewise.
24378 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24379 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24380 kern/$(target_cpu)/cache.S.
24381 * conf/sparc64-ieee1275.rmk: Likewise.
24382
24383 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24384
24385 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24386 type to `grub_uint8_t', and adjust `padding9' accordingly.
24387
24388 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24389
24390 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24391
24392 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24393 assembly in final jump, using register constraints.
24394
24395 (grub_linux_boot): For text mode, initialize `have_vga' using
24396 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24397
24398 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24399 right before the final jump.
24400
24401 Set `video_mode' to 0x3.
24402
24403 Document initialization of `video_page', `video_mode' and
24404 `video_ega_bx'.
24405
24406 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24407
24408 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24409 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
24410 and set GRUB_LINUX_FLAG_QUIET appropriately.
24411
24412 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24413
24414 Fix build on Debian / sparc.
24415
24416 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24417
24418 2009-06-28 Pavel Roskin <proski@gnu.org>
24419
24420 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24421 fix a warning.
24422
24423 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24424
24425 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24426
24427 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24428 `err'.
24429
24430 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24431
24432 Revert r2338.
24433
24434 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24435 file can't be opened. grub_file_open() is already supposed to set
24436 grub_errno / grub_errmsg appropriately.
24437 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24438
24439 2009-06-27 Pavel Roskin <proski@gnu.org>
24440 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24441
24442 * include/grub/dl.h: Include grub/elf.h.
24443 (struct grub_dl): Add symtab field.
24444 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24445 GRUB_MODULES_MACHINE_READONLY.
24446 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24447 of the header for read-only modules.
24448 (grub_dl_unload): Free mod->symtab for read-only modules.
24449 * kern/i386/dl.c: Use mod->symtab.
24450 * kern/powerpc/dl.c: Likewise.
24451 * kern/sparc64/dl.c: Likewise.
24452 * kern/x86_64/dl.c: Likewise.
24453
24454 * conf/i386-qemu.rmk: New file.
24455 * kern/i386/qemu/startup.S: Likewise.
24456 * kern/i386/qemu/mmap.c: Likewise.
24457 * boot/i386/qemu/boot.S: Likewise.
24458 * include/grub/i386/qemu/time.h: Likewise.
24459 * include/grub/i386/qemu/serial.h: Likewise.
24460 * include/grub/i386/qemu/kernel.h: Likewise.
24461 * include/grub/i386/qemu/console.h: Likewise.
24462 * include/grub/i386/qemu/boot.h: Likewise.
24463 * include/grub/i386/qemu/init.h: Likewise.
24464 * include/grub/i386/qemu/machine.h: Likewise.
24465 * include/grub/i386/qemu/loader.h: Likewise.
24466 * include/grub/i386/qemu/memory.h: Likewise.
24467
24468 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24469 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24470 [qemu] (pkglib_IMAGES): Add `boot.img'.
24471 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24472 [qemu] (boot_img_FORMAT): New variables.
24473 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24474 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24475 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24476 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24477 [qemu] (kernel_img_FORMAT): New variables.
24478
24479 * configure.ac: Recognise `i386-qemu'.
24480
24481 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24482 (for no compression).
24483 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24484 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24485 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24486 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24487 ifdefs).
24488
24489 2009-06-27 Pavel Roskin <proski@gnu.org>
24490
24491 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24492 read.
24493 * efiemu/prepare32.c: Likewise.
24494 * efiemu/prepare64.c: Likewise.
24495
24496 2009-06-26 Pavel Roskin <proski@gnu.org>
24497
24498 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24499 * include/grub/elf.h: Define symbols without "32" or "64" based
24500 on GRUB_TARGET_WORDSIZE.
24501 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24502 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24503 ELF definitions.
24504 * efiemu/loadcore64.c: Likewise.
24505 * loader/i386/bsd32.c: Likewise.
24506 * loader/i386/bsd64.c: Likewise.
24507 * kern/dl.c: Remove own ELF definitions.
24508 * util/i386/efi/grub-mkimage.c: Likewise.
24509
24510 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24511
24512 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24513 segment 0x0 unconditionally, because the reference generated by
24514 GAS is an absolute address.
24515
24516 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24517
24518 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24519 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24520
24521 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24522
24523 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24524 indexes. Check for -f explicitly.
24525 (search_file): Improve error message.
24526 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
24527
24528 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24529
24530 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24531 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24532
24533 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24534
24535 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24536 * conf/i386-ieee1275.rmk: Likewise.
24537 * conf/i386-coreboot.rmk: Likewise.
24538
24539 * kern/i386/pc/startup.S (grub_stop): Remove function.
24540 * kern/i386/ieee1275/startup.S: Likewise.
24541 * kern/i386/coreboot/startup.S: Likewise.
24542 * kern/i386/misc.S (grub_stop): New function.
24543
24544 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24545
24546 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24547 * kern/i386/realmode.S (real_to_prot): ... to here.
24548
24549 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24550
24551 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24552 with `kernel.img'.
24553 (kernel_elf_SOURCES): Rename to ...
24554 (kernel_img_SOURCES): ... this.
24555 (kernel_elf_HEADERS): Rename to ...
24556 (kernel_img_HEADERS): ... this. Update all users.
24557 (kernel_elf_ASFLAGS): Rename to ...
24558 (kernel_img_ASFLAGS): ... this.
24559 (kernel_elf_CFLAGS): Rename to ...
24560 (kernel_img_CFLAGS): ... this.
24561 (kernel_elf_LDFLAGS): Rename to ...
24562 (kernel_img_LDFLAGS): ... this.
24563 * conf/i386-coreboot.rmk: Likewise.
24564 * conf/powerpc-ieee1275.rmk: Likewise.
24565
24566 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24567 with "kernel.img".
24568
24569 2009-06-21 Pavel Roskin <proski@gnu.org>
24570
24571 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24572 to match nested functions.
24573 * loader/sparc64/ieee1275/linux.c: Likewise.
24574
24575 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24576
24577 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24578
24579 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24580 all i386 platforms.
24581
24582 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24583
24584 Fix asm file handling on ELF, and remove workarounds.
24585
24586 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
24587 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
24588 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24589 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24590
24591 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24592
24593 Load BSD ELF modules
24594
24595 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24596 and loader/i386/bsd64.c
24597 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24598 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24599 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24600 (grub_freebsd_load_elfmodule32): New declaration
24601 (grub_freebsd_load_elfmoduleobj64): Likewise
24602 (grub_freebsd_load_elf_meta32): Likewise
24603 (grub_freebsd_load_elf_meta64): Likewise
24604 (grub_freebsd_add_meta): Likewise
24605 (grub_freebsd_add_meta_module): Likewise
24606 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24607 (grub_freebsd_add_meta_module): Likewise and move module-specific
24608 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24609 (grub_cmd_freebsd): Add elf-kernel specific parts
24610 based on grub_freebsd_add_meta_module
24611 (grub_cmd_freebsd_module): Add type parsing moved from
24612 grub_freebsd_add_meta_module
24613 (grub_cmd_freebsd_module_elf): New function
24614 (cmd_freebsd_module_elf): New variable
24615 (GRUB_MOD_INIT): Register freebsd_module_elf
24616 * loader/i386/bsd32.c: New file
24617 * loader/i386/bsd64.c: Likewise
24618 * loader/i386/bsdXX.c: Likewise
24619 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24620 (grub_elf64_load): Likewise
24621 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24622 All users updated
24623 (grub_elf64_load_hook_t): Likewise
24624
24625 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
24626
24627 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24628 variable.
24629 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24630 don't write a menu entry for recovery mode.
24631
24632 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24633
24634 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24635 after it's no longer needed.
24636
24637 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24638
24639 * include/grub/i386/loader.h (grub_linux_prot_size)
24640 (grub_linux_tmp_addr, grub_linux_real_addr)
24641 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24642 GRUB_MACHINE_PCBIOS.
24643 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24644 common grub_util_info() call to ...
24645 (generate_image): ... here.
24646 Fix use of uninitialized memory, comparison of signed with
24647 unsigned integers and memory leak.
24648 Remove bogus module address message.
24649
24650 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24651
24652 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24653 grub_raid_register
24654 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24655
24656 2009-06-19 Pavel Roskin <proski@gnu.org>
24657
24658 * configure.ac: Remove stray AC_MSG_CHECKING.
24659
24660 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24661
24662 * disk/scsi.c (grub_scsi_open): use continue instead of big if
24663
24664 2009-06-18 Pavel Roskin <proski@gnu.org>
24665
24666 * conf/common.rmk: Add fs_file.mod.
24667 * disk/fs_file.c: New file.
24668 * include/grub/disk.h (enum grub_disk_dev_id): Add
24669 GRUB_DISK_DEVICE_FILE_ID.
24670
24671 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24672
24673 Fix build with Apple's toolchain. Part 2
24674
24675 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24676 a fake start
24677
24678 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24679
24680 Fix build with Apple's toolchain. Part 1
24681
24682 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24683 for long calls
24684 * configure.ac: remove a leftover AC_MSG_RESULT
24685 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
24686 Apple's toolchain
24687
24688 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24689
24690 Fix warnings
24691
24692 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24693 (decomp_block): initialize ch
24694 use grub_memcpy instead of memcpy
24695
24696 2009-06-17 Pavel Roskin <proski@gnu.org>
24697
24698 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24699 version, use declarations needed to use vga_text as the startup
24700 console.
24701
24702 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24703 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24704 the kernel.
24705 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24706 and grub_at_keyboard_fini(), it's done on module load and
24707 unload.
24708
24709 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
24710
24711 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24712 file can't be found.
24713 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24714
24715 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24716
24717 Fix newline handling
24718
24719 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
24720 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
24721 (grub_script_yylex): don't segfault on unterminated script
24722 newline terminates command and variable
24723
24724 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24725
24726 avoid double grub_adjust_range call. Bug reported by David Simner
24727
24728 * kern/disk.c (grub_disk_write): change to raw disk access before
24729 calling disk_read
24730
24731 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
24732
24733 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24734 spaces, for the benefit of help2man.
24735 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24736
24737 2009-06-16 Pavel Roskin <proski@gnu.org>
24738
24739 * kern/i386/halt.c: Include grub/machine/init.h.
24740 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24741
24742 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
24743
24744 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24745 drivemap menuentry.
24746
24747 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24748
24749 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24750 `echo' command.
24751
24752 2009-06-16 Pavel Roskin <proski@gnu.org>
24753
24754 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24755 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24756 save %dx, we only need %dl and we never change it.
24757 * boot/i386/pc/cdboot.S: Don't set the root drive.
24758 * boot/i386/pc/pxeboot.S: Likewise.
24759 * include/grub/i386/pc/boot.h: Remove
24760 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24761 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24762 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24763 * kern/i386/pc/init.c (make_install_device): Remove references
24764 to grub_root_drive.
24765 * kern/i386/pc/startup.S: Likewise.
24766 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24767
24768 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24769
24770 xnu_uuid command
24771
24772 * commands/xnu_uuid.c: new file
24773 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24774 (xnu_uuid_mod_SOURCES): new variable
24775 (xnu_uuid_mod_CFLAGS): likewise
24776 (xnu_uuid_mod_LDFLAGS): likewise
24777 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24778 * conf/i386-ieee1275.rmk: likewise
24779 * conf/i386-pc.rmk: likewise
24780 * conf/powerpc-ieee1275.rmk: likewise
24781 * conf/sparc64-ieee1275.rmk: likewise
24782 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24783
24784 2009-06-16 Pavel Roskin <proski@gnu.org>
24785
24786 * configure.ac: Avoid '==' in test command, it's not portable.
24787
24788 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24789
24790 Probe command
24791
24792 * commands/probe.c: new file
24793 * conf/common.rmk (pkglib_MODULES): add probe.mod
24794 (probe_mod_SOURCES): new variable
24795 (probe_mod_CFLAGS): likewise
24796 (probe_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
24803 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24804
24805 Fix handling of string like \"hello\" and "a
24806 b"
24807
24808 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24809 (grub_script_yylex): fix parsing of quoting, escaping and newline
24810
24811 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24812
24813 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
24814 handling
24815
24816 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
24817
24818 * util/grub-mkconfig.in: Fix parsing of --output option.
24819
24820 2009-06-12 Pavel Roskin <proski@gnu.org>
24821
24822 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24823 genmk.rb don't need to be generated or installed.
24824
24825 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24826
24827 * commands/i386/pc/drivemap_int13h.S: add more comments
24828
24829 2009-06-11 Pavel Roskin <proski@gnu.org>
24830
24831 * Makefile.in (uninstall): Uninstall manuals.
24832
24833 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24834 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24835 and update-grub_lib in two places.
24836 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24837
24838 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24839 a compiler warning.
24840
24841 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24842 `entry_lo' to fix variable shadowing.
24843
24844 2009-06-11 Christian Franke <franke@computer.org>
24845
24846 * kern/misc.c (__enable_execute_stack): Add missing return type
24847 to prevent gcc warning.
24848
24849 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24850
24851 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24852
24853 2009-06-11 Pavel Roskin <proski@gnu.org>
24854
24855 * Makefile.in: Don't rely on any scripts being executable.
24856 Always use $(SHELL) to run shell scripts.
24857
24858 * configure.ac: Always define ___main if using -nostdlib. This
24859 fixes tests on Cygwin.
24860
24861 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24862
24863 UDF fix
24864
24865 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
24866 is in bytes and not in blocks
24867
24868 2009-06-11 Pavel Roskin <proski@gnu.org>
24869
24870 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24871 warning.
24872
24873 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24874
24875 * util/grub.d/30_os-prober.in: Fix a comment. Source
24876 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24877 to set the root device. Place drivemap command in the generated
24878 chain entry.
24879
24880 2009-06-11 Pavel Roskin <proski@gnu.org>
24881
24882 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24883 have long been resolved.
24884
24885 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
24886
24887 * util/grub.d/10_linux.in: Capitalise "Linux".
24888
24889 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24890
24891 2009-06-11 Pavel Roskin <proski@gnu.org>
24892
24893 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24894 fix a gcc warning and ensure that the function won't ever exit.
24895
24896 * kern/i386/ieee1275/init.c: Add missing prototype for
24897 grub_stop_floppy().
24898
24899 * loader/ieee1275/multiboot2.c [__i386__]: Include
24900 grub/cpu/multiboot.h.
24901
24902 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24903 casts to short - they are not portable and cause warnings. Fix
24904 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24905
24906 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24907
24908 Drivemap fixes
24909
24910 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24911 new function
24912 (grub_get_root_biosnumber_saved): new variable
24913 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24914 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
24915 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
24916 %dx after the call if necessary
24917 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24918 (boot_mod_SOURCES): remove
24919 (boot_mod_CFLAGS): remove
24920 (boot_mod_LDFLAGS): remove
24921 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24922 (boot_mod_SOURCES): new variable
24923 (boot_mod_CFLAGS): likewise
24924 (boot_mod_LDFLAGS): likewise
24925 * conf/i386-efi.rmk: likewise
24926 * conf/i386-ieee1275.rmk: likewise
24927 * conf/i386-pc.rmk: likewise
24928 * conf/powerpc-ieee1275.rmk: likewise
24929 * conf/sparc64-ieee1275.rmk: likewise
24930 * conf/x86_64-efi.rmk: likewise
24931 * include/grub/i386/pc/biosnum.h: new file
24932 * lib/i386/pc/biosnum.c: likewise
24933 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24934 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24935 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
24936
24937 2009-06-10 Pavel Roskin <proski@gnu.org>
24938
24939 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24940 Use separate variables. Read only the file size at the end, but
24941 not the checksum that we don't use.
24942
24943 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24944 Adjust all callers.
24945
24946 * kern/ieee1275/openfw.c: Remove libc includes.
24947 * kern/ieee1275/cmain.c: Likewise.
24948 * include/grub/ieee1275/ieee1275.h: Likewise.
24949
24950 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24951 compiler warnings.
24952
24953 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
24954
24955 * Makefile.in: Remove all trailing whitespace.
24956 * conf/i386-pc.rmk: Likewise.
24957 * conf/powerpc-ieee1275.rmk: Likewise.
24958 * conf/sparc64-ieee1275.rmk: Likewise.
24959 * docs/grub.texi: Likewise.
24960 * docs/texinfo.tex: Likewise.
24961 * disk/fs_uuid.c: Likewise.
24962 * disk/lvm.c: Likewise.
24963 * disk/scsi.c: Likewise.
24964 * disk/ata.c: Likewise.
24965 * disk/ieee1275/ofdisk.c: Likewise.
24966 * disk/i386/pc/biosdisk.c: Likewise.
24967 * disk/host.c: Likewise.
24968 * disk/raid.c: Likewise.
24969 * disk/efi/efidisk.c: Likewise.
24970 * disk/usbms.c: Likewise.
24971 * disk/memdisk.c: Likewise.
24972 * disk/loopback.c: Likewise.
24973 * kern/powerpc/dl.c: Likewise.
24974 * kern/device.c: Likewise.
24975 * kern/dl.c: Likewise.
24976 * kern/sparc64/dl.c: Likewise.
24977 * kern/ieee1275/ieee1275.c: Likewise.
24978 * kern/term.c: Likewise.
24979 * kern/fs.c: Likewise.
24980 * kern/i386/dl.c: Likewise.
24981 * kern/i386/pc/startup.S: Likewise.
24982 * kern/i386/pc/init.c: Likewise.
24983 * kern/i386/pc/mmap.c: Likewise.
24984 * kern/i386/pc/lzo1x.S: Likewise.
24985 * kern/i386/ieee1275/init.c: Likewise.
24986 * kern/i386/realmode.S: Likewise.
24987 * kern/i386/tsc.c: Likewise.
24988 * kern/partition.c: Likewise.
24989 * kern/corecmd.c: Likewise.
24990 * kern/file.c: Likewise.
24991 * kern/efi/efi.c: Likewise.
24992 * kern/efi/init.c: Likewise.
24993 * kern/efi/mm.c: Likewise.
24994 * kern/main.c: Likewise.
24995 * kern/err.c: Likewise.
24996 * kern/env.c: Likewise.
24997 * kern/disk.c: Likewise.
24998 * kern/generic/millisleep.c: Likewise.
24999 * kern/generic/rtc_get_time_ms.c: Likewise.
25000 * kern/misc.c: Likewise.
25001 * kern/parser.c: Likewise.
25002 * genmk.rb: Likewise.
25003 * configure.ac: Likewise.
25004 * boot/i386/pc/diskboot.S: Likewise.
25005 * boot/i386/pc/pxeboot.S: Likewise.
25006 * boot/i386/pc/boot.S: Likewise.
25007 * boot/i386/pc/lnxboot.S: Likewise.
25008 * boot/i386/pc/cdboot.S: Likewise.
25009 * parttool/pcpart.c: Likewise.
25010 * video/readers/tga.c: Likewise.
25011 * video/video.c: Likewise.
25012 * video/bitmap.c: Likewise.
25013 * lib/envblk.c: Likewise.
25014 * lib/i386/setjmp.S: Likewise.
25015 * fs/xfs.c: Likewise.
25016 * fs/afs.c: Likewise.
25017 * fs/fat.c: Likewise.
25018 * fs/ntfs.c: Likewise.
25019 * fs/udf.c: Likewise.
25020 * fs/affs.c: Likewise.
25021 * fs/iso9660.c: Likewise.
25022 * fs/hfs.c: Likewise.
25023 * fs/fshelp.c: Likewise.
25024 * fs/ext2.c: Likewise.
25025 * fs/jfs.c: Likewise.
25026 * fs/reiserfs.c: Likewise.
25027 * fs/hfsplus.c: Likewise.
25028 * fs/minix.c: Likewise.
25029 * fs/cpio.c: Likewise.
25030 * fs/sfs.c: Likewise.
25031 * fs/ufs.c: Likewise.
25032 * efiemu/prepare.c: Likewise.
25033 * efiemu/loadcore_common.c: Likewise.
25034 * efiemu/runtime/efiemu.sh: Likewise.
25035 * efiemu/runtime/efiemu.S: Likewise.
25036 * efiemu/runtime/efiemu.c: Likewise.
25037 * efiemu/pnvram.c: Likewise.
25038 * efiemu/main.c: Likewise.
25039 * efiemu/i386/pc/cfgtables.c: Likewise.
25040 * efiemu/i386/loadcore64.c: Likewise.
25041 * efiemu/i386/loadcore32.c: Likewise.
25042 * efiemu/loadcore.c: Likewise.
25043 * efiemu/symbols.c: Likewise.
25044 * efiemu/mm.c: Likewise.
25045 * include/grub/autoefi.h: Likewise.
25046 * include/grub/datetime.h: Likewise.
25047 * include/grub/term.h: Likewise.
25048 * include/grub/hfs.h: Likewise.
25049 * include/grub/lvm.h: Likewise.
25050 * include/grub/i386/tsc.h: Likewise.
25051 * include/grub/i386/linux.h: Likewise.
25052 * include/grub/i386/xnu.h: Likewise.
25053 * include/grub/i386/efiemu.h: Likewise.
25054 * include/grub/i386/pc/biosdisk.h: Likewise.
25055 * include/grub/i386/pc/memory.h: Likewise.
25056 * include/grub/i386/pc/vbe.h: Likewise.
25057 * include/grub/parttool.h: Likewise.
25058 * include/grub/video.h: Likewise.
25059 * include/grub/memory.h: Likewise.
25060 * include/grub/fs.h: Likewise.
25061 * include/grub/partition.h: Likewise.
25062 * include/grub/xnu.h: Likewise.
25063 * include/grub/efi/api.h: Likewise.
25064 * include/grub/efi/pe32.h: Likewise.
25065 * include/grub/efi/memory.h: Likewise.
25066 * include/grub/multiboot.h: Likewise.
25067 * include/grub/usbdesc.h: Likewise.
25068 * include/grub/multiboot2.h: Likewise.
25069 * include/grub/acpi.h: Likewise.
25070 * include/grub/efiemu/efiemu.h: Likewise.
25071 * include/grub/disk.h: Likewise.
25072 * include/grub/ieee1275/ieee1275.h: Likewise.
25073 * include/grub/net.h: Likewise.
25074 * include/grub/machoload.h: Likewise.
25075 * include/grub/macho.h: Likewise.
25076 * include/multiboot.h: Likewise.
25077 * genmoddep.awk: Likewise.
25078 * normal/main.c: Likewise.
25079 * normal/menu_entry.c: Likewise.
25080 * normal/menu_viewer.c: Likewise.
25081 * normal/completion.c: Likewise.
25082 * normal/cmdline.c: Likewise.
25083 * normal/misc.c: Likewise.
25084 * normal/datetime.c: Likewise.
25085 * bus/usb/usbtrans.c: Likewise.
25086 * bus/usb/ohci.c: Likewise.
25087 * bus/usb/uhci.c: Likewise.
25088 * bus/usb/usb.c: Likewise.
25089 * mmap/efi/mmap.c: Likewise.
25090 * mmap/i386/pc/mmap_helper.S: Likewise.
25091 * mmap/i386/pc/mmap.c: Likewise.
25092 * mmap/i386/mmap.c: Likewise.
25093 * mmap/i386/uppermem.c: Likewise.
25094 * mmap/mmap.c: Likewise.
25095 * commands/acpi.c: Likewise.
25096 * commands/echo.c: Likewise.
25097 * commands/blocklist.c: Likewise.
25098 * commands/loadenv.c: Likewise.
25099 * commands/usbtest.c: Likewise.
25100 * commands/boot.c: Likewise.
25101 * commands/parttool.c: Likewise.
25102 * commands/search.c: Likewise.
25103 * commands/cat.c: Likewise.
25104 * commands/i386/pc/play.c: Likewise.
25105 * commands/i386/pc/drivemap.c: Likewise.
25106 * commands/i386/pc/vbeinfo.c: Likewise.
25107 * commands/i386/pc/acpi.c: Likewise.
25108 * commands/i386/pc/vbetest.c: Likewise.
25109 * commands/ls.c: Likewise.
25110 * commands/cmp.c: Likewise.
25111 * commands/test.c: Likewise.
25112 * commands/efi/acpi.c: Likewise.
25113 * commands/gptsync.c: Likewise.
25114 * commands/help.c: Likewise.
25115 * partmap/amiga.c: Likewise.
25116 * partmap/apple.c: Likewise.
25117 * partmap/acorn.c: Likewise.
25118 * partmap/pc.c: Likewise.
25119 * partmap/sun.c: Likewise.
25120 * partmap/gpt.c: Likewise.
25121 * script/sh/lexer.c: Likewise.
25122 * script/sh/function.c: Likewise.
25123 * font/font.c: Likewise.
25124 * font/font_cmd.c: Likewise.
25125 * loader/powerpc/ieee1275/linux.c: Likewise.
25126 * loader/efi/chainloader.c: Likewise.
25127 * loader/multiboot_loader.c: Likewise.
25128 * loader/macho.c: Likewise.
25129 * loader/i386/multiboot.c: Likewise.
25130 * loader/i386/linux.c: Likewise.
25131 * loader/i386/pc/linux.c: Likewise.
25132 * loader/i386/pc/multiboot2.c: Likewise.
25133 * loader/i386/pc/chainloader.c: Likewise.
25134 * loader/i386/pc/xnu.c: Likewise.
25135 * loader/i386/bsd_trampoline.S: Likewise.
25136 * loader/i386/efi/linux.c: Likewise.
25137 * loader/i386/multiboot_elfxx.c: Likewise.
25138 * loader/i386/bsd_helper.S: Likewise.
25139 * loader/i386/bsd.c: Likewise.
25140 * loader/i386/linux_trampoline.S: Likewise.
25141 * loader/i386/xnu_helper.S: Likewise.
25142 * loader/i386/xnu.c: Likewise.
25143 * loader/i386/bsd_pagetable.c: Likewise.
25144 * loader/i386/multiboot_helper.S: Likewise.
25145 * loader/xnu.c: Likewise.
25146 * loader/xnu_resume.c: Likewise.
25147 * io/gzio.c: Likewise.
25148 * term/efi/console.c: Likewise.
25149 * term/terminfo.c: Likewise.
25150 * term/ieee1275/ofconsole.c: Likewise.
25151 * term/i386/pc/serial.c: Likewise.
25152 * term/i386/pc/vesafb.c: Likewise.
25153 * term/i386/pc/vga.c: Likewise.
25154 * term/usb_keyboard.c: Likewise.
25155 * term/gfxterm.c: Likewise.
25156 * aclocal.m4: Likewise.
25157 * util/lvm.c: Likewise.
25158 * util/grub.d/30_os-prober.in: Likewise.
25159 * util/grub.d/10_hurd.in: Likewise.
25160 * util/console.c: Likewise.
25161 * util/grub-macho2img.c: Likewise.
25162 * util/grub-probe.c: Likewise.
25163 * util/hostfs.c: Likewise.
25164 * util/i386/pc/grub-mkimage.c: Likewise.
25165 * util/i386/pc/grub-setup.c: Likewise.
25166 * util/i386/efi/grub-mkimage.c: Likewise.
25167 * util/grub-mkconfig.in: Likewise.
25168 * util/raid.c: Likewise.
25169 * util/resolve.c: Likewise.
25170 * util/grub-mkdevicemap.c: Likewise.
25171 * util/grub-emu.c: Likewise.
25172 * util/getroot.c: Likewise.
25173 * util/hostdisk.c: Likewise.
25174 * util/usb.c: Likewise.
25175 * util/grub-editenv.c: Likewise.
25176 * util/misc.c: Likewise.
25177
25178 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
25179
25180 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25181 `genparttoollist.sh'.
25182 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25183 Add `*.sh' to the list find searches for and change `mdate.sh'
25184 to `mdate-sh'.
25185
25186 2009-06-10 Pavel Roskin <proski@gnu.org>
25187
25188 * include/grub/multiboot2.h: Provide compatibility defines for
25189 multiboot2.h.
25190 * include/multiboot2.h: Include stdint.h only if needed, using
25191 angle brackets.
25192 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25193 grub/multiboot2.h.
25194 * loader/ieee1275/multiboot2.c: Likewise.
25195 * loader/multiboot2.c: Likewise.
25196 * loader/multiboot_loader.c: Likewise.
25197
25198 * configure.ac: Use -nostdlib when probing for the target. It
25199 should not be required to have libc for the target.
25200
25201 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25202 they fail without libc headers for the target.
25203 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25204 exports.
25205 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25206 preprocessor conditionals.
25207
25208 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25209 build system doesn't need to be aware of the tar.c internals.
25210
25211 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
25212
25213 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
25214
25215 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25216
25217 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25218 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25219
25220 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
25221
25222 * util/i386/pc/grub-install.in: Change the error message if UUIDs
25223 aren't available if ata.mod gets used.
25224
25225 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
25226
25227 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
25228 initialising controller.
25229 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25230
25231 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25232
25233 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25234 to choose between ata and biosdisk module on i386-pc.
25235
25236 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
25237
25238 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25239 Subclass and Programming Interface fields in terms of the 3 byte
25240 Class Code register.
25241 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25242
25243 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25244 interface is OHCI. Add grub_dprintf for symmetry with
25245 bus/usb/uhci.c.
25246 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25247 interface is UHCI. Add interf variable for programming
25248 interface. Print interface with class/subclass.
25249
25250 * bus/usb/ohci.c: Set interf with correct field.
25251
25252 * bus/usb/uhci.c: Remove unneeded doubled lines.
25253 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25254 Remove whitespace inside comment.
25255
25256 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25257
25258 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25259 as fallback an equivalent option without depth.
25260
25261 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25262
25263 Not fail if unable to retrieve C/H/S on LBA disks
25264
25265 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
25266 if unable to retrieve C/H/S on LBA disks
25267
25268 2009-06-08 Pavel Roskin <proski@gnu.org>
25269
25270 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25271 about aliasing.
25272
25273 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25274
25275 * Makefile.in (uninstall): Remove all $lib_DATA files.
25276
25277 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25278
25279 Bugfix: install on partitionless device
25280
25281 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25282 is a whole disk
25283
25284 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25285
25286 * Makefile.in (uninstall): Remove all $include_DATA files.
25287
25288 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25289
25290 * commands/true.c: New file. Implement the true and false commands.
25291 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25292 (true_mod_SOURCES): New variable.
25293 (true_mod_CFLAGS): Likewise.
25294 (true_mod_LDFLAGS): Likewise.
25295
25296 2009-06-05 Colin D Bennett <colin@gibibit.com>
25297
25298 Optimized font character lookup using binary search instead of linear
25299 search. Fonts now are required to have the character index ordered by
25300 code point.
25301
25302 * font/font.c (load_font_index): Verify that fonts have ordered
25303 character indices.
25304 (find_glyph): Use binary search instead of linear search to find a
25305 character in a font.
25306
25307 2009-06-05 Michael Scherer <misc@mandriva.org>
25308
25309 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25310 uses case sensitive btree.
25311 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25312 only for case insensitive filesystems.
25313
25314 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25317 * conf/common.rmk (search_mod_CFLAGS): likewise
25318
25319 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25320
25321 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
25322 compensate a compiler bug
25323
25324 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25325
25326 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
25327 instead of '\b'
25328
25329 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25330
25331 Definitions for creating asm symbols with Apple's CC
25332
25333 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25334 [APPLE_CC] (VARIABLE): likewise
25335
25336 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25337
25338 Disable lnxboot.img when compiled
25339 with Apple's CC
25340
25341 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25342 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25343 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25344 [! APPLE_CC] (CODE_LENG): skip
25345 [! APPLE_CC] (setup_sects): likewise
25346 [! APPLE_CC]: skip filling
25347
25348 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25349
25350 Address in trampolines based on 32-bit registers when compiled
25351 with Apple's CC
25352
25353 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
25354 for addresses
25355 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25356
25357 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25358
25359 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25360
25361 * kern/misc.c [APPLE_CC] (memcpy): new function
25362 [APPLE_CC] (memmove): likewise
25363 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
25364 (memcpy): define alias conditionally on !APPLE_CC
25365 (memset): likewise
25366 (abort): likewise
25367 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25368 APPLE_CC are defined
25369 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25370 (grub_assert_fail): make prototype conditional
25371
25372 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25373
25374 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25375
25376 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25377 grub-macho2img
25378 (CLEANFILES): add grub-macho2img
25379 (grub_macho2img_SOURCES): new variable
25380 * kern/i386/pc/startup.S (bss_start): new variable
25381 (bss_end): likewise
25382 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25383 * util/grub-macho2img.c: new file
25384
25385 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25386
25387 Use objconv when compiling with Apple's CC
25388
25389 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25390 (efiemu64.o): likewise
25391 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25392 when compiling with Apple's CC
25393 (efiemu64_s.o): likewise
25394 * configure.ac: check for objconv when compiling with Apple's CC
25395 * genmk.rb: use objconv for modules when compiled with Apple's CC
25396
25397 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25398
25399 Define segment as well as section when compiling with
25400 Apple's CC
25401
25402 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25403 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25404 (efiemu_convert_pointer): likewise
25405 (efiemu_set_virtual_address_map): likewise
25406 (efiemu_convert_pointer): likewise
25407 (efiemu_getcrc32): likewise
25408 (init_crc32_table): likewise
25409 (reflect): likewise
25410 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25411 (GRUB_MOD_DEP): likewise
25412
25413 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25414
25415 Allow a compilation without -mcmodel=large
25416
25417 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25418 when compiled without -mcmodel=large
25419 (filter_memory_map): remove memory post 4 GiB when compiled
25420 without -mcmodel=large
25421 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
25422 TARGET_CFLAGS when -mcmodel=large isn't supported
25423
25424 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25425
25426 Remove nested functions in efiemu core
25427
25428 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
25429
25430 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25433
25434 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25435 temporary storage
25436 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25437 using Apple's CC
25438 (grub_cpu_is_tsc_supported): likewise
25439 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
25440
25441 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25442
25443 Absolute addressing through constant with Apple's cc
25444
25445 * kern/i386/pc/startup.S: Define necessary constants
25446 and address through it when using ABS with Apple's CC
25447 * boot/i386/pc/diskboot.S: likewise
25448 * boot/i386/pc/boot.S: likewise
25449 * boot/i386/pc/lnxboot.S: likewise
25450 * boot/i386/pc/cdboot.S: likewise
25451 * mmap/i386/pc/mmap_helper.S: likewise
25452 * commands/i386/pc/drivemap_int13h.S: likewise
25453
25454 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25455
25456 Check if compiler is apple cc
25457
25458 * Makefile.in (ASFLAGS): new variable
25459 (TARGET_ASFLAGS): likewise
25460 (TARGET_MODULE_FORMAT): likewise
25461 (TARGET_APPLE_CC): likewise
25462 (OBJCONV): likewise
25463 (TARGET_IMG_CFLAGS): likewise
25464 (TARGET_CPPFLAGS): add includedir
25465 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25466 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25467 Check for linker script only if compiler isn't Apple's CC
25468 (TARGET_MODULE_FORMAT): set
25469 (TARGET_APPLE_CC): likewise
25470 (TARGET_ASFLAGS): likewise
25471 (ASFLAGS): likewise
25472 Check for objcopy only if compiler isn't Apple's CC
25473 Check for BSS symbol only if compiler isn't Apple's CC
25474 * genmk.rb: adapt nm options if we use Apple's utils
25475 * aclocal.m4 (grub_apple_cc): new test
25476 (grub_apple_target_cc): likewise
25477
25478 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25479
25480 Simplify sed expressions and improve awk
25481
25482 * Makefile.in (install-local): simplify sed expression
25483 * gencmdlist.sh: likewise
25484 * genmoddep.awk: avoid adding module as a dependency of itself
25485
25486 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25487
25488 Add missing start symbols
25489
25490 * boot/i386/pc/boot.S: add start
25491 * boot/i386/pc/pxeboot.S: likewise
25492
25493 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25494
25495 Fix wrong assumptions with grub-mkimage on EFI
25496
25497 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
25498 (relocate_addresses): consider both r_addend and value at offset
25499 (make_mods_section): zerofill modinfo and header
25500 (convert_elf): write prefix here
25501
25502 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25503
25504 Use .asciz instead of .string
25505
25506 * i386/pc/diskboot.S: use .asciz instead of .string
25507 * i386/pc/boot.S: likewise
25508 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25509 (GRUB_MOD_NAME): likewise
25510
25511 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25512
25513 gfxpayload support
25514
25515 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25516 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25517 (grub_video_setup): remove
25518 (grub_video_set_mode): new prototype
25519 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25520 (vid_mode): remove
25521 (linux_vesafb_res): compile only on PCBIOS
25522 (grub_linux_boot): support gfxpayload
25523 * loader/i386/pc/xnu.c (video_hook): new function
25524 (grub_xnu_set_video): support gfxpayload
25525 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25526 (DEFAULT_VIDEO_HEIGHT): likewise
25527 (DEFAULT_VIDEO_FLAGS): likewise
25528 (DEFAULT_VIDEO_MODE): new definition
25529 (video_hook): new function
25530 (grub_gfxterm_init): use grub_video_set_mode
25531 * util/grub.d/30_os-prober.in: remove explicit modesetting before
25532 loading xnu
25533 * video/video.c (grub_video_setup): removed
25534 (grub_video_set_mode): new function based on grub_gfxterm_init and
25535 grub_video_setup
25536
25537 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25538
25539 Avoid calling biosdisk in drivemap
25540
25541 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25542 (revparse_biosdisk): likewise
25543 (list_mappings): derive name from id directly
25544 (grub_cmd_drivemap): use tryparse_diskstring
25545
25546 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25547
25548 Script fixes
25549
25550 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25551 (grub_lexer_param): add tokenonhold
25552 (grub_script_create_cmdline): remove cmdline. All callers updated
25553 (grub_script_function_create): make functionname
25554 grub_script_arg. All callers updated
25555 (grub_script_execute_argument_to_string): new prototype
25556 * kern/parser.c (state_transitions): reorder
25557 (grub_parser_cmdline_state): fix a bug and make more compact
25558 * script/sh/execute.c (grub_script_execute_argument_to_string):
25559 make global
25560 (grub_script_execute_cmdline): use new format
25561 * script/sh/function.c (grub_script_function_create): make functionname
25562 grub_script_arg. All callers updated
25563 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
25564 (grub_script_yylex): remove
25565 (grub_script_yylex2): renamed to ...
25566 (grub_script_yylex): ...renamed
25567 parse the expressions like a${b}c
25568 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25569 (GRUB_PARSER_TOKEN_VAR): remove
25570 (GRUB_PARSER_TOKEN_NAME): likewise
25571 ("if"): declare as typeless
25572 ("while"): likewise
25573 ("function"): likewise
25574 ("else"): likewise
25575 ("then"): likewise
25576 ("fi"): likewise
25577 (text): remove
25578 (argument): likewise
25579 (script): accept empty scripts and make exit on error
25580 (arguments): use GRUB_PARSER_TOKEN_ARG
25581 (function): likewise
25582 (command): move error handling to script
25583 (menuentry): move grub_script_lexer_ref before
25584 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
25585 argument. All callers updated
25586
25587 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25588
25589 Prevent GRUB from probing floppies during boot.
25590
25591 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25592 * commands/search.c (options): Add --no-floppy.
25593 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25594 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25595 --no-floppy when searching for UUIDs.
25596
25597 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25598
25599 Simplify the code duplication in commands/search.c.
25600
25601 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25602 (search_fs): ... this. Update all users.
25603
25604 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
25605
25606 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25607
25608 2009-05-28 Pavel Roskin <proski@gnu.org>
25609
25610 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25611 Remove the original symlink explicitly.
25612
25613 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25614 just one slash. That's how grub_fshelp_find_file() does it.
25615
25616 2009-05-26 Pavel Roskin <proski@gnu.org>
25617
25618 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25619 to `str'.
25620
25621 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25622 possibly unused.
25623
25624 2009-05-25 Christian Franke <franke@computer.org>
25625
25626 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25627 register.
25628 (grub_atapi_identify): Add wait after drive select.
25629 (grub_ata_identify): Do more strict status register check before
25630 calling grub_atapi_identify (). Suppress error message if status
25631 register is 0x00 after command failure. Add status register
25632 check after PIO read to avoid bogus identify due to stuck DRQ.
25633 Thanks to Pavel Roskin for testing.
25634 (grub_device_initialize): Remove unsafe status register check.
25635 Thanks to 'phcoder' for problem report and patch.
25636 Prevent sign extension in debug message.
25637
25638 2009-05-23 Colin D Bennett <colin@gibibit.com>
25639
25640 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25641 definition file, and functions defined in `normal/menu.c' have had
25642 their prototypes moved to `include/grub/menu.h' for consistency.
25643
25644 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25645 from normal.h.
25646 (grub_menu_get_entry): Likewise.
25647 (grub_menu_get_timeout): Likewise.
25648 (grub_menu_set_timeout): Likewise.
25649 (grub_menu_execute_entry): Likewise.
25650 (grub_menu_execute_with_fallback): Likewise.
25651 (grub_menu_entry_run): Likewise.
25652
25653 * include/grub/normal.h: Re-ordered and grouped function
25654 prototypes by file that the function is defined in.
25655 (grub_menu_execute_callback): Removed; moved to menu.h.
25656 (grub_menu_get_entry): Likewise.
25657 (grub_menu_get_timeout): Likewise.
25658 (grub_menu_set_timeout): Likewise.
25659 (grub_menu_execute_entry): Likewise.
25660 (grub_menu_execute_with_fallback): Likewise.
25661 (grub_menu_entry_run): Likewise.
25662 (grub_menu_addentry): Renamed from this ...
25663 (grub_normal_add_menu_entry): ... to this.
25664
25665 * normal/main.c (grub_menu_addentry): Renamed from this ...
25666 (grub_normal_add_menu_entry): ... to this.
25667
25668 * script/sh/execute.c (grub_script_execute_menuentry): Update
25669 reference to renamed grub_menu_addentry function.
25670
25671 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
25672
25673 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25674
25675 2009-05-22 Pavel Roskin <proski@gnu.org>
25676
25677 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25678 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25679 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25680 compiling for the i386 targets, but not for the utilities.
25681
25682 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25683 to grub_uint8_t.
25684 (grub_root_drive): Likewise.
25685 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25686 remove alignment.
25687 (grub_root_drive): Change size to byte.
25688 (grub_start_addr): Remove.
25689 (grub_end_addr): Likewise.
25690 (grub_apm_bios_info): Likewise.
25691
25692 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
25693
25694 * normal/i386: Remove.
25695 * normal/powerpc: Likewise.
25696 * normal/sparc64: Likewise.
25697 * normal/x86_64: Likewise.
25698
25699 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25700
25701 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
25702 * loader/i386/linux_trampoline.S: Fix indentation
25703 * loader/i386/xnu_helper.S: Likewise
25704
25705 2009-05-18 Colin D Bennett <colin@gibibit.com>
25706
25707 Display error messages when parsing a Lua statement fails.
25708 Previously, executing a syntactically invalid statement like
25709 ")foo" or "bar;" would silently fail.
25710
25711 * script/lua/grub_main.c (handle_lua_error): New function.
25712 (grub_lua_parse_line): Improved reporting of Lua parser and
25713 execution errors.
25714
25715 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25716
25717 Remove -Werror which causes build to fail on some systems
25718
25719 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25720 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25721 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
25722
25723 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25724
25725 trampoline for linux on 64-bit platform
25726
25727 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25728 loader/i386/efi/linux_trampoline.S
25729 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
25730 declaration
25731 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25732 here
25733 * loader/i386/linux_trampoline.S: moved here
25734 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25735 trampoline
25736 (jumpvector): removed
25737 (grub_linux_trampoline_start): new declaration
25738 (grub_linux_trampoline_end): likewise
25739 (grub_linux_boot): use trampoline when on 64-bit platform
25740 * loader/i386/linux.c: likewise
25741
25742 2009-05-16 Pavel Roskin <proski@gnu.org>
25743
25744 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25745 const to avoid a warning.
25746 (grub_lua_setenv): Likewise.
25747 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25748 lmsg to fix a warning.
25749
25750 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25751
25752 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
25753 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25754 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25755 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25756 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25757 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25758 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25759 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25760
25761 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25762
25763 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25764
25765 2009-05-16 Bean <bean123ch@gmail.com>
25766
25767 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25768 (lua_mod_SOURCES): New variable.
25769 (lua_mod_CFLAGS): Likewise.
25770 (lua_mod_LDFLAGS): Likewise.
25771
25772 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25773 (setjmp_mod_SOURCES): New variable.
25774 (setjmp_mod_CFLAGS): Likewise.
25775 (setjmp_LDFLAGS): Likewise.
25776
25777 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25778 (setjmp_mod_SOURCES): New variable.
25779 (setjmp_mod_CFLAGS): Likewise.
25780 (setjmp_LDFLAGS): Likewise.
25781
25782 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25783 (setjmp_mod_SOURCES): New variable.
25784 (setjmp_mod_CFLAGS): Likewise.
25785 (setjmp_LDFLAGS): Likewise.
25786
25787 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25788 (setjmp_mod_SOURCES): New variable.
25789 (setjmp_mod_CFLAGS): Likewise.
25790 (setjmp_LDFLAGS): Likewise.
25791
25792 * normal/i386/setjmp.S: Moved from here ...
25793 * lib/i386/setjmp.S: ... Moved here
25794 * normal/x86_64/setjmp.S: Moved from here ...
25795 * lib/x86_64/setjmp.S: ... Moved here
25796 * normal/powerpc/setjmp.S: Moved from here ...
25797 * lib/powerpc/setjmp.S: ... Moved here
25798 * normal/sparc64/setjmp.S: Moved from here ...
25799 * lib/sparc64/setjmp.S: ... Moved here
25800
25801 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25802 returns_twice in mingw.
25803
25804 * script/lua/grub_lib.c: New file.
25805 * script/lua/grub_lib.h: Likewise.
25806 * script/lua/grub_lua.h: Likewise.
25807 * script/lua/grub_main.c: Likewise.
25808 * script/lua/lapi.c: Likewise.
25809 * script/lua/lapi.h: Likewise.
25810 * script/lua/lauxlib.c: Likewise.
25811 * script/lua/lauxlib.h: Likewise.
25812 * script/lua/lbaselib.c: Likewise.
25813 * script/lua/lcode.c: Likewise.
25814 * script/lua/lcode.h: Likewise.
25815 * script/lua/ldblib.c: Likewise.
25816 * script/lua/ldebug.c: Likewise.
25817 * script/lua/ldebug.h: Likewise.
25818 * script/lua/ldo.c: Likewise.
25819 * script/lua/ldo.h: Likewise.
25820 * script/lua/ldump.c: Likewise.
25821 * script/lua/lfunc.c: Likewise.
25822 * script/lua/lfunc.h: Likewise.
25823 * script/lua/lgc.c: Likewise.
25824 * script/lua/lgc.h: Likewise.
25825 * script/lua/linit.c: Likewise.
25826 * script/lua/liolib.c: Likewise.
25827 * script/lua/llex.c: Likewise.
25828 * script/lua/llex.h: Likewise.
25829 * script/lua/llimits.h: Likewise.
25830 * script/lua/lmathlib.c: Likewise.
25831 * script/lua/lmem.c: Likewise.
25832 * script/lua/lmem.h: Likewise.
25833 * script/lua/loadlib.c: Likewise.
25834 * script/lua/lobject.c: Likewise.
25835 * script/lua/lobject.h: Likewise.
25836 * script/lua/lopcodes.c: Likewise.
25837 * script/lua/lopcodes.h: Likewise.
25838 * script/lua/loslib.c: Likewise.
25839 * script/lua/lparser.c: Likewise.
25840 * script/lua/lparser.h: Likewise.
25841 * script/lua/lstate.c: Likewise.
25842 * script/lua/lstate.h: Likewise.
25843 * script/lua/lstring.c: Likewise.
25844 * script/lua/lstring.h: Likewise.
25845 * script/lua/lstrlib.c: Likewise.
25846 * script/lua/ltable.c: Likewise.
25847 * script/lua/ltable.h: Likewise.
25848 * script/lua/ltablib.c: Likewise.
25849 * script/lua/ltm.c: Likewise.
25850 * script/lua/ltm.h: Likewise.
25851 * script/lua/lua.h: Likewise.
25852 * script/lua/luaconf.h: Likewise.
25853 * script/lua/lualib.h: Likewise.
25854 * script/lua/lundump.c: Likewise.
25855 * script/lua/lundump.h: Likewise.
25856 * script/lua/lvm.c: Likewise.
25857 * script/lua/lvm.h: Likewise.
25858 * script/lua/lzio.c: Likewise.
25859 * script/lua/lzio.h: Likewise.
25860
25861 2009-05-16 Bean <bean123ch@gmail.com>
25862
25863 * include/grub/kernel.h (grub_module_header_types): Add type
25864 OBJ_TYPE_CONFIG.
25865
25866 * kern/main.c (grub_load_config): New function.
25867 (grub_main): Call grub_load_config to read boot config.
25868
25869 * grub-mkimage (generate_image): New parameter config_path.
25870 (options): New option --config.
25871 (main): Parse --config option, and pass it to generate_image.
25872
25873 2009-05-14 Christian Franke <franke@computer.org>
25874
25875 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25876 This fixes build on Cygwin.
25877
25878 2009-05-14 Pavel Roskin <proski@gnu.org>
25879
25880 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25881 jump. This saves two bytes, so the typical case of 2 swapped
25882 drives would fit 32 bytes.
25883
25884 2009-05-13 Pavel Roskin <proski@gnu.org>
25885
25886 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25887 grub_uint32_t to avoid a warning.
25888
25889 * loader/i386/linux.c (allocate_pages): When assigning
25890 real_mode_mem, cast through grub_size_t to fix a warning. The
25891 code already makes sure that the value would fit a pointer.
25892 (grub_linux_setup_video): Cast render_target->data to
25893 grub_size_t to fix a warning.
25894
25895 2009-05-13 Javier Martín <lordhabbit@gmail.com>
25896
25897 * commands/i386/pc/drivemap.c: New file - implement drivemap
25898 command.
25899 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25900 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25901
25902 2009-05-13 Pavel Roskin <proski@gnu.org>
25903
25904 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25905 embedding_area_exists.
25906
25907 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25908
25909 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25910 it easier to understand / work with.
25911 Improve warning messages for cases where there's no embedding area,
25912 or when it is too small (or core.img too large).
25913
25914 2009-05-13 Pavel Roskin <proski@gnu.org>
25915
25916 * loader/i386/pc/multiboot2.c: Add necessary includes for
25917 grub_multiboot2_real_boot().
25918
25919 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25920 PX record is always little-endian. We only need the lower 2
25921 bytes of the mode.
25922
25923 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25924 facilitate code reuse.
25925 (grub_cpio_mount): Use "struct head", not a char buffer. This
25926 fixes a warning reported by gcc 4.4.
25927
25928 * kernel/disk.c (grub_disk_read): Use void pointer for the
25929 buffer.
25930 (grub_disk_write): Use const void pointer for the buffer.
25931 Adjust all callers. Remove unnecessary casts.
25932
25933 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25934
25935 * util/i386/pc/grub-install.in: Update copyright year.
25936
25937 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25938
25939 gptsync
25940
25941 * commands/gptsync.c: new file
25942 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25943 (gptsync_mod_SOURCES): new variable
25944 (gptsync_mod_CFLAGS): likewise
25945 (gptsync_mod_LDFLAGS): likewise
25946 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
25947 new definition
25948 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25949 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25950 * conf/i386-ieee1275.rmk: likewise
25951 * conf/i386-pc.rmk: likewise
25952 * conf/powerpc-ieee1275.rmk: likewise
25953
25954 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25955
25956 Fixed grub-emu
25957
25958 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25959 (grub_dl_ref): likewise
25960
25961 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25962
25963 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25964 split in two functions (one for msdos and one for gpt).
25965
25966 2009-05-08 Pavel Roskin <proski@gnu.org>
25967
25968 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25969 not modified.
25970
25971 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25972 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25973 Initialize them with -1. Add sanity check for bad1. Eliminate
25974 nerr variable.
25975
25976 2009-05-08 David S. Miller <davem@davemloft.net>
25977
25978 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25979
25980 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
25981
25982 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
25983 existence.
25984
25985 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
25986
25987 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25988 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
25989
25990 2009-05-05 David S. Miller <davem@davemloft.net>
25991
25992 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
25993
25994 2009-05-05 Pavel Roskin <proski@gnu.org>
25995
25996 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
25997 of grub_dl_ref() and grub_dl_unref().
25998 * commands/parttool.c: Remove preprocessor conditionals around
25999 grub_dl_ref() and grub_dl_unref().
26000 * fs/affs.c: Likewise.
26001 * fs/afs.c: Likewise.
26002 * fs/cpio.c: Likewise.
26003 * fs/ext2.c: Likewise.
26004 * fs/fat.c: Likewise.
26005 * fs/hfs.c: Likewise.
26006 * fs/hfsplus.c: Likewise.
26007 * fs/iso9660.c: Likewise.
26008 * fs/jfs.c: Likewise.
26009 * fs/minix.c: Likewise.
26010 * fs/ntfs.c: Likewise.
26011 * fs/reiserfs.c: Likewise.
26012 * fs/sfs.c: Likewise.
26013 * fs/udf.c: Likewise.
26014 * fs/ufs.c: Likewise.
26015 * fs/xfs.c: Likewise.
26016 * include/grub/dl.h: Likewise.
26017 * loader/xnu.c: Likewise.
26018
26019 2009-05-04 Pavel Roskin <proski@gnu.org>
26020
26021 * commands/acpi.c: Remove unused variable my_mod.
26022 * partmap/amiga.c: Likewise.
26023 * partmap/apple.c: Likewise.
26024 * partmap/gpt.c: Likewise.
26025 * partmap/pc.c: Likewise.
26026 * partmap/sun.c: Likewise.
26027 * term/gfxterm.c: Likewise.
26028 * term/i386/pc/vesafb.c: Likewise.
26029 * term/i386/pc/vga.c: Likewise.
26030
26031 2009-05-04 David S. Miller <davem@davemloft.net>
26032
26033 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
26034 pointer args to grub_ieee1275_get_property().
26035
26036 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
26037
26038 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
26039 devices, and do not traverse down under controller nodes.
26040
26041 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
26042 (grub_ofdisk_open): Use it to un-escape "," characters.
26043 * kern/disk.c (find_part_sep): New.
26044 (grub_disk_open): Use it to find the first non-escaped ','
26045 character in the disk name.
26046 * util/ieee1275/devicemap.c (escape_of_path): New.
26047 (grub_util_emit_devicemap_entry): Use it.
26048 * util/sparc64/ieee1275/grub-install.in: Update script to
26049 strip partition specifiers properly by not triggering on
26050 '\' escaped ',' characters.
26051
26052 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26053
26054 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
26055 to 0x300.
26056 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
26057 resolutions.
26058 (linux_vesafb_modes): Add a lot of additional modes to the list (based
26059 on documentation from Wikipedia).
26060
26061 2009-05-04 Pavel Roskin <proski@gnu.org>
26062
26063 * disk/ata.c: Spelling fixes.
26064 * disk/raid.c: Likewise.
26065 * disk/usbms.c: Likewise.
26066 * disk/dmraid_nvidia.c: Likewise.
26067 * kern/ieee1275/openfw.c: Likewise.
26068 * kern/ieee1275/init.c: Likewise.
26069 * kern/ieee1275/cmain.c: Likewise.
26070 * boot/i386/pc/cdboot.S: Likewise.
26071 * video/readers/png.c: Likewise.
26072 * video/i386/pc/vbe.c: Likewise.
26073 * fs/udf.c: Likewise.
26074 * fs/hfs.c: Likewise.
26075 * fs/reiserfs.c: Likewise.
26076 * efiemu/runtime/efiemu.c: Likewise.
26077 * efiemu/main.c: Likewise.
26078 * efiemu/mm.c: Likewise.
26079 * include/grub/elf.h: Likewise.
26080 * include/grub/xnu.h: Likewise.
26081 * include/grub/usbdesc.h: Likewise.
26082 * include/grub/usb.h: Likewise.
26083 * include/grub/script_sh.h: Likewise.
26084 * include/grub/lib/LzmaEnc.h: Likewise.
26085 * include/grub/efiemu/efiemu.h: Likewise.
26086 * include/grub/command.h: Likewise.
26087 * normal/menu.c: Likewise.
26088 * normal/main.c: Likewise.
26089 * normal/datetime.c: Likewise.
26090 * bus/usb/uhci.c: Likewise.
26091 * mmap/i386/uppermem.c: Likewise.
26092 * mmap/mmap.c: Likewise.
26093 * commands/acpi.c: Likewise.
26094 * commands/test.c: Likewise.
26095 * partmap/apple.c: Likewise.
26096 * font/font.c: Likewise.
26097 * loader/sparc64/ieee1275/linux.c: Likewise.
26098 * loader/macho.c: Likewise.
26099 * loader/i386/bsd_trampoline.S: Likewise.
26100 * loader/i386/bsd.c: Likewise.
26101 * loader/xnu.c: Likewise.
26102 * term/i386/pc/vesafb.c: Likewise.
26103 * term/usb_keyboard.c: Likewise.
26104 * util/resolve.c: Likewise.
26105 * util/getroot.c: Likewise.
26106
26107 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
26108
26109 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26110
26111 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26112
26113 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26114 build error.
26115
26116 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26119 parameter only available on BIOS.
26120
26121 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26122
26123 Removed wrong semicolon in declaration
26124
26125 * grub/misc.h (grub_dprintf): remove semicolon
26126
26127 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26128
26129 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26130 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26131 is done by grub_cmd_linux() now).
26132 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26133 restore video to text mode.
26134 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26135 indicates lack of "vga=" parameter. "vga=0" is mapped to
26136 `GRUB_LINUX_VID_MODE_NORMAL'.
26137
26138 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
26139
26140 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26141 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26142 and `normal/script.c'. Add `kern/rescue_reader.c',
26143 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
26144 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26145 `grub_script.tab.c'.
26146
26147 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26148 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26150 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26152
26153 * Makefile.in: Remove duplicated 2008 in Copyright line.
26154
26155 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26156
26157 * util/misc.c (grub_util_warn): New function. Emits a warning
26158 unconditionally.
26159 * include/grub/util/misc.h (grub_util_warn): New declaration.
26160
26161 * util/i386/pc/grub-install.in: Understand --force and pass it down
26162 to grub-setup.
26163
26164 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26165 down to setup().
26166 (setup): Improve error messages and add warnings when requested to
26167 install in odd layouts. Refuse to install using blocklists unless
26168 --force was set.
26169
26170 2009-05-04 martin f. krafft <madduck@madduck.net>
26171
26172 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26173
26174 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26175
26176 Updated copyright year
26177
26178 * fs/hfsplus.c: updated copyright year
26179
26180 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26181
26182 HFS+ UUID
26183
26184 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
26185 in the space previously used by unused3
26186 (grub_hfsplus_uuid): new function
26187 (grub_hfsplus_fs): added uuid field
26188
26189 2009-05-03 Pavel Roskin <proski@gnu.org>
26190
26191 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26192 suppress warnings. It's no longer needed.
26193 * disk/host.c: Likewise.
26194 * disk/ata_pthru.c: Likewise.
26195 * disk/loopback.c: Likewise.
26196 * hook/datehook.c: Likewise.
26197 * parttool/pcpart.c: Likewise.
26198 * fs/i386/pc/pxe.c: Likewise.
26199 * fs/ntfscomp.c: Likewise.
26200 * efiemu/main.c: Likewise.
26201 * mmap/mmap.c: Likewise.
26202 * commands/crc.c: Likewise.
26203 * commands/hexdump.c: Likewise.
26204 * commands/hdparm.c: Likewise.
26205 * commands/acpi.c: Likewise.
26206 * commands/echo.c: Likewise.
26207 * commands/minicmd.c: Likewise.
26208 * commands/blocklist.c: Likewise.
26209 * commands/memrw.c: Likewise.
26210 * commands/loadenv.c: Likewise.
26211 * commands/usbtest.c: Likewise.
26212 * commands/lsmmap.c: Likewise.
26213 * commands/boot.c: Likewise.
26214 * commands/parttool.c: Likewise.
26215 * commands/configfile.c: Likewise.
26216 * commands/search.c: Likewise.
26217 * commands/ieee1275/suspend.c: Likewise.
26218 * commands/cat.c: Likewise.
26219 * commands/i386/pc/pxecmd.c: Likewise.
26220 * commands/i386/pc/play.c: Likewise.
26221 * commands/i386/pc/halt.c: Likewise.
26222 * commands/i386/pc/vbeinfo.c: Likewise.
26223 * commands/i386/pc/vbetest.c: Likewise.
26224 * commands/lspci.c: Likewise.
26225 * commands/date.c: Likewise.
26226 * commands/handler.c: Likewise.
26227 * commands/ls.c: Likewise.
26228 * commands/test.c: Likewise.
26229 * commands/cmp.c: Likewise.
26230 * commands/efi/loadbios.c: Likewise.
26231 * commands/efi/fixvideo.c: Likewise.
26232 * commands/halt.c: Likewise.
26233 * commands/help.c: Likewise.
26234 * commands/reboot.c: Likewise.
26235 * hello/hello.c: Likewise.
26236 * script/sh/main.c: Likewise.
26237 * loader/xnu.c: Likewise.
26238 * term/terminfo.c: Likewise.
26239 * term/i386/pc/serial.c: Likewise.
26240 * term/usb_keyboard.c: Likewise.
26241
26242 2009-05-03 David S. Miller <davem@davemloft.net>
26243
26244 * normal/menu.c: Include grub/parser.h
26245
26246 2009-05-03 Pavel Roskin <proski@gnu.org>
26247
26248 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26249 not char*.
26250 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26251 Suggested by Javier Martín <lordhabbit@gmail.com>
26252
26253 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26254 efiemu??.o doesn't exist.
26255 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26256 copying.
26257
26258 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
26259
26260 FreeBSD 64-bit support
26261
26262 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
26263 and loader/i386/bsd_trampoline.S
26264 (bsd_mod_ASFLAGS): new variable
26265 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26266 (FREEBSD_MODTYPE_KERNEL64): likewise
26267 (grub_bsd64_trampoline_start): likewise
26268 (grub_bsd64_trampoline_end): likewise
26269 (grub_bsd64_trampoline_selfjump): likewise
26270 (grub_bsd64_trampoline_gdt): likewise
26271 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26272 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26273 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26274 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
26275 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26276 of "attrib" member
26277 * loader/i386/bsd_pagetable.c: new file
26278 * loader/i386/bsd_trampoline.S: likewise
26279 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26280 (ALIGN_VAR): likewise
26281 (entry_hi): new variable
26282 (kern_end_mdofs): likewise
26283 (is_64bit): likewise
26284 (grub_freebsd_add_meta): use ALIGN_VAR
26285 (grub_e820_mmap): new declaration
26286 (grub_freebsd_add_mmap): new function
26287 (grub_freebsd_add_meta_module): support 64 bit kernels
26288 (grub_freebsd_list_modules): use ALIGN_VAR
26289 (gdt_descriptor): new declaration
26290 (grub_freebsd_boot): support 64 bit kernels
26291 (grub_bsd_elf64_hook): new function
26292 (grub_bsd_load_elf): support elf64
26293
26294 2009-05-03 Bean <bean123ch@gmail.com>
26295
26296 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26297 after we get the result of if statement.
26298
26299 2009-05-03 Bean <bean123ch@gmail.com>
26300
26301 * Makefile.in (enable_efiemu): New variable.
26302
26303 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26304 set.
26305 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26306 path.
26307 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26308 path, add -mno-red-zone option.
26309 (efiemu64_s.o): Likewise.
26310 (efiemu64.o): Use macro $^ for source file.
26311
26312 * configure.ac (--enable-efiemu): New option.
26313
26314 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26315
26316 xnu support
26317
26318 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26319 (pkglib_MODULES): add xnu.mod
26320 (xnu_mod_SOURCES): new variable
26321 (xnu_mod_CFLAGS): likewise
26322 (xnu_mod_LDFLAGS): likewise
26323 (xnu_mod_ASFLAGS): likewise
26324 * conf/i386-pc.rmk: likewise
26325 * conf/x86_64-efi.rmk: likewise
26326 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
26327 new declaration
26328 * include/grub/i386/macho.h: new file
26329 * include/grub/i386/xnu.h: likewise
26330 * include/grub/macho.h: likewise
26331 * include/grub/machoload.h: likewise
26332 * include/grub/x86_64/macho.h: likewise
26333 * include/grub/x86_64/xnu.h: likewise
26334 * include/grub/xnu.h: likewise
26335 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26336 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26337 * loader/i386/efi/xnu.c: new file
26338 * loader/i386/pc/xnu.c: likewise
26339 * loader/i386/xnu.c: likewise
26340 * loader/i386/xnu_helper.S: likewise
26341 * loader/macho.c: likewise
26342 * loader/xnu.c: likewise
26343 * loader/xnu_resume.c: likewise
26344 * util/grub-dumpdevtree: likewise
26345 * include/grub/i386/pit.h: include grub/err.h
26346 (grub_pit_wait): export
26347 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
26348
26349 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26350
26351 Efiemu
26352
26353 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
26354 _linux_efi, linux_efi.
26355 new files in grub-emu
26356 new targets efiemu32.o and efiemu64.o
26357 * loader/linux_normal_efiemu.c: likewise
26358 * loader/i386/efi/linux.c: added preliminary efiemu support
26359 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
26360 files to copy
26361 * include/grub/autoefi.h: new file
26362 * include/grub/i386/efiemu.h: likewise
26363 * include/grub/i386/pc/efiemu.h: likewise
26364 * include/grub/efi/api.h: add LL suffix when necessary
26365 new definitions relating to tables
26366 * include/grub/efiemu/efiemu.h: new file
26367 * include/grub/efiemu/runtime.h: likewise
26368 * efiemu/prepare.c: likewise
26369 * efiemu/loadcore_common.c: likewise
26370 * efiemu/loadcore64.c: likewise
26371 * efiemu/runtime/efiemu.sh: likewise
26372 * efiemu/runtime/efiemu.S: likewise
26373 * efiemu/runtime/efiemu.c: likewise
26374 * efiemu/runtime/config.h: likewise
26375 * efiemu/prepare32.c: likewise
26376 * efiemu/main.c: likewise
26377 * efiemu/modules/pnvram.c: likewise
26378 * efiemu/modules/i386: likewise
26379 * efiemu/modules/i386/pc: likewise
26380 * efiemu/modules/acpi.c: likewise
26381 * efiemu/i386/pc/cfgtables.c: likewise
26382 * efiemu/i386/loadcore64.c: likewise
26383 * efiemu/i386/loadcore32.c: likewise
26384 * efiemu/prepare64.c: likewise
26385 * efiemu/loadcore.c: likewise
26386 * efiemu/symbols.c: likewise
26387 * efiemu/mm.c: likewise
26388 * efiemu/loadcore32.c: likewise
26389
26390 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26391
26392 ACPI spoofing
26393
26394 * commands/acpi.c: new file
26395 * commands/i386/pc/acpi.c: likewise
26396 * commands/efi/acpi.c: likewise
26397 * include/grub/acpi.h: likewise
26398 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26399 (acpi_mod_SOURCES): new variable
26400 (acpi_mod_CFLAGS): likewise
26401 (acpi_mod_LDFLAGS): likewise
26402 * conf/i386-efi.rmk: likewise
26403 * conf/x86_64-efi.rmk: likewise
26404
26405 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26406
26407 Missing part from mmap patch
26408
26409 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26410 (grub_mmap_unregister)
26411 (grub_mmap_free_and_unregister): use grub_mmap_register
26412
26413 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26414
26415 Mmap services
26416
26417 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26418 * loader/i386/linux.c (find_mmap_size): likewise
26419 (allocate_pages): likewise
26420 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26421 (grub_fill_multiboot_mmap): likewise
26422 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26423 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26424 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26425 (OPENBSD_MMAP_RESERVED): likewise
26426 * include/grub/i386/pc/memory.h: include grub/memory.h
26427 (grub_lower_mem): removed
26428 (grub_upper_mem): likewise
26429 (GRUB_MACHINE_MEMORY_ACPI): new definition
26430 (GRUB_MACHINE_MEMORY_NVS): likewise
26431 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26432 (GRUB_MACHINE_MEMORY_HOLE): likewise
26433 (grub_machine_mmap_register): likewise
26434 (grub_machine_mmap_unregister): likewise
26435 (grub_machine_get_upper): likewise
26436 (grub_machine_get_lower): likewise
26437 (grub_machine_get_post64): likewise
26438 * include/grub/i386/efi/memory.h: new file
26439 * include/grub/x86_64/efi/memory.h: likewise
26440 * include/grub/efi/memory.h: likewise
26441 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26442 (mmap_mod_SOURCES): new variable
26443 (mmap_mod_LDFLAGS): likewise
26444 (mmap_mod_ASFLAGS): likewise
26445 * conf/i386-coreboot.rmk: likewise
26446 * conf/i386-ieee1275.rmk: likewise
26447 * conf/i386-efi.rmk: likewise
26448 * conf/x86_64-efi.rmk: likewise
26449 * include/grub/types.h (UINT_TO_PTR): new macro
26450 (PTR_TO_UINT32): likewise
26451 (PTR_TO_UINT64): likewise
26452 * include/grub/memory.h: new file
26453 * mmap/i386/pc/mmap.c: likewise
26454 * mmap/i386/pc/mmap_helper.S: likewise
26455 * mmap/i386/uppermem.c: likewise
26456 * mmap/mmap.c: likewise
26457 * mmap/efi/mmap.c: likewise
26458 * kern/i386/coreboot/init.c (grub_machine_init): don't use
26459 grub_upper_mem
26460 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26461 (grub_upper_mem): likewise
26462 (grub_machine_init): don't use grub_upper_mem,
26463 make grub_lower_mem local
26464 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26465 grub_mmap_iterate and grub_mmap_get_upper
26466 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26467
26468 2009-05-02 Bean <bean123ch@gmail.com>
26469
26470 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26471 script/sh/parser.y.
26472 (pkglib_MODULES): Add normal.mod and sh.mod.
26473 (normal_SOURCES): New variable.
26474 (normal_mod_CFLAGS): Likewise.
26475 (normal_mod_LDFLAGS): Likewise.
26476 (sh_mod_SOURCES): Likewise.
26477 (sh_mod_CFLAGS): Likewise.
26478 (sh_mod_LDFLAGS): Likewise.
26479
26480 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26481 script/sh/lexer.c_DEPENDENCIES.
26482 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26483 kern/rescue_reader.c and kern/rescue_parser.c.
26484 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26485 (grub_emu_SOURCES): Change source files.
26486 (pkglib_MODULES): Remove normal.mod.
26487 (normal_SOURCES): Removed.
26488 (normal_mod_CFLAGS): Likewise.
26489 (normal_mod_LDFLAGS): Likewise.
26490 * conf/i386-coreboot.rmk: Likewise.
26491 * conf/i386-efi.rmk: Likewise.
26492 * conf/i386-ieee1276.rmk: Likewise.
26493 * conf/powerpc-ieee1275.rmk: Likewise.
26494 * conf/sparc64-ieee1275.rmk: Likewise.
26495 * conf/x86_64-efi.rmk: Likewise.
26496
26497 * include/grub/command.h (grub_command_execute): New inline function.
26498
26499 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26500
26501 * include/grub/normal.h: Remove <grub/setjmp.h>.
26502 (grub_fs_module_list): Moved to normal/autofs.c.
26503 (grub_exit_env): Removed.
26504 (grub_command_execute): Likewise.
26505 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26506 parameter script.
26507 (read_command_list): New function declaration.
26508 (read_fs_list): Likewise.
26509
26510 * include/parser.h: Include <grub/reader.h>.
26511 (grub_parser_split_cmdline): Change type of getline parameter.
26512 (grub_parser): New structure.
26513 (grub_parser_class): New variable.
26514 (grub_parser_execute): New function declaration.
26515 (grub_register_rescue_parser): Likewise.
26516 (grub_parser_register): New inline function.
26517 (grub_parser_unregister): Likewise.
26518 (grub_parser_get_current): Likewise.
26519 (grub_parser_set_current): Likewise.
26520
26521 * include/grub/reader.h: New file.
26522 * kern/reader.c: Likewise.
26523 * kern/rescue_parser.c: Likewise.
26524 * kern/rescue_reader.c: Likewise.
26525 * normal/autofs.c: Likewise.
26526 * normal/dyncmd.c: Likewise.
26527
26528 * include/grub/rescue.h: Removed.
26529 * normal/command.h: Likewise.
26530
26531 * include/grub/script.h: Moved to ...
26532 * include/grub/script_sh.h: ... Moved here.
26533 * normal/execute.c: Moved to ...
26534 * script/sh/execute.c: ... Moved here.
26535 * normal/function.c: Moved to ...
26536 * script/sh/function.c: ... Moved here.
26537 * normal/lexer.c: Moved to ...
26538 * script/sh/lexer.c: ... Moved here.
26539 * normal/parser.y: Moved to ...
26540 * script/sh/parser.y: ... Moved here.
26541 * normal/script.c: Moved to ...
26542 * script/sh/script.c: ... Moved here.
26543
26544 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26545 <grub/reader.h>.
26546 (grub_exit_env): Removed.
26547 (fs_module_list): Moved to normal/autofs.c.
26548 (grub_file_getline): Don't handle comment here.
26549 (free_menu): Skip removed field entry->commands.
26550 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26551 script parameter.
26552 (read_config_file): Removed nested parameter, change getline function.
26553 (grub_enter_normal_mode): Removed.
26554 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26555 (read_command_list): Likewise.
26556 (autoload_fs_module): Moved to normal/autofs.c.
26557 (read_fs_list): Likewise.
26558 (reader_nested): New variable.
26559 (grub_normal_execute): Run parser.sh to switch to sh parser.
26560 (grub_cmd_rescue): Removed.
26561 (cmd_normal): Removed.
26562 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26563 rescue command.
26564 (grub_cmdline_run): New function.
26565 (grub_normal_reader_init): Likewise.
26566 (grub_normal_read_line): Likewise.
26567 (grub_env_write_pager): Likewise.
26568 (cmdline): New variable.
26569 (grub_normal_reader): Likewise.
26570 (GRUB_MOD_INIT): Register normal reader and set as current, register
26571 pager hook, register normal command with grub_register_command_prio,
26572 so that it won't show up in command.lst.
26573 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26574 grub_fs_autoload_hook.
26575
26576 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26577 (grub_menu_execute_entry): Replace grub_script_execute with
26578 grub_parser_execute, change parameter to grub_command_execute.
26579
26580 * normal/menu_text.c: Remove <grub/script.h>.
26581
26582 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26583 and <grub/parser.h>.
26584 (run): Change editor_getline to use new parser interface. Change
26585 parameter to grub_command_execute.
26586
26587 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26588 <grub/reader.h> and <grub/parser.h>.
26589 (grub_load_normal_mode): Execute normal command.
26590 (grub_main): Call grub_register_core_commands,
26591 grub_register_rescue_parser and grub_register_rescue_reader, use
26592 grub_reader_loop to enter input loop.
26593
26594 * kern/parser.c (grub_parser_split_cmdline): Change type of
26595 getline parameter.
26596 (grub_parser_class): New variable.
26597 (grub_parser_execute): New function.
26598
26599 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26600 * loader/multiboot2.c: Likewise.
26601 * loader/sparc64/ieee1275/linux.c: Likewise.
26602
26603 * util/grub-emu.c (read_command_list): New dummy function.
26604
26605 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26606
26607 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26608 count to 16 for CCISS and IDA.
26609
26610 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26611
26612 * normal/menu_text.c (grub_wait_after_message): Print a newline
26613 after waiting for user input.
26614
26615 * loader/i386/linux.c: Include `<grub/normal.h>'.
26616 (grub_cmd_linux): Improve the error message about `ask' mode, by
26617 waiting for user input so it's not missed (we can do this, since
26618 user requested interaction).
26619
26620 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26621
26622 Added missing lst to grub-mkrescue
26623
26624 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26625 and ${input_dir}/parttool.lst
26626
26627 2009-04-30 David S. Miller <davem@davemloft.net>
26628
26629 * util/hostdisk.c (device_is_wholedisk): New function.
26630 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26631 zero only if device_is_wholedisk() returns true.
26632
26633 * util/hostdisk.c (convert_system_partition_to_system_disk):
26634 Handle virtual disk devices named /dev/vdiskX as found on sparc
26635 and powerpc.
26636
26637 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26638 lettered partition specifier is found, convert to numbered.
26639
26640 2009-04-29 David S. Miller <davem@davemloft.net>
26641
26642 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26643 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26644
26645 * normal/command.c: Add missing newline at end of file.
26646
26647 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26648 warnings.
26649 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26650 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26651 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26652 ihandles have a 32-bit type but need to be stored in a "void *".
26653
26654 2009-04-28 Pavel Roskin <proski@gnu.org>
26655
26656 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26657 not disk. Adjust all dependencies.
26658 (grub_fs_uuid_close): Use grub_device_close(), not
26659 grub_disk_close().
26660
26661 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26662 parent's partition, don't copy it by reference, as it gets freed
26663 on close.
26664
26665 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26666
26667 Preboot hooks support
26668
26669 * commands/boot.c (struct grub_preboot_t): new declaration
26670 (preboots_head): new variable
26671 (preboots_tail): likewise
26672 (grub_loader_register_preboot_hook): new function
26673 (grub_loader_unregister_preboot_hook): likewise
26674 (grub_loader_set): launch preboot hooks
26675 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26676 (grub_loader_register_preboot_hook): new declaration
26677 (grub_loader_unregister_preboot_hook): likewise
26678
26679 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26680
26681 Warning fix
26682
26683 * disk/scsi.c (grub_scsi_open): added missing cast when
26684 calling grub_dprintf
26685
26686 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26687
26688 Bug and warning fixes
26689
26690 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
26691 declaration
26692 * commands/test.c (test_parse): fixed bug with file tests and corrected
26693 declaration of find_file
26694
26695 2009-04-26 Pavel Roskin <proski@gnu.org>
26696
26697 * Makefile.in: Don't install empty manual pages if help2man is
26698 missing. Use help2man option for output, not shell redirection.
26699
26700 2009-04-26 David S. Miller <davem@davemloft.net>
26701
26702 * util/grub-mkdevicemap.c (make_device_map): Add missing
26703 NESTED_FUNC_ATTR to process_device().
26704
26705 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26706
26707 Test command
26708
26709 * commands/test.c: rewritten to use bash-like test
26710
26711 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26712
26713 Parttool autoloading and improvements
26714
26715 * Makefile.in (pkglib_DATA): add parttool.lst
26716 (parttool.lst): new target
26717 * genmk.rb: generate parttool-*
26718 (CLEANFILES): add #{parttool}
26719 (PARTTOOLFILES): new variable
26720 * genparttoollist.sh: new file
26721 * parttool/pcpart.c (grub_pcpart_boot): more feedback
26722 (grub_pcpart_type): likewise
26723 * commands/parttool.c (helpmsg): new variable
26724 (grub_cmd_parttool): output help if not enough arguments are supplied
26725 autoload modules
26726 (GRUB_MOD_INIT(parttool)): use helpmsg
26727
26728 2009-04-24 David S. Miller <davem@davemloft.net>
26729
26730 Avoiding opening same device multiple times in device iterator.
26731
26732 * kern/device.c: (grub_device_iterate): Define struct part_ent,
26733 and use it to build a list of partitions in iterate_disk() and
26734 iterate_partition().
26735
26736 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26737 on disk->data.
26738
26739 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26740 grub_devalias_iterate() result instead of unconditional 0.
26741 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26742 Also, capture hook return value, either directly or via
26743 grub_children_iterate(), and propagate to caller.
26744 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26745 grub_children_iterate): Return value is now 'int' instead of
26746 'grub_err_t'.
26747 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26748 like a proper iterator, stopping when hooks return non-zero.
26749 (grub_devalias_iterate): Likewise.
26750
26751 2009-04-23 David S. Miller <davem@davemloft.net>
26752
26753 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26754
26755 2009-04-22 David S. Miller <davem@davemloft.net>
26756
26757 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26758 is larger than address_cells, use that value for address_cells too.
26759
26760 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26761 IEEE1275_MAX_PATH_LEN): Define.
26762 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26763 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26764 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26765 'devtype'. Explicitly NULL terminate devalias expansion.
26766
26767 * util/sparc64/ieee1275/misc.c: New file.
26768 * util/sparc64/ieee1275/grub-setup.c: New file.
26769 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26770 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26771 * util/sparc64/ieee1275/grub-install.in: New file.
26772 * util/ieee1275/ofpath.c: New file.
26773 * util/ieee1275/devicemap.c: New file.
26774 * util/devicemap.c: New file.
26775 * util/deviceiter.c: New file.
26776 * kern/sparc64/ieee1275/init.c: New file.
26777 * include/grub/util/ofpath.h: New file.
26778 * include/grub/util/deviceiter.h: New file.
26779 * util/grub-mkdevicemap.c: Include deviceiter.h.
26780 Implement using grub_util_emit_devicemap_entry and
26781 grub_util_iterate_devices.
26782 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26783 util/devicemap.c into grub-mkdevicemap
26784 * conf/i386-efi.rmk: Likewise.
26785 * conf/i386-ieee1275.rmk: Likewise.
26786 * conf/i386-pc.rmk: Likewise.
26787 * conf/powerpc-ieee1275.rmk: Likewise.
26788 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26789 images and installation utilities. Build kernel as image
26790 instead of as elf binary. Use common rules as much as possible.
26791
26792 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26793
26794 Correct GPT definition
26795
26796 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26797 of "attrib" member
26798
26799 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
26800
26801 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26802
26803 2009-04-19 David S. Miller <davem@davemloft.net>
26804
26805 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26806 (grub_rescue_cmd_linux): Rename to...
26807 (grub_cmd_linux): and fix prototype.
26808 (grub_rescue_cmd_initrd): Rename to...
26809 (grub_cmd_initrd): and fix prototype.
26810 (cmd_linux, cmd_initrd): New.
26811 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26812 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26813
26814 2009-04-17 Pavel Roskin <proski@gnu.org>
26815
26816 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26817 format.
26818 (grub_ohci_transfer): Likewise.
26819
26820 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26821
26822 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26823 return without a value. Fix inconsistent indentation.
26824
26825 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26826 match struct grub_fs.
26827
26828 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26829 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26830 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26831 * commands/lspci.c (grub_lspci_iter): Likewise.
26832
26833 2009-04-16 Bean <bean123ch@gmail.com>
26834
26835 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26836 value.
26837
26838 2009-04-15 Pavel Roskin <proski@gnu.org>
26839
26840 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26841 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26842 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26843 definitions.
26844
26845 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26846
26847 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
26848 that no multiple data or metadata areas are supported and `Unknown
26849 metadata header'.
26850
26851 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26852
26853 Move loader out of the kernel
26854
26855 * kern/loader.c: moved to ...
26856 * commands/boot.c: ... moved here
26857 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26858 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26859 * include/grub/kernel.h (grub_machine_fini): export
26860 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26861 (grub_loader_set): likewise
26862 (grub_loader_unset): likewise
26863 (grub_loader_boot): likewise
26864 * conf/common.rmk: new module boot.mod
26865 (pkglib_MODULES): add boot.mod
26866 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26867 (grub_emu_SOURCES): likewise
26868 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26869 (grub_emu_SOURCES): likewise
26870 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26871 (grub_emu_SOURCES): likewise
26872 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26873 (grub_emu_SOURCES): likewise
26874 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26875 (grub_emu_SOURCES): likewise
26876 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26877 (grub_emu_SOURCES): likewise
26878 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
26879 (grub_emu_SOURCES): likewise
26880
26881 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26882
26883 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
26884
26885 * kern/misc.c (grub_itoa): Removed function
26886 (grub_ltoa): likewise
26887 (grub_vsprintf): use grub_lltoa
26888
26889 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26890
26891 Restore grub-emu
26892
26893 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26894 * conf/i386-coreboot.rmk: likewise
26895 * conf/i386-ieee1275.rmk: likewise
26896 * conf/powerpc-ieee1275.rmk: likewise
26897
26898 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26899
26900 * INSTALL: Add that `./autogen.sh' needs to be run before
26901 `./configure.'.
26902
26903 2009-04-14 Bean <bean123ch@gmail.com>
26904
26905 * Makefile.in (pkglib_DATA): Add handler.lst.
26906 (handler.lst): New rule.
26907
26908 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26909 * conf/i386-coreboot.rmk: Likewise.
26910 * conf/i386-ieee1275.rmk: Likewise.
26911 * conf/i386-efi.rmk: Likewise.
26912 * conf/x86_64-efi.rmk: Likewise.
26913 * conf/powerpc-ieee1275.rmk: Likewise.
26914 * conf/sparc64-ieee1275.rmk: Likewise.
26915
26916 * genhandlerlist.sh: New file.
26917
26918 * genmk.rb: Add rules to generate handler.lst.
26919
26920 * include/grub/normal.h (grub_file_getline): New function definition.
26921 (read_handler_list): Likewise.
26922 (free_handler_list): Likewise.
26923
26924 * include/grub/term.h (grub_term_register_input): Add name parameter
26925 for auto generation of handler.lst.
26926 (grub_term_register_output): Likewise.
26927
26928 * normal/handler.c: New file.
26929
26930 * normal/main.c (get_line): Renamed to grub_file_getline.
26931 (read_config_file): Use the newly renamed grub_file_getline.
26932 (read_command_list): Likewise.
26933 (read_fs_list): Likewise.
26934 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26935 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26936
26937 * term/efi/console.c (grub_console_init): Add name parameter for auto
26938 generation of handler.lst.
26939 * term/gfxterm.c: Likewise.
26940 * term/i386/pc/at_keyboard.c: Likewise.
26941 * term/i386/pc/console.c: Likewise.
26942 * term/i386/pc/serial.c: Likewise.
26943 * term/i386/pc/vesafb.c: Likewise.
26944 * term/i386/pc/vga.c: Likewise.
26945 * term/i386/pc/vga_text.c: Likewise.
26946 * term/ieee1275/ofconsole.c: Likewise.
26947 * term/usb_keyboard.c: Likewise.
26948
26949 2009-04-14 Bean <bean123ch@gmail.com>
26950
26951 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26952 properly with null character.
26953
26954 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26955
26956 * configure: Remove.
26957 * config.h.in: Likewise.
26958 * stamp-h.in: Likewise.
26959 * DISTLIST: Likewise.
26960 * conf/common.mk: Likewise.
26961 * conf/i386-coreboot.mk: Likewise.
26962 * conf/i386-efi.mk: Likewise.
26963 * conf/i386-ieee1275.mk: Likewise.
26964 * conf/i386.mk: Likewise.
26965 * conf/i386-pc.mk: Likewise.
26966 * conf/powerpc-ieee1275.mk: Likewise.
26967 * conf/sparc64-ieee1275.mk: Likewise.
26968 * conf/x86_64-efi.mk: Likewise.
26969
26970 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26971 develop on GRUB.
26972
26973 2009-04-14 John Stanley <jpsinthemix@verizon.net>
26974 David S. Miller <davem@davemloft.net>
26975
26976 * util/hostdisk.c (make_device_name): Fix buffer length
26977 calculations.
26978
26979 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26980
26981 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
26982 <sys/param.h> and <sys/sysctl.h>.
26983 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
26984 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
26985 opening the device and reset them afterwards.
26986
26987 2009-04-13 Pavel Roskin <proski@gnu.org>
26988
26989 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
26990 Reported by John Stanley <jpsinthemix@verizon.net>
26991
26992 2009-04-13 Robert Millan <rmh@aybabtu.com>
26993
26994 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
26995 that name for menuentries when appropriate.
26996
26997 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26998
26999 * util/grub.d/10_freebsd.in: Add a missing `fi'.
27000
27001 2009-04-13 Robert Millan <rmh@aybabtu.com>
27002
27003 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
27004 to Linux, simply abort telling the user it's no longer supported.
27005
27006 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
27007
27008 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
27009 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
27010 `freebsd_loadenv' only when devices.hints exist.
27011
27012 2009-04-13 Pavel Roskin <proski@gnu.org>
27013
27014 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
27015
27016 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
27017
27018 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
27019 partition number.
27020 (grub_drive): Likewise.
27021
27022 2009-04-13 David S. Miller <davem@davemloft.net>
27023
27024 * kern/sparc64/ieee1275/ieee1275.c: New file.
27025 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
27026 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
27027 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
27028 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
27029 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
27030 grub_ieee1275_alloc_physmem): Declare new exported functions.
27031
27032 * include/grub/sparc64/ieee1275/loader.h: New file.
27033 * include/grub/sparc64/ieee1275/memory.h: Likewise.
27034 * include/grub/sparc64/kernel.h: Likewise.
27035 * loader/sparc64/ieee1275/linux.c: Likewise.
27036
27037 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
27038 (grub_fstest_SOURCES): Likewise.
27039
27040 * util/hostdisk.c (make_device_name): Do not make any assumptions
27041 about the length of drive names.
27042
27043 * kern/dl.c (grub_dl_load_file): Close file immediately when
27044 we are done using it.
27045
27046 2009-04-12 David S. Miller <davem@davemloft.net>
27047
27048 * kern/misc.c (grub_ltoa): Fix cast when handling negative
27049 values. Noticed by Pavel Roskin.
27050
27051 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
27052 target compiler.
27053
27054 * genmk.rb: Add more flexible image type specification, also
27055 pass --strip-unneeded to objcopy.
27056 * conf/i386-pc.rmk: Use *_FORMAT.
27057 * conf/i386-pc.mk: Rebuilt.
27058
27059 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
27060 (OFDISK_HASH_SZ): Define.
27061 (ofdisk_hash): New hash table.
27062 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
27063 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
27064 instead of device phandle which is not unique.
27065
27066 * kern/sparc64/ieee1275/init.c: Delete, replace with...
27067 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
27068 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
27069 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
27070 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27071 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27072 GRUB_KERNEL_MACHINE_DATA_END): Define.
27073 (grub_kernel_image_size, grub_total_module_size): Declare.
27074
27075 2009-04-12 Pavel Roskin <proski@gnu.org>
27076
27077 * configure.ac: Change the logic when we check for target tools.
27078 Do it when the target is specified and it's different from the
27079 specified value of the host.
27080
27081 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
27082
27083 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27084 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27085 GNU/kFreeBSD. Check if a device is a character device. Use
27086 DIOCGMEDIASIZE to get the size.
27087 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27088 support for GNU/kFreeBSD.
27089 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27090 is a character device instead of a block device. Add support for
27091 FreeBSD device names.
27092
27093 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27094 is a character device instead of a block device.
27095
27096 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27097 is a character device instead of a block device.
27098
27099 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27100
27101 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27102 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27103 FreeBSD. Check if a device is a character device. Use
27104 DIOCGMEDIASIZE to get the size.
27105 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27106 support for FreeBSD.
27107 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27108 is a character device instead of a block device. Add support for
27109 FreeBSD device names.
27110
27111 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27112 a character device instead of a block device.
27113 (grub_util_check_char_device): New function.
27114
27115 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27116 a character device instead of a block device.
27117
27118 * include/grub/util/getroot.h (grub_util_check_char_device): New
27119 prototype.
27120
27121 2009-04-11 David S. Miller <davem@davemloft.net>
27122
27123 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27124 static libgcc.
27125 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27126 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27127 function, if present.
27128 (__bswapdi2): Likewise.
27129
27130 * include/grub/sparc64/ieee1275/boot.h: New file.
27131 * boot/sparc64/ieee1275/boot.S: Likewise.
27132 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27133
27134 * kern/misc.c (grub_ltoa): New function.
27135 (grub_vsprintf): Use it to format 'long' integers.
27136
27137 2009-04-10 David S. Miller <davem@davemloft.net>
27138
27139 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27140 slots are of type grub_ieee1275_cell_t.
27141 (grub_nand_read): Likewise.
27142 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27143 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27144 macros are used to compare values in arg/ret block of the call.
27145 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27146 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27147 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27148 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27149 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27150 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27151 grub_ieee1275_close, grub_ieee1275_set_property,
27152 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27153 grub_ieee1275_cell_t.
27154 * kern/ieee1275/openfw.c (grub_map): Likewise.
27155 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27156 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27157
27158 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27159 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27160 (grub_devalias_iterate): Likewise.
27161
27162 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27163
27164 UFS improvements
27165
27166 * fs/ufs.c (INODE_NBLOCKS): new definition
27167 (struct grub_ufs_dirent): added fields for non-BSD dirents
27168 (grub_ufs_get_file_block): fixed double indirect handling
27169 (grub_ufs_lookup_symlink): use more robust way to determine whether
27170 symlink is inline
27171 (grub_ufs_find_file): support for non-BSD dirents
27172 (grub_ufs_dir): support for non-BSD dirents
27173
27174 2009-04-10 Bean <bean123ch@gnail.com>
27175
27176 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27177 attribute, otherwise the size would be wrong for i386 platform.
27178
27179 * include/grub/pci.h (grub_pci_read_word): New inline function.
27180 (grub_pci_read_byte): Likewise.
27181 (grub_pci_write): Likewise.
27182 (grub_pci_write_word): Likewise.
27183 (grub_pci_write_byte): Likewise.
27184
27185 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27186
27187 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27188 (find_framebuf): Scan pci to locate the frame buffer address.
27189
27190 * commands/efi/fixvideo.c: New file.
27191
27192 * commands/efi/loadbios.c: Likewise.
27193
27194 * commands/memrw.c: Likewise.
27195
27196 * util/grub-dumpbios.in: Likewise.
27197
27198 * conf/common.rmk (grub-dumpbios): New utility.
27199 (pkglib_MODULES): New module memrw.mod.
27200 (memrw_mod_SOURCE): New macro.
27201 (memrw_mod_CFLAGS): Likewise.
27202 (memrw_mod_LDFLAGS): Likewise.
27203
27204 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
27205 fixvideo.mod.
27206 (loadbios_mod_SOURCE): New macro.
27207 (loadbios_mod_CFLAGS): Likewise.
27208 (loadbios_mod_LDFLAGS): Likewise.
27209 (fixvideo_mod_SOURCE): Likewise.
27210 (fixvideo_mod_CFLAGS): Likewise.
27211 (fixvideo_mod_LDFLAGS): Likewise.
27212
27213 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
27214 fixvideo.mod.
27215 (loadbios_mod_SOURCE): New macro.
27216 (loadbios_mod_CFLAGS): Likewise.
27217 (loadbios_mod_LDFLAGS): Likewise.
27218 (fixvideo_mod_SOURCE): Likewise.
27219 (fixvideo_mod_CFLAGS): Likewise.
27220 (fixvideo_mod_LDFLAGS): Likewise.
27221
27222 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
27223
27224 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27225
27226 2009-04-07 David S. Miller <davem@davemloft.net>
27227
27228 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27229 support for R_SPARC_OLO10 relocations. Fix compile warning for
27230 R_SPARC_WDISP30 case.
27231 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
27232
27233 2009-04-06 Pavel Roskin <proski@gnu.org>
27234
27235 * include/grub/misc.h (ARRAY_SIZE): New macro.
27236 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27237 New macro.
27238 * loader/i386/linux.c (allocate_pages): Use free_pages().
27239 (grub_linux_unload): Don't use free_pages().
27240 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27241 wrong index. Treat all other modes as text modes.
27242 (grub_cmd_linux): Initialize vid_mode unconditionally to
27243 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27244
27245 * commands/help.c (print_command_help): Use cmd->prio, not
27246 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27247
27248 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27249
27250 Parttool
27251
27252 * parttool/pcpart.c: new file
27253 * commands/parttool.c: likewise
27254 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27255 (parttool_mod_SOURCES): new variable
27256 (parttool_mod_CFLAGS): likewise
27257 (parttool_mod_LDFLAGS): likewise
27258 (pcpart_mod_SOURCES): likewise
27259 (pcpart_mod_CFLAGS): likewise
27260 (pcpart_mod_LDFLAGS): likewise
27261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
27262 and parttool/pcpart.c
27263 * conf/i386-efi.rmk: likewise
27264 * conf/i386-ieee1275.rmk: likewise
27265 * conf/i386-pc.rmk: likewise
27266 * conf/powerpc-ieee1275.rmk: likewise
27267 * conf/sparc64-ieee1275.rmk: likewise
27268 * conf/x86_64-ieee1275.rmk: likewise
27269
27270 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 Support for mtime and further expandability of dir command
27273
27274 * include/grub/lib/datetime.h: moved to ...
27275 * include/grub/datetime.h: ... moved here and added
27276 declaration of grub_unixtime2datetime. All users updated
27277 * include/grub/fs.h: new syntax for dir and mtime functions in
27278 struct grub_fs
27279 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27280 and GRUB_FSHELP_FLAGS_MASK
27281 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27282 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27283 (grub_ext2_mtime): new function
27284 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27285 (grub_hfsplus_mtime): new function
27286 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27287 (GRUB_UFS_ATTR_FILE): likewise
27288 (GRUB_UFS_ATTR_LNK): likewise
27289 (struct grub_ufs_sblock): new fields mtime
27290 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27291 all users updated
27292 (grub_ufs_dir): mtime support
27293 (grub_ufs_mtime): new function
27294 * fs/affs.c (grub_affs_dir): use new dir syntax
27295 * fs/afs.c (grub_afs_dir): likewise
27296 * fs/cpio.c (grub_cpio_dir): likewise
27297 * fs/fat.c (grub_fat_find_dir): likewise
27298 * fs/hfs.c (grub_hfs_dir): likewise
27299 * fs/iso9660.c (grub_iso9660_dir): likewise
27300 * fs/jfs.c (grub_jfs_dir): likewise
27301 * fs/minix.c (grub_minix_dir): likewise
27302 * fs/ntfs.c (grub_ntfs_dir): likewise
27303 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27304 * fs/sfs.c (grub_sfs_dir): likewise
27305 * fs/xfs.c (grub_xfs_dir): likewise
27306 * util/hostfs.c (grub_hostfs_dir): likewise
27307 * lib/datetime.c: moved to ...
27308 * normal/datetime.c: ... moved here
27309 (grub_unixtime2datetime): new function
27310 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
27311 * normal/completion.c (iterate_dir): use new dir syntax
27312 * normal/misc.c (grub_normal_print_device_info): tell the
27313 last modification time of a volume
27314 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
27315 * conf/common.rmk: added lib/datetime.c to ls.mod
27316 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
27317 (normal_mod_SOURCES): likewise
27318 (datetime_mod_SOURCES): Removed lib/datetime.c
27319 * conf/i386-efi.rmk: likewise
27320 * conf/i386-ieee1275.rmk: likewise
27321 * conf/i386-pc.rmk: likewise
27322 * conf/powerpc-ieee1275.rmk: likewise
27323 * conf/sparc64-ieee1275.rmk: likewise
27324 * conf/x86_64-efi.rmk: likewise
27325
27326 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27327
27328 Trim trailing spaces in FAT label and support mtools-like labels
27329
27330 * fs/fat.c (grub_fat_iterate_dir): New function based
27331 on grub_fat_find_dir
27332 (grub_fat_find_dir): use grub_fat_iterate_dir
27333 (grub_fat_label): likewise
27334
27335 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27336
27337 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
27338 and command.h
27339 remove extraneous kernel_elf_HEADERS
27340
27341 2009-04-04 Bean <bean123ch@gnail.com>
27342
27343 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27344
27345 * util/misc.c: Likewise.
27346
27347 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27348
27349 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27350 instead of grub_printf.
27351
27352 2009-04-03 Robert Millan <rmh@aybabtu.com>
27353
27354 * loader/i386/linux.c (grub_linux_setup_video): Fill
27355 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27356 values from `mode info' structure instead of hardcoded
27357 values.
27358
27359 2009-04-01 Pavel Roskin <proski@gnu.org>
27360
27361 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27362 unused now.
27363 * genmk.rb: Likewise.
27364 * configure.ac: Likewise.
27365
27366 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27367
27368 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27369 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27370
27371 2009-04-01 David S. Miller <davem@davemloft.net>
27372
27373 * normal/sparc64/setjmp.S: Fix setjmp implementation.
27374 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
27375 (grub_setjmp): Mark with 'returns_twice' attribute.
27376 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27377 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27378 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27379
27380 2009-04-01 Robert Millan <rmh@aybabtu.com>
27381
27382 Reapply fix from 2008-07-28 which was accidentally reverted; also
27383 perform the same fix to a similar check in same function.
27384
27385 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27386 with the same number are found, just use issue a warning with
27387 grub_dprintf(), as this error has been reported to be non-fatal.
27388
27389 2009-03-31 Pavel Roskin <proski@gnu.org>
27390
27391 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27392 for cross-compilation.
27393
27394 2009-03-30 Robert Millan <rmh@aybabtu.com>
27395
27396 Fix i386-ieee1275 build.
27397
27398 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27399 Remove declaration.
27400
27401 2009-03-30 Pavel Roskin <proski@gnu.org>
27402
27403 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27404 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27405 zero-terminated, rely only on the strlen value. Fix comparison
27406 of strings differing in length.
27407
27408 2009-03-30 Robert Millan <rmh@aybabtu.com>
27409
27410 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27411 checking for abi version. Improve error messages on BIOS to notify
27412 user about `linux16' command.
27413
27414 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27415
27416 Leak fixes
27417
27418 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27419 in case of collision
27420 * disk/scsi.c (grub_scsi_open): free scsi in case of error
27421
27422 2009-03-29 Robert Millan <rmh@aybabtu.com>
27423
27424 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27425 set `vid_mode' accordingly.
27426 (grub_linux_boot): Process `vid_mode' and set video mode.
27427
27428 2009-03-29 Robert Millan <rmh@aybabtu.com>
27429
27430 * util/grub.d/10_linux.in (linux_entry): New function.
27431 Factorize generation of Linux boot entries.
27432
27433 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27434
27435 Make the format of Environment Block plain text. The boot loader
27436 part is not tested well yet.
27437
27438 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27439 (buffer): Removed.
27440 (envblk): Likewise.
27441 (usage): Remove "info" and "clear". Add "unset". Update the
27442 description of "set", as this does not delete variables any
27443 longer.
27444 (create_envblk_file): Complete rewrite.
27445 (open_envblk_file): Likewise.
27446 (cmd_info): Removed.
27447 (cmd_list): Likewise.
27448 (cmd_set): Likewise.
27449 (cmd_clear): Likewise.
27450 (list_variables): New function.
27451 (write_envblk): Likewise.
27452 (set_variables): Likewise.
27453 (unset_variables): Likewise.
27454 (main): Complete rewrite.
27455
27456 * commands/loadenv.c (buffer): Removed.
27457 (envblk): Likewise.
27458 (open_envblk_file): New function.
27459 (read_envblk_file): Complete rewrite.
27460 (grub_cmd_load_env): Likewise.
27461 (grub_cmd_list_env): Likewise.
27462 (struct blocklist): New struct.
27463 (free_blocklists): New function.
27464 (check_blocklists): Likewise.
27465 (write_blocklists): Likewise.
27466 (grub_cmd_save_env): Complete rewrite.
27467
27468 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27469 a plain text signature.
27470 (GRUB_ENVBLK_MAXLEN): Removed.
27471 (struct grub_envblk): Complete rewrite.
27472 (grub_envblk_find): Removed.
27473 (grub_envblk_insert): Likewise.
27474 (grub_envblk_open): New prototype.
27475 (grub_envblk_set): Likewise.
27476 (grub_envblk_delete): Put const to VALUE.
27477 (grub_envblk_iterate): Put const to NAME and VALUE.
27478 (grub_envblk_close): New prototype.
27479 (grub_envblk_buffer): New inline function.
27480 (grub_envblk_size): Likewise.
27481
27482 * lib/envblk.c: Include grub/mm.h.
27483 (grub_env_find): Removed.
27484 (grub_envblk_open): New function.
27485 (grub_envblk_close): Likewise.
27486 (escaped_value_len): Likewise.
27487 (find_next_line): Likewise.
27488 (grub_envblk_insert): Removed.
27489 (grub_envblk_set): New function.
27490 (grub_envblk_delete): Complete rewrite.
27491 (grub_envblk_iterate): Likewise.
27492
27493 2009-03-28 Robert Millan <rmh@aybabtu.com>
27494
27495 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27496 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27497 variables. Use 16-bit loader.
27498 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27499 loader.
27500 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27501 (grub_linux16_boot): ... this. Update all users.
27502 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27503 (grub_linux_boot): ... this. Update all users.
27504
27505 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27506 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27507 commands to `linux16' and `initrd16'.
27508 (GRUB_MOD_FINI(linux)): Rename to ...
27509 (GRUB_MOD_FINI(linux16)): ... this.
27510
27511 2009-03-24 Pavel Roskin <proski@gnu.org>
27512
27513 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27514 not just for compilation.
27515
27516 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27517
27518 Move multiboot helper out of kernel
27519
27520 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27521 `loader/i386/multiboot_helper.S'.
27522 * conf/i386-coreboot.rmk: Likewise
27523 * conf/i386-ieee1275.rmk: Likewise
27524
27525 * kern/i386/loader.S: Move multiboot helpers from here...
27526 * loader/i386/multiboot_helper.S: ...moved here
27527 * include/grub/i386/loader.h: Move declarations of multiboot
27528 helpers from here...
27529 * include/grub/i386/multiboot.h: ...moved here
27530 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27531
27532 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27533
27534 * kern/env.c (grub_env_context_open): Added an argument to specify
27535 whether a new context inherits exported variables from current
27536 one. This is useful when making a sandbox to interpret a config
27537 file.
27538 All callers updated.
27539
27540 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27541
27542 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27543
27544 * kern/env.c (grub_env_context_close): Fix memory leaks.
27545
27546 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27547
27548 * normal/main.c (grub_normal_execute): Added an argument
27549 BATCH to specify if an interactive interface should be provided
27550 after reading a config file.
27551 All callers updated.
27552 (read_command_list): Prevent being executed twice.
27553 (read_fs_list): Likewise.
27554
27555 * include/grub/normal.h (grub_normal_execute): Updated the
27556 prototype.
27557
27558 2009-03-22 Pavel Roskin <proski@gno.org>
27559
27560 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27561 _start.
27562 * kern/i386/pc/startup.S: Likewise.
27563 * kern/i386/efi/startup.S: Likewise.
27564 * kern/i386/ieee1275/startup.S: Likewise.
27565 * kern/i386/coreboot/startup.S: Likewise.
27566 * kern/x86_64/efi/startup.S: Likewise.
27567
27568 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27569 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27570 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27571
27572 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27573
27574 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27575
27576 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27577 limit detection.
27578 Use vaddr of correct segment for entry_point.
27579
27580 2009-03-21 Bean <bean123ch@gmail.com>
27581
27582 * commands/blocklist.c: Add include file <grub/command.h>, remove
27583 <grub/normal.h> and <grub/arg.h>.
27584 (grub_cmd_blocklist): Use the new command interface.
27585 (GRUB_MOD_INIT): Likewise.
27586 (GRUB_MOD_FINI): Likewise.
27587 * commands/boot.c: Likewise.
27588 * commands/cat.c: Likewise.
27589 * commands/cmp.c: Likewise.
27590 * commands/configfile.c: Likewise.
27591 * commands/crc.c: Likewise.
27592 * commands/echo.c: Likewise.
27593 * commands/halt.c: Likewise.
27594 * commands/handler.c: Likewise.
27595 * commands/hdparm.c: Likewise.
27596 * commands/help.c: Likewise.
27597 * commands/hexdump.c: Likewise.
27598 * commands/loadenv.c: Likewise.
27599 * commands/ls.c: Likewise.
27600 * commands/lsmmap.c: Likewise.
27601 * commands/lspci.c: Likewise.
27602 * commands/loadenv.c: Likewise.
27603 * commands/read.c: Likewise.
27604 * commands/reboot.c: Likewise.
27605 * commands/search.c: Likewise.
27606 * commands/sleep.c: Likewise.
27607 * commands/test.c: Likewise.
27608 * commands/usbtest.c: Likewise.
27609 * commands/videotest.c: Likewise.
27610 * commands/i386/cpuid.c: Likewise.
27611 * commands/i386/pc/halt.c: Likewise.
27612 * commands/i386/pc/play.c: Likewise.
27613 * commands/i386/pc/pxecmd.c: Likewise.
27614 * commands/i386/pc/vbeinfo.c: Likewise.
27615 * commands/i386/pc/vbetest.c: Likewise.
27616 * commands/ieee1275/suspend.c: Likewise.
27617 * disk/loopback.c: Likewise.
27618 * font/font_cmd.c: Likewise.
27619 * hello/hello.c: Likewise.
27620 * loader/efi/appleloader.c: Likewise.
27621 * loader/efi/chainloader.c: Likewise.
27622 * loader/i386/bsd.c: Likewise.
27623 * loader/i386/efi/linux.c: Likewise.
27624 * loader/i386/ieee1275/linux.c: Likewise.
27625 * loader/i386/linux.c: Likewise.
27626 * loader/i386/pc/chainloader.c: Likewise.
27627 * loader/i386/pc/linux.c: Likewise.
27628 * loader/powerpc/ieee1275/linux.c: Likewise.
27629 * loader/multiboot_loader.c: Likewise.
27630 * term/gfxterm.c: Likewise.
27631 * term/i386/pc/serial.c: Likewise.
27632 * term/terminfo.c: Likewise.
27633
27634 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27635 * term/i386/pc/vga.c: Likewise.
27636 * video/readers/jpeg.c: Likewise.
27637 * video/readers/png.c: Likewise.
27638 * video/readers/tga.c: Likewise.
27639
27640 * util/grub-fstest (cmd_loopback): Removed.
27641 (cmd_blocklist): Likewise.
27642 (cmd_ls): Likewise.
27643 (grub_register_command): Likewise.
27644 (grub_unregister_command): Likewise.
27645 (execute_command): Use grub_command_find to locate command and execute
27646 it.
27647
27648 * include/grub/efi/chainloader.h: Removed.
27649 * loader/efi/chainloader_normal.c: Likewise.
27650 * loader/i386/bsd_normal.c: Likewise.
27651 * loader/i386/pc/chainloader_normal.c: Likewise.
27652 * loader/i386/pc/multiboot_normal.c: Likewise.
27653 * loader/linux_normal.c: Likewise.
27654 * loader/multiboot_loader_normal.c: Likewise.
27655 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27656
27657 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27658 and grub_register_command_p1.
27659
27660 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27661 kern/command.c, lib/arg.c and commands/extcmd.c.
27662 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27663 (minicmd_mod_SOURCES): New variable.
27664 (minicmd_mod_CFLAGS): Likewise.
27665 (minicmd_mod_LDFLAGS): Likewise.
27666 (extcmd_mod_SOURCES): Likewise.
27667 (extcmd_mod_CFLAGS): Likewise.
27668 (extcmd_mod_LDFLAGS): Likewise.
27669 (boot_mod_SOURCES): Removed.
27670 (boot_mod_CFLAGS): Likewise.
27671 (boot_mod_LDFLAGS): Likewise.
27672
27673 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27674 kern/corecmd.c.
27675 (kernel_img_HEADERS): Add command.h.
27676 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27677 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27678 and lib/arg.c.
27679 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27680 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27681 remove the corresponding normal mode command.
27682 (normal_mod_SOURCES): Remove normal/arg.c.
27683 * conf/i386-coreboot.rmk: Likewise.
27684 * conf/i386-efi.rmk: Likewise.
27685 * conf/i386-ieee1275.rmk: Likewise.
27686 * conf/powerpc-ieee1275.rmk: Likewise.
27687 * conf/x86_64-efi.rmk: Likewise.
27688
27689 * include/grub/arg.h: Move from here ...
27690 * include/grub/lib/arg.h: ... to here.
27691
27692 * normal/arg.c: Move from here ...
27693 * lib/arg.c: ... to here.
27694
27695 * commands/extcmd.c: New file.
27696 * commands/minicmd.c: Likewise.
27697 * include/grub/command.h: Likewise.
27698 * include/grub/extcmd.h: Likewise.
27699 * kern/command.c: Likewise.
27700 * kern/corecmd.c: Likewise.
27701
27702 * kern/list.c (grub_list_iterate): Return int instead of void.
27703 (grub_list_insert): New function.
27704 (grub_prio_list_insert): Likewise.
27705
27706 * kern/rescue.c (grub_rescue_command): Removed.
27707 (grub_rescue_command_list): Likewise.
27708 (grub_rescue_register_command): Likewise.
27709 (grub_rescue_unregister_command): Likewise.
27710 (grub_rescue_cmd_boot): Move to minicmd.c
27711 (grub_rescue_cmd_help): Likewise.
27712 (grub_rescue_cmd_info): Likewise.
27713 (grub_rescue_cmd_boot): Likewise.
27714 (grub_rescue_cmd_testload): Likewise.
27715 (grub_rescue_cmd_dump): Likewise.
27716 (grub_rescue_cmd_rmmod): Likewise.
27717 (grub_rescue_cmd_lsmod): Likewise.
27718 (grub_rescue_cmd_exit): Likewise.
27719 (grub_rescue_print_devices): Moved to corecmd.c.
27720 (grub_rescue_print_files): Likewise.
27721 (grub_rescue_cmd_ls): Likewise.
27722 (grub_rescue_cmd_insmod): Likewise.
27723 (grub_rescue_cmd_set): Likewise.
27724 (grub_rescue_cmd_unset): Likewise.
27725 (attempt_normal_mode): Use grub_command_find to get normal module.
27726 (grub_enter_rescue_mode): Use grub_register_core_commands to register
27727 commands, remove grub_rescue_register_command calls.
27728
27729 * normal/command.c (grub_register_command): Removed.
27730 (grub_unregister_command): Likewise.
27731 (grub_command_find): Likewise.
27732 (grub_iterate_commands): Likewise.
27733 (rescue_command): Likewise.
27734 (export_command): Moved to corecmd.c.
27735 (set_command): Removed.
27736 (unset_command): Likewise.
27737 (insmod_command): Likewise.
27738 (rmmod_command): Likewise.
27739 (lsmod_command): Likewise.
27740 (grub_command_init): Likewise.
27741
27742 * normal/completion.c (iterate_command): Use cmd->prio to check for
27743 active command.
27744 (complete_arguments): Use grub_extcmd_t structure to find options.
27745 (grub_normal_do_completion): Change function grub_iterate_commands to
27746 grub_command_iterate.
27747
27748 * normal/execute.c (grub_script_execute_cmd): No need to parse
27749 argument here.
27750
27751 * normal/main.c (grub_dyncmd_dispatcher): New function.
27752 (read_command_list): Register unload commands as dyncmd.
27753 (grub_cmd_normal): Use new command interface, register rescue,
27754 unregister normal at entry, register normal, unregister rescue at exit.
27755
27756 * include/grub/list.h (grub_list_test_t): New type.
27757 (grub_list_iterate): Return int instead of void.
27758 (grub_list_insert): New function.
27759 (GRUB_AS_NAMED_LIST_P): New macro.
27760 (GRUB_AS_PRIO_LIST): Likewise.
27761 (GRUB_AS_PRIO_LIST_P): Likewise.
27762 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27763 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27764 (grub_prio_list): New structure.
27765 (grub_prio_list_insert): New function.
27766 (grub_prio_list_remove): New inline function.
27767
27768 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27769 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27770 (GRUB_COMMAND_FLAG_MENU): Likewise.
27771 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27772 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27773 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27774 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27775 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27776 (grub_command): Likewise.
27777 (grub_register_command): Likewise.
27778 (grub_command_find): Likewise.
27779 (grub_iterate_commands): Likewise.
27780 (grub_command_init): Likewise.
27781 (grub_arg_parse): Likewise.
27782 (grub_arg_show_help): Likewise.
27783
27784 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27785 (grub_rescue_unregister_command): Likewise.
27786
27787 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27788 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27789 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27790
27791 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27792 grub_rescue_cmd_initrd.
27793 * include/grub/i386/loader.h: Likewise.
27794 * include/grub/x86_64/loader.h: Likewise.
27795
27796 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27797
27798 2009-03-21 Bean <bean123ch@gmail.com>
27799
27800 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27801 instead of stat in mingw environment.
27802
27803 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27804
27805 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27806
27807 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27808 AC_CONFIG_LINKS.
27809
27810 2009-03-21 Bean <bean123ch@gmail.com>
27811
27812 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27813 out of range error.
27814
27815 2009-03-18 Michel Dänzer <michel@daenzer.net>
27816
27817 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27818 checking inode flags for EXT4_EXTENTS_FLAG.
27819
27820 2009-03-18 Robert Millan <rmh@aybabtu.com>
27821
27822 * loader/i386/linux.c: Include `<grub/video.h>' and
27823 `<grub/i386/pc/vbe.h>'..
27824 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27825 (grub_linux32_boot): Attempt to configure video settings with
27826 grub_linux_setup_video().
27827 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27828 to avoid grub_console_fini() which would step out of graphical mode
27829 unconditionally.
27830
27831 2009-03-14 Robert Millan <rmh@aybabtu.com>
27832
27833 Fix build on powerpc.
27834 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27835
27836 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27837
27838 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27839 background image command.
27840
27841 2009-03-12 Colin D Bennett <colin@gibibit.com>
27842
27843 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27844 (grub_gfxterm_putchar): Extract pairs of identical calls to
27845 draw_cursor out of conditional blocks.
27846
27847 2009-03-11 Pavel Roskin <proski@gnu.org>
27848
27849 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27850 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27851
27852 2009-03-11 Robert Millan <rmh@aybabtu.com>
27853
27854 * loader/i386/multiboot_elfxx.c
27855 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27856
27857 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
27858
27859 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27860 `kern/handler.c'.
27861
27862 2009-03-11 Robert Millan <rmh@aybabtu.com>
27863
27864 * loader/i386/multiboot.c (code_size): New variable.
27865 (grub_multiboot): Define offsets by adding to `code_size' rather
27866 than subtracting from `grub_multiboot_payload_size'. Provide
27867 4-byte alignment to MBI and others by increasing
27868 `boot_loader_name_length' appropriately.
27869
27870 * loader/i386/multiboot_elfxx.c
27871 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27872
27873 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
27874
27875 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27876 `fs/ext2.c'.
27877
27878 2009-03-08 Robert Millan <rmh@aybabtu.com>
27879
27880 Make loader/i386/linux.c usable on i386-pc again.
27881
27882 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27883 memory to heap.
27884 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27885 `#error' stanza.
27886
27887 2009-03-07 Bean <bean123ch@gmail.com>
27888
27889 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27890 allocation.
27891
27892 2009-03-06 Robert Millan <rmh@aybabtu.com>
27893
27894 Fix display issue on terminals with screen size other than 80x25
27895 (e.g. gfxterm with resolution higher than 640x480).
27896
27897 * normal/main.c (grub_normal_init_page): Display title text in a
27898 position relative to the center of the terminal instead of relying
27899 on a hardcoded offset.
27900
27901 2009-03-04 Robert Millan <rmh@aybabtu.com>
27902
27903 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27904 installed.
27905
27906 * Makefile.in (host_kernel): New variable.
27907 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27908 scripts instead of just the windows one.
27909 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27910
27911 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27912
27913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27914 `kern/handler.c'.
27915 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27916 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27917 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27919 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27920 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27921
27922 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27923
27924 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27925 or if there's no space for the disk label and print the partition number on a
27926 invalid magic.
27927
27928 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27929
27930 * util/misc.c: Include <time.h>.
27931 (grub_millisleep): New function.
27932
27933 2009-03-04 Bean <bean123ch@gmail.com>
27934
27935 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27936 another option -mno-red-zone.
27937
27938 * commands/handler.c: Change module description.
27939
27940 * kern/handler.c: Add missing space at the end of description line.
27941
27942 * kern/list.c: Likewise.
27943
27944 2009-03-03 Robert Millan <rmh@aybabtu.com>
27945
27946 Move more components to the relocation area, and fix mbi pointer
27947 handling to use the destination rather than the origin (thanks to
27948 Vladimir Serbinenko for spotting).
27949
27950 * loader/i386/multiboot.c (mbi_dest): New variable.
27951 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27952 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27953 relocation area.
27954
27955 2009-03-01 Bean <bean123ch@gmail.com>
27956
27957 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
27958 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27959 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27960 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27961
27962 * loader/i386/efi/linux.c (acpi_guid): New variable.
27963 (acpi_guid): Likewise.
27964 (EBDA_SEG_ADDR): New constant.
27965 (LOW_MEM_ADDR): Likewise.
27966 (FAKE_EBDA_SEG): Likewise.
27967 (fake_bios_data): New function.
27968 (grub_linux_boot): Call fake_bios_data.
27969
27970 2009-03-01 Bean <bean123ch@gmail.com>
27971
27972 * commands/terminal.c: Removed.
27973
27974 * commands/handler.c: New file.
27975
27976 * include/grub/list.h: Likewise.
27977
27978 * include/grub/handler.h: Likewise.
27979
27980 * kern/list.c: Likewise.
27981
27982 * kern/handler.c: Likewise.
27983
27984 * kern/term.h: Include header file <grub/handler.h>.
27985 (grub_term_input): Move next field to the beginning.
27986 (grub_term_output): Likewise.
27987 (grub_term_input_class): New variable.
27988 (grub_term_output_class): Likewise.
27989 (grub_term_register_input): Changed to inline function.
27990 (grub_term_register_output): Likewise.
27991 (grub_term_unregister_input): Likewise.
27992 (grub_term_unregister_output): Likewise.
27993 (grub_term_set_current_input): Likewise.
27994 (grub_term_set_current_output): Likewise.
27995 (grub_term_get_current_input): Likewise.
27996 (grub_term_get_current_output): Likewise.
27997 (grub_term_iterate_input): Removed.
27998 (grub_term_iterate_output): Likewise.
27999
28000 * kern/term.c (grub_term_list_input): Removed.
28001 (grub_term_list_output): Likewise.
28002 (grub_term_input_class): New variable.
28003 (grub_term_output_class): Likewise.
28004 (grub_cur_term_input): Change variable as macro.
28005 (grub_cur_term_output): Likewise.
28006 (grub_term_register_input): Removed.
28007 (grub_term_register_output): Likewise.
28008 (grub_term_unregister_input): Likewise.
28009 (grub_term_unregister_output): Likewise.
28010 (grub_term_set_current_input): Likewise.
28011 (grub_term_set_current_output): Likewise.
28012 (grub_term_iterate_input): Likewise.
28013 (grub_term_iterate_output): Likewise.
28014 (grub_term_get_current_input): Likewise.
28015 (grub_term_get_current_output): Likewise.
28016
28017 * util/grub-editenv.c: Include header file <grub/handler.h>.
28018 (grub_term_get_current_input): Removed.
28019 (grub_term_get_current_output): Likewise.
28020 (grub_term_input_class): New variable.
28021 (grub_term_output_class): Likewise.
28022
28023 * util/grub-fstest.c (grub_term_get_current_input): Removed.
28024 (grub_term_get_current_output): Likewise.
28025 (grub_term_input_class): New variable.
28026 (grub_term_output_class): Likewise.
28027
28028 * util/grub-probe.c (grub_term_get_current_input): Removed.
28029 (grub_term_get_current_output): Likewise.
28030 (grub_term_input_class): New variable.
28031 (grub_term_output_class): Likewise.
28032
28033 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
28034 (grub_term_get_current_output): Likewise.
28035 (grub_term_input_class): New variable.
28036 (grub_term_output_class): Likewise.
28037
28038 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
28039 (terminal_mod_SOURCES): Likewise.
28040 (terminal_mod_CFLAGS): Likewise.
28041 (terminal_mod_LDFLAGS): Likewise.
28042
28043 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
28044 handler.c.
28045 (kernel_img_SOURCES): Add list.c and handler.c.
28046 (kernel_img_HEADERS): Add list.h and handler.h.
28047
28048 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28049 handler.c.
28050 (kernel_mod_SOURCES): Add list.c and handler.c.
28051 (kernel_mod_HEADERS): Add list.h and handler.h.
28052
28053 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
28054 handler.c.
28055 (kernel_elf_SOURCES): Add list.c and handler.c.
28056 (kernel_elf_HEADERS): Add list.h and handler.h.
28057
28058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28059 handler.c.
28060 (kernel_elf_SOURCES): Add list.c and handler.c.
28061 (kernel_elf_HEADERS): Add list.h and handler.h.
28062
28063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
28064 handler.c.
28065 (kernel_mod_SOURCES): Add list.c and handler.c.
28066 (kernel_mod_HEADERS): Add list.h and handler.h.
28067
28068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
28069 handler.c.
28070 (kernel_elf_SOURCES): Add list.c and handler.c.
28071 (kernel_elf_HEADERS): Add list.h and handler.h.
28072
28073 2009-02-27 Robert Millan <rmh@aybabtu.com>
28074
28075 Factorize elf32 / elf64 code in Multiboot loader. This will
28076 prevent it from getting out of sync again.
28077
28078 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28079 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28080 grub_multiboot_load_elf64): Move from here ...
28081 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28082 grub_multiboot_load_elf): ... to here (new file).
28083
28084 2009-02-27 Robert Millan <rmh@aybabtu.com>
28085
28086 * util/grub.d/10_linux.in: Rename "single-user mode" to
28087 "recovery mode".
28088
28089 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28090
28091 Don't leak in SCSI code.
28092 * disk/scsi.c (grub_scsi_close): free `scsi'.
28093
28094 2009-02-27 Robert Millan <rmh@aybabtu.com>
28095
28096 * loader/i386/pc/multiboot.c: Move from here ...
28097 * loader/i386/multiboot.c: ... to here. Update all users.
28098
28099 2009-02-27 Robert Millan <rmh@aybabtu.com>
28100
28101 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28102 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28103
28104 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
28105
28106 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28107 b-tree.
28108
28109 2009-02-27 Robert Millan <rmh@aybabtu.com>
28110
28111 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28112 `0x' qualifier as 0 when base is specified as parameter).
28113
28114 2009-02-24 Bean <bean123ch@gmail.com>
28115
28116 * configure.ac: Check for -mcmodel=large in x86_64 target.
28117
28118 * include/grub/efi/api.h (efi_call_10): New macro.
28119 (efi_wrap_10): New function.
28120
28121 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28122 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28123 (GRUB_PE32_REL_BASED_LOW): Likewise.
28124 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28125 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28126 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28127 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28128 (GRUB_PE32_REL_BASED_REL): Likewise.
28129 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28130 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28131 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28132
28133 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28134 issue.
28135
28136 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28137 (efi_wrap_10): New function.
28138
28139 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28140
28141 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28142 MB/MBP model (NV chipset).
28143 (devdata_devs): Add devpath_5 to the list.
28144
28145 * load/i386/efi/linux.c (video_base): Remove variable.
28146 (RGB_MASK): New macro.
28147 (RGB_MAGIC): Likewise.
28148 (LINE_MIN): Likewise.
28149 (LINE_MAX): Likewise.
28150 (FBTEST_STEP): Likewise.
28151 (FBTEST_COUNT): Likewise.
28152 (fb_list): New variable.
28153 (grub_find_video_card): Remove function.
28154 (find_framebuf): New function.
28155 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28156 line length.
28157
28158 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28159 problem for x86_64.
28160
28161 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28162
28163 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28164
28165 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28166 coding tool name.
28167
28168 2009-02-22 Robert Millan <rmh@aybabtu.com>
28169
28170 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28171 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28172 in our relocation, instead of using it directly from heap. Also
28173 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28174
28175 2009-02-21 Robert Millan <rmh@aybabtu.com>
28176
28177 Implement USB keyboard support (based on patch by Marco Gerards)
28178
28179 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28180 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28181 (usb_keyboard_mod_LDFLAGS): New variables.
28182
28183 * term/usb_keyboard.c: New file.
28184
28185 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28186
28187 Corrected wrong declaration
28188
28189 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28190
28191 2009-02-14 Christian Franke <franke@computer.org>
28192
28193 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28194 (grub_lspci_iter): Print class code and programming interface byte.
28195
28196 2009-02-14 Christian Franke <franke@computer.org>
28197
28198 * gendistlist.sh: Ignore `.svn' directories.
28199
28200 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
28201
28202 * fs/fat.c: Add 2009 to Copyright line.
28203
28204 2009-02-14 Christian Franke <franke@computer.org>
28205
28206 * commands/hdparm.c: New file. Provides `hdparm' command
28207 which sends ATA commands via grub_disk_ata_pass_through ().
28208
28209 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28210
28211 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28212 and <grub/cpu/io.h> to include/grub/ata.h.
28213 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28214 (GRUB_CDROM_SECTOR_SIZE): Remove.
28215 (GRUB_ATA_*): Move to include/grub/ata.h.
28216 (GRUB_ATAPI_*): Likewise.
28217 (enum grub_ata_commands): Likewise.
28218 (enum grub_ata_timeout_milliseconds): Likewise.
28219 (struct grub_ata_device): Likewise.
28220 (grub_ata_regset): Likewise.
28221 (grub_ata_regget): Likewise.
28222 (grub_ata_regset2): Likewise.
28223 (grub_ata_regget2): Likewise.
28224 (grub_ata_check_ready): Likewise.
28225 (grub_ata_wait_not_busy): Remove static, exported in
28226 include/grub/ata.h.
28227 (grub_ata_wait_drq): Likewise.
28228 (grub_ata_pio_read): Likewise.
28229
28230 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28231 function for hdparm.mod.
28232
28233 * include/grub/ata.h: New file, contains declarations from
28234 disk/ata.c.
28235 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28236
28237 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28238 (grub_disk_ata_pass_through): New exported variable.
28239
28240 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28241
28242 2009-02-13 Colin D Bennett <colin@gibibit.com>
28243
28244 Support multiple fallback entries, and provide an API to support
28245 executing default+fallback menu entries. Renamed the `terminal' menu
28246 viewer to `text'.
28247
28248 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28249 variable declaration.
28250 (grub_menu_execute_callback): New structure declaration.
28251 (grub_menu_execute_callback_t): New typedef.
28252 (grub_menu_execute_with_fallback): New function declaration.
28253 (grub_menu_get_entry): Likewise.
28254 (grub_menu_get_timeout): Likewise.
28255 (grub_menu_set_timeout): Likewise.
28256
28257 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28258
28259 * normal/menu.c (grub_wait_after_message): Moved to
28260 `normal/menu_text.c'.
28261 (draw_border): Likewise.
28262 (print_message): Likewise.
28263 (print_entry): Likewise.
28264 (print_entries): Likewise.
28265 (grub_menu_init_page): Likewise.
28266 (get_entry_number): Likewise.
28267 (print_timeout): Likewise.
28268 (run_menu): Likewise.
28269 (grub_menu_execute_entry): Likewise.
28270 (show_text_menu): Likewise.
28271 (get_and_remove_first_entry_number): New function.
28272 (grub_menu_execute_with_fallback): Likewise.
28273 (get_entry): Renamed to ...
28274 (grub_menu_get_entry): .. this and made it global.
28275 (get_timeout): Renamed to ...
28276 (grub_menu_get_timeout): ... this and made it global.
28277 (set_timeout): Renamed to ...
28278 (grub_menu_set_timeout): ... this and made it global.
28279 (grub_normal_terminal_menu_viewer): Renamed to ...
28280 (grub_normal_text_menu_viewer): ... this.
28281
28282 * normal/menu_text.c: New file. Extracted text-menu-specific code
28283 from normal/menu.c.
28284
28285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28286 (normal_mod_SOURCES): Likewise.
28287
28288 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28289 (normal_mod_SOURCES): Likewise.
28290
28291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28292 (normal_mod_SOURCES): Likewise.
28293
28294 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28295 (normal_mod_SOURCES): Likewise.
28296
28297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28298 (normal_mod_SOURCES): Likewise.
28299
28300 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28301 (normal_mod_SOURCES): Likewise.
28302
28303 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28304 (normal_mod_SOURCES): Likewise.
28305
28306 2009-02-11 Robert Millan <rmh@aybabtu.com>
28307
28308 * util/grub.d/00_header.in: Update old reference to `font' command.
28309
28310 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
28311
28312 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28313
28314 Based on patch from Javier Martín.
28315
28316 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
28317
28318 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
28319 to avoid false positives with FAT.
28320 (grub_fstest_SOURCES): Likewise.
28321 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28322 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28325 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28326 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28327
28328 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
28329
28330 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
28331 bpb.version_specific.fat12_or_fat16.fstype and
28332 bpb.version_specific.fat32.fstype.
28333
28334 2009-02-08 Robert Millan <rmh@aybabtu.com>
28335
28336 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
28337
28338 2009-02-08 Robert Millan <rmh@aybabtu.com>
28339
28340 * Makefile.in (host_os, host_cpu): New variables.
28341 (target_os): Remove. Update all users.
28342
28343 2009-02-08 Marco Gerards <marco@gnu.org>
28344
28345 * Makefile.in (enable_grub_emu_usb): New variable.
28346 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28347 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28348 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28349 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28350 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28351 `usbtest.mod' and `usbms.mod'.
28352 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28353 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28354 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28355 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28356 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28357 variables.
28358
28359 * disk/usbms.c: New file.
28360
28361 * include/grub/usb.h: Likewise.
28362
28363 * include/grub/usbtrans.h: Likewise.
28364
28365 * include/grub/usbdesc.h: Likewise.
28366
28367 * bus/usb/usbtrans.c: Likewise.
28368
28369 * bus/usb/ohci.c: Likewise.
28370
28371 * bus/usb/uhci.c: Likewise.
28372
28373 * bus/usb/usbhub.c: Likewise.
28374
28375 * bus/usb/usb.c: Likewise.
28376
28377 * commands/usbtest.c: Likewise.
28378
28379 * util/usb.c: Likewise.
28380
28381 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28382
28383 * configure.ac: Test for libusb presence.
28384
28385 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28386
28387 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28388
28389 * kern/mm.c: Add more comments.
28390
28391 2009-02-08 Robert Millan <rmh@aybabtu.com>
28392
28393 Patch from Javier Martín.
28394 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28395 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28396
28397 2009-02-08 Robert Millan <rmh@aybabtu.com>
28398
28399 * fs/cpio.c: Split tar functionality to ...
28400 * fs/tar.c: ... here (new file). Update all users.
28401
28402 2009-02-07 Robert Millan <rmh@aybabtu.com>
28403
28404 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28405 backward-incompatible features.
28406
28407 Based on patch from Javier Martín, with some adjustments.
28408
28409 2009-02-07 Michael Scherer <misc@mandriva.org>
28410
28411 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28412
28413 2009-02-07 Robert Millan <rmh@aybabtu.com>
28414
28415 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28416 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28417 after the RAID stuff.
28418
28419 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28420
28421 Fixes problem when running vbetest command as reported by
28422 Vladimir Serbinenko <phcoder@gmail.com>.
28423
28424 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28425
28426 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
28427
28428 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28429 /dev/md/NpN style mdraid devices.
28430
28431 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28432
28433 * util/unifont2pff.rb: Remove.
28434
28435 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28436
28437 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28438 `#'.
28439
28440 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28441
28442 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28443 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28444 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28447 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28448 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28449
28450 2009-02-02 Christian Franke <franke@computer.org>
28451
28452 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28453
28454 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
28455
28456 * INSTALL: Note that we now require at least autoconf 2.59 and
28457 that LZO is optional.
28458
28459 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28460
28461 Base on patch on bug #24154 created by Tomas Tintera
28462 <trosos@seznam.cz>.
28463
28464 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28465
28466 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28467
28468 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
28469 <bero@arklinux.org>.
28470
28471 * normal/parser.y (script_init): Add missing semicolon.
28472
28473 2009-01-31 Colin D Bennett <colin@gibibit.com>
28474
28475 * normal/main.c: Add include to grub/menu_viewer.h.
28476 (free_menu_entry_classes): Added.
28477 (grub_normal_menu_addentry): Added class property handling.
28478 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28479 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28480
28481 * normal/menu_viewer.c: New file.
28482
28483 * normal/menu.c (run_menu_entry): Renamed to ...
28484 (grub_menu_execute_entry): ... this and made it as global.
28485 (grub_menu_run): Renamed to ...
28486 (show_text_menu): ... this and made it local.
28487 (show_text_menu): Adapt to new function names.
28488 (grub_normal_terminal_menu_viewer): New global variable.
28489
28490 * include/grub/menu.h: New file.
28491
28492 * include/grub/menu_viewer.h: New file.
28493
28494 * include/grub/normal.h: Added include to grub/menu.h.
28495 (grub_menu_entry): Moved to include/grub/menu.h.
28496 (grub_menu_entry_t): Likewise.
28497 (grub_menu): Likewise.
28498 (grub_menu_t): Likewise.
28499 (grub_normal_terminal_menu_viewer): Added.
28500 (grub_menu_execute_entry): Likewise.
28501 (grub_menu_run): Removed.
28502
28503 * DISTLIST: Added include/grub/menu.h.
28504 Added include/grub/menu_viewer.h.
28505 Added normal/menu_viewer.c.
28506
28507 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28508
28509 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28510 arglist for menutitle arguments.
28511
28512 * normal/main.c (grub_normal_menu_addentry): Likewise.
28513
28514 * normal/parser.y (menuentry): Likewise.
28515
28516 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28517
28518 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28519 (grub_script_create_cmdmenu): Likewise.
28520
28521 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28522
28523 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28524 changes.
28525
28526 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28527
28528 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28529
28530 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28531
28532 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28533
28534 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28535
28536 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28537
28538 2009-01-30 Christian Franke <franke@computer.org>
28539
28540 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28541 in option help text.
28542
28543 2009-01-27 Pavel Roskin <proski@gnu.org>
28544
28545 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28546
28547 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28548
28549 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28550
28551 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28552
28553 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28554 unregister function.
28555
28556 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28557
28558 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28559
28560 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28561
28562 * util/grub-mkfont.c (usage): Fix typo.
28563
28564 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28565
28566 2009-01-26 Daniel Mierswa <impulze@impulze.org>
28567
28568 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28569
28570 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28571
28572 * kern/misc.c (grub_strcasecmp): New function.
28573 (grub_strcasecmp): Use grub_size_t instead of int for length.
28574 Fix return value.
28575 * include/grub/misc.h: Update function prototypes.
28576
28577 2009-01-26 Robert Millan <rmh@aybabtu.com>
28578
28579 * configure.ac: Fix cross-compilation check.
28580
28581 2009-01-22 Christian Franke <franke@computer.org>
28582
28583 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28584 (precision) digit string. Allow `.format2' without `format1' (width).
28585 Limit input chars for `%s' output to `format2' if specified. This is
28586 compatible with standard printf ().
28587
28588 2009-01-22 Christian Franke <franke@computer.org>
28589
28590 * disk/ata.c (grub_ata_wait_status): Replace by ...
28591 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28592 other status bits may be invalid while BSY is asserted.
28593 (grub_ata_check_ready): New function.
28594 (grub_ata_cmd): Removed.
28595 (grub_ata_wait_drq): New function.
28596 (grub_ata_strncpy): Remove inline.
28597 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28598 and error check now done by grub_ata_wait_drq ().
28599 (grub_ata_pio_write): Likewise.
28600 (grub_atapi_identify): Set DEV before check for !BSY. Use
28601 grub_ata_wait_drq () to wait for data.
28602 (grub_ata_device_initialize): Add status register check to
28603 detect missing SATA slave devices. Add debug messages.
28604 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28605 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28606 transfer loop by grub_ata_pio_write ().
28607 (grub_ata_identify): Set DEV before check for !BSY. Use
28608 grub_ata_wait_drq () to wait for data.
28609 (grub_ata_setaddress): Set DEV before check for !BSY.
28610 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28611 read/write in one loop. Fix invalid command on write. Fix incomplete
28612 command on (size % batch) == 0. Add missing error check after write of
28613 last block. Add debug messages.
28614 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28615
28616 2009-01-19 Christian Franke <franke@computer.org>
28617
28618 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28619 (GRUB_ATAPI_IREASON_*): Likewise.
28620 (grub_ata_pio_write): Fix timeout error return.
28621 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28622 (grub_atapi_wait_drq): New function.
28623 (grub_atapi_packet): New parameter `size'.
28624 Use grub_atapi_wait_drq () and direct write instead of
28625 grub_ata_pio_write ().
28626 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28627 reads the number of bytes requested by the device for each DRQ
28628 assertion.
28629 (grub_atapi_write): Remove old implementation, return not
28630 implemented instead.
28631
28632 2009-01-19 Christian Franke <franke@computer.org>
28633
28634 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28635 of 512 to calculate data size.
28636 (grub_scsi_read12): Likewise.
28637 (grub_scsi_write10): Likewise.
28638 (grub_scsi_write12): Likewise.
28639 (grub_scsi_read): Adjust size according to blocksize.
28640 Add checks for invalid blocksize and unaligned transfer.
28641
28642 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28643
28644 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28645
28646 * term/gfxterm.c (write_char): Fix background rendering for wide
28647 width glyphs.
28648
28649 2009-01-19 Robert Millan <rmh@aybabtu.com>
28650
28651 * config.guess: Update to latest version from config git.
28652 * config.sub: Likewise.
28653
28654 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
28655
28656 * Makefile.in: Change font compilation to use new grub-mkfont instead
28657 of java version.
28658
28659 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28660 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28661 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28662 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28663 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28664 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28665 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28666 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28667 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28668
28669 2009-01-16 Christian Franke <franke@computer.org>
28670
28671 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28672 (enum grub_ata_timeout_milliseconds): New enum.
28673 (grub_ata_wait_status): Add parameter milliseconds.
28674 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28675 recovery from timed-out commands.
28676 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28677 return grub_errno instead of REG_ERROR.
28678 (grub_ata_pio_write): Add parameter milliseconds.
28679 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28680 Pass milliseconds to grub_ata_wait_status () and
28681 grub_ata_pio_read ().
28682 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28683 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28684 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28685 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28686 It is not suitable for device detection, because DEV bit is ignored,
28687 the command may run too long, and not all devices set the signature
28688 properly.
28689 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28690 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28691 Fix device selection, DEV bit must be set first to address the registers
28692 of the correct device.
28693 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28694 grub_ata_pio_read/write ().
28695 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28696 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28697
28698 2009-01-13 Carles Pina i Estany <carles@pina.cat>
28699
28700 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28701
28702 2009-01-13 Bean <bean123ch@gmail.com>
28703
28704 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28705
28706 2009-01-13 Bean <bean123ch@gmail.com>
28707
28708 * Makefile.in: (enable_grub_mkfont): New variable.
28709 (freetype_cflags): Likewise.
28710 (freetype_libs): Likewise.
28711
28712 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28713 (grub_mkfont_SOURCES): New variable.
28714 (grub_mkfont_CFLAGS): Likewise.
28715 (grub_mkfont_LDFLAGS): Likewise.
28716
28717 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28718 library if `--enable-grub-mkfont' is requested.
28719 (enable_grub_mkfont): New variable.
28720 (freetype_cflags): Likewise.
28721 (freetype_libs): Likewise.
28722
28723 * util/grub-mkfont.c: New file.
28724
28725 2009-01-12 Christian Franke <franke@computer.org>
28726
28727 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28728 mode check. Fix setting of compat_use[].
28729
28730 2009-01-10 Robert Millan <rmh@aybabtu.com>
28731
28732 Update a few copyright years which we forgot to do in 2008 (only for
28733 files whose changes made in 2008 were copyright-significant)
28734
28735 * Makefile.in: Add 2008 to Copyright line.
28736 * disk/ieee1275/ofdisk.c: Likewise.
28737 * disk/efi/efidisk.c: Likewise.
28738 * kern/dl.c: Likewise.
28739 * kern/sparc64/ieee1275/init.c: Likewise.
28740 * kern/mm.c: Likewise.
28741 * kern/efi/mm.c: Likewise.
28742 * boot/i386/pc/boot.S: Likewise.
28743 * genfslist.sh: Likewise.
28744 * fs/iso9660.c: Likewise.
28745 * fs/hfs.c: Likewise.
28746 * fs/jfs.c: Likewise.
28747 * fs/minix.c: Likewise.
28748 * fs/ufs.c: Likewise.
28749 * gensymlist.sh.in: Likewise.
28750 * genkernsyms.sh.in: Likewise.
28751 * include/grub/misc.h: Likewise.
28752 * include/grub/types.h: Likewise.
28753 * include/grub/symbol.h: Likewise.
28754 * include/grub/elf.h: Likewise.
28755 * include/grub/kernel.h: Likewise.
28756 * include/grub/disk.h: Likewise.
28757 * include/grub/dl.h: Likewise.
28758 * include/grub/i386/linux.h: Likewise.
28759 * include/grub/i386/pc/biosdisk.h: Likewise.
28760 * include/grub/efi/api.h: Likewise.
28761 * include/grub/efi/pe32.h: Likewise.
28762 * include/grub/util/misc.h: Likewise.
28763 * normal/execute.c: Likewise.
28764 * normal/arg.c: Likewise.
28765 * normal/completion.c: Likewise.
28766 * normal/lexer.c: Likewise.
28767 * normal/parser.y: Likewise.
28768 * normal/misc.c: Likewise.
28769 * commands/i386/pc/vbeinfo.c: Likewise.
28770 * commands/hexdump.c: Likewise.
28771 * commands/terminal.c: Likewise.
28772 * commands/ls.c: Likewise.
28773 * commands/help.c: Likewise.
28774 * partmap/pc.c: Likewise.
28775 * loader/efi/chainloader.c: Likewise.
28776 * loader/multiboot_loader.c: Likewise.
28777 * loader/i386/pc/multiboot2.c: Likewise.
28778 * term/efi/console.c: Likewise.
28779 * term/i386/pc/serial.c: Likewise.
28780 * util/lvm.c: Likewise.
28781 * util/console.c: Likewise.
28782 * util/i386/efi/grub-mkimage.c: Likewise.
28783 * util/raid.c: Likewise.
28784
28785 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28786
28787 * commands/videotest.c: Removed include to grub/machine/memory.h.
28788
28789 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28790 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28791 (video_mod_SOURCES): Removed.
28792 (video_mod_CFLAGS): Likewise.
28793 (video_mod_LDFLAGS): Likewise.
28794 (gfxterm_mod_SOURCES): Likewise.
28795 (gfxterm_mod_CFLAGS): Likewise.
28796 (gfxterm_mod_LDFLAGS): Likewise.
28797 (videotest_mod_SOURCES): Likewise.
28798 (videotest_mod_CFLAGS): Likewise.
28799 (videotest_mod_LDFLAGS): Likewise.
28800 (bitmap_mod_SOURCES): Likewise.
28801 (bitmap_mod_CFLAGS): Likewise.
28802 (bitmap_mod_LDFLAGS): Likewise.
28803 (tga_mod_SOURCES): Likewise.
28804 (tga_mod_CFLAGS): Likewise.
28805 (tga_mod_LDFLAGS): Likewise.
28806 (jpeg_mod_SOURCES): Likewise.
28807 (jpeg_mod_CFLAGS): Likewise.
28808 (jpeg_mod_LDFLAGS): Likewise.
28809 (png_mod_SOURCES): Likewise.
28810 (png_mod_CFLAGS): Likewise.
28811 (png_mod_LDFLAGS): Likewise.
28812
28813 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28814 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28815 (video_mod_SOURCES): Added.
28816 (video_mod_CFLAGS): Likewise.
28817 (video_mod_LDFLAGS): Likewise.
28818 (videotest_mod_SOURCES): Likewise.
28819 (videotest_mod_CFLAGS): Likewise.
28820 (videotest_mod_LDFLAGS): Likewise.
28821 (bitmap_mod_SOURCES): Likewise.
28822 (bitmap_mod_CFLAGS): Likewise.
28823 (bitmap_mod_LDFLAGS): Likewise.
28824 (tga_mod_SOURCES): Likewise.
28825 (tga_mod_CFLAGS): Likewise.
28826 (tga_mod_LDFLAGS): Likewise.
28827 (jpeg_mod_SOURCES): Likewise.
28828 (jpeg_mod_CFLAGS): Likewise.
28829 (jpeg_mod_LDFLAGS): Likewise.
28830 (png_mod_SOURCES): Likewise.
28831 (png_mod_CFLAGS): Likewise.
28832 (png_mod_LDFLAGS): Likewise.
28833 (gfxterm_mod_SOURCES): Likewise.
28834 (gfxterm_mod_CFLAGS): Likewise.
28835 (gfxterm_mod_LDFLAGS): Likewise.
28836
28837 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28838 grub/machine/console.h.
28839
28840 2009-01-04 Jerone Young <jerone@gmail.com>
28841
28842 Make on screen instructions clearer
28843
28844 Based on patch created by Jidanni <jidanni@jidanni.org>
28845
28846 * normal/menu.c: print clearer instructions on the screen
28847
28848 2009-01-02 Colin D Bennett <colin@gibibit.com>
28849
28850 New font engine.
28851
28852 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28853 build system and fixed gfxterm.c to work with different sized fonts.
28854
28855 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
28856
28857 * configure: Re-generated.
28858
28859 * DISTLIST: Removed font/manager.c.
28860 Added font/font.c.
28861 Added font/font_cmd.c.
28862
28863 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28864 compilation.
28865
28866 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
28867
28868 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
28869
28870 * kern/term.c: Changed users of grub_utf8_to_ucs4.
28871
28872 * normal/menu.c: Likewise.
28873
28874 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28875 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
28876
28877 * include/grub/font.h: Replaced with new file.
28878
28879 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28880 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28881 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28882 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28883 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
28884 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
28885 fg_red, fg_green, fg_blue, fg_alpha.
28886 (grub_video_adapter): Removed blit_glyph.
28887 (grub_video_blit_glyph): Removed.
28888
28889 * font/manager.c: Removed file.
28890
28891 * font/font.c: New file.
28892
28893 * font/font_cmd.c: Likewise.
28894
28895 * video/video.c (grub_video_blit_glyph): Removed.
28896
28897 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28898 (grub_video_vbe_map_rgba): Likewise.
28899 (grub_video_vbe_unmap_color_int): Likewise.
28900 (grub_video_vbe_blit_glyph): Removed.
28901 (grub_video_vbe_adapter): Removed blit_glyph.
28902
28903 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28904 (get_pixel): Likewise.
28905 (set_pixel): Likewise.
28906
28907 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
28908
28909 * term/gfxterm.c: Adapted to new font engine.
28910
28911 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
28912
28913 * term/i386/pc/vga.c: Likewise.
28914
28915 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
28916
28917 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28918
28919 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28920
28921 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28922
28923 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28924
28925 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28926
28927 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28928
28929 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28930
28931 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28932
28933 * util/grub.d/00_header.in: Changed to use new loadfont command.
28934
28935 * util/grub-mkconfig_lib.in: Changed font extension.
28936
28937 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
28938
28939 * util/getroot.c (grub_util_get_grub_dev): Add support for
28940 /dev/md/dNNpNN style partitionable mdraid devices.
28941
28942 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
28943
28944 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28945 at a time limit of the PXE TFTP API correctly.
28946 (grub_pxefs_close): Likewise.
28947
28948 2008-11-29 Robert Millan <rmh@aybabtu.com>
28949
28950 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
28951 grub_ata_device_initialize() calls.
28952
28953 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
28954
28955 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28956 iteration failed.
28957 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28958
28959 2008-11-28 Robert Millan <rmh@aybabtu.com>
28960
28961 Fix build on powerpc-ieee1275. Based on patch created by
28962 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28963 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28964 `kern/ieee1275/mmap.c'.
28965 * include/grub/powerpc/ieee1275/memory.h: New file.
28966
28967 Provide grub-install on coreboot.
28968 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28969 (grub_install_SOURCES): New variable.
28970 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28971 usable on coreboot.
28972
28973 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
28974
28975 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28976 to `grub_term_input_t'.
28977 (grub_term_get_current_output): Change return type to
28978 `grub_term_output_t'.
28979
28980 2008-11-22 Robert Millan <rmh@aybabtu.com>
28981
28982 Fix breakage on coreboot due to declaration mismatch.
28983 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
28984 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
28985 grub_vga_text_cls().
28986
28987 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
28988 comments. Avoid copying one more byte than necessary (just in case).
28989
28990 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
28991 to 0x200000 (avoids trouble with some OFW implementations, and matches
28992 with the one in Yaboot).
28993 Reported by Manoel Abranches
28994
28995 2008-11-20 Robert Millan <rmh@aybabtu.com>
28996
28997 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
28998 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
28999
29000 * util/grub-mkconfig_lib.in (grub_warn): New function.
29001 (convert_system_path_to_grub_path): Use grub_warn() when issuing
29002 warnings, to obtain consistent formatting.
29003 * util/grub.d/00_header.in: Likewise.
29004 * util/update-grub_lib.in: Likewise.
29005
29006 * loader/i386/linux.c (allocate_pages): Fix a warning.
29007 Move comment text to `#error' stanza.
29008
29009 Harmonize ieee1275's grub_available_iterate() with the generic
29010 grub_machine_mmap_iterate() interface (fixes a recently-introduced
29011 build problem on i386-ieee1275):
29012 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
29013 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
29014 parameter `type'. Update all users of this function.
29015 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29016 `kern/ieee1275/mmap.c'.
29017 * kern/ieee1275/init.c
29018 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
29019 with ...
29020 (grub_machine_mmap_iterate): ... this.
29021 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
29022 return type to `grub_err_t'. Update all implementations of this
29023 function prototype.
29024 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
29025 Likewise.
29026
29027 Add `lsmmap' command (lists firmware-provided memory map):
29028 * commands/lsmmap.c: New file.
29029 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
29030 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
29031 variables.
29032 * conf/powerpc-ieee1275.rmk: Likewise.
29033 * conf/i386-coreboot.rmk: Likewise.
29034 * conf/i386-ieee1275.rmk: Likewise.
29035
29036 2008-11-19 Robert Millan <rmh@aybabtu.com>
29037
29038 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
29039 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
29040 constraints to initrd allocation (based on code from
29041 loader/i386/pc/linux.c). Without them, initrd was allocated too high
29042 for Linux to find it.
29043
29044 2008-11-14 Robert Millan <rmh@aybabtu.com>
29045
29046 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
29047 order to cope with duplicate slashes.
29048
29049 2008-11-14 Robert Millan <rmh@aybabtu.com>
29050
29051 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
29052 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
29053 don't want to mess with lower memory, because it is used in the Linux
29054 loader.
29055
29056 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
29057 an appropriate place in lower memory, between 0x10000 and 0x90000,
29058 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
29059 is in our heap (probably as a result of it being corrupted during
29060 decompression). Add #error instance with comment to explain why this
29061 loader isn't currently usable on PC/BIOS.
29062
29063 2008-11-14 Robert Millan <rmh@aybabtu.com>
29064
29065 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
29066 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
29067
29068 2008-11-12 Robert Millan <rmh@aybabtu.com>
29069
29070 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29071
29072 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29073 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29074 from here ...
29075 * include/grub/i386/pc/memory.h: ... to here.
29076
29077 2008-11-12 Robert Millan <rmh@aybabtu.com>
29078
29079 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29080 split).
29081
29082 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29083 (grub_console_cur_color, grub_console_real_putchar)
29084 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29085 (grub_console_setcolorstate, grub_console_setcolor)
29086 (grub_console_getcolor): Move from here ...
29087 * include/grub/i386/vga_common.h: ... to here (new file).
29088
29089 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29090 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29091 `<grub/i386/io.h>'.
29092 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29093 `<grub/i386/vga_common.h>'.
29094
29095 2008-11-12 Robert Millan <rmh@aybabtu.com>
29096
29097 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29098 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29099 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29100 variables.
29101 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29102 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29103
29104 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29105 grub_console_init() with call to grub_vga_text_init().
29106 (grub_machine_fini): Replace call to
29107 grub_console_fini() with call to grub_vga_text_fini() and
29108 grub_at_keyboard_fini().
29109
29110 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29111 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29112 (grub_console_setcolorstate, grub_console_setcolor)
29113 (grub_console_getcolor): New function prototypes.
29114
29115 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29116 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29117 (grub_vga_text_setcursor): Static-ize.
29118 (grub_vga_text_term): New structure.
29119 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29120
29121 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29122 (grub_console_cur_color, grub_console_standard_color)
29123 (grub_console_normal_color, grub_console_highlight_color)
29124 (map_char, grub_console_putchar, grub_console_getcharwidth)
29125 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29126 (grub_console_getcolor): Move from here ...
29127 * term/i386/vga_common.c: ... to here (same function names).
29128
29129 2008-11-12 Robert Millan <rmh@aybabtu.com>
29130
29131 Use newly-added Multiboot support in coreboot.
29132
29133 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29134 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29135
29136 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29137 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29138 (codestart): Store the MBI in `startup_multiboot_info' when we're
29139 being loaded using Multiboot.
29140
29141 * kern/i386/coreboot/init.c (grub_machine_init): Move
29142 grub_at_keyboard_init() call to beginning of function (useful for
29143 debugging). Call grub_machine_mmap_init() before attempting to use
29144 grub_machine_mmap_iterate().
29145 (grub_lower_mem, grub_upper_mem): Move from here ...
29146 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29147 here (new file).
29148
29149 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29150 function prototype.
29151
29152 2008-11-12 Robert Millan <rmh@aybabtu.com>
29153
29154 Fix a regression introduced by the at_keyboard.mod split. Because
29155 some terminals are default on some platforms and non-default on
29156 others, the first terminal being registered determines which is
29157 going to be default.
29158
29159 * kern/term.c (grub_term_register_input): If this is the first
29160 terminal being registered, set it as the current one.
29161 (grub_term_register_output): Likewise.
29162
29163 * term/efi/console.c (grub_console_init): Do not call
29164 grub_term_set_current_output() or grub_term_set_current_input().
29165 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29166 * term/i386/pc/console.c (grub_console_init): Likewise.
29167 (grub_console_fini): Do not call grub_term_set_current_input()
29168 (but leave grub_term_set_current_output() to restore text mode).
29169
29170 2008-11-10 Robert Millan <rmh@aybabtu.com>
29171
29172 * util/grub.d/00_header.in: Add backward compatibility check for
29173 versions of terminal.mod that don't understand `terminal_input' or
29174 `terminal_output'.
29175
29176 2008-11-09 Robert Millan <rmh@aybabtu.com>
29177
29178 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29179 `terminal_input' / `terminal_output', not `terminal'.
29180
29181 2008-11-08 Robert Millan <rmh@aybabtu.com>
29182
29183 * Makefile.in (include_DATA): Fix srcdir=. assumption.
29184 (DISTCLEANFILES): Add `build_env.mk'.
29185
29186 2008-11-08 Robert Millan <rmh@aybabtu.com>
29187
29188 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
29189 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29190 members. Update all users.
29191 * util/console.c (grub_ncurses_term): Split in ...
29192 (grub_ncurses_term_input): ... this, and ...
29193 (grub_ncurses_term_output): ... this. Update all users.
29194 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
29195
29196 2008-11-08 Robert Millan <rmh@aybabtu.com>
29197
29198 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29199 (PKGDATA): Add $(pkgdata_SRCDIR).
29200 (pkglib_BUILDDIR): New variable.
29201 (pkgdata_SRCDIR): New variable.
29202 (build_env.mk): New target.
29203 (include_DATA): New variable.
29204 (install-local): Install $(include_DATA) files in $(includedir).
29205
29206 2008-11-07 Pavel Roskin <proski@gnu.org>
29207
29208 * gendistlist.sh: Use C locale for sorting to ensure consistent
29209 output on all systems.
29210
29211 * util/grub.d/00_header.in: Remove incorrect space before
29212 "serial".
29213
29214 2008-11-07 Robert Millan <rmh@aybabtu.com>
29215
29216 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29217 per specification.
29218 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29219 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29220 (based on find_multi_boot1_header).
29221 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29222 using find_multi_boot2_header(), and abort if neither Multiboot or
29223 Multiboot headers were found.
29224
29225 2008-11-07 Robert Millan <rmh@aybabtu.com>
29226
29227 Modularize at_keyboard.mod:
29228
29229 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29230 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29231 (at_keyboard_mod_LDFLAGS): New variables.
29232
29233 Actual terminal split:
29234
29235 * include/grub/term.h (struct grub_term): Split in ...
29236 (struct grub_term_input): ... this, and ...
29237 (struct grub_term_output): ... this. Update all users.
29238 (grub_term_set_current): Split in ...
29239 (grub_term_set_current_input): ... this, and ...
29240 (grub_term_set_current_output): ... this.
29241 (grub_term_get_current): Split in ...
29242 (grub_term_get_current_input): ... this, and ...
29243 (grub_term_get_current_output): ... this.
29244 (grub_term_register): Split in ...
29245 (grub_term_register_input): ... this, and ...
29246 (grub_term_register_output): ... this.
29247 (grub_term_unregister): Split in ...
29248 (grub_term_unregister_input): ... this, and ...
29249 (grub_term_unregister_output): ... this.
29250 (grub_term_iterate): Split in ...
29251 (grub_term_iterate_input): ... this, and ...
29252 (grub_term_iterate_output): ... this.
29253
29254 * kern/term.c (grub_term_list): Split in ...
29255 (grub_term_list_input): ... this, and ...
29256 (grub_term_list_output): ... this. Update all users.
29257 (grub_cur_term): Split in ...
29258 (grub_cur_term_input): ... this, and ...
29259 (grub_cur_term_output): ... this. Update all users.
29260 (grub_term_set_current): Split in ...
29261 (grub_term_set_current_input): ... this, and ...
29262 (grub_term_set_current_output): ... this.
29263 (grub_term_get_current): Split in ...
29264 (grub_term_get_current_input): ... this, and ...
29265 (grub_term_get_current_output): ... this.
29266 (grub_term_register): Split in ...
29267 (grub_term_register_input): ... this, and ...
29268 (grub_term_register_output): ... this.
29269 (grub_term_unregister): Split in ...
29270 (grub_term_unregister_input): ... this, and ...
29271 (grub_term_unregister_output): ... this.
29272 (grub_term_iterate): Split in ...
29273 (grub_term_iterate_input): ... this, and ...
29274 (grub_term_iterate_output): ... this.
29275
29276 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29277 a check for input and one for output (and only attempt to get keys
29278 from user when input works).
29279
29280 * util/grub-probe.c (grub_term_get_current): Split in ...
29281 (grub_term_get_current_input): ... this, and ...
29282 (grub_term_get_current_output): ... this.
29283 * util/grub-fstest.c: Likewise.
29284 * util/i386/pc/grub-setup.c: Likewise.
29285 * util/grub-editenv.c: Likewise.
29286
29287 Portability adjustments:
29288
29289 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29290 `term/i386/pc/at_keyboard.c'.
29291 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29292 grub_keyboard_controller_init() (now handled by terminal .init).
29293 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29294 grub_at_keyboard_init().
29295 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29296 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29297 at_keyboard.mod via input terminal interface).
29298 * include/grub/i386/coreboot/console.h: Convert into a stub for
29299 `<grub/i386/pc/console.h>'.
29300
29301 Migrate full terminals to new API:
29302
29303 * term/efi/console.c (grub_console_term): Split into ...
29304 (grub_console_term_input): ... this, and ...
29305 (grub_console_term_output): ... this. Update all users.
29306 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29307 (grub_ofconsole_init): Split into ...
29308 (grub_ofconsole_init_input): ... this, and ...
29309 (grub_ofconsole_init_output): ... this.
29310 (grub_ofconsole_term): Split into ...
29311 (grub_ofconsole_term_input): ... this, and ...
29312 (grub_ofconsole_term_output): ... this. Update all users.
29313 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29314 (grub_serial_term_input): ... this, and ...
29315 (grub_serial_term_output): ... this. Update all users.
29316 * term/i386/pc/console.c (grub_console_term): Split into ...
29317 (grub_console_term_input): ... this, and ...
29318 (grub_console_term_output): ... this. Update all users.
29319 (grub_console_term_input): Only enable it on PC/BIOS platform.
29320 (grub_console_init): Remove grub_keyboard_controller_init() call.
29321
29322 Migrate input terminals to new API:
29323
29324 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29325 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29326 i386-specific anyway).
29327 (grub_console_checkkey): Rename to ...
29328 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29329 users.
29330 (grub_keyboard_controller_orig): New variable.
29331 (grub_console_getkey): Rename to ...
29332 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29333 users.
29334 (grub_keyboard_controller_init): Static-ize. Save original
29335 controller value so that it can be restored ...
29336 (grub_keyboard_controller_fini): ... here (new function).
29337 (grub_at_keyboard_term): New structure.
29338 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29339 functions.
29340
29341 Migrate output terminals to new API:
29342
29343 * term/i386/pc/vga.c (grub_vga_term): Change type to
29344 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29345 members. Update all users.
29346 * term/gfxterm.c (grub_video_term): Change type to
29347 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29348 members. Update all users.
29349 * include/grub/i386/pc/console.h (grub_console_checkkey)
29350 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29351 etc).
29352
29353 Migrate `terminal' command and userland tools to new API:
29354
29355 * commands/terminal.c (grub_cmd_terminal): Split into ...
29356 (grub_cmd_terminal_input): ... this, and ...
29357 (grub_cmd_terminal_output): ... this.
29358 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29359 `terminal_input' and `terminal_output'.
29360 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29361 `terminal_input' / `terminal_output' API.
29362 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29363 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29364 provided ${GRUB_TERMINAL}, convert it).
29365
29366 2008-11-04 Robert Millan <rmh@aybabtu.com>
29367
29368 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29369 for FreeBSD.
29370 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29371
29372 2008-11-03 Bean <bean123ch@gmail.com>
29373
29374 * kern/elf.c (grub_elf32_load): Revert to previous code.
29375 (grub_elf64_load): Likewise.
29376
29377 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29378
29379 2008-11-01 Robert Millan <rmh@aybabtu.com>
29380
29381 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29382 (TARGET_CPPFLAGS): Likewise.
29383 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29384
29385 2008-11-01 Carles Pina i Estany <carles@pina.cat>
29386
29387 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29388
29389 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29390
29391 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29392 addition of objects until the code is not going to be able to fail.
29393
29394 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29395
29396 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29397 (add a missing NULL check, and correct them by moving the pointer
29398 operations after the actual check).
29399
29400 2008-10-29 Robert Millan <rmh@aybabtu.com>
29401
29402 * util/i386/pc/grub-install.in: Handle empty string as output from
29403 make_system_path_relative_to_its_root().
29404
29405 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29406
29407 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29408 circular metadata worst case scenario. If the metadata is circular
29409 then copy the wrap in place.
29410 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29411 project lib/format_text/layout.h
29412 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29413
29414 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29415
29416 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
29417
29418 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29419
29420 * util/update-grub_lib.in: Mention filename in warning message.
29421
29422 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29423
29424 * NEWS: Update for rename of update-grub to grub-mkconfig.
29425
29426 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29427
29428 * util/update-grub_lib.in: Copy to ...
29429 * util/grub-mkconfig_lib.in: ... this. Update all users.
29430 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
29431 * util/update-grub.in: Rename to ...
29432 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29433 option. Add `--output' option to allow users to specify the generated
29434 configuration file. Default to stdout.
29435 (update_grub_dir): Rename to ...
29436 (grub_mkconfig_dir): ... this.
29437 (grub_cfg): Default to an empty string.
29438 * conf/common.rmk (update-grub): Rename to ...
29439 (grub-mkconfig): ... this.
29440 (update-grub_lib): Copy to ...
29441 (grub-mkconfig_lib): ... this.
29442 (update-grub_SCRIPTS): Copy to ...
29443 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29444 (update-grub_DATA): Rename to ...
29445 (grub-mkconfig_DATA): ... this.
29446
29447 2008-09-28 Robert Millan <rmh@aybabtu.com>
29448
29449 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29450 to `modified'. Add the real `created' field.
29451 (grub_iso9660_uuid): Use `modified' rather than `created' for
29452 constructing the UUID.
29453
29454 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
29455
29456 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29457 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29458
29459 2008-09-28 Bean <bean123ch@gmail.com>
29460
29461 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29462 Thanks to Christian Franke for finding this bug.
29463
29464 2008-09-25 Robert Millan <rmh@aybabtu.com>
29465
29466 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29467 instances of grub_util_get_disk_name() (see previous commit).
29468
29469 2008-09-25 Robert Millan <rmh@aybabtu.com>
29470
29471 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29472 `util/i386/get_disk_name.c'.
29473 * conf/i386-efi.rmk: Likewise.
29474 * conf/x86_64-efi.rmk: Likewise.
29475 * conf/i386-coreboot.rmk: Likewise.
29476 * conf/i386-ieee1275.rmk: Likewise.
29477 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29478 `util/ieee1275/get_disk_name.c'.
29479 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29480 * util/ieee1275/get_disk_name.c: Remove file.
29481 * util/i386/get_disk_name.c: Remove file.
29482 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29483 "hd%d" for device.map entries, rather than using
29484 grub_util_get_disk_name().
29485
29486 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29487
29488 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29489 warning.
29490 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29491
29492 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29493
29494 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29495 Changed to 0x5100.
29496 (GRUB_TERM_PPAGE): Changed to 0x4900.
29497
29498 2008-09-24 Robert Millan <rmh@aybabtu.com>
29499
29500 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29501 macros (they were i386-pc specific).
29502 * include/grub/sparc64/ieee1275/console.h: Likewise.
29503 * include/grub/efi/console.h: Likewise.
29504
29505 2008-09-22 Bean <bean123ch@gmail.com>
29506
29507 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29508 resident and in attribute list.
29509
29510 * include/grub/ntfs.h (BMP_LEN): Removed.
29511
29512 2008-09-22 Bean <bean123ch@gmail.com>
29513
29514 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
29515 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29516
29517 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29518 error occurs, as grub_disk_open will call grub_disk_close, which will
29519 call p->close (scsi).
29520
29521 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29522
29523 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29524 (AC_PREREQ): Bumped to 2.59.
29525 (AC_TRY_COMPILE): Replace obsolete macro with ...
29526 (AC_COMPILE_IFELSE): ... this.
29527 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29528 (AC_LINK_IFELSE): ... this.
29529
29530 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29531
29532 * autogen.sh: Add a call to `gendistlist.sh'.
29533
29534 2008-09-19 Christian Franke <franke@computer.org>
29535
29536 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29537 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29538 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29539 Export __enable_execute_stack() to modules.
29540 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29541 New function.
29542
29543 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29544
29545 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29546 Sort the list.
29547
29548 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29549
29550 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
29551 #include <grub/util/hostdisk.h>.
29552
29553 2008-09-08 Robert Millan <rmh@aybabtu.com>
29554
29555 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29556 segments when their filesz is zero (grub_file_read() interprets
29557 zero-size as "read until EOF", which results in memory corruption).
29558 Use `lowest_segment' rather than 0 for calculating the current
29559 segment load address.
29560
29561 2008-09-08 Robert Millan <rmh@aybabtu.com>
29562
29563 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29564 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29565 clobbered useful information.
29566
29567 2008-09-08 Robert Millan <rmh@aybabtu.com>
29568
29569 * include/grub/util/biosdisk.h: Move to ...
29570 * include/grub/util/hostdisk.h: ... here. Update all users.
29571 * util/biosdisk.c: Move to ...
29572 * util/hostdisk.c: ... here. Update all users.
29573
29574 2008-09-07 Robert Millan <rmh@aybabtu.com>
29575
29576 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29577 variables.
29578 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29579 and length can be stored directly in the `mbi->mmap_addr' and
29580 `mbi->mmap_length' struct fields.
29581
29582 2008-09-07 Robert Millan <rmh@aybabtu.com>
29583
29584 * conf/i386.rmk: New file. Provides declaration for building
29585 `cpuid.mod'.
29586 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29587 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29588 variables.
29589 Include `conf/i386.mk'.
29590 * conf/i386-efi.rmk: Likewise.
29591 * conf/x86_64-efi.rmk: Likewise.
29592 * conf/i386-coreboot.rmk: Likewise.
29593 * conf/i386-ieee1275.rmk: Likewise.
29594
29595 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29596
29597 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29598 Adds optimization support for BGR based modes.
29599
29600 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29601 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29602 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29603 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29604 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29605 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29606 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29607 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29608 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29609 (grub_video_i386_vbeblit_index_index): Likewise.
29610 (grub_video_i386_vbeblit_replace_directN): Added.
29611 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29612 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29613 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29614 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29615 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29616 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29617 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29618 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29619 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29620 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29621 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29622 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29623 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29624
29625 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29626 (grub_video_i386_vbefill_R8G8B8): Likewise.
29627 (grub_video_i386_vbefill_index): Likewise.
29628 (grub_video_i386_vbefill_direct32): Added.
29629 (grub_video_i386_vbefill_direct24): Likewise.
29630 (grub_video_i386_vbefill_direct16): Likewise.
29631 (grub_video_i386_vbefill_direct8): Likewise.
29632
29633 * include/grub/video.h (grub_video_blit_format): Removed
29634 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29635 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29636 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29637 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29638 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
29639
29640 * video/video.c (grub_video_get_blit_format): Updated to use new
29641 blit formats. Added handling for 16 bit color modes.
29642
29643 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
29644 fillers.
29645 (common_blitter): Updated to use new blitters.
29646
29647 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29648 Removed.
29649 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29650 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29651 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29652 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29653 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29654 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29655 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29656 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29657 (grub_video_i386_vbeblit_index_index): Likewise.
29658 (grub_video_i386_vbeblit_replace_directN): Added.
29659 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29660 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29661 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29662 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29663 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29664 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29665 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29666 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29667 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29668 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29669 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29670 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29671 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29672
29673 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29674 (grub_video_i386_vbefill_R8G8B8): Likewise.
29675 (grub_video_i386_vbefill_index): Likewise.
29676 (grub_video_i386_vbefill_direct32): Added.
29677 (grub_video_i386_vbefill_direct24): Likewise.
29678 (grub_video_i386_vbefill_direct16): Likewise.
29679 (grub_video_i386_vbefill_direct8): Likewise.
29680
29681 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29682 types.
29683
29684 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29685 types.
29686
29687 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29688 blitter types.
29689
29690 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29691 types.
29692
29693 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29694
29695 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29696 RAID level 1.
29697
29698 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29699
29700 * fs/iso9660.c (grub_iso9660_date): New structure.
29701 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29702 (grub_iso9660_uuid): New function.
29703
29704 2008-09-05 Bean <bean123ch@gmail.com>
29705
29706 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29707
29708 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29709 insensitive bit for names in Win32 and Win32 & DOS namespace.
29710
29711 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29712
29713 * include/grub/types.h (LONG_MAX): Likewise.
29714
29715 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29716
29717 * util/getroot.c: Include <config.h>.
29718 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29719 add support for /dev/md/N devices and handle LVM double dash escaping.
29720
29721 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29722
29723 * config.guess: Update to latest version from config git.
29724 * config.sub: Likewise.
29725
29726 2008-09-03 Robert Millan <rmh@aybabtu.com>
29727
29728 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29729 `disk->total_sectors'.
29730
29731 2008-09-01 Colin D Bennett <colin@gibibit.com>
29732
29733 * include/grub/normal.h: Fixed incorrect comment for
29734 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29735
29736 2008-09-01 Colin D Bennett <colin@gibibit.com>
29737
29738 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29739 values with defines.
29740
29741 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29742 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29743 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29744 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29745 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29746 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29747 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29748 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29749 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29750 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29751 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29752 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29753 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29754 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29755 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29756 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29757 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29758 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29759 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29760
29761 2008-08-31 Robert Millan <rmh@aybabtu.com>
29762
29763 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29764 declaration.
29765 (grub_multiboot): Fix a few warnings.
29766
29767 2008-08-31 Robert Millan <rmh@aybabtu.com>
29768
29769 * loader/i386/pc/multiboot.c: Update comment not to say that
29770 boot_device support is unimplemented.
29771
29772 2008-08-31 Robert Millan <rmh@aybabtu.com>
29773
29774 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29775 or memory map support are unimplemented.
29776
29777 2008-08-31 Colin D Bennett <colin@gibibit.com>
29778
29779 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29780
29781 2008-08-31 Colin D Bennett <colin@gibibit.com>
29782
29783 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29784 total video memory in 'vbeinfo' output; show color format details for
29785 each video mode.
29786
29787 2008-08-30 Pavel Roskin <proski@gnu.org>
29788
29789 * util/genmoddep.c: Remove for real this time.
29790 * DISTLIST: Remove util/genmoddep.c.
29791
29792 2008-08-30 Robert Millan <rmh@aybabtu.com>
29793
29794 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29795 as required by Multiboot spec (it was already 4-byte aligned, but
29796 only by chance).
29797
29798 2008-08-29 Pavel Roskin <proski@gnu.org>
29799
29800 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29801 * kern/powerpc/ieee1275/startup.S: ... this.
29802 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29803 * DISTLIST: Likewise.
29804
29805 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29806 grub/cpu/kernel.h. Add start label for consistency with other
29807 platforms. Add grub_prefix immediately after start. Add jump
29808 to the code after grub_prefix.
29809 * include/grub/powerpc/kernel.h: Provide valid values for
29810 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29811
29812 2008-08-29 Bean <bean123ch@gmail.com>
29813
29814 * configure.ac: Change host_os to cygwin for mingw.
29815 (asprintf): New check for function.
29816
29817 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29818 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29819
29820 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
29821 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
29822 sync, sleep and grub_util_get_disk_size for mingw.
29823
29824 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29825 to get size in mingw.
29826 (open_device): Use flag O_BINARY if it's defined.
29827 (find_root_device): Add dummy code for mingw.
29828
29829 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29830 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29831 (get_scsi_disk_name): Return 0 for mingw.
29832
29833 * util/hostfs.c: #include <grub/util/misc.h>.
29834 (grub_hostfs_open): Use "rb" flag to open file, use
29835 grub_util_get_disk_size to get disk size for mingw.
29836
29837 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29838 (asprintf): New function if HAVE_ASPRINTF is not set.
29839 (sync): New function for mingw.
29840 (sleep): Likewise.
29841 (grub_util_get_disk_size): Likewise.
29842
29843 2008-08-28 Pavel Roskin <proski@gnu.org>
29844
29845 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29846 kern/time.c.
29847
29848 2008-08-28 Robert Millan <rmh@aybabtu.com>
29849
29850 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29851
29852 2008-08-28 Robert Millan <rmh@aybabtu.com>
29853
29854 Change find_grub_drive() syntax so it doesn't prevent it from
29855 detecting NULL names as errors.
29856
29857 * util/biosdisk.c (find_grub_drive): Move free slot search code
29858 from here ...
29859 (find_free_slot): ... to here.
29860 (read_device_map): Use find_free_slot() to search for free slots.
29861
29862 2008-08-27 Marco Gerards <marco@gnu.org>
29863
29864 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29865 (scsi_mod_SOURCES): New variable.
29866 (scsi_mod_CFLAGS): Likewise
29867 (scsi_mod_LDFLAGS): Likewise.
29868
29869 * disk/scsi.c: New file.
29870
29871 * include/grub/scsi.h: Likewise.
29872
29873 * include/grub/scsicmd.h: Likewise.
29874
29875 * disk/ata.c: Include <grub/scsi.h>.
29876 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29877 instead.
29878 (grub_ata_iterate): Skip ATAPI devices.
29879 (grub_ata_open): Only handle ATAPI devices.
29880 (struct grub_atapi_read): Removed.
29881 (grub_atapi_readsector): Likewise.
29882 (grub_ata_read): No longer handle ATAPI devices.
29883 (grub_ata_write): Likewise.
29884 (grub_atapi_iterate): New function.
29885 (grub_atapi_read): Likewise.
29886 (grub_atapi_write): Likewise.
29887 (grub_atapi_open): Likewise.
29888 (grub_atapi_close): Likewise.
29889 (grub_atapi_dev): New variable.
29890 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29891 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29892
29893 * include/grub/disk.h (enum grub_disk_dev_id): Add
29894 `GRUB_DISK_DEVICE_SCSI_ID'.
29895
29896 2008-08-26 Robert Millan <rmh@aybabtu.com>
29897
29898 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29899 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29900 descriptive.
29901
29902 2008-08-23 Bean <bean123ch@gmail.com>
29903
29904 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29905 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29906 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29907 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29908 dm_nv.mod.
29909 (raid5rec_mod_SOURCES): New macro.
29910 (raid5rec_mod_CFLAGS): Likewise.
29911 (raid5rec_mod_LDFLAGS): Likewise.
29912 (raid6rec_mod_SOURCES): Likewise.
29913 (raid6rec_mod_CFLAGS): Likewise.
29914 (raid6rec_mod_LDFLAGS): Likewise.
29915 (mdraid_mod_SOURCES): Likewise.
29916 (mdraid_mod_CFLAGS): Likewise.
29917 (mdraid_mod_LDFLAGS): Likewise.
29918 (dm_nv_mod_SOURCES): Likewise.
29919 (dm_nv_mod_CFLAGS): Likewise.
29920 (dm_nv_mod_LDFLAGS): Likewise.
29921
29922 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29923 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29924 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29925
29926 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29927 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29928
29929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29930
29931 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29932
29933 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29934
29935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29936
29937 * disk/raid5_recover.c: New file.
29938
29939 * disk/raid6_recover.c: Likewise.
29940
29941 * disk/mdraid_linux.c: Likewise.
29942
29943 * disk/dmraid_nvidia.c: Likewise.
29944
29945 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29946 ULONG_MAX.
29947
29948 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29949 calculate the size of raid device.
29950 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29951 different layout of raid5.
29952 (grub_raid_scan_device): Remove code specific to mdraid.
29953 (grub_raid_list): New variable.
29954 (free_array): New function.
29955 (grub_raid_register): Likewise.
29956 (grub_raid_unregister): Likewise.
29957 (grub_raid_rescan): Likewise.
29958 (GRUB_MOD_INIT): Don't iterate device here.
29959 (GRUB_MOD_FINI): Use free_array to release resource.
29960
29961 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29962 (grub_raid5_recover_func_t): New function variable type.
29963 (grub_raid6_recover_func_t): Likewise.
29964 (grub_raid5_recover_func): New variable.
29965 (grub_raid6_recover_func): Likewise.
29966 (grub_raid_register): New function.
29967 (grub_raid_unregister): Likewise.
29968 (grub_raid_rescan): Likewise.
29969 (grub_raid_block_xor): Likewise.
29970
29971 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29972 (CMD_CRC): New macro.
29973 (part): Removed.
29974 (read_file): Handle device as well as file.
29975 (cmd_crc): New function.
29976 (fstest): Handle multiple disks.
29977 (options): Remove part, raw and long, add root and diskcount.
29978 (usage): Add crc, remove -p, -r, -l, add -r and -c.
29979 (main): Find the first non option entry and ignore subsequent options,
29980 add handling for the new options, support multiple disks.
29981
29982 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
29983
29984 2008-08-23 Bean <bean123ch@gmail.com>
29985
29986 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
29987
29988 * genfslist.sh: Ignore kernel.mod.
29989
29990 * genpartmaplist.sh: Likewise.
29991
29992 2008-08-23 Robert Millan <rmh@aybabtu.com>
29993
29994 * util/getroot.c (find_root_device): Skip anything that starts with
29995 a dot, not just directories. This avoids things like /dev/.tmp.md0.
29996
29997 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
29998
29999 * util/update-grub.in (GRUB_GFXMODE): Export variable.
30000 * util/grub.d/00_header.in: Allow the administrator to change default
30001 gfxmode via ${GRUB_GFXMODE}.
30002
30003 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
30004
30005 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
30006
30007 2008-08-21 Robert Millan <rmh@aybabtu.com>
30008
30009 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
30010 loader.
30011 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
30012 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
30013
30014 2008-08-20 Carles Pina i Estany <carles@pina.cat>
30015
30016 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
30017 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
30018
30019 2008-08-19 Robert Millan <rmh@aybabtu.com>
30020
30021 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
30022 (struct grub_virtual_screen): Remove `cursor_color'.
30023 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
30024 initialization.
30025 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
30026
30027 2008-08-18 Robert Millan <rmh@aybabtu.com>
30028
30029 Unify (identical) linux_normal.c files.
30030 * loader/i386/efi/linux_normal.c: Move from here ...
30031 * loader/linux_normal.c: ... to here. Update all users.
30032 * loader/i386/pc/linux_normal.c: Delete. Update all users.
30033 * loader/i386/ieee1275/linux_normal.c: Likewise.
30034
30035 2008-08-18 Robert Millan <rmh@aybabtu.com>
30036
30037 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
30038 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
30039 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
30040 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
30041 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
30042 New macros.
30043 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
30044 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
30045 (GRUB_LINUX_CL_END_OFFSET): ... to here.
30046 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
30047 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
30048 (GRUB_EFI_CL_END_OFFSET): Rename to ...
30049 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
30050 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
30051 Initialize `params->video_cursor_x' and `params->video_cursor_y'
30052 portably using grub_getxy().
30053 Replace `-EFI' with `-bzImage' in boot message.
30054
30055 2008-08-17 Robert Millan <rmh@aybabtu.com>
30056
30057 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
30058
30059 2008-08-17 Robert Millan <rmh@aybabtu.com>
30060
30061 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
30062
30063 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
30064 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
30065 (grub_machine_mmap_iterate): New function declaration.
30066 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
30067 structure.
30068 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
30069 macros.
30070
30071 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30072 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30073 Move e820 parsing from here ...
30074 * kern/i386/pc/mmap.c: New file.
30075 (grub_machine_mmap_iterate): ... to here.
30076
30077 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30078 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30079 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30080 (grub_available_iterate): Redeclare to return `void', and redeclare
30081 its hook to use grub_uint64_t as addr and size parameters, and rename
30082 to ...
30083 (grub_machine_mmap_iterate): ... this. Update all users.
30084
30085 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30086 to make it more readable. Rename to ...
30087 (grub_machine_mmap_iterate): ... this.
30088
30089 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30090 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30091 (grub_multiboot): Allocate an extra region after the payload, and fill
30092 it with a Multiboot memory map. Adjust a.out loader to calculate size
30093 with the extra space.
30094 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30095 with the extra space.
30096
30097 2008-08-17 Carles Pina i Estany <carles@pina.cat>
30098
30099 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
30100
30101 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
30102
30103 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30104 mdate-sh to the list `find' searches for.
30105 * DISTLIST: Regenerated.
30106
30107 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
30108
30109 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30110 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
30111 genmoddep.awk, gensymlist.sh.in.
30112 (DISTDIRS): Add bus, docs, hook, lib.
30113 * DISTLIST: Regenerated.
30114 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
30115
30116 2008-08-16 Robert Millan <rmh@aybabtu.com>
30117
30118 * disk/raid.c (grub_raid_init): Handle/report errors set by
30119 grub_device_iterate().
30120 * disk/lvm.c (grub_lvm_init): Likewise.
30121
30122 2008-08-15 Bean <bean123ch@gmail.com>
30123
30124 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30125 and datehook.mod.
30126 (datetime_mod_SOURCES): New macro.
30127 (datetime_mod_CFLAGS): Likewise.
30128 (datetime_mod_LDFLAGS): Likewise.
30129 (date_mod_SOURCES): Likewise.
30130 (date_mod_CFLAGS): Likewise.
30131 (date_mod_LDFLAGS): Likewise.
30132 (datehook_mod_SOURCES): Likewise.
30133 (datehook_mod_CFLAGS): Likewise.
30134 (datehook_mod_LDFLAGS): Likewise.
30135
30136 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30137 and datehook.mod.
30138 (datetime_mod_SOURCES): New macro.
30139 (datetime_mod_CFLAGS): Likewise.
30140 (datetime_mod_LDFLAGS): Likewise.
30141 (date_mod_SOURCES): Likewise.
30142 (date_mod_CFLAGS): Likewise.
30143 (date_mod_LDFLAGS): Likewise.
30144 (datehook_mod_SOURCES): Likewise.
30145 (datehook_mod_CFLAGS): Likewise.
30146 (datehook_mod_LDFLAGS): Likewise.
30147
30148 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30149 and datehook.mod.
30150 (datetime_mod_SOURCES): New macro.
30151 (datetime_mod_CFLAGS): Likewise.
30152 (datetime_mod_LDFLAGS): Likewise.
30153 (date_mod_SOURCES): Likewise.
30154 (date_mod_CFLAGS): Likewise.
30155 (date_mod_LDFLAGS): Likewise.
30156 (datehook_mod_SOURCES): Likewise.
30157 (datehook_mod_CFLAGS): Likewise.
30158 (datehook_mod_LDFLAGS): Likewise.
30159
30160 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30161 and datehook.mod.
30162 (datetime_mod_SOURCES): New macro.
30163 (datetime_mod_CFLAGS): Likewise.
30164 (datetime_mod_LDFLAGS): Likewise.
30165 (date_mod_SOURCES): Likewise.
30166 (date_mod_CFLAGS): Likewise.
30167 (date_mod_LDFLAGS): Likewise.
30168 (datehook_mod_SOURCES): Likewise.
30169 (datehook_mod_CFLAGS): Likewise.
30170 (datehook_mod_LDFLAGS): Likewise.
30171
30172 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30173 and datehook.mod.
30174 (datetime_mod_SOURCES): New macro.
30175 (datetime_mod_CFLAGS): Likewise.
30176 (datetime_mod_LDFLAGS): Likewise.
30177 (date_mod_SOURCES): Likewise.
30178 (date_mod_CFLAGS): Likewise.
30179 (date_mod_LDFLAGS): Likewise.
30180 (datehook_mod_SOURCES): Likewise.
30181 (datehook_mod_CFLAGS): Likewise.
30182 (datehook_mod_LDFLAGS): Likewise.
30183
30184 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30185
30186 * commands/date.c: New file.
30187
30188 * hook/datehook.c: Likewise.
30189
30190 * include/grub/lib/datetime.h: Likewise.
30191
30192 * include/grub/i386/cmos.h: Likewise.
30193
30194 * lib/datetime.c: Likewise.
30195
30196 * lib/i386/datetime.c: Likewise.
30197
30198 * lib/efi/datetime.c: Likewise.
30199
30200 2008-08-14 Robert Millan <rmh@aybabtu.com>
30201
30202 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30203 (grub_mkelfimage_SOURCES): New variable.
30204 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30205
30206 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30207 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30208 * conf/powerpc-ieee1275.rmk: Likewise.
30209 * conf/i386-ieee1275.rmk: Likewise.
30210
30211 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30212 * kern/i386/coreboot/init.c: Likewise.
30213
30214 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30215 with `<grub/cpu/kernel.h>'.
30216 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30217 to ...
30218 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30219 * kern/i386/coreboot/startup.S: Likewise.
30220
30221 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30222 (GRUB_MOD_GAP): Remove.
30223 * include/grub/powerpc/kernel.h: New file.
30224 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30225 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30226 * include/grub/i386/kernel.h: New file.
30227 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30228 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30229 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30230
30231 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30232 `grub-mkelfimage'.
30233 Use --directory when invoking grub_mkimage.
30234
30235 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30236 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30237 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30238 and GRUB_KERNEL_CPU_PREFIX.
30239
30240 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
30241
30242 * include/grub/err.h (grub_err_printf): New function prototype.
30243 * util/misc.c (grub_err_printf): New function.
30244 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30245 grub_printf.
30246 * kern/err.c (grub_print_error): Use grub_err_printf.
30247
30248 2008-08-13 Robert Millan <rmh@aybabtu.com>
30249
30250 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30251
30252 2008-08-13 Robert Millan <rmh@aybabtu.com>
30253
30254 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30255 boot entry.
30256
30257 2008-08-12 Robert Millan <rmh@aybabtu.com>
30258
30259 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30260 of the relocation code from here ...
30261 (grub_multiboot): ... to here.
30262 (forward_relocator, backward_relocator): Move from here ...
30263 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30264 (grub_multiboot_backward_relocator): ... to here.
30265 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30266 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30267 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30268 (grub_multiboot_forward_relocator_end)
30269 (grub_multiboot_backward_relocator)
30270 (grub_multiboot_backward_relocator_end): New variables.
30271
30272 2008-08-12 Bean <bean123ch@gmail.com>
30273
30274 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30275
30276 2008-08-11 Robert Millan <rmh@aybabtu.com>
30277
30278 * kern/i386/linuxbios/startup.S: Move from here ...
30279 * kern/i386/coreboot/startup.S: ... to here.
30280
30281 * kern/i386/linuxbios/init.c: Move from here ...
30282 * kern/i386/coreboot/init.c: ... to here.
30283
30284 * kern/i386/linuxbios/table.c: Move from here ...
30285 * kern/i386/coreboot/mmap.c: ... to here.
30286
30287 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30288
30289 2008-08-11 Robert Millan <rmh@aybabtu.com>
30290
30291 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30292 errors. Leave it to the upper layer to handle them.
30293
30294 2008-08-09 Christian Franke <franke@computer.org>
30295
30296 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30297 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30298 Install `grub.d/10_windows' only on Cygwin.
30299 * configure.ac: Add subst of `target_os'.
30300 Check `target_os' also before setting TARGET_OBJ2ELF.
30301 Add `--enable-grub-pe2elf'.
30302
30303 2008-08-08 Robert Millan <rmh@aybabtu.com>
30304
30305 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30306 (grub_last_time): Change type to grub_uint64_t.
30307 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30308 (grub_disk_close): Likewise.
30309
30310 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30311 (run_menu): Migrate code from to using grub_get_time_ms().
30312
30313 * util/misc.c (grub_get_time_ms): New function.
30314
30315 2008-08-08 Marco Gerards <marco@gnu.org>
30316
30317 * disk/ata.c (grub_ata_regget): Change return type to
30318 `grub_uint8_t'.
30319 (grub_ata_regget2): Likewise.
30320 (grub_ata_wait_status): New function.
30321 (grub_ata_wait_busy): Removed function, updated all users to use
30322 `grub_ata_wait_status'.
30323 (grub_ata_wait_drq): Likewise.
30324 (grub_ata_cmd): New function.
30325 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30326 error handling.
30327 (grub_ata_pio_write): Add error handling.
30328 (grub_atapi_identify): Likewise.
30329 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30330 handling.
30331 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30332 handling. Actually use the detected registers. Reorder the
30333 detection logic such that it is easier to read.
30334 (grub_ata_pciinit): Do not assign the same ID to each controller.
30335 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30336 handling.
30337 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30338
30339 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30340
30341 2008-08-08 Marco Gerards <marco@gnu.org>
30342
30343 * NEWS: Update.
30344
30345 2008-08-07 Bean <bean123ch@gmail.com>
30346
30347 * include/grub/x86_64/pci.h: New file.
30348
30349 2008-08-07 Christian Franke <franke@computer.org>
30350
30351 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30352 (TIMER2_GATE): Likewise.
30353 (grub_pit_wait): Add enable/disable of the timer2 gate
30354 bit of port 0x61. This fixes a possible infinite loop.
30355
30356 2008-08-07 Bean <bean123ch@gmail.com>
30357
30358 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30359 kern/i386/tsc.c and kern/i386/pit.c.
30360
30361 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30362 x86_64 platform.
30363
30364 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30365 <grub/i386/tsc.h>.
30366
30367 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30368
30369 2008-08-07 Bean <bean123ch@gmail.com>
30370
30371 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30372
30373 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30374
30375 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30376 multiple inclusion. Add #include <grub/types.h>.
30377
30378 2008-08-06 Christian Franke <franke@computer.org>
30379
30380 * conf/common.rmk: Build and install `10_windows'.
30381 * util/grub.d/10_windows.in: New script.
30382
30383 2008-08-06 Pavel Roskin <proski@gnu.org>
30384
30385 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30386
30387 2008-08-06 Robert Millan <rmh@aybabtu.com>
30388
30389 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30390 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30391
30392 2008-08-06 Bean <bean123ch@gmail.com>
30393
30394 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30395 (grub_pxefs_fs_int): Remove dummy definition.
30396 (grub_pxefs_open): Use data->block_size to store the current block
30397 size setting.
30398 (grub_pxefs_read): Use block size stored in data->block_size. As the
30399 value of grub_pxe_blksize can be changed after the file is opened.
30400
30401 2008-08-06 Bean <bean123ch@gmail.com>
30402
30403 * fs/i386/pc/pxe.c (curr_file): new variable.
30404 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30405 require the dummy internal file system anymore.
30406 (grub_pxefs_read): Removed.
30407 (grub_pxefs_close): Likewise.
30408 (grub_pxefs_fs_int): Likewise.
30409 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30410 connection when we switch file.
30411 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30412
30413 2008-08-06 Robert Millan <rmh@aybabtu.com>
30414
30415 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30416 `halt.mod'.
30417 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30418 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30419
30420 * kern/i386/halt.c: New file.
30421 * kern/i386/reboot.c: Likewise.
30422 * include/grub/i386/reboot.h: Likewise.
30423 * include/grub/i386/halt.h: Likewise.
30424
30425 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30426 Include `<grub/cpu/halt.h>'.
30427 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30428 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30429
30430 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30431 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30432 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30433 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30434 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30435 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30436 from here ...
30437 * include/grub/i386/at_keyboard.h: ... to here.
30438
30439 2008-08-05 Robert Millan <rmh@aybabtu.com>
30440
30441 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30442 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30443 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30444 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30445 `kern/generic/millisleep.c'.
30446
30447 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30448 instead of grub_get_rtc().
30449 (grub_tsc_init): Initialize `tsc_boot_time'.
30450
30451 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30452 (grub_machine_init): Use grub_tsc_init() rather than
30453 installing an RTC-based handler via grub_install_get_time_ms().
30454
30455 * kern/i386/pit.c: New file.
30456 * include/grub/i386/pit.h: Likewise.
30457
30458 2008-08-05 Bean <bean123ch@gmail.com>
30459
30460 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30461
30462 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30463 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30464 (pxe_mod_SOURCES): New macro.
30465 (pxe_mod_CFLAGS): Likewise.
30466 (pxe_mod_LDFLAGS): Likewise.
30467 (pxecmd_mod_SOURCES): Likewise.
30468 (pxecmd_mod_CFLAGS): Likewise.
30469 (pxecmd_mod_LDFLAGS): Likewise.
30470
30471 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30472 (grub_pxe_call): Likewise.
30473
30474 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30475
30476 * commands/i386/pc/pxecmd.c: New file.
30477
30478 * fs/i386/pc/pxe.c: Likewise.
30479
30480 * include/grub/i386/pc/pxe.h: Likewise.
30481
30482 2008-08-05 Bean <bean123ch@gmail.com>
30483
30484 * util/console.c (grub_console_cur_color): New variable.
30485 (grub_console_standard_color): Likewise.
30486 (grub_console_normal_color): Likewise.
30487 (grub_console_highlight_color): Likewise.
30488 (color_map): Likewise.
30489 (use_color): Likewise.
30490 (NUM_COLORS): New macro.
30491 (grub_ncurses_setcolorstate): Handle color properly.
30492 (grub_ncurses_setcolor): Don't change color here, just remember the
30493 settings, color will be set in grub_ncurses_setcolorstate.
30494 (grub_ncurses_getcolor): New function.
30495 (grub_ncurses_init): Initialize color pairs.
30496 (grub_ncurses_term): New member grub_ncurses_getcolor.
30497
30498 2008-08-05 Colin D Bennett <colin@gibibit.com>
30499
30500 High resolution timer support. Implemented for x86 CPUs using TSC.
30501 Extracted generic grub_millisleep() so it's linked in only as needed.
30502 This requires a Pentium compatible CPU; if the RDTSC instruction is
30503 not supported, then it falls back on the generic grub_get_time_ms()
30504 implementation that uses the machine's RTC.
30505
30506 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30507 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30508 `kern/generic/millisleep.c'.
30509
30510 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30511 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30512
30513 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30514 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30515
30516 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30517
30518 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30519 `kern/generic/millisleep.c'.
30520
30521 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30522
30523 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30524
30525 * kern/generic/rtc_get_time_ms.c: New file.
30526
30527 * kern/generic/millisleep.c: New file.
30528
30529 * kern/misc.c: Don't include
30530 <kern/time.h> anymore.
30531 (grub_millisleep_generic): Removed.
30532
30533 * commands/sleep.c (grub_interruptible_millisleep): Uses
30534 grub_get_time_ms() instead of grub_get_rtc().
30535
30536 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30537 function.
30538 (grub_cpu_is_cpuid_supported): New inline function.
30539 (grub_cpu_is_tsc_supported): New inline function.
30540 (grub_tsc_init): New function prototype.
30541 (grub_tsc_get_time_ms): New function prototype.
30542
30543 * kern/i386/tsc.c (grub_get_time_ms): New file.
30544
30545 * include/grub/time.h: Include <grub/types.h.
30546 (grub_millisleep_generic): Removed.
30547 (grub_get_time_ms): New prototype.
30548 (grub_install_get_time_ms): New prototype.
30549 (grub_rtc_get_time_ms): New prototype.
30550
30551 * kern/time.c (grub_get_time_ms): New function.
30552 (grub_install_get_time_ms): New function.
30553
30554 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30555 <grub/time.h> anymore.
30556 (grub_millisleep): Removed.
30557 (grub_machine_init): Call grub_tsc_init.
30558
30559 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30560 get_time_ms() implementation.
30561
30562 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30563 (ieee1275_get_time_ms): New function.
30564 (grub_machine_init): Install get_time_ms() implementation.
30565
30566 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30567 (grub_machine_init): Call grub_tsc_init().
30568 (grub_millisleep): Removed.
30569
30570 * kern/ieee1275/init.c (grub_millisleep): Removed.
30571 (grub_machine_init): Install ieee1275_get_time_ms()
30572 implementation.
30573 (ieee1275_get_time_ms): New function.
30574 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30575 real work.
30576
30577 2008-08-05 Marco Gerards <marco@gnu.org>
30578
30579 * disk/ata.c: Include <grub/pci.h>.
30580 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30581 (grub_ata_initialize): Rewritten.
30582 (grub_ata_device_initialize): New function.
30583
30584 2008-08-04 Pavel Roskin <proski@gnu.org>
30585
30586 * kern/main.c: Include grub/mm.h.
30587
30588 2008-08-04 Robert Millan <rmh@aybabtu.com>
30589
30590 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30591 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30592 corruption problem).
30593
30594 2008-08-04 Robert Millan <rmh@aybabtu.com>
30595
30596 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30597 warnings introduced in my last commit.
30598
30599 2008-08-03 Robert Millan <rmh@aybabtu.com>
30600
30601 Make PCI available on all i386 architectures.
30602
30603 * include/grub/i386/pc/pci.h: Move from here ...
30604 * include/grub/i386/pci.h: ... to here.
30605
30606 * include/grub/i386/pc/pci.h: Remove.
30607 * include/grub/i386/efi/pci.h: Remove.
30608 * include/grub/x86_64/efi/pci.h: Remove.
30609
30610 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30611 `<grub/cpu/pci.h>'.
30612
30613 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30614 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30615 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30616
30617 * conf/i386-ieee1275.rmk: Likewise.
30618
30619 2008-08-03 Robert Millan <rmh@aybabtu.com>
30620
30621 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30622 (grub_console_setcursor): Make it possible to set cursor off.
30623
30624 2008-08-03 Robert Millan <rmh@aybabtu.com>
30625
30626 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30627 of modules instead of assuming which platform provides what.
30628 * util/update-grub.in: Likewise.
30629
30630 2008-08-03 Robert Millan <rmh@aybabtu.com>
30631
30632 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30633 instead of `grub_install_dos_part' to determine whether a drive needs
30634 to be prepended to prefix (`grub_install_dos_part' is not reliable,
30635 because it can be overridden when loading GRUB via Multiboot).
30636
30637 2008-08-02 Robert Millan <rmh@aybabtu.com>
30638
30639 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30640
30641 2008-08-02 Robert Millan <rmh@aybabtu.com>
30642
30643 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30644 of informational grub_dprintf() calls.
30645
30646 2008-08-02 Robert Millan <rmh@aybabtu.com>
30647
30648 * disk/memdisk.c (memdisk_size): Don't initialize.
30649 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30650
30651 * include/grub/i386/pc/kernel.h
30652 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30653 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30654 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30655 (grub_arch_memdisk_size): Remove.
30656
30657 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30658 field (was only used to transfer a constant). Add `type' field to
30659 support multiple module types.
30660 (grub_module_iterate): New function.
30661
30662 * kern/device.c (grub_device_open): Do not hide error messages
30663 when grub_disk_open() fails. Use grub_print_error() instead.
30664
30665 * kern/i386/pc/init.c (grub_arch_modules_addr)
30666 (grub_arch_memdisk_size): Remove functions.
30667 (grub_arch_modules_addr): Return the module address in high memory
30668 (now that it isn't copied anymore).
30669
30670 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30671 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30672 decompression routine (grub_total_module_size already includes that
30673 now). Don't copy modules back to low memory.
30674
30675 * kern/main.c: Include `<grub/mm.h>'.
30676 (grub_load_modules): Split out (and use) ...
30677 (grub_module_iterate): ... this function, which iterates through
30678 module objects and runs a hook.
30679 Comment out grub_mm_init_region() call, as it would cause non-ELF
30680 modules to be overwritten.
30681
30682 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30683 the memdisk image in its own region, make it part of the module list.
30684 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30685 (main): Parse --memdisk|-m option, and pass user-provided path as
30686 parameter to generate_image().
30687 (add_segments): Pass `memdisk_path' down to load_modules().
30688 (load_modules): Embed memdisk image in module section when requested.
30689 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30690 `header.type' instead of `header.offset'.
30691
30692 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30693 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30694 (memdisk_mod_LDFLAGS): New variables.
30695 * conf/i386-coreboot.rmk: Likewise.
30696 * conf/i386-ieee1275.rmk: Likewise.
30697
30698 2008-08-02 Robert Millan <rmh@aybabtu.com>
30699
30700 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30701 (backward_relocator): New variables. Used to allocate and relocate
30702 the payload, respectively.
30703 (grub_multiboot_load_elf32): Load into heap instead of requested
30704 address, install the appropriate relocator code in each bound of
30705 the payload, and set the entry point such that
30706 grub_multiboot_real_boot() will jump to one of them.
30707
30708 * kern/i386/loader.S (grub_multiboot_payload_size)
30709 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30710 (grub_multiboot_payload_entry_offset): New variables.
30711 (grub_multiboot_real_boot): Set cpu context to what the relocator
30712 expects, and jump to the relocator instead of the payload.
30713
30714 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30715 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30716 (grub_multiboot_payload_entry_offset): Export.
30717
30718 2008-08-01 Bean <bean123ch@gmail.com>
30719
30720 * normal/menu_entry.c (editor_getline): Don't return the original
30721 string as result, as it will be released by lexer once it has done
30722 using it.
30723
30724 2008-08-01 Robert Millan <rmh@aybabtu.com>
30725
30726 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30727 within menuentries, not before them.
30728 util/grub.d/10_hurd.in: Likewise.
30729
30730 2008-08-01 Bean <bean123ch@gmail.com>
30731
30732 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30733 (bufio_mod_SOURCES): New macro.
30734 (bufio_mod_CFLAGS): Likewise.
30735 (bufio_mod_LDFLAGS): Likewise.
30736
30737 * include/grub/bufio.h: New file.
30738
30739 * io/bufio.c: Likewise.
30740
30741 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30742 (grub_video_reader_png): Use grub_buffile_open to open file.
30743
30744 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30745 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30746
30747 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30748 (grub_video_reader_tga): Use grub_buffile_open to open file.
30749
30750 * font/manager.c: Include <grub/bufio.h>.
30751 (add_font): Use grub_buffile_open to open file.
30752
30753 2008-07-31 Robert Millan <rmh@aybabtu.com>
30754
30755 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30756 ELF segments, use a macro for arbitrarily accessing any of them instead
30757 of preparing a pointer that allows access to one at a time.
30758 (grub_multiboot_load_elf64): Likewise.
30759
30760 2008-07-31 Bean <bean123ch@gmail.com>
30761
30762 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30763 GRUB_KERNEL_MACHINE_DATA_END.
30764
30765 2008-07-30 Robert Millan <rmh@aybabtu.com>
30766
30767 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30768 Increase from 0x50 to 0x60.
30769 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30770 use UUIDs to identify the root drive for them. If that's not
30771 possible, abort.
30772 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30773 check, for cross-disk installs.
30774
30775 2008-07-30 Robert Millan <rmh@aybabtu.com>
30776
30777 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30778 is non-empty, use it to set the `prefix' environment variable instead
30779 of the usual approach.
30780 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30781 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30782 environment variable instead of dummy make_install_device().
30783
30784 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30785 (start): Insert a data section, with `grub_prefix' variable.
30786 * kern/i386/linuxbios/startup.S: Likewise.
30787
30788 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30789 New variable reference.
30790 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30791 New macro. Defines offset of `grub_prefix' within startup.S (relative
30792 to `start').
30793 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30794 section within startup.S (relative to `start').
30795 * include/grub/i386/coreboot/kernel.h: Likewise.
30796
30797 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30798 Overwrite grub_prefix with its contents, at the beginning of the
30799 first segment.
30800 (main): Understand -p|--prefix.
30801
30802 2008-07-30 Robert Millan <rmh@aybabtu.com>
30803
30804 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30805
30806 2008-07-30 Robert Millan <rmh@aybabtu.com>
30807
30808 * term/i386/pc/vga_text.c (grub_console_cls): Use
30809 grub_console_gotoxy() to go back to beginning of the screen.
30810 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30811
30812 2008-07-29 Christian Franke <franke@computer.org>
30813
30814 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30815 Add conversion of emulated mount points on Cygwin.
30816
30817 2008-07-29 Christian Franke <franke@computer.org>
30818
30819 * util/update-grub.in: Add a check for admin
30820 group on Cygwin.
30821 Remove old `grub.cfg.new' before creation.
30822 Add `-f' to `mv' to handle the different filesystem
30823 semantics of Windows.
30824
30825 2008-07-29 Bean <bean123ch@gmail.com>
30826
30827 * normal/main.c (get_line): Fix buffer overflow bug.
30828
30829 2008-07-28 Robert Millan <rmh@aybabtu.com>
30830
30831 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30832 (struct grub_apple_header): New struct. Describes the layout of
30833 the partmap header.
30834 (apple_partition_map_iterate): Check the header magic as well as the
30835 partition magic (which was already being checked).
30836
30837 2008-07-28 Pavel Roskin <proski@gnu.org>
30838
30839 * genmk.rb: Add a warning to the beginning of the output that
30840 it's a generated file and should not be edited.
30841
30842 2008-07-28 Robert Millan <rmh@aybabtu.com>
30843
30844 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30845 with the same number are found, just use issue a warning with
30846 grub_dprintf(), as this error has been reported to be non-fatal.
30847
30848 2008-07-27 Robert Millan <rmh@aybabtu.com>
30849
30850 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30851 information.
30852
30853 2008-07-27 Bean <bean123ch@gmail.com>
30854
30855 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30856 (grub_fat_find_dir): Ignore case when comparing filename.
30857
30858 2008-07-27 Bean <bean123ch@gmail.com>
30859
30860 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30861 smallino, as it's more descriptive, and i8count can be confused with
30862 the other field count.
30863 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30864 inode type.
30865
30866 2008-07-27 Bean <bean123ch@gmail.com>
30867
30868 * commands/crc.c: New file.
30869
30870 * lib/crc.c: Likewise.
30871
30872 * include/grub/lib/crc.h: Likewise.
30873
30874 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30875
30876 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30877 (hexdump): Move this function to ...
30878
30879 * lib/hexdump.c: ... here.
30880
30881 * include/grub/hexdump.h: Renamed to ...
30882
30883 * include/grub/lib/hexdump.h: ... this.
30884
30885 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30886
30887 * util/grub-editenv.c: Likewise.
30888
30889 * include/envblk.h: Renamed to ...
30890
30891 * include/lib/envblk.h: ... this.
30892
30893 * util/envblk.c: Renamed to ...
30894
30895 * lib/envblk.c: ... this.
30896
30897 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30898 lib/hexdump.c.
30899 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30900 (pkglib_MODULES): Add crc.mod.
30901 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30902 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30903 (crc_mod_SOURCES): New macro.
30904 (crc_mod_CFLAGS): Likewise.
30905 (crc_mod_LDFLAGS): Likewise.
30906
30907 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30908
30909 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30910
30911 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30912
30913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30914
30915 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30916
30917 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
30918
30919 * commands/help.c: Include <grub/term.h>.
30920 (TERM_WIDTH): Removed. Updated all users.
30921
30922 2008-07-27 Pavel Roskin <proski@gnu.org>
30923
30924 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30925 spurious warnings about a comment within a comment.
30926
30927 2008-07-25 Robert Millan <rmh@aybabtu.com>
30928
30929 * util/getroot.c (find_root_device): Skip devices that match
30930 /dev/dm-[0-9]. This lets the real device be found for any type of
30931 abstraction (LVM, EVMS, RAID..).
30932 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30933 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30934 device is found first, find_root_device() will now skip it.
30935
30936 2008-07-24 Pavel Roskin <proski@gnu.org>
30937
30938 * include/grub/types.h: Use __builtin_bswap32() and
30939 __builtin_bswap64() with gcc 4.3 and newer.
30940
30941 2008-07-24 Christian Franke <franke@computer.org>
30942
30943 * util/i386/pc/grub-install.in: If `--debug' is specified,
30944 pass `--verbose' to grub-setup.
30945 Abort script if make_system_path_relative_to_its_root() fails.
30946
30947 2008-07-24 Bean <bean123ch@gmail.com>
30948
30949 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30950 variable `target_platform' should be `platform'.
30951
30952 2008-07-24 Bean <bean123ch@gmail.com>
30953
30954 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
30955 (grub_png_init_fixed_block): New function.
30956 (grub_png_decode_image_data): Handle fixed huffman code compression.
30957
30958 2008-07-24 Bean <bean123ch@gmail.com>
30959
30960 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30961 (grub_pe2elf_SOURCES): New macro.
30962 (CLEANFILES): Add grub-pe2elf.
30963
30964 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30965 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30966 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30967 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30968 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30969 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30970 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30971 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30972 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30973 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30974 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30975 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30976 (GRUB_PE32_DT_FUNCTION): Likewise.
30977 (GRUB_PE32_REL_I386_DIR32): Likewise.
30978 (GRUB_PE32_REL_I386_REL32): Likewise.
30979 (grub_pe32_symbol): New structure.
30980 (grub_pe32_reloc): Likewise.
30981
30982 * util/grub-pe2elf.c: New file.
30983
30984 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
30985 start symbol in non pc platform.
30986
30987 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
30988
30989 The following patches are from Christian Franke.
30990
30991 * include/grub/dl.h: Remove .previous, gas supports this only
30992 for ELF format.
30993
30994 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
30995 Remove .type, gas supports this only for ELF format.
30996
30997 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
30998 nullbytes in symbol table. This fixes an infinite loop if table is
30999 zero filled.
31000
31001 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
31002 TARGET_IMG_LDFLAGS and EXEEXT.
31003
31004 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
31005 TARGET_IMG_LDFLAGS_AC.
31006 (grub_CHECK_STACK_ARG_PROBE): New function.
31007
31008 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
31009
31010 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
31011
31012 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
31013 to set TARGET_IMG_LD* accordingly.
31014 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
31015 Add call to grub_CHECK_STACK_ARG_PROBE.
31016 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
31017
31018 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
31019
31020 * genmk.rb: Add EXEEXT to CLEANFILES.
31021
31022 2008-07-23 Robert Millan <rmh@aybabtu.com>
31023
31024 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
31025 define the codes for arrows and lines used for the menu).
31026 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
31027 as well.
31028
31029 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
31030 fonts, because the latter are too slow.
31031
31032 2008-07-21 Bean <bean123ch@gmail.com>
31033
31034 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
31035 a20. Run keyboard test last, as it will cause macbook to halt.
31036
31037 2008-07-18 Pavel Roskin <proski@gnu.org>
31038
31039 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
31040 load foreign architecture modules correctly anyway. Keep
31041 support for loading host architecture modules, whether we
31042 compile them or not.
31043
31044 2008-07-17 Pavel Roskin <proski@gnu.org>
31045
31046 * configure.ac: Use -m32 or -m64 regardless of whether we had to
31047 change target_cpu. The compiler default can mismatch target_cpu
31048 in any case.
31049
31050 * disk/efi/efidisk.c: Fix format warnings on x86_64.
31051 * kern/efi/efi.c: Likewise.
31052
31053 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
31054 target compiler is functional.
31055 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
31056 are set up.
31057
31058 * configure.ac: Default to efi platform for x86_64-apple. Allow
31059 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
31060 adjustments from the rest, only do them if target is not
31061 explicitly given. Merge other adjustments with the final sanity
31062 check. Remove an extraneous check for supported CPU. Be
31063 specific which CPU and which platform is not supported.
31064
31065 * configure.ac: Default to pc platform for x86_64.
31066
31067 2008-07-17 Robert Millan <rmh@aybabtu.com>
31068
31069 Partial LinuxBIOS -> Coreboot rename.
31070
31071 * conf/i386-linuxbios.rmk: Renamed to ...
31072 * conf/i386-coreboot.rmk: ... this.
31073 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31074 * configure.ac: Accept "coreboot" as input platform (but maintain
31075 compatibility with "linuxbios").
31076 * include/grub/i386/linuxbios: Renamed to ...
31077 * include/grub/i386/coreboot: ... this.
31078
31079 2008-07-17 Bean <bean123ch@gmail.com>
31080
31081 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
31082 (appleldr_mod_SOURCE): New variable.
31083 (appleldr_mod_CFLAGS): Likewise.
31084 (appleldr_mod_LDFLAGS): Likewise.
31085 (pci_mod_SOURCES): Likewise.
31086 (pci_mod_CFLAGS): Likewise.
31087 (pci_mod_LDFLAGS): Likewise.
31088 (lspci_mod_SOURCES): Likewise.
31089 (lspci_mod_CFLAGS): Likewise.
31090 (lspci_mod_LDFLAGS): Likewise.
31091
31092 * conf/x86_64-efi.rmk: New file.
31093
31094 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31095 macro.
31096 (grub_efidisk_write): Likewise.
31097
31098 * include/efi/api.h (efi_call_0): New macro.
31099 (efi_call_1): Likewise.
31100 (efi_call_2): Likewise.
31101 (efi_call_3): Likewise.
31102 (efi_call_4): Likewise.
31103 (efi_call_5): Likewise.
31104 (efi_call_6): Likewise.
31105
31106 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31107 grub_rescue_cmd_chainloader.
31108
31109 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31110 (grub_pe32_optional_header): Change some fields based on i386 or
31111 x86_64 platform.
31112 (GRUB_PE32_PE32_MAGIC): Likewise.
31113
31114 * include/grub/efi/uga_draw.h: New file.
31115
31116 * include/grub/elf.h (STN_ABS): New constant.
31117 (R_X86_64_NONE): Relocation constant for x86_64.
31118 (R_X86_64_64): Likewise.
31119 (R_X86_64_PC32): Likewise.
31120 (R_X86_64_GOT32): Likewise.
31121 (R_X86_64_PLT32): Likewise.
31122 (R_X86_64_COPY): Likewise.
31123 (R_X86_64_GLOB_DAT): Likewise.
31124 (R_X86_64_JUMP_SLOT): Likewise.
31125 (R_X86_64_RELATIVE): Likewise.
31126 (R_X86_64_GOTPCREL): Likewise.
31127 (R_X86_64_32): Likewise.
31128 (R_X86_64_32S): Likewise.
31129 (R_X86_64_16): Likewise.
31130 (R_X86_64_PC16): Likewise.
31131 (R_X86_64_8): Likewise.
31132 (R_X86_64_PC8): Likewise.
31133
31134 * include/grub/i386/efi/pci.h: New file.
31135
31136 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31137 Change it value based on platform.
31138 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31139 (GRUB_E820_RAM): Likewise.
31140 (GRUB_E820_RESERVED): Likewise.
31141 (GRUB_E820_ACPI): Likewise.
31142 (GRUB_E820_NVS): Likewise.
31143 (GRUB_E820_EXEC_CODE): Likewise.
31144 (GRUB_E820_MAX_ENTRY): Likewise.
31145 (grub_e820_mmap): New structure.
31146 (linux_kernel_header): Change the efi field according to different
31147 kernel version, also field from linux_kernel_header.
31148
31149 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31150
31151 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31152 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31153 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31154 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31155 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31156 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31157 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31158 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31159 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31160 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31161
31162 * include/grub/x86_64/efi/kernel.h: New file.
31163
31164 * include/grub/x86_64/efi/loader.h: Likewise.
31165
31166 * include/grub/x86_64/efi/machine.h: Likewise.
31167
31168 * include/grub/x86_64/efi/pci.h: Likewise.
31169
31170 * include/grub/x86_64/efi/time.h: Likewise.
31171
31172 * include/grub/x86_64/linux.h: Likewise.
31173
31174 * include/grub/x86_64/setjmp.h: Likewise.
31175
31176 * include/grub/x86_64/time.h: Likewise.
31177
31178 * include/grub/x86_64/types.h: Likewise.
31179
31180 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31181 GRUB_TARGET_SIZEOF_VOID_P.
31182
31183 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31184 (grub_efi_locate_handle): Likewise.
31185 (grub_efi_open_protocol): Likewise.
31186 (grub_efi_set_text_mode): Likewise.
31187 (grub_efi_stall): Likewise.
31188 (grub_exit): Likewise.
31189 (grub_reboot): Likewise.
31190 (grub_halt): Likewise.
31191 (grub_efi_exit_boot_services): Likewise.
31192 (grub_get_rtc): Likewise.
31193
31194 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31195 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31196 (grub_efi_allocate_pages): Wrap efi calls.
31197 (grub_efi_free_pages): Wrap efi calls.
31198 (grub_efi_get_memory_map): Wrap efi calls.
31199
31200 * kern/x86_64/dl.c: New file.
31201
31202 * kern/x86_64/efi/callwrap.S: Likewise.
31203
31204 * kern/x86_64/efi/startup.S: Likewise.
31205
31206 * loader/efi/appleloader.c: Likewise.
31207
31208 * loader/efi/chainloader.c (cmdline): New variable.
31209 (grub_chainloader_unload): Wrap efi calls.
31210 (grub_chainloader_boot): Likewise.
31211 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31212 command line.
31213
31214 * loader/efi/chainloader_normal.c (chainloader_command):
31215 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31216 command line.
31217
31218 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31219 method.
31220 (grub_e820_add_region): New function.
31221 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31222 booting.
31223 (grub_find_video_card): New function.
31224 (grub_linux_setup_video): New function.
31225 (grub_rescue_cmd_linux): Probe for video information.
31226
31227 * normal/x86_64/setjmp.S: New file.
31228
31229 * term/efi/console.c (map_char): New function.
31230 (grub_console_putchar): Map unicode char.
31231 (grub_console_checkkey): Wrap efi calls.
31232 (grub_console_getkey): Likewise.
31233 (grub_console_getwh): Likewise.
31234 (grub_console_gotoxy): Likewise.
31235 (grub_console_cls): Likewise.
31236 (grub_console_setcolorstate): Likewise.
31237 (grub_console_setcursor): Likewise.
31238
31239 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31240
31241 2008-07-16 Pavel Roskin <proski@gnu.org>
31242
31243 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31244 format strings.
31245
31246 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31247 pointer, not an integer. This fixes a warning and prevents
31248 precision loss on 64-bit systems.
31249 (relocate_addresses): Remove unneeded cast.
31250
31251 2008-07-15 Pavel Roskin <proski@gnu.org>
31252
31253 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31254
31255 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31256
31257 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31258 Fix comparison between signed and unsigned.
31259
31260 * include/grub/i386/ieee1275/console.h: Declare
31261 grub_console_init() and grub_console_fini().
31262
31263 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31264 It's empty and unused.
31265
31266 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31267 beginning to avoid warnings with some compilers.
31268
31269 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31270 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31271
31272 2008-07-14 Pavel Roskin <proski@gnu.org>
31273
31274 * kern/env.c (grub_register_variable_hook): Don't copy empty
31275 string, it leaks memory. Pass "" to grub_env_set(), it should
31276 handle constant strings.
31277
31278 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31279 * commands/cmp.c (grub_cmd_cmp): Likewise.
31280 * kern/dl.c (grub_dl_flush_cache): Likewise.
31281 (grub_dl_load_core): Likewise.
31282 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31283 (grub_elf64_load_phdrs): Likewise.
31284
31285 2008-07-13 Pavel Roskin <proski@gnu.org>
31286
31287 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31288 between signed and unsigned.
31289 (LzmaEnc_Finish): Fix warning about an unused parameter.
31290
31291 2008-07-13 Bean <bean123ch@gmail.com>
31292
31293 * Makefile.in (enable_lzo): New rule.
31294
31295 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31296
31297 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31298
31299 * boot/i386/pc/lnxboot.S: #include <config.h>.
31300
31301 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
31302 its value according to the compression algorithm used, lzo or lzma.
31303
31304 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31305 compression algorithm according to configure macro.
31306
31307 * kern/i386/pc/startup.S (codestart): Likewise.
31308
31309 * kern/i386/pc/lzma_decode.S: New file.
31310
31311 * include/grub/lib/LzFind.h: Likewise.
31312
31313 * include/grub/lib/LzHash.h: Likewise.
31314
31315 * include/grub/lib/LzmaDec.h: Likewise.
31316
31317 * include/grub/lib/LzmaEnc.h: Likewise.
31318
31319 * include/grub/lib/LzmaTypes.h: Likewise.
31320
31321 * lib/LzFind.c: Likewise.
31322
31323 * lib/LzmaDec.c: Likewise.
31324
31325 * lib/LzmaEnc.c: Likewise.
31326
31327 2008-07-13 Bean <bean123ch@gmail.com>
31328
31329 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31330 (grub_ext4_extent_header): New structure.
31331 (grub_ext4_extent): Likewise.
31332 (grub_ext4_extent_idx): Likewise.
31333 (grub_ext4_find_leaf): New function.
31334 (grub_ext2_read_block): Handle extents.
31335
31336 2008-07-12 Robert Millan <rmh@aybabtu.com>
31337
31338 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31339
31340 2008-07-11 Robert Millan <rmh@aybabtu.com>
31341
31342 * util/grub.d/40_custom.in: New file. Example on how to add custom
31343 entries to /etc/grub.d.
31344 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31345 40_custom (implicitly, by merging all the grub.d rules).
31346
31347 2008-07-11 Pavel Roskin <proski@gnu.org>
31348
31349 * commands/read.c (grub_getline): Fix invalid memory access.
31350 Don't add newline to the variable value.
31351
31352 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31353 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31354 (serial_hw_get_port): Check validity of the port number.
31355 (grub_cmd_serial): Check return value of serial_hw_get_port().
31356
31357 2008-07-07 Pavel Roskin <proski@gnu.org>
31358
31359 * boot/i386/pc/diskboot.S (notification_string): Replace
31360 "Loading kernel" with just "loading". This is shorter, less
31361 confusing and saves a few bytes for possible future changes.
31362
31363 2008-07-05 Pavel Roskin <proski@gnu.org>
31364
31365 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31366 size for ATAPI devices, they are undefined. Output sector
31367 number in decimal form.
31368
31369 * disk/ata.c: Use named constants for status bits.
31370
31371 2008-07-04 Pavel Roskin <proski@gnu.org>
31372
31373 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31374 grub_addr_t before casting it to the void pointer to fix a
31375 warning. Non-addressable regions are discarded earlier.
31376 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31377 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31378 (check_signature): Don't shadow table_header.
31379 (grub_linuxbios_table_iterate): Cast numeric constants to
31380 grub_linuxbios_table_header_t.
31381 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31382 grub_stop().
31383
31384 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31385 prevent warnings.
31386
31387 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31388 pointer, which can cause warnings. Support 64-bit addresses.
31389
31390 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31391 of sizeof(long). This fixes PowerPC image generation on x86_64.
31392
31393 2008-07-04 Robert Millan <rmh@aybabtu.com>
31394
31395 This fixes a performance issue when pc & gpt partmap iterators
31396 didn't abort iteration even after our hook found what it was
31397 looking for (often causing expensive probes of non-existent drives).
31398
31399 Some callers relied on previous buggy behaviour, since they would
31400 raise an error when their own hooks caused early abortion of its
31401 iteration.
31402
31403 * kern/device.c (grub_device_open): Improve error message.
31404 * disk/lvm.c (grub_lvm_open): Likewise.
31405 * disk/raid.c (grub_raid_open): Likewise.
31406
31407 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31408 when hook requests it, independently of grub_errno.
31409 (pc_partition_map_probe): Do not fail when find_func() caused
31410 early abortion of pc_partition_map_iterate().
31411
31412 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31413 when hook requests it, independently of grub_errno.
31414 (gpt_partition_map_probe): Do not fail when find_func() caused
31415 early abortion of gpt_partition_map_iterate().
31416
31417 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31418 when hook requests it, independently of grub_errno. Do not fail when
31419 part_map_iterate_hook() caused early abortion of p->iterate().
31420
31421 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31422 when grub_partition_iterate() returned with non-zero.
31423
31424 2008-07-03 Pavel Roskin <proski@gnu.org>
31425
31426 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31427 like we do in grub_ata_pio_read().
31428 (grub_ata_readwrite): Always write individual sectors. Fix the
31429 sector count for the remainder.
31430 (grub_ata_write): Enable writing to ATA devices. Correctly
31431 report error for ATAPI devices.
31432
31433 2008-07-02 Pavel Roskin <proski@gnu.org>
31434
31435 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31436 warning.
31437
31438 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31439 for every read sector, we already increment it for the whole
31440 batch. This fixes reading more than 256 sectors at once.
31441
31442 * util/grub-editenv.c (cmd_info): Cast argument to long
31443 explicitly. ptrdiff_t reduces to int on i386.
31444
31445 * util/grub-editenv.c (main): Be specific which parameter is
31446 missing.
31447
31448 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31449 (memdisk): Make memdisk_orig_addr a pointer.
31450
31451 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31452 for file offsets, use grub_off_t instead. Fix printf format
31453 warnings.
31454
31455 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31456 there. Real unexpected warnings should not drown in the noise
31457 about known problems.
31458
31459 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31460 grub_disk_addr_t for memory addresses.
31461
31462 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31463 explicitly to fix a warning.
31464
31465 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31466
31467 * Makefile.in (MODULE_LDFLAGS): New variable.
31468 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31469 the linker accepts --build-id=none.
31470 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31471 MODULE_LDFLAGS.
31472 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31473
31474 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31475 those in Linux XFS code. Provide a way to access 64-bit parent
31476 inode.
31477 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31478 the end of struct grub_xfs_dir_header.
31479
31480 2008-07-02 Bean <bean123ch@gmail.com>
31481
31482 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31483 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31484 and GRUB_IEEE1275_FLAG_NO_ANSI.
31485
31486 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31487 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31488 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31489
31490 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31491 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31492
31493 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31494 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31495
31496 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31497 esc sequence on non ANSI terminal.
31498 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31499
31500 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31501 beginning of file.
31502
31503 2008-07-02 Bean <bean123ch@gmail.com>
31504
31505 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31506 (grub_editenv_SOURCES): New variable.
31507 (pkglib_MODULES): Add loadenv.mod.
31508 (loadenv_mod_SOURCES): New variable.
31509 (loadenv_mod_CFLAGS): Likewise.
31510 (loadenv_mod_LDFLAGS): Likewise.
31511
31512 * include/grub/envblk.h: New file.
31513
31514 * util/envblk.c: New file.
31515
31516 * util/grub-editenv.c: New file.
31517
31518 * commands/loadenv.c: New file.
31519
31520 2008-07-01 Pavel Roskin <proski@gnu.org>
31521
31522 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31523 not unsigned char. This fixes warnings and is consistent with
31524 other tags.
31525
31526 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31527
31528 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31529
31530 * term/tparm.c (analyze): Always set *popcount.
31531
31532 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31533 cast to fix a warning.
31534
31535 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31536 cast to suppress a warning.
31537
31538 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31539 grub_fshelp_read_file() expects.
31540
31541 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31542 write uuid as a 32-bit value in CPU byte order, so declare and
31543 use it as such.
31544
31545 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31546 long if the format specifier expects it.
31547 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31548 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31549 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31550 long to fix a warning.
31551 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31552 grub_dprintf() arguments to fix warnings.
31553
31554 2008-06-30 Pavel Roskin <proski@gnu.org>
31555
31556 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31557 install_bsd_part immediately before core.img is embedded or
31558 modified on disk. This fixes core.img verification if core.img
31559 cannot be embedded.
31560
31561 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31562 core_path to calculate the blocklist.
31563 Patch from Javier Martín <lordhabbit@gmail.com>
31564
31565 2008-06-29 Robert Millan <rmh@aybabtu.com>
31566
31567 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31568 block to disk block.
31569 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31570 Patch from Niels Böhm <bitbucket@arcor.de>
31571
31572 2008-06-29 Robert Millan <rmh@aybabtu.com>
31573
31574 * util/update-grub_lib.in (font_path): Search for fonts in
31575 /boot/grub first, which is more likely to be readable (we aren't
31576 deciding where fonts live, just looking for them).
31577
31578 2008-06-26 Pavel Roskin <proski@gnu.org>
31579
31580 * util/biosdisk.c (read_device_map): Don't leave dead map
31581 entries for devices failing stat() check.
31582
31583 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31584 core_path_dev for the core.img path on the target device.
31585
31586 2008-06-26 Robert Millan <rmh@aybabtu.com>
31587
31588 * disk/fs_uuid.c: New file.
31589 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31590 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31591 (fs_uuid_mod_LDFLAGS): New variables.
31592 * include/grub/disk.h (grub_disk_dev_id): Add
31593 `GRUB_DISK_DEVICE_UUID_ID'.
31594 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31595 implement iterate().
31596
31597 2008-06-26 Robert Millan <rmh@aybabtu.com>
31598
31599 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31600 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31601 Linux image includes no initrd.
31602
31603 2008-06-21 Javier Martín <lordhabbit@gmail.com>
31604
31605 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31606 call to resolve the core image location that effectively appended the
31607 name twice.
31608
31609 2008-06-21 Robert Millan <rmh@aybabtu.com>
31610
31611 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31612 call from here ...
31613
31614 * util/grub.d/10_hurd.in: ... to here ...
31615 * util/grub.d/10_linux.in: ... and here.
31616
31617 2008-06-19 Robert Millan <rmh@aybabtu.com>
31618
31619 * kern/main.c (grub_main): Export `prefix' variable immediately
31620 after it has been set by grub_machine_set_prefix().
31621
31622 2008-06-19 Robert Millan <rmh@aybabtu.com>
31623
31624 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31625 search result when not saving to variable, not the other way around.
31626 When saving to variable, abort iteration as soon as a match is found.
31627
31628 2008-06-19 Robert Millan <rmh@aybabtu.com>
31629
31630 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31631 check for partition that provides /boot/grub. Its logic is flawed,
31632 as it prevents prepare_grub_to_access_device() from being called
31633 multiple times.
31634
31635 2008-06-19 Robert Millan <rmh@aybabtu.com>
31636
31637 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31638 "insmod" command directly when abstraction modules are needed,
31639 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
31640 since it had already been processed).
31641
31642 2008-06-19 Pavel Roskin <proski@gnu.org>
31643
31644 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31645 changed. This is needed in case GRUB_LIBDIR changes.
31646 * conf/i386-ieee1275.rmk: Likewise.
31647 * conf/i386-linuxbios.rmk: Likewise.
31648 * conf/i386-pc.rmk: Likewise.
31649 * conf/powerpc-ieee1275.rmk: Likewise.
31650
31651 2008-06-18 Pavel Roskin <proski@gnu.org>
31652
31653 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31654 kernel_elf_symlist.c to symlist.c for consistency with other
31655 architectures. Update all users.
31656 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31657
31658 2008-06-18 Robert Millan <rmh@aybabtu.com>
31659
31660 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31661 it in prefix.
31662
31663 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31664 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31665 a RAID device, run setup() for all members independently on whether
31666 LVM abstraction is being used.
31667 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31668 If grub-mkimage has set `*install_dos_part == -2', don't override this
31669 value.
31670 Perform *install_dos_part adjustments independently on whether
31671 we're embedding or not.
31672 Clarify error message when image is too big for embedding.
31673 Remove duplicate *install_dos_part stanza.
31674
31675 2008-06-17 Robert Millan <rmh@aybabtu.com>
31676
31677 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31678 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31679 variables.
31680 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31681 values in grub_ofconsole_normal_color and
31682 grub_ofconsole_highlight_color (they're not directly related to
31683 background and foreground).
31684 (grub_ofconsole_setcolorstate): Extract background and foreground
31685 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31686
31687 2008-06-17 Robert Millan <rmh@aybabtu.com>
31688
31689 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31690 /boot/grub for the check in last commit, not /boot (they could be
31691 different partitions).
31692
31693 2008-06-16 Robert Millan <rmh@aybabtu.com>
31694
31695 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31696 asked to setup access for the same partition that provides /boot,
31697 don't bother using UUIDs since our root already has the value we
31698 want.
31699
31700 2008-06-16 Robert Millan <rmh@aybabtu.com>
31701
31702 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31703 I2O devices.
31704 Patch from Sven Mueller <sven@debian.org>.
31705
31706 2008-06-16 Robert Millan <rmh@aybabtu.com>
31707
31708 * util/update-grub.in: Check for $EUID instead of $UID.
31709 Reported by Vincent Zweije.
31710
31711 2008-06-16 Bean <bean123ch@gmail.com>
31712
31713 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
31714 (grub_ext2_read_block): Likewise.
31715 (grub_ext2_read_inode): Likewise.
31716 (grub_ext2_mount): Likewise.
31717 (grub_ext2_close): Likewise.
31718 (grub_ext3_get_journal): Removed.
31719
31720 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
31721 (grub_reiserfs_read_symlink): Likewise.
31722 (grub_reiserfs_mount): Likewise.
31723 (grub_reiserfs_open): Likewise.
31724 (grub_reiserfs_read): Likewise.
31725 (grub_reiserfs_close): Likewise.
31726 (grub_reiserfs_get_journal): Removed.
31727
31728 * fs/fshelp.c (grub_fshelp_read): Removed.
31729 (grub_fshelp_map_block): Likewise.
31730
31731 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31732 (grub_fshelp_journal): Likewise.
31733 (grub_fshelp_read): Likewise.
31734 (grub_fshelp_map_block): Likewise.
31735
31736 2008-06-16 Pavel Roskin <proski@gnu.org>
31737
31738 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31739 floating point anymore.
31740 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31741
31742 2008-06-15 Pavel Roskin <proski@gnu.org>
31743
31744 * commands/ls.c (grub_ls_list_files): Use integer calculations
31745 for human readable format, avoid floating point use.
31746 * kern/misc.c (grub_ftoa): Remove.
31747 (grub_vsprintf): Remove floating point support.
31748
31749 2008-06-15 Robert Millan <rmh@aybabtu.com>
31750
31751 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
31752 devices.
31753 Reported by Max Vozeler.
31754
31755 2008-06-15 Robert Millan <rmh@aybabtu.com>
31756
31757 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31758 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31759 skipped later.
31760 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31761 the beginning of the prefix.
31762
31763 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31764 It is assumed that if we have a memdisk, grub-mkimage has set
31765 grub_prefix to include the "(memdisk)" drive in it.
31766
31767 2008-06-15 Robert Millan <rmh@aybabtu.com>
31768
31769 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31770 Initialize keyboard controller after registering the terminal, so that
31771 grub_printf() can be called from grub_keyboard_controller_init().
31772
31773 2008-06-15 Robert Millan <rmh@aybabtu.com>
31774
31775 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31776 extent-btree which is written as big endian on disk.
31777 Reported by Alain Greppin <al@chilibi.org>.
31778
31779 2008-06-14 Robert Millan <rmh@aybabtu.com>
31780
31781 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31782 * util/i386/pc/grub-install.in (modules): Likewise.
31783
31784 2008-06-13 Pavel Roskin <proski@gnu.org>
31785
31786 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31787
31788 2008-06-13 Bean <bean123ch@gmail.com>
31789
31790 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31791
31792 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31793
31794 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31795 to indicate sparse block.
31796
31797 2008-06-12 Pavel Roskin <proski@gnu.org>
31798
31799 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31800 number, grub_fshelp_read() does it for us.
31801
31802 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31803 linear disk read with journal translation.
31804 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31805 * include/grub/fshelp.h: Declare grub_fshelp_read().
31806
31807 2008-06-09 Pavel Roskin <proski@gnu.org>
31808
31809 * fs/minix.c (grub_minix_mount): Handle error reading
31810 superblock.
31811
31812 2008-06-08 Robert Millan <rmh@aybabtu.com>
31813
31814 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31815 don't append the RAID prefix afterwards.
31816 Reported by Clint Adams.
31817
31818 2008-06-08 Robert Millan <rmh@aybabtu.com>
31819
31820 Based on description from Pavel:
31821 * kern/disk.c (grub_disk_check_range): Rename to ...
31822 (grub_disk_adjust_range): ... this. Add a comment explaining the
31823 tasks performed by this function.
31824
31825 2008-06-08 Robert Millan <rmh@aybabtu.com>
31826
31827 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31828 `num_serial' (for consistency with other variables).
31829 (struct grub_ntfs_data): Add `uuid' member.
31830 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31831 (grub_ntfs_uuid): New function.
31832 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31833
31834 2008-06-07 Pavel Roskin <proski@gnu.org>
31835
31836 * util/biosdisk.c (open_device): Revert last change to the
31837 function, it broke installation. The sector needs to be
31838 different dependent on which device is opened.
31839
31840 2008-06-06 Robert Millan <rmh@aybabtu.com>
31841
31842 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31843 rest of GRUB, and breakage doesn't happen if its value were modified.
31844
31845 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31846 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31847 a constant (same value).
31848 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31849 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31850
31851 2008-06-06 Robert Millan <rmh@aybabtu.com>
31852
31853 * util/biosdisk.c (open_device): Do not modify sector offset when
31854 accessing a partition. kern/disk.c already handles this for us.
31855
31856 2008-06-06 Robert Millan <rmh@aybabtu.com>
31857
31858 * util/grub-emu.c (grub_machine_init): Move code in this function from
31859 here ...
31860 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31861 segfault in case grub_printf() is called).
31862
31863 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31864 grub_probe. Update all users not to explicitly add it again.
31865 (grub_device): New variable; contains corresponding device for grubdir.
31866 (fs_module, partmap_module, devabstraction_module): Pass
31867 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31868 every time.
31869
31870 2008-06-05 Robert Millan <rmh@aybabtu.com>
31871
31872 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31873 is found, print it (same layout as with labels).
31874
31875 2008-06-04 Robert Millan <rmh@aybabtu.com>
31876
31877 * util/biosdisk.c (get_drive): Rename to ...
31878 (find_grub_drive): ... this. Update all users.
31879
31880 (get_os_disk): Rename to ...
31881 (convert_system_partition_to_system_disk): ... this. Update all users.
31882
31883 (find_drive): Rename to ...
31884 (find_system_device): ... this. Update all users.
31885
31886 2008-06-04 Robert Millan <rmh@aybabtu.com>
31887
31888 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31889 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31890 (make_device_map): Likewise.
31891
31892 2008-06-01 Robert Millan <rmh@aybabtu.com>
31893
31894 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31895 before dereferencing it.
31896
31897 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31898 union with fat12/fat16-specific ones. Add some new fields, including
31899 `num_serial' for both versions.
31900 (struct grub_fat_data): Add `uuid' member.
31901 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31902 names. Initialize `data->uuid' using `num_serial'.
31903 (grub_fat_uuid): New function.
31904 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31905
31906 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31907 (grub_reiserfs_uuid): New function.
31908 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31909 member.
31910
31911 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31912 (grub_xfs_uuid): New function.
31913 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31914
31915 2008-06-01 Robert Millan <rmh@aybabtu.com>
31916
31917 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31918 code that is backward compatible with pre-uuid search command.
31919
31920 2008-05-31 Robert Millan <rmh@aybabtu.com>
31921
31922 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31923 floppies after everything else, to ensure floppy drive isn't accessed
31924 unnecessarily (patch from Bean).
31925
31926 2008-05-31 Robert Millan <rmh@aybabtu.com>
31927
31928 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31929 not print device names when we were asked to set a variable.
31930
31931 2008-05-31 Robert Millan <rmh@aybabtu.com>
31932
31933 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31934 using "cursor-on" and "cursor-off" commands (understood at least by
31935 the Open Firmware flavour on OLPC).
31936
31937 2008-05-31 Michael Gorven <michael@gorven.za.net>
31938
31939 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31940 on and off sequences.
31941
31942 2008-05-31 Robert Millan <rmh@aybabtu.com>
31943
31944 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31945 * util/update-grub.in: Likewise.
31946
31947 2008-05-30 Pavel Roskin <proski@gnu.org>
31948
31949 * util/biosdisk.c (linux_find_partition): Simplify logic and
31950 make the code more universal. Keep special processing for
31951 devfs, but use a simple rule for all other devices. If the
31952 device ends with a number, append 'p' and the partition number.
31953 Otherwise, append only the partition number.
31954
31955 2008-05-30 Robert Millan <rmh@aybabtu.com>
31956
31957 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31958 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31959 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31960 the `root' parameter to Linux.
31961
31962 2008-05-30 Robert Millan <rmh@aybabtu.com>
31963
31964 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31965 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31966 --fs_uuid with --fs-uuid.
31967 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31968 all filesystems support them).
31969
31970 2008-05-30 Robert Millan <rmh@aybabtu.com>
31971
31972 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
31973 grub_printf() flags, since we're printing in units of 2 bytes.
31974
31975 2008-05-30 Robert Millan <rmh@aybabtu.com>
31976
31977 * util/grub.d/00_header.in: Remove obsolete comment referencing
31978 convert_system_path_to_grub_path().
31979 * util/update-grub.in: Likewise.
31980 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
31981 (convert_system_path_to_grub_path): Add a warning message explaining
31982 that this function is deprecated. Rely on is_path_readable_by_grub()
31983 for the readability checks.
31984 (font_path): Use is_path_readable_by_grub() for the readability
31985 check rather than convert_system_path_to_grub_path().
31986
31987 2008-05-30 Robert Millan <rmh@aybabtu.com>
31988
31989 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
31990 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
31991 converting it first.
31992 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
31993 grub.cfg for access to font file, and afterwards call it again to set
31994 the root device.
31995
31996 2008-05-30 Robert Millan <rmh@aybabtu.com>
31997
31998 * commands/search.c (options): Add --fs_uuid option.
31999 (search_fs_uuid): New function.
32000 (grub_cmd_search): Fix --set argument passing.
32001 Use search_fs_uuid() when requested via --fs_uuid.
32002 (grub_search_init): Update help message.
32003 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
32004 and redeclare it as an array of 16-bit words.
32005 (grub_ext2_uuid): New function.
32006 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
32007 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
32008 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
32009 (GRUB_DEVICE_BOOT_UUID): New variables.
32010 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
32011 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
32012 whenever possible.
32013 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
32014 just assume `root' variable has the right value.
32015 * util/grub.d/10_linux.in: Likewise.
32016 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
32017 via PRINT_FS_UUID.
32018 (main): Recognise `-t fs_uuid' argument.
32019
32020 2008-05-30 Robert Millan <rmh@aybabtu.com>
32021
32022 * util/biosdisk.c (map): Redefine structure to hold information
32023 about GRUB drive name.
32024 (get_drive): Reimplement without assuming (and verifying) BIOS-like
32025 drive names.
32026 (call_hook): Remove.
32027 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
32028 member. Assume drive has partitions.
32029 (grub_util_biosdisk_open): Access device names via `.device' struct
32030 member.
32031 (open_device): Likewise.
32032 (find_drive): Likewise.
32033 (read_device_map): Adjust map[] usage to match the new struct
32034 definition. Don't check for duplicates (still possible, but not cheap
32035 anymore).
32036 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
32037 (make_device_name): Remove assumption of BIOS-like drive names.
32038
32039 2008-05-30 Pavel Roskin <proski@gnu.org>
32040
32041 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
32042 compiling execute.c doesn't need grub_script.tab.h anymore.
32043 (normal/command.c_DEPENDENCIES): Likewise.
32044 (normal/function.c_DEPENDENCIES): Likewise.
32045 * conf/i386-ieee1275.rmk: Likewise.
32046 * conf/i386-linuxbios.rmk: Likewise.
32047 * conf/i386-pc.rmk: Likewise.
32048 * conf/powerpc-ieee1275.rmk: Likewise.
32049 * conf/sparc64-ieee1275.rmk: Likewise.
32050
32051 2008-05-29 Pavel Roskin <proski@gnu.org>
32052
32053 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
32054 when scanning metadata for volume group name.
32055
32056 * include/grub/script.h: Don't include grub_script.tab.h. It's
32057 a generated file, which may only be included from the files with
32058 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
32059 use union YYSTYPE, as the later allows forward declaration.
32060 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
32061
32062 2008-05-29 Robert Millan <rmh@aybabtu.com>
32063
32064 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
32065 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
32066 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
32067 (grub_console_checkkey): Add grub_dprintf() call to report unknown
32068 scan codes.
32069
32070 2008-05-29 Robert Millan <rmh@aybabtu.com>
32071
32072 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32073 control key combinations.
32074
32075 2008-05-29 Robert Millan <rmh@aybabtu.com>
32076
32077 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32078 * util/ieee1275/grub-install.in: ... to here.
32079 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32080 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32081 (grub_install_SOURCES): Likewise.
32082
32083 2008-05-29 Robert Millan <rmh@aybabtu.com>
32084
32085 * fs/affs.c: Update copyright year.
32086 * fs/ext2.c: Likewise.
32087 * fs/fshelp.c: Likewise.
32088 * fs/hfsplus.c: Likewise.
32089 * fs/ntfs.c: Likewise.
32090 * fs/xfs.c: Likewise.
32091 * include/grub/fshelp.h: Likewise.
32092 * util/grub-mkdevicemap.c: Likewise.
32093
32094 2008-05-28 Robert Millan <rmh@aybabtu.com>
32095
32096 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32097 might need to be fatfs to support some firmware implementations
32098 (e.g. OFW or EFI).
32099
32100 2008-05-28 Robert Millan <rmh@aybabtu.com>
32101
32102 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32103 devices.
32104 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32105 (make_device_map): Likewise.
32106
32107 2008-05-20 Bean <bean123ch@gmail.com>
32108
32109 * fs/fshelp.c (grub_fshelp_map_block): New function.
32110 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32111 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32112
32113 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32114 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32115 (grub_fshelp_journal): New structure.
32116 (grub_fshelp_map_block): New function prototype.
32117 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32118 (grub_fshelp_map_block): Likewise.
32119
32120 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32121 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32122 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32123 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32124 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32125 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32126 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32127 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32128 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32129 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32130 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32131 (grub_ext2_sblock): New members for journal support.
32132 (grub_ext3_journal_header): New structure.
32133 (grub_ext3_journal_revoke_header): Likewise.
32134 (grub_ext3_journal_block_tag): Likewise.
32135 (grub_ext3_journal_sblock): Likewise.
32136 (grub_fshelp_node): New members logfile and journal.
32137 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32138 grub_fshelp_map_block to get real block number.
32139 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32140 number.
32141 (grub_ext2_read_inode): Likewise.
32142 (grub_ext3_get_journal): New function.
32143 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32144 (grub_ext2_close): Release memory used by journal.
32145
32146 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32147 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32148 (grub_reiserfs_transaction_header): Renamed to
32149 grub_reiserfs_description_block, replace field data with real_blocks.
32150 (grub_reiserfs_commit_block): New structure.
32151 (grub_reiserfs_data): New member journal.
32152 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32153 number.
32154 (grub_reiserfs_read_symlink): Likewise.
32155 (grub_reiserfs_iterate_dir): Likewise.
32156 (grub_reiserfs_open): Likewise.
32157 (grub_reiserfs_read): Likewise.
32158 (grub_reiserfs_get_journal): New function.
32159 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32160 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32161 using grub_reiserfs_get_journal.
32162 (grub_reiserfs_close): Release memory used by journal.
32163
32164 * fs/affs.c (grub_affs_read_block): Change block type to
32165 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32166
32167 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32168
32169 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32170
32171 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32172
32173 * fs/udf.c (grub_udf_read_block): Change block type to
32174 grub_disk_addr_t. Use type cast to avoid warning.
32175
32176 * fs/xfs.c (grub_xfs_read_block): Likewise.
32177
32178 2008-05-16 Christian Franke <franke@computer.org>
32179
32180 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32181 to ensure that break with ESC will always work.
32182 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32183 Remove ESC from keyboard queue.
32184
32185 2008-05-16 Christian Franke <franke@computer.org>
32186
32187 * util/biosdisk.c: [__CYGWIN__] Add includes.
32188 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32189 (get_os_disk): Move variable declarations to OS specific
32190 parts to avoid warning.
32191 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32192 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32193 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32194 Cygwin.
32195 * util/getroot.c: [__CYGWIN__] Add includes.
32196 (strip_extra_slashes): Fix "/" case.
32197 [__CYGWIN__] (get_win32_path): New function.
32198 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32199 [__CYGWIN__] (find_root_device): Disable.
32200 [__CYGWIN__] (get_bootsec_serial): New function.
32201 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32202 [__linux__] (grub_guess_root_device): Add early returns to simplify
32203 structure.
32204 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32205 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32206 check for Linux only.
32207
32208 2008-05-15 Bean <bean123ch@gmail.com>
32209
32210 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32211 keyboard hang problem in apple's intel mac.
32212
32213 2008-05-09 Robert Millan <rmh@aybabtu.com>
32214
32215 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32216 devices.
32217 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32218 (make_device_map): Likewise.
32219 Reported by Aurelien Jarno <aurel32@debian.org>
32220
32221 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
32222
32223 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32224 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32225 (make_device_map): Output entries for xvd type disks.
32226
32227 2008-05-07 Robert Millan <rmh@aybabtu.com>
32228
32229 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32230 devices.
32231 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32232 (make_device_map): Likewise.
32233 Reported by Roland Dreier <rdreier@cisco.com>
32234
32235 2008-05-07 Robert Millan <rmh@aybabtu.com>
32236
32237 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32238 grub_strstr() call. Correct a few mistakes in failure path handling.
32239
32240 2008-05-06 Robert Millan <rmh@aybabtu.com>
32241
32242 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32243 Do not print a trailing slash (therefore, the root directory is an
32244 empty string).
32245 (convert_system_path_to_grub_path): Do not remove trailing slash
32246 from make_system_path_relative_to_its_root() output.
32247
32248 * util/i386/pc/grub-install.in: Add trailing slash to output from
32249 make_system_path_relative_to_its_root().
32250
32251 2008-05-06 Robert Millan <rmh@aybabtu.com>
32252
32253 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32254 ensures that output lines aren't intermangled with those sent to
32255 stderr (via grub_util_info()).
32256 * util/grub-probe.c (grub_refresh): Likewise.
32257 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32258
32259 2008-05-05 Christian Franke <franke@computer.org>
32260
32261 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32262 Add Cygwin device names.
32263 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32264 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32265 (check_device): Return error instead of success on empty name.
32266 (make_device_map): Move label inside linux specific code to
32267 prevent compiler warning.
32268
32269 2008-04-30 Robert Millan <rmh@aybabtu.com>
32270
32271 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32272 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32273 first boot option.
32274 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32275
32276 2008-04-29 Robert Millan <rmh@aybabtu.com>
32277
32278 * docs/grub.cfg: New file (example GRUB configuration).
32279
32280 2008-04-26 Robert Millan <rmh@aybabtu.com>
32281
32282 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32283 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32284 and `disk/ieee1275/nand.c'.
32285
32286 2008-04-25 Bean <bean123ch@gmail.com>
32287
32288 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32289 i386-linuxbios.
32290
32291 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32292 change the buffer size to 4096 for cdrom device.
32293
32294 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32295 and nand.mod.
32296 (_linux_mod_SOURCES): New variable.
32297 (_linux_mod_CFLAGS): Likewise.
32298 (_linux_mod_LDFLAGS): Likewise.
32299 (linux_mod_SOURCES): Likewise.
32300 (linux_mod_CFLAGS): Likewise.
32301 (linux_mod_LDFLAGS): Likewise.
32302 (nand_mod_SOURCES): Likewise.
32303 (nand_mod_CFLAGS): Likewise.
32304 (nand_mod_LDFLAGS): Likewise.
32305
32306 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32307 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32308 type property. (nand device in olpc don't have this property)
32309
32310 * include/grub/disk.h (grub_disk_dev_id): New macro
32311 GRUB_DISK_DEVICE_NAND_ID.
32312
32313 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32314 function prototype.
32315 (grub_rescue_cmd_initrd): Likewise.
32316
32317 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32318 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32319 ofw_cif_handler and ofw_idt, adjust padding number.
32320
32321 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32322 GRUB_MACHINE_IEEE1275 is defined.
32323
32324 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32325 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32326
32327 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32328 on nested function heap_init.
32329 (grub_upper_mem): New variable for i386-ieee1275.
32330 (grub_get_extended_memory): New function for i386-ieee1275.
32331 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32332
32333 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32334 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32335 property.
32336
32337 * loader/i386/ieee1275/linux.c: New file.
32338
32339 * loader/i386/ieee1275/linux_normal.c: New file.
32340
32341 * disk/ieee1275/nand.c: New file.
32342
32343 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32344
32345 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32346 value.
32347 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32348
32349 2008-04-18 Robert Millan <rmh@aybabtu.com>
32350
32351 Restructures early code path on ieee1275 to unify grub_main() as
32352 the first C function that is executed in every platform.
32353
32354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32355 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32356 cmain().
32357 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32358 * kern/ieee1275/cmain.c (cmain): Rename to ...
32359 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32360 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32361 at the beginning.
32362
32363 2008-04-18 Robert Millan <rmh@aybabtu.com>
32364
32365 * util/update-grub.in: Fix syntax error when setting
32366 `GRUB_PRELOAD_MODULES'.
32367 Reported by Stephane Chazelas <stephane@artesyncp.com>
32368
32369 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32370
32371 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32372 section into account, newer toolchains generate unique build ids
32373 * configure.ac: remove the test for --build-id=none acceptance,
32374 we want build ids to be preserved
32375 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32376 far from other sections don't cause the raw binary images grow
32377 size
32378
32379 2008-04-15 Robert Millan <rmh@aybabtu.com>
32380
32381 * disk/lvm.c: Update copyright year.
32382 * kern/misc.c: Likewise.
32383
32384 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32385
32386 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
32387 there is no memory left for physical volume name.
32388
32389 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32390
32391 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32392 volume name mapping to support bigger than 9 character names properly.
32393
32394 2008-04-13 Robert Millan <rmh@aybabtu.com>
32395
32396 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32397 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32398
32399 2008-04-13 Christian Franke <franke@computer.org>
32400
32401 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32402 to create a floppy emulation boot CD when non emulation mode
32403 does not work.
32404 Enable Joliet CD filesystem extension.
32405
32406 2008-04-13 Robert Millan <rmh@aybabtu.com>
32407
32408 * kern/misc.c (grub_strncat): Fix off-by-one error.
32409 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32410
32411 * kern/env.c (grub_env_context_close): Clear current context, not
32412 previous one.
32413 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32414
32415 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32416
32417 2008-04-13 Robert Millan <rmh@aybabtu.com>
32418
32419 Improve robustness when handling LVM.
32420
32421 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
32422 (and leave `*p' unmodified).
32423 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32424 through it.
32425 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32426 iterating through it.
32427 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32428 through it.
32429 (grub_lvm_scan_device): Check the return value (and fail gracefully
32430 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32431 Don't assume `vg->pvs != NULL' when iterating through it.
32432
32433 2008-04-13 Robert Millan <rmh@aybabtu.com>
32434
32435 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32436 * genmk.rb (partmap): New variable.
32437 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32438 (#{partmap}): New target rule.
32439 * genpartmaplist.sh: New file.
32440 * Makefile.in (pkglib_DATA): Add partmap.lst.
32441 (partmap.lst): New target rule.
32442 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32443 modules (including all partition maps), instead of preloading them.
32444
32445 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32446
32447 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32448 `linux-boot-prober' (if installed) to detect other operating
32449 systems which are installed on the computer and add them to
32450 the boot menu.
32451 * conf/common.rmk: Build and install 30_os-prober.
32452
32453 2008-04-12 Robert Millan <rmh@aybabtu.com>
32454
32455 * kern/powerpc/ieee1275/init.c: Move from here ...
32456 * kern/ieee1275/init.c: ... to here. Update all users.
32457
32458 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32459 * kern/ieee1275/cmain.c: ... to here. Update all users.
32460
32461 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32462 * kern/ieee1275/openfw.c: ... to here. Update all users.
32463
32464 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32465 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32466
32467 2008-04-10 Pavel Roskin <proski@gnu.org>
32468
32469 * configure.ac: Always use "_cv_" in cache variables for
32470 compatibility with Autoconf 2.62.
32471
32472 2008-04-07 Robert Millan <rmh@aybabtu.com>
32473
32474 Revert grub/machine/init.h addition by Pavel (since it breaks on
32475 i386-ieee1275 and others):
32476 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32477 * util/powerpc/ieee1275/misc.c: Likewise.
32478
32479 2008-04-07 Robert Millan <rmh@aybabtu.com>
32480
32481 * util/grub-probe.c (probe): Improve error message.
32482
32483 2008-04-07 Robert Millan <rmh@aybabtu.com>
32484
32485 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32486 (this prevents the presence of a bogus entry from ruining the whole
32487 thing).
32488
32489 2008-04-06 Pavel Roskin <proski@gnu.org>
32490
32491 * util/biosdisk.c: Include grub/util/biosdisk.h.
32492 * util/grub-fstest.c (execute_command): Make static.
32493 * util/grub-mkdevicemap.c (check_device): Likewise.
32494 * util/i386/pc/misc.c: Include grub/machine/init.h.
32495 * util/powerpc/ieee1275/misc.c: Likewise.
32496 * util/lvm.c: Include grub/util/lvm.h.
32497 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32498 grub/cache.h.
32499 * util/raid.c: Include grub/util/raid.h.
32500 (grub_util_getdiskname): Make static.
32501
32502 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32503 grub_hostfs_fini(), as they are called from grub_init_all() and
32504 grub_fini_all() respectively. This fixes an infinite loop in
32505 grub-fstest due to double registration of hostfs.
32506 Reported by Christian Franke <Christian.Franke@t-online.de>
32507
32508 2008-04-05 Pavel Roskin <proski@gnu.org>
32509
32510 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32511 all 8 functions. Otherwise, probe function 0 only.
32512
32513 2008-04-04 Pavel Roskin <proski@gnu.org>
32514
32515 * commands/lspci.c (grub_lspci_iter): Print the bus number
32516 correctly.
32517
32518 * commands/lspci.c (grub_pci_classes): Fix typos.
32519 (grub_lspci_iter): Don't print func twice. Print vendor ID
32520 before device ID, as it's normally done.
32521
32522 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32523 Fix signedness warnings.
32524 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32525 Likewise.
32526 * util/ieee1275/get_disk_name.c: Include config.h so that
32527 _GNU_SOURCE is defined and getline() is declared. Mark an
32528 unused argument as such. Fix a signedness warning.
32529
32530 2008-04-02 Pavel Roskin <proski@gnu.org>
32531
32532 * genkernsyms.sh.in: Use more robust assignments for CC and
32533 srcdir. Quote srcdir.
32534 * gensymlist.sh.in: Likewise. Assert at the compile time that
32535 the symbol table is not empty.
32536
32537 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32538 * fs/cpio.c (grub_cpio_read): Likewise.
32539
32540 2008-04-01 Pavel Roskin <proski@gnu.org>
32541
32542 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32543 * disk/host.c (grub_host_open): Likewise.
32544 * disk/loopback.c (grub_loopback_open): Likewise.
32545 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32546 disk->id as in disk/host.c, not a multi-character constant.
32547
32548 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32549 later is obsolete, potentially dangerous and sets a bad example.
32550 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32551 * util/misc.c (grub_util_get_image_size): Likewise.
32552
32553 * disk/loopback.c (options): Improve help for "--partitions".
32554
32555 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32556 options to align them with the short options, e.g. "echo -e".
32557
32558 2008-03-31 Bean <bean123ch@gmail.com>
32559
32560 * video/reader/png.c (grub_png_data): New member is_16bit and
32561 image_data.
32562 (grub_png_decode_image_header): Detect 16 bit png image.
32563 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32564 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32565 (grub_video_reader_png): Release memory occupied by image_data.
32566
32567 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32568 4096 bytes.
32569 (grub_nfs_mount): Skip the test for sector per cluster.
32570
32571 * include/grub/ntfs.h (MAX_SPC): Removed.
32572
32573 2008-03-31 Bean <bean123ch@gmail.com>
32574
32575 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32576 (grub_probe_SOURCES): Add fs/afs.c.
32577 (grub_fstest_SOURCES): Likewise.
32578 (afs_mod_SOURCES): New variable.
32579 (afs_mod_CFLAGS): Likewise.
32580 (afs_mod_LDFLAGS): Likewise.
32581
32582 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32583 (grub_emu_SOURCES): Likewise.
32584
32585 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32586
32587 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32588
32589 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32590
32591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32592
32593 * fs/afs.c: New file.
32594
32595 2008-03-30 Pavel Roskin <proski@gnu.org>
32596
32597 * disk/host.c: Include grub/misc.h to fix a warning.
32598 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32599 warnings about implicit declarations.
32600
32601 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32602 variable.
32603 * include/grub/i386/loader.h: Change declaration of
32604 grub_linux_boot() to match what grub_loader_set() expects.
32605 * util/getroot.c (grub_guess_root_device): Return const char* to
32606 fix a warning.
32607 * util/grub-probe.c (probe): Fix a warning about uninitialized
32608 abstraction_name variable.
32609 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32610 second argument as unused to fix a warning.
32611
32612 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32613 missing grub_error() call.
32614
32615 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32616 2.60 and newer uses it to define datadir.
32617
32618 * commands/sleep.c: Fix warning about implicit declaration.
32619 * disk/memdisk.c: Likewise.
32620 * loader/aout.c: Likewise.
32621 * loader/i386/bsd_normal.c: Likewise.
32622 * util/grub-probe.c: Likewise.
32623
32624 * commands/i386/cpuid.c (has_longmode): Make static.
32625 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32626 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32627
32628 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32629 GDT. This is more robust, as %ds can change.
32630 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32631 calling real_to_prot().
32632 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32633
32634 2008-03-28 Pavel Roskin <proski@gnu.org>
32635
32636 * kern/i386/pc/startup.S: Assert that uncompressed functions
32637 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32638 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32639 code, as they push parts of the code (error handlers) beyond
32640 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32641 code as correctness and size.
32642
32643 2008-03-28 Pavel Roskin <proski@gnu.org>
32644
32645 * kern/i386/pc/startup.S
32646 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32647 data block address to the real mode, keep offset minimal. This
32648 works around a bug in AWARD BIOS on old Athlon systems, which
32649 makes CD detection hang.
32650
32651 2008-03-26 Pavel Roskin <proski@gnu.org>
32652
32653 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32654 const.
32655 * include/grub/normal.h: Add grub_parse_color_name_pair()
32656 declaration.
32657
32658 2008-03-24 Bean <bean123ch@gmail.com>
32659
32660 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32661 (cd_count): Removed.
32662 (cd_drive): New variable.
32663 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32664 (grub_biosdisk_call_hook): Likewise.
32665 (grub_biosdisk_iterate): Change cdrom detection method.
32666 (grub_biosdisk_open): Replace cd_start with cd_drive.
32667 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32668 detect cdrom device.
32669
32670 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32671 Removed.
32672 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32673 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32674 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32675 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32676 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32677 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32678 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32679 (grub_biosdisk_cdrp): New structure.
32680 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32681
32682 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32683
32684 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32685 device.
32686
32687 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32688 New function.
32689
32690 2008-03-20 Robert Millan <rmh@aybabtu.com>
32691
32692 Remove 2 TiB limit in ata.mod.
32693 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32694 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32695 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32696 grub_uint64_t instead of grub_uint32_t.
32697
32698 2008-03-05 Bean <bean123ch@gmail.com>
32699
32700 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32701 (grub_multiboot): Set boot device.
32702
32703 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32704
32705 2008-03-02 Bean <bean123ch@gmail.com>
32706
32707 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32708 symlink_buffer.
32709
32710 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32711
32712 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32713 texinfo.tex.
32714
32715 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32716 modified.
32717
32718 * docs/fdl.texi: New file.
32719
32720 * docs/mdate-sh: New file. Copied from gnulib.
32721 * docs/texinfo.tex: Likewise.
32722
32723 * config.guess: Updated from gnulib.
32724 * install-sh: Likewise.
32725
32726 2008-02-28 Robert Millan <rmh@aybabtu.com>
32727
32728 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32729 (aout_mod_SOURCES): New variable.
32730 (aout_mod_CFLAGS): Likewise.
32731 (aout_mod_LDFLAGS): Likewise.
32732
32733 * conf/i386-ieee1275.rmk: Likewise.
32734
32735 2008-02-28 Robert Millan <rmh@aybabtu.com>
32736
32737 * util/update-grub.in: Reorganise terminal validity check. Accept
32738 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32739 Based on suggestion by Franklin PIAT.
32740
32741 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32742
32743 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32744 function.
32745 * util/getroot.c (grub_util_check_block_device): New function that
32746 returns the given argument if it is a block device and returns NULL else.
32747 * util/grub-probe.c (argument_is_device): New variable.
32748 (probe): Promote device_name from a variable to an argument. Receive
32749 device_name from grub_util_check_block_device() if path is NULL and from
32750 grub_guess_root_device() else. Do not free() device_name anymore.
32751 (options): Introduce new parameter '-d, --device'.
32752 (main): Add description of the new parameter to the help screen.
32753 Rename path variable to argument. Set argument_is_device if the '-d'
32754 option is given. Pass argument to probe() depending on
32755 argument_is_device.
32756
32757 2008-02-24 Bean <bean123ch@gmail.com>
32758
32759 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32760 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32761 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32762 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32763 (GRUB_ISO9660_VOLDESC_END): Likewise.
32764 (grub_iso9660_primary_voldesc): New member escape.
32765 (grub_iso9660_data): New member joliet.
32766 (grub_iso9660_convert_string): New function.
32767 (grub_iso9660_mount): Detect joliet extension.
32768 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32769 (grub_iso9660_iso9660_label): Likewise.
32770
32771 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32772 (grub_setup_SOURCES): Add fs/udf.c.
32773 (grub_fstest_SOURCES): Likewise.
32774 (udf_mod_SOURCES): New variable.
32775 (udf_mod_CFLAGS): Likewise.
32776 (udf_mod_LDFLAGS): Likewise.
32777
32778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32779 (grub_emu_SOURCES): Likewise.
32780
32781 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32782
32783 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32784
32785 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32786
32787 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32788
32789 * fs/udf.c: New file.
32790
32791 2008-02-24 Robert Millan <rmh@aybabtu.com>
32792
32793 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32794 (normal/lexer.c_DEPENDENCIES): New variables.
32795 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32796 (normal/lexer.c_DEPENDENCIES): Likewise.
32797 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32798 (normal/lexer.c_DEPENDENCIES): Likewise.
32799 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32800 (normal/lexer.c_DEPENDENCIES): Likewise.
32801 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32802 (normal/lexer.c_DEPENDENCIES): Likewise.
32803 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32804 (normal/lexer.c_DEPENDENCIES): Likewise.
32805
32806 2008-02-23 Robert Millan <rmh@aybabtu.com>
32807
32808 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32809 since they were intended to be in hex. This didn't break previously
32810 because of a bug in gpt_partition_map_iterate() (see below).
32811
32812 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32813 when checking the validity of GPT header.
32814 Remove `partno', since it always provides the same information as `i'.
32815
32816 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32817
32818 * include/grub/efi/time.h: Fix a wrong comment.
32819
32820 2008-02-19 Pavel Roskin <proski@gnu.org>
32821
32822 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32823 message.
32824
32825 2008-02-19 Bean <bean123ch@gmail.com>
32826
32827 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32828 (aout_mod_SOURCES): New variable.
32829 (aout_mod_CFLAGS): Likewise.
32830 (aout_mod_LDFLAGS): Likewise.
32831 (_bsd_mod_SOURCES): New variable.
32832 (_bsd_mod_CFLAGS): Likewise.
32833 (_bsd_mod_LDFLAGS): Likewise.
32834 (bsd_mod_SOURCES): New variable.
32835 (bsd_mod_CFLAGS): Likewise.
32836 (bsd_mod_LDFLAGS): Likewise.
32837
32838 * include/grub/aout.h: New file.
32839
32840 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32841
32842 * include/grub/i386/bsd.h: New file.
32843
32844 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32845 to make it public.
32846
32847 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32848 function is called, so that it's possible to change it inside the hook.
32849 (grub_elf64_load): Likewise.
32850 (grub_elf_file): Don't close the file if elf header is not found.
32851 (grub_elf_close): Close the file if grub_elf_file fails (The new
32852 grub_elf_file won't close it).
32853 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32854 (grub_elf64_size): Likewise.
32855
32856 * kern/i386/loader.S (grub_unix_real_boot): New function.
32857
32858 * loader/aout.c: New file.
32859
32860 * loader/i386/bsd.c: New file.
32861
32862 * loader/i386/bsd_normal.c: New file.
32863
32864 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32865
32866 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
32867 can test other formats.
32868
32869 2008-02-19 Robert Millan <rmh@aybabtu.com>
32870
32871 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32872 (grub_gpt_partition_type_empty): Redefine with macro from
32873 `<grub/gpt_partition.h>'.
32874 (gpt_partition_map_iterate): Adjust partition type comparison.
32875
32876 Export `entry' as partmap-specific `part.data' struct.
32877 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32878
32879 * include/grub/gpt_partition.h (grub_gpt_header)
32880 (grub_gpt_partentry): ... to here (new file).
32881
32882 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32883
32884 (grub_gpt_partition_type_bios_boot): New const variable, defined
32885 with macro from `<grub/gpt_partition.h>'.
32886
32887 (setup): Replace `first_start' with `embed_region', which keeps
32888 track of the embed region (and is partmap-agnostic).
32889
32890 Replace find_first_partition_start() with find_usable_region(),
32891 which finds a usable region for embedding using partmap-specific
32892 knowledge (supports PC/MSDOS and GPT).
32893
32894 Fix all assumptions that the embed region start at sector 1, using
32895 `embed_region.start' from now on. Similarly, use `embed_region.end'
32896 rather than `first_start' to calculate available size.
32897
32898 In grub_util_info() message, replace "into after the MBR" with an
32899 indication of the specific sector our embed region starts at.
32900
32901 2008-02-19 Robert Millan <rmh@aybabtu.com>
32902
32903 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32904 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32905 `commands/reboot.c'.
32906 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32907 (halt_mod_SOURCES): Likewise.
32908 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32909 (halt_mod_SOURCES): Likewise.
32910
32911 2008-02-17 Christian Franke <franke@computer.org>
32912
32913 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32914
32915 2008-02-17 Robert Millan <rmh@aybabtu.com>
32916
32917 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32918 set `first_start' to 0 for non-PC/MSDOS partition maps.
32919
32920 2008-02-16 Robert Millan <rmh@aybabtu.com>
32921
32922 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32923 do not assume partition map is PC/MSDOS before performing checks that
32924 are specific to that layout.
32925
32926 2008-02-13 Robert Millan <rmh@aybabtu.com>
32927
32928 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32929 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32930 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32931
32932 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32933
32934 * configure.ac: Only a cosmetic change on the handling of
32935 -fno-stack-protector.
32936
32937 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
32938
32939 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32940 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32941 reboot.c.
32942 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32943 (halt_mod_SOURCES): New variable.
32944 (halt_mod_CFLAGS): Likewise.
32945 (halt_mod_LDFLAGS): Likewise.
32946 (reboot_mod_SOURCES): Likewise.
32947 (reboot_mod_CFLAGS): Likewise.
32948 (reboot_mod_LDFLAGS): Likewise.
32949
32950 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32951 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32952 reboot.c.
32953 (halt_mod_SOURCES): Likewise.
32954 (reboot_mod_SOURCES): Likewise.
32955
32956 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32957 commands/i386/pc/reboot.c by commands/reboot.c.
32958 (reboot_mod_SOURCES): Likewise.
32959
32960 * commands/i386/pc/reboot.c: merge this file ...
32961
32962 * commands/ieee1275/reboot.c: ... and this file ...
32963
32964 * commands/reboot.c: ... to this file.
32965 Add some precompiler directive to include the correct header for
32966 each machine.
32967
32968 * commands/ieee1275/halt.c: move this file ...
32969
32970 * commands/halt.c: ... to here.
32971 Add some precompiler directive to include the correct header for
32972 each machine.
32973
32974 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32975 (grub_halt): Likewise.
32976
32977 * kern/efi/efi.c (grub_reboot): New function.
32978 (grub_halt): Likewise.
32979
32980 2008-02-12 Robert Millan <rmh@aybabtu.com>
32981
32982 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
32983 /dev (like it is done for /dev/mapper). This doesn't provide support
32984 for EVMS, but at least it is now easy to identify the problem when it
32985 arises.
32986
32987 2008-02-11 Robert Millan <rmh@aybabtu.com>
32988
32989 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
32990 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
32991 comparing it with -1, not 0.
32992
32993 2008-02-10 Robert Millan <rmh@aybabtu.com>
32994
32995 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
32996 `disk/lvm.c'.
32997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32998 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32999
33000 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
33001 `disk/lvm.c' to the end of the list.
33002 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33003 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33004
33005 2008-02-10 Robert Millan <rmh@aybabtu.com>
33006
33007 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
33008 grub_print_error() instead. This will let user know why we're entering
33009 rescue mode.
33010 Based on suggestions from Sam Morris.
33011
33012 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
33013
33014 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
33015 on remaining N args, instead of "--" arg N times.
33016
33017 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
33018
33019 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
33020 (fill_with_default_glyph): Changed to use unknown_glyph for fill
33021 pattern for unknown glyphs.
33022
33023 2008-02-09 Robert Millan <rmh@aybabtu.com>
33024
33025 * configure.ac: Probe for `help2man'.
33026 * Makefile.in (builddir): New variable.
33027 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
33028 or otherwise add a few flags/options to it.
33029 (install-local): For every executable utility or script that is
33030 installed, invoke $(HELP2MAN) to install a manpage based on --help
33031 output.
33032
33033 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
33034 that it doesn't prevent --help from working in build tree.
33035
33036 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
33037 with `bug-grub@gnu.org'.
33038 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
33039 * util/update-grub.in (usage): New function.
33040 Implement proper argument check, with support for --help and --version
33041 (as well as existing -y).
33042
33043 2008-02-09 Christian Franke <franke@computer.org>
33044
33045 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
33046 avoid overwriting previous output.
33047 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
33048
33049 2008-02-09 Robert Millan <rmh@aybabtu.com>
33050
33051 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
33052 drawing the menu.
33053
33054 2008-02-09 Robert Millan <rmh@aybabtu.com>
33055
33056 * commands/sleep.c: New file.
33057 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
33058 (sleep_mod_SOURCES): New variable.
33059 (sleep_mod_CFLAGS): Likewise.
33060 (sleep_mod_LDFLAGS): Likewise.
33061
33062 2008-02-09 Robert Millan <rmh@aybabtu.com>
33063
33064 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
33065 situations in which we can deduce the RAID size and the superblock
33066 doesn't match it.
33067
33068 2008-02-09 Robert Millan <rmh@aybabtu.com>
33069
33070 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33071 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33072 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33073
33074 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33075 and return a grub_diskmemberlist_t composed of physical array members.
33076 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33077
33078 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33079 prototype.
33080 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33081 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33082 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33083
33084 * util/grub-probe.c (probe): Move partmap probing code from here ...
33085 (probe_partmap): ... to here.
33086 (probe): Use probe_partmap() once for the disk we're probing, and
33087 additionally, when such disk contains a memberlist() struct member,
33088 once for each disk that is contained in the structure returned by
33089 memberlist().
33090
33091 2008-02-09 Robert Millan <rmh@aybabtu.com>
33092
33093 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33094 environment variable to 'all' in order to obtain debug output from
33095 non-util/ code.
33096 * util/i386/pc/grub-setup.c (main): Likewise.
33097
33098 2008-02-08 Robert Millan <rmh@aybabtu.com>
33099
33100 * disk/raid.c (grub_raid_scan_device): Check for
33101 `array->device[sb.this_disk.number]' rather than for
33102 `array->device[sb.this_disk.number]->name', since the latter is not
33103 guaranteed to be accessible.
33104
33105 2008-02-08 Robert Millan <rmh@aybabtu.com>
33106
33107 * disk/raid.c: Update copyright.
33108 * fs/cpio.c: Likewise.
33109 * include/grub/raid.h: Likewise.
33110 * loader/i386/pc/multiboot.c: Likewise.
33111 * util/hostfs.c: Likewise.
33112
33113 2008-02-08 Robert Millan <rmh@aybabtu.com>
33114
33115 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33116 to a grub_disk_t array.
33117 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33118 `device[x]'.
33119 (grub_raid_scan_device): Replace `device[x].name' accesses with
33120 `device[x]->name'. Simplify initialization of `array->device[x]'.
33121
33122 2008-02-08 Robert Millan <rmh@aybabtu.com>
33123
33124 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33125 grub_dprintf() calls.
33126 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33127 error message.
33128
33129 2008-02-07 Christian Franke <franke@computer.org>
33130
33131 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33132 instead of fseek and ftell to support large files.
33133 (grub_hostfs_read): Likewise.
33134
33135 2008-02-07 Robert Millan <rmh@aybabtu.com>
33136
33137 Patch from Jeroen Dekkers.
33138 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
33139 failure, since successfully reading all array members might not be
33140 required.
33141
33142 2008-02-06 Robert Millan <rmh@aybabtu.com>
33143
33144 * util/grub-probe.c (probe): Simplify partmap probing (with the
33145 assumption that the first word up to the underscore equals to
33146 the module name).
33147
33148 2008-02-06 Christian Franke <franke@computer.org>
33149
33150 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33151 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33152 last block of a cpio or tar stream.
33153 Check for "TRAILER!!!" instead of any empty data
33154 block to detect last block of a cpio stream.
33155 (grub_cpio_dir): Fix constness of variable np.
33156 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33157 cpio or tar trailer is detected. This fixes a crash
33158 on open of a non existing file.
33159
33160 2008-02-05 Bean <bean123ch@gmail.com>
33161
33162 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33163 address of entry.
33164 (grub_multiboot_load_elf64): Likewise.
33165 (grub_multiboot): Initialize mbi structure.
33166
33167 * util/grub-fstest.c: Don't include unused header file script.h.
33168
33169 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
33170 of file.
33171 (grub_fstest_SOURCES): Likewise.
33172
33173 2008-02-05 Robert Millan <rmh@aybabtu.com>
33174
33175 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33176 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33177 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33178 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33179
33180 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33181 (translation_table): Replace hardcoded values with macros
33182 provided by `<grub/term.h>'.
33183
33184 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33185 (keyboard_map): Correct/add a few values, with macros provided
33186 by `<grub/term.h>'.
33187 (keyboard_map_shift): Zero values that don't differ from their
33188 `keyboard_map' equivalents.
33189 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33190 Discard the second scan code that is always sent by Caps lock.
33191 Only use `keyboard_map_shift' when it provides a non-zero value,
33192 otherwise fallback to `keyboard_map'.
33193
33194 2008-02-04 Bean <bean123ch@gmail.com>
33195
33196 * Makefile.in (enable_grub_fstest): New variable.
33197
33198 * conf/common.rmk (grub_fstest_init.lst): New rule.
33199 (grub_fstest_init.h): Likewise.
33200 (grub_fstest_init.c): Likewise.
33201 (util/grub-fstest.c_DEPENDENCIES): New variable.
33202 (grub_fstest_SOURCES): Likewise.
33203
33204 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33205
33206 * util/grub-fstest.c: New file.
33207
33208 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33209
33210 Make grub-setup handle a separate root device.
33211
33212 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33213 so that the root device can be compared with the destination
33214 device.
33215 When embedding the core image, if the root and destination devices
33216 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33217 0xFF.
33218 When not embedding, set ROOT_DRIVE to 0xFF.
33219
33220 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33221
33222 Add support for having a grub directory in a different drive. This
33223 is still only the data handling part.
33224
33225 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33226 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33227 (grub_root_drive): New variable.
33228
33229 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33230 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33231 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33232 as it was.
33233
33234 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33235
33236 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33237 macro.
33238 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33239
33240 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33241 is bogus, because PXE booting does not specify any drive
33242 correctly.
33243
33244 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33245 am not sure if this is really correct.
33246
33247 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33248 is always identical to the boot drive when booting from a CD.
33249
33250 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33251 longer.
33252 (root_drive): New variable.
33253 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33254 (setup_sectors): Push %dx right after popping it, because %dh will
33255 be modified later.
33256 (copy_buffer): Restore %dx.
33257
33258 2008-02-03 Robert Millan <rmh@aybabtu.com>
33259
33260 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33261 use `cdboot.img' for cdrom images.
33262
33263 2008-02-03 Robert Millan <rmh@aybabtu.com>
33264
33265 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33266 only setup gfxterm when `font' command has succeeded.
33267
33268 2008-02-03 Robert Millan <rmh@aybabtu.com>
33269
33270 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33271 (grub_rescue_cmd_multiboot_loader)
33272 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33273
33274 2008-02-03 Pavel Roskin <proski@gnu.org>
33275
33276 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
33277 %edx and %esi from stack only after grub_gate_a20() is called.
33278 grub_gate_a20() clobbers %edx.
33279
33280 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33281
33282 * configure.ac (AC_INIT): Bumped to 1.96.
33283
33284 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33285 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33286 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33287 video/readers/png.c.
33288
33289 2008-02-03 Bean <bean123ch@gmail.com>
33290
33291 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33292 (cdboot_img_SOURCES): New variable.
33293 (cdboot_img_ASFLAGS): New variable.
33294 (cdboot_img_LDFLAGS): New variable.
33295
33296 * boot/i386/pc/cdboot.S: New file.
33297
33298 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33299 (cd_count): Likewise.
33300 (grub_biosdisk_get_drive): Add support for cd device.
33301 (grub_biosdisk_call_hook): Likewise.
33302 (grub_biosdisk_iterate): Likewise.
33303 (grub_biosdisk_open): Likewise.
33304 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33305 (grub_biosdisk_rw): Support reading from cd device.
33306 (GRUB_MOD_INIT): Iterate cd devices.
33307
33308 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33309 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33310 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33311
33312 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33313
33314 2008-02-02 Robert Millan <rmh@aybabtu.com>
33315
33316 * commands/read.c: New file.
33317 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33318 (read_mod_SOURCES): New variable.
33319 (read_mod_CFLAGS): Likewise.
33320 (read_mod_LDFLAGS): Likewise.
33321
33322 2008-02-02 Robert Millan <rmh@aybabtu.com>
33323
33324 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33325 determining whether menu has to be displayed.
33326
33327 2008-02-02 Marco Gerards <marco@gnu.org>
33328
33329 * bus/pci.c: New file.
33330
33331 * include/grub/pci.h: Likewise.
33332
33333 * include/grub/i386/pc/pci.h: Likewise.
33334
33335 * commands/lspci.c: Likewise.
33336
33337 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33338 `lspci.mod'.
33339 (pci_mod_SOURCES): New variable.
33340 (pci_mod_CFLAGS): Likewise.
33341 (pci_mod_LDFLAGS): Likewise.
33342 (lspci_mod_SOURCES): Likewise.
33343 (lspci_mod_CFLAGS): Likewise.
33344 (lspci_mod_LDFLAGS): Likewise.
33345
33346 2008-02-02 Bean <bean123ch@gmail.com>
33347
33348 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33349 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33350
33351 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33352 (grub_xfs_btree_node): New structure.
33353 (grub_xfs_btree_root): New structure.
33354 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33355 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33356 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33357 (GRUB_XFS_EXTENT_SIZE): Likewise.
33358 (grub_xfs_read_block): Support btree format type.
33359 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33360 Use directory block as basic unit.
33361
33362 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33363
33364 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33365 __attribute__ ((__regparm__ (1))).
33366
33367 2008-02-01 Robert Millan <rmh@aybabtu.com>
33368
33369 Correct a mistake in previous commit.
33370
33371 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33372 top.
33373 (normal/command.c_DEPENDENCIES): New variable.
33374
33375 2008-02-01 Robert Millan <rmh@aybabtu.com>
33376
33377 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33378 top.
33379 (normal/command.c_DEPENDENCIES): New variable.
33380 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33381 * conf/i386-ieee1275.rmk: Likewise.
33382 * conf/i386-linuxbios.rmk: Likewise.
33383 * conf/i386-pc.rmk: Likewise.
33384 * conf/sparc64-ieee1275.rmk: Likewise.
33385 * conf/powerpc-ieee1275.rmk: Likewise.
33386 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33387
33388 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33389
33390 2008-02-01 Robert Millan <rmh@aybabtu.com>
33391
33392 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33393 call at beginning of function.
33394
33395 2008-01-31 Pavel Roskin <proski@gnu.org>
33396
33397 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
33398 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33399 (grub_mkrescue_SOURCES): Likewise.
33400 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33401
33402 2008-01-30 Robert Millan <rmh@aybabtu.com>
33403
33404 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33405 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33406 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33407 (grub_probe_SOURCES): ... to here.
33408
33409 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33410 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33411 * conf/i386-ieee1275.rmk: Likewise.
33412 * conf/i386-linuxbios.rmk: Likewise.
33413 * conf/powerpc-ieee1275.rmk: Likewise.
33414
33415 2008-01-30 Tristan Gingold <gingold@free.fr>
33416
33417 * kern/rescue.c: Silently accept empty lines.
33418
33419 2008-01-29 Bean <bean123ch@gmail.com>
33420
33421 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33422 (real_code_2): Code cleanup and change comment style.
33423 (move_memory): Avoid using 32-bit address mode.
33424
33425 2008-01-29 Bean <bean123ch@gmail.com>
33426
33427 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33428 (png_mod_SOURCES): New variable.
33429 (png_mod_CFLAGS): Likewise.
33430 (png_mod_LDFLAGS): Likewise.
33431
33432 * video/readers/png.c: New file.
33433
33434 2008-01-28 Robert Millan <rmh@aybabtu.com>
33435
33436 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33437 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33438 `ifndef GRUB_MOD_GAP' hack.
33439 * util/elf/grub-mkimage.c (add_segments): Likewise.
33440
33441 2008-01-27 Robert Millan <rmh@aybabtu.com>
33442
33443 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33444 `GRUB_MOD_GAP' for platforms in which it's not defined.
33445 * util/elf/grub-mkimage.c (add_segments): Likewise.
33446
33447 2008-01-27 Robert Millan <rmh@aybabtu.com>
33448
33449 Get grub-emu to build again (including parallel builds).
33450
33451 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33452 Split into ...
33453 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33454 (normal/execute.c_DEPENDENCIES): ... this, ...
33455 (grub-emu_DEPENDENCIES): ... and this.
33456
33457 * conf/i386-efi.rmk: Likewise.
33458 * conf/i386-linuxbios.rmk: Likewise.
33459 * conf/i386-ieee1275.rmk: Likewise.
33460 * conf/powerpc-ieee1275.rmk: Likewise.
33461 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33462
33463 2008-01-27 Robert Millan <rmh@aybabtu.com>
33464
33465 * NEWS: Add a few items.
33466
33467 2008-01-27 Robert Millan <rmh@aybabtu.com>
33468
33469 Fix parallel builds with grub-emu. Based on earlier commit for
33470 grub-probe and grub-setup.
33471
33472 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33473 (util/grub-emu.c_DEPENDENCIES): ... this.
33474 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33475 (util/grub-emu.c_DEPENDENCIES): ... this.
33476 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33477 (util/grub-emu.c_DEPENDENCIES): ... this.
33478 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33479 (util/grub-emu.c_DEPENDENCIES): ... this.
33480 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33481 (util/grub-emu.c_DEPENDENCIES): ... this.
33482
33483 2008-01-27 Pavel Roskin <proski@gnu.org>
33484
33485 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33486 to create a gap between _end and the modules added to the image
33487 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33488 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33489 * util/elf/grub-mkimage.c (add_segments): Likewise.
33490
33491 2008-01-26 Pavel Roskin <proski@gnu.org>
33492
33493 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33494 just return an error.
33495
33496 2008-01-26 Bean <bean123ch@gmail.com>
33497
33498 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33499 (grub_reiserfs_get_item): Save offset of the next item.
33500 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33501
33502 2008-01-25 Robert Millan <rmh@aybabtu.com>
33503
33504 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33505 make all filesystem sources appear together (possibly fixing omissions
33506 while at it).
33507 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33509 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33510 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33511
33512 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33513 add `kern/file.c'.
33514 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33515 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33516 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33517 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33518
33519 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33520 (probe): Add a sanity check to make sure of our ability to read
33521 requested files when probing for filesystem type.
33522
33523 * genmk.rb: Update copyright year (2007).
33524
33525 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33526 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33527 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33528 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33529 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33530 : Remove function prototypes.
33531
33532 2008-01-25 Robert Millan <rmh@aybabtu.com>
33533
33534 Revert my previous commits (based on wrong assumption of how grub_errno
33535 works).
33536
33537 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
33538 * kern/file.c (grub_file_open): Likewise.
33539
33540 2008-01-24 Pavel Roskin <proski@gnu.org>
33541
33542 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33543 that hang if GRUB tries to setup colors.
33544 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33545 colors for firmwares that don't support it.
33546 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33547 Recognize Open Hack'Ware, set flags to work around its
33548 limitations.
33549
33550 2008-01-24 Robert Millan <rmh@aybabtu.com>
33551
33552 * kern/file.c (grub_file_open): Do not account previous failures of
33553 unrelated functions when grub_errno is checked for.
33554 Reported by Oleg Strikov.
33555
33556 2008-01-24 Bean <bean123ch@gmail.com>
33557
33558 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33559 (grub_ufs_sblock): New member volume name.
33560 (grub_ufs_find_file): Fix string copy bug.
33561 (grub_ufs_label): Implement this function properly.
33562
33563 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33564 (grub_hfs_iterate_records): Use the correct file number for extents
33565 and catalog file. Fix problem in next index calculation.
33566 (grub_hfs_find_node): Replace recursive function call with loop.
33567 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33568
33569 2008-01-23 Robert Millan <rmh@aybabtu.com>
33570
33571 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33572 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33573 (grub_multiboot2_real_boot): New function prototype.
33574
33575 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33576 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33577
33578 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33579 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33580
33581 2008-01-23 Robert Millan <rmh@aybabtu.com>
33582
33583 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33584 #ifdef'ed out grub_printf().
33585
33586 2008-01-23 Robert Millan <rmh@aybabtu.com>
33587
33588 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33589 grub_dprintf calls, since they make "debug=all" mode unusable.
33590 (grub_console_checkkey): Likewise.
33591
33592 2008-01-23 Robert Millan <rmh@aybabtu.com>
33593
33594 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33595 `term/i386/pc/at_keyboard.c'.
33596 (pkglib_MODULES): Add `serial.mod'.
33597 (serial_mod_SOURCES): New variable.
33598 (serial_mod_CFLAGS): Likewise.
33599 (serial_mod_LDFLAGS): Likewise.
33600
33601 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33602 `<grub/powerpc/ieee1275/console.h>'.
33603 (grub_keyboard_controller_init): New function prototype.
33604 (grub_console_checkkey): Likewise.
33605 (grub_console_getkey): Likewise.
33606
33607 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33608 keyboard on i386.
33609
33610 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33611 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33612
33613 2008-01-23 Robert Millan <rmh@aybabtu.com>
33614
33615 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33616 present, "(memdisk)/boot/grub" becomes the default prefix.
33617
33618 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33619 a memdisk tarball with all the modules. Add --overlay=DIR option that
33620 allows users to overlay additional files into the image.
33621
33622 2008-01-23 Robert Millan <rmh@aybabtu.com>
33623
33624 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33625 and `machine/memory.h'.
33626 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33627 (_multiboot_mod_SOURCES): New variable.
33628 (_multiboot_mod_CFLAGS): Likewise.
33629 (_multiboot_mod_LDFLAGS): Likewise.
33630 (multiboot_mod_SOURCES): Likewise.
33631 (multiboot_mod_CFLAGS): Likewise.
33632 (multiboot_mod_LDFLAGS): Likewise.
33633
33634 * include/grub/i386/ieee1275/loader.h: New file.
33635
33636 * include/grub/i386/ieee1275/machine.h: Likewise.
33637
33638 * include/grub/i386/ieee1275/memory.h: Likewise.
33639
33640 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33641 variable declaration.
33642 (grub_os_area_size): Likewise.
33643
33644 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33645 (grub_lower_mem, grub_upper_mem): New variables.
33646 (grub_stop_floppy): New function (just to make
33647 grub_multiboot2_real_boot() happy).
33648
33649 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33650 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33651 (grub_stop): New function.
33652 Include `"../realmode.S"' and `"../loader.S"'.
33653
33654 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33655 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33656
33657 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33658 rely on grub_multiboot2_real_boot() for final boot.
33659
33660 2008-01-22 Robert Millan <rmh@aybabtu.com>
33661
33662 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33663 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33664 device that doesn't look like an SD card.
33665 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33666 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33667 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33668 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33669 found.
33670
33671 2008-01-22 Robert Millan <rmh@aybabtu.com>
33672
33673 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33674 avoid claiming over our own code.
33675
33676 2008-01-22 Bean <bean123ch@gmail.com>
33677
33678 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33679 (jpeg_mod_SOURCES): New variable.
33680 (jpeg_mod_CFLAGS): Likewise.
33681 (jpeg_mod_LDFLAGS): Likewise.
33682
33683 * video/readers/jpeg.c : New file.
33684
33685 2008-01-22 Bean <bean123ch@gmail.com>
33686
33687 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33688 there are no more items.
33689
33690 2008-01-21 Robert Millan <rmh@aybabtu.com>
33691
33692 * kern/mm.c (grub_mm_init_region): Improve debug message.
33693
33694 2008-01-21 Robert Millan <rmh@aybabtu.com>
33695
33696 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33697 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33698 address.
33699 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33700 a C macro.
33701 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33702 Indicates start of upper memory.
33703 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33704 (generate_image): Abort when image size is big enough to corrupt
33705 upper memory.
33706
33707 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33708 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33709 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33710 instead of hardcoding 0xA0000.
33711 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33712 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33713 instead of hardcoding 0xA0000.
33714
33715 2008-01-21 Robert Millan <rmh@aybabtu.com>
33716
33717 * disk/memdisk.c (memdisk_size): New variable.
33718 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33719 `memdisk_size'.
33720 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33721 image to dynamic memory.
33722 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33723 `memdisk_size'. Free memdisk block.
33724
33725 2008-01-21 Robert Millan <rmh@aybabtu.com>
33726
33727 Fix detection of very small filesystems (like tar).
33728
33729 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33730 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33731 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33732 a problem with this disk).
33733
33734 2008-01-21 Robert Millan <rmh@aybabtu.com>
33735
33736 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33737 on grub_biosdisk_rw_standard() error.
33738
33739 2008-01-21 Robert Millan <rmh@aybabtu.com>
33740
33741 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33742 recent changes.
33743 * kern/elf.c: Likewise.
33744 * kern/ieee1275/ieee1275.c: Likewise.
33745 * kern/powerpc/ieee1275/openfw.c: Likewise.
33746 * term/ieee1275/ofconsole.c: Likewise.
33747
33748 2008-01-21 Robert Millan <rmh@aybabtu.com>
33749
33750 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33751
33752 * include/grub/kernel.h (grub_arch_memdisk_addr)
33753 (grub_arch_memdisk_size): Moved from here ...
33754
33755 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33756 (grub_arch_memdisk_size): ... to here.
33757
33758 2008-01-21 Robert Millan <rmh@aybabtu.com>
33759
33760 Mostly based on bugfix from Bean.
33761
33762 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33763 attribute with hook() parameter.
33764 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33765 declaration.
33766 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33767 attribute with hook() parameter.
33768 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33769 declaration.
33770
33771 2008-01-21 Robert Millan <rmh@aybabtu.com>
33772
33773 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33774 (pkglib_MODULES): Add `memdisk.mod'.
33775 (memdisk_mod_SOURCES): New variable.
33776 (memdisk_mod_CFLAGS): Likewise.
33777 (memdisk_mod_LDFLAGS): Likewise.
33778
33779 * disk/memdisk.c: New file.
33780
33781 * include/grub/disk.h (grub_disk_dev_id): Add
33782 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33783
33784 * include/grub/i386/pc/kernel.h
33785 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33786 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33787 (grub_kernel_image_size): New variable declaration.
33788 (grub_total_module_size): Likewise.
33789 (grub_memdisk_image_size): Likewise.
33790
33791 * include/grub/i386/pc/memory.h
33792 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33793
33794 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33795 (grub_arch_memdisk_addr): New variable declaration.
33796 (grub_arch_memdisk_size): Likewise.
33797
33798 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33799 (grub_arch_memdisk_size): Likewise.
33800
33801 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33802 (codestart): Replace hardcoded `0x100000' with
33803 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33804
33805 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33806 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33807 not NULL, append the contents of the file it refers to, at the end of
33808 the compressed kernel image. Initialize `grub_memdisk_image_size'
33809 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33810 (options): Add "memdisk"|'m' option.
33811 (main): Parse --memdisk|-m option, and pass user-provided path as
33812 parameter to generate_image().
33813
33814 2008-01-20 Robert Millan <rmh@aybabtu.com>
33815
33816 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33817 grub_dprintf() calls from here ...
33818 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33819
33820 2008-01-20 Robert Millan <rmh@aybabtu.com>
33821
33822 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33823
33824 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33825 declaration.
33826 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33827 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33828 `GRUB_IEEE1275_FLAG_REAL_MODE'.
33829 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
33830 property).
33831 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33832 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33833
33834 2008-01-19 Robert Millan <rmh@aybabtu.com>
33835
33836 Get rid of confusing function (superseded by
33837 `grub_ieee1275_get_integer_property')
33838 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33839 prototype.
33840 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33841 function.
33842 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33843 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
33844 in native endianness from grub_ieee1275_get_integer_property().
33845
33846 2008-01-19 Robert Millan <rmh@aybabtu.com>
33847
33848 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33849 command after "shut-down", since implementations differ on which
33850 the command for halt is.
33851
33852 2008-01-19 Robert Millan <rmh@aybabtu.com>
33853
33854 * include/grub/i386/linuxbios/console.h: Add header protection.
33855 (grub_keyboard_controller_init): New function prototype.
33856 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33857 (KEYBOARD_COMMAND_READ): Likewise.
33858 (KEYBOARD_COMMAND_WRITE): Likewise.
33859 (KEYBOARD_SCANCODE_SET1): Likewise.
33860 (grub_keyboard_controller_write): New function.
33861 (grub_keyboard_controller_read): Likewise.
33862 (grub_keyboard_controller_init): Likewise.
33863
33864 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33865 (grub_console_init): On coreboot/LinuxBIOS, call
33866 grub_keyboard_controller_init().
33867
33868 2008-01-19 Robert Millan <rmh@aybabtu.com>
33869
33870 PowerPC changes provided by Pavel Roskin.
33871
33872 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33873 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33874 don't rely on cmain() doing it.
33875 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33876 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33877
33878 2008-01-16 Robert Millan <rmh@aybabtu.com>
33879
33880 * include/grub/i386/linuxbios/memory.h
33881 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33882 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33883 receive `table_header' as argument. Instead, probe for it in the
33884 known memory ranges where it can be present.
33885 (grub_available_iterate): Do not pass a fixed `table_header' address
33886 to grub_linuxbios_table_iterate().
33887
33888 2008-01-15 Robert Millan <rmh@aybabtu.com>
33889
33890 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33891 * conf/i386-ieee1275.rmk: New file.
33892 * include/grub/i386/ieee1275/console.h: Likewise.
33893 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33894 * include/grub/i386/ieee1275/kernel.h: Likewise.
33895 * include/grub/i386/ieee1275/time.h: Likewise.
33896 * kern/i386/ieee1275/init.c: Likewise.
33897 * kern/i386/ieee1275/startup.S: Likewise.
33898
33899 2008-01-15 Robert Millan <rmh@aybabtu.com>
33900
33901 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33902 when pointers are 32-bit (but still do set it to one when they are
33903 64-bit).
33904
33905 2008-01-15 Robert Millan <rmh@aybabtu.com>
33906
33907 * include/grub/ieee1275/ieee1275.h
33908 (grub_ieee1275_get_integer_property): New function prototype.
33909
33910 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33911 (grub_ieee1275_get_integer_property): New function. Wraps around
33912 grub_ieee1275_get_property() to handle endianness.
33913
33914 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33915 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
33916 where appropriate.
33917 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33918 (grub_map): Likewise.
33919 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33920
33921 2008-01-15 Bean <bean123ch@gmail.com>
33922
33923 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33924 (grub_script_execute_cmdline): Reset grub_errno.
33925
33926 * normal/main.c (read_config_file): Reset grub_errno.
33927
33928 * normal/parse.y (script_init): New.
33929 (script): Move function and menuentry here.
33930 (delimiter): New.
33931 (command): Add delimiter at the end of command.
33932 (commands): Adjust to match the new command.
33933 (commandblock): Remove grub_script_lexer_record_start.
33934 (menuentry): Add grub_script_lexer_record_start, use the new commands.
33935 (if): Use the new commands.
33936
33937 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33938
33939 2008-01-15 Robert Millan <rmh@aybabtu.com>
33940
33941 * normal/menu.c (run_menu): Move timeout message from here ...
33942 (print_timeout): ... to here.
33943 (run_menu): Use print_timeout() once during initial draw to print
33944 the whole message, and again in every clock tick to update only
33945 the number of seconds.
33946
33947 2008-01-15 Robert Millan <rmh@aybabtu.com>
33948
33949 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33950 actual size of `available' from grub_ieee1275_get_property(), and
33951 restrict parsing to that bound.
33952
33953 2008-01-15 Christian Franke <franke@computer.org>
33954
33955 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33956 (argp_program_version): Remove variable.
33957 (argp_program_bug_address): Likewise.
33958 (options): Convert from struct argp_option to struct option.
33959 (struct arguments): Remove.
33960 (parse_opt): Remove.
33961 (usage): New function.
33962 (main): Replace struct args members by simple variables.
33963 Replace argp_parse() by getopt_long().
33964 Add switch to evaluate options.
33965 Add missing "(...)" around root_dev in prefix string.
33966
33967 2008-01-14 Robert Millan <rmh@aybabtu.com>
33968
33969 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33970 for grub_ieee1275_exit(), in order to improve portability.
33971
33972 2008-01-14 Robert Millan <rmh@aybabtu.com>
33973
33974 * util/grub.d/10_linux.in (prefix): Define.
33975 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33976
33977 2008-01-13 Pavel Roskin <proski@gnu.org>
33978
33979 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
33980 grub_errno if no errors have been detected.
33981
33982 2008-01-12 Robert Millan <rmh@aybabtu.com>
33983
33984 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
33985 (grub_util_get_dev_abstraction): New function prototype.
33986
33987 * util/getroot.c: Include `<grub/util/getroot.h>'
33988 (grub_util_get_grub_dev): Move detection of abstraction type to ...
33989 (grub_util_get_dev_abstraction): ... here (new function).
33990
33991 * util/grub-probe.c: Convert PRINT_* to an enum. Add
33992 `PRINT_ABSTRACTION'.
33993 (probe): Probe for abstraction type when requested.
33994 (main): Understand `--target=abstraction'.
33995
33996 * util/i386/efi/grub-install.in: Add abstraction module to core
33997 image when it is found to be necessary.
33998 * util/i386/pc/grub-install.in: Likewise.
33999 * util/powerpc/ieee1275/grub-install.in: Likewise.
34000
34001 * util/update-grub_lib.in (font_path): Return system path without
34002 converting to GRUB path.
34003 * util/update-grub.in: Convert system path returned by font_path()
34004 to a GRUB path. Use `grub-probe -t abstraction' to determine what
34005 abstraction module is needed for loading fonts (if any). Export
34006 that as `GRUB_PRELOAD_MODULES'.
34007 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
34008 insmod commands).
34009
34010 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
34011
34012 Remove some unused code from reiserfs.
34013
34014 * fs/reiserfs.c (struct grub_reiserfs_key)
34015 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
34016 (struct grub_reiserfs_node_body): Removed.
34017 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34018 Likewise.
34019 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34020 Likewise.
34021 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34022 Likewise.
34023 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
34024 Likewise.
34025 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
34026 Likewise.
34027 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
34028 Likewise.
34029 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34030 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34031 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
34032
34033 2008-01-10 Robert Millan <rmh@aybabtu.com>
34034
34035 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
34036 Determines if a file is garbage left by packaging systems, etc.
34037 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
34038 for processing /etc/grub.d scripts.
34039 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
34040 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
34041 as a condition for processing Linux images.
34042
34043 2008-01-10 Pavel Roskin <proski@gnu.org>
34044
34045 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
34046 to compile reiserfs.c on PowerPC.
34047
34048 2008-01-10 Robert Millan <rmh@aybabtu.com>
34049
34050 * kern/device.c (grub_device_iterate): Do not abort device iteration
34051 when one of the devices cannot be opened.
34052 * kern/disk.c (grub_disk_open): Do not account previous failures of
34053 unrelated functions when grub_errno is checked for.
34054
34055 2008-01-08 Robert Millan <rmh@aybabtu.com>
34056
34057 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
34058 `! grub_linux_is_bzimage', change order of address comparison to make
34059 it more intuitive, and improve "too big zImage" error message.
34060
34061 2008-01-08 Robert Millan <rmh@aybabtu.com>
34062
34063 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
34064 `$(update-grub_DATA)'.
34065 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
34066 targets.
34067
34068 2008-01-07 Robert Millan <rmh@aybabtu.com>
34069
34070 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34071 which instruction is modified by grub-setup during installation
34072 (since it wasn't obvious by only looking at this file).
34073
34074 2008-01-07 Robert Millan <rmh@aybabtu.com>
34075
34076 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34077 listing actual TODO items.
34078
34079 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34080
34081 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34082 correctly.
34083 (grub_reiserfs_get_key_offset): Likewise.
34084 (grub_reiserfs_set_key_offset): Likewise.
34085 (grub_reiserfs_set_key_type): Likewise.
34086 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
34087
34088 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34089 better to remove the bitfield version completely.
34090
34091 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34092
34093 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34094 allocated from the heap, due to the fshelp implementation.
34095 (grub_reiserfs_dir): Free NODE, due to the same reason.
34096
34097 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34098
34099 Mostly from Vincent Pelletier:
34100
34101 * fs/reiserfs.c: New file.
34102
34103 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34104 (reiserfs_mod_SOURCES): New variable.
34105 (reiserfs_mod_CFLAGS): Likewise.
34106 (reiserfs_mod_LDFLAGS): Likewise.
34107
34108 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34109 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34110 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34111 normal/color.c.
34112
34113 2008-01-06 Robert Millan <rmh@aybabtu.com>
34114
34115 * normal/color.c: Remove `<grub/env.h>'.
34116
34117 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34118
34119 * include/grub/normal.h: Include <grub/env.h>.
34120
34121 2008-01-05 Robert Millan <rmh@aybabtu.com>
34122
34123 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34124 usage example with `(hd0,1)'.
34125 Reported by Samuel Thibault.
34126
34127 2008-01-05 Robert Millan <rmh@aybabtu.com>
34128
34129 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34130 (grub_linux_boot_zimage): Rename to ...
34131 (grub_linux_boot): ... this.
34132 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34133 (grub_linux_boot_zimage): Conditionalize zImage copy.
34134
34135 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34136 (grub_linux_boot_bzimage): Remove prototype.
34137 (grub_linux_boot_zimage): Rename to ...
34138 (grub_linux_boot): ... this.
34139
34140 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34141 (grub_linux_boot): Remove function.
34142
34143 2008-01-05 Robert Millan <rmh@aybabtu.com>
34144
34145 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34146 (grub_env_write_color_highlight): Likewise.
34147 (grub_wait_after_message): Likewise.
34148
34149 * normal/color.c: New file.
34150
34151 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34152 (normal_mod_DEPENDENCIES): Likewise.
34153
34154 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34155 (normal_mod_DEPENDENCIES): Likewise.
34156
34157 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34158 (normal_mod_DEPENDENCIES): Likewise.
34159
34160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34161 (normal_mod_DEPENDENCIES): Likewise.
34162
34163 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34164 for waiting after a message is printed.
34165 * normal/main.c (read_config_file): Likewise.
34166 (grub_normal_init): Register grub_env_write_color_normal() and
34167 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34168 `color_highlight' variables as global.
34169
34170 * normal/menu.c (grub_wait_after_message): New function.
34171 (grub_color_menu_normal): New variable. Replaces ...
34172 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34173 (grub_color_menu_highlight): New variable. Replaces ...
34174 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34175 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34176 `GRUB_TERM_COLOR_STANDARD'.
34177 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34178 `normal_code' and `highlight_code' to `old_color_normal' and
34179 `old_color_highlight', respectively.
34180 (grub_menu_init_page): Update colors when drawing the menu, based on
34181 `menu_color_normal' and `menu_color_highlight' variables.
34182 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34183 a message is printed.
34184
34185 2008-01-05 Robert Millan <rmh@aybabtu.com>
34186
34187 * kern/env.c (grub_env_context_open): Propagate hooks for global
34188 variables to new context.
34189
34190 * kern/main.c (grub_set_root_dev): Export `root' variable.
34191
34192 2008-01-05 Robert Millan <rmh@aybabtu.com>
34193
34194 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
34195 discs unconditionally, since udev and others have options to provide
34196 them.
34197
34198 2008-01-05 Robert Millan <rmh@aybabtu.com>
34199
34200 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34201
34202 2008-01-04 Christian Franke <franke@computer.org>
34203
34204 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34205 of eisa_mmap.
34206
34207 2008-01-03 Pavel Roskin <proski@gnu.org>
34208
34209 * kern/i386/linuxbios/init.c: Put "void" to all function
34210 declarations with no arguments.
34211 * kern/powerpc/ieee1275/init.c: Likewise.
34212 * term/i386/pc/at_keyboard.c: Likewise.
34213 * term/i386/pc/vga_text.c: Likewise.
34214 * util/grub-mkdevicemap.c: Likewise.
34215
34216 2008-01-02 Robert Millan <rmh@aybabtu.com>
34217
34218 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34219 message when loaded image is out of bounds.
34220 (grub_multiboot_load_elf64): Likewise.
34221
34222 2008-01-02 Pavel Roskin <proski@gnu.org>
34223
34224 * util/grub.d/10_linux.in: Try version without ".old" when
34225 looking for initrd. It's better to use initrd from the newer
34226 kernel of the same version than no initrd at all.
34227
34228 2008-01-01 Robert Millan <rmh@aybabtu.com>
34229
34230 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34231
34232 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34233
34234 * include/grub/video.h: Added grub_video_unmap_color and
34235 grub_video_get_active_render_target.
34236 (grub_video_adapter): Added unmap_color and get_active_render_target.
34237
34238 * video/video.c: Added grub_video_unmap_color and
34239 grub_video_get_active_render_target.
34240 (grub_video_get_info): Changed method to accept NULL pointer as an
34241 argument to allow detection of active video adapter.
34242
34243 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34244 grub_video_vbe_unmap_color_int.
34245 Added grub_video_vbe_unmap_color and
34246 grub_video_vbe_get_active_render_target.
34247 (grub_video_vbe_adapter): Added unmap_color and
34248 get_active_render_target.
34249
34250 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
34251 with grub_video_vbe_unmap_color_int.
34252
34253 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34254 (DEFAULT_NORMAL_COLOR): Likewise.
34255 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34256 (DEFAULT_FG_COLOR): Removed.
34257 (DEFAULT_BG_COLOR): Likewise.
34258 (DEFAULT_CURSOR_COLOR): Changed value.
34259 (grub_virtual_screen): Added standard_color_setting,
34260 normal_color_setting, highlight_color_setting and term_color.
34261 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34262 (bitmap_width): Added.
34263 (bitmap_height): Likewise.
34264 (bitmap): Likewise.
34265 (set_term_color): Likewise.
34266 (grub_virtual_screen_setup): Changed to use new terminal coloring
34267 settings.
34268 (grub_gfxterm_init): Added init for bitmap.
34269 (grub_gfxterm_fini): Added destroy for bitmap.
34270 (redraw_screen_rect): Updated to use background bitmap and new
34271 terminal coloring.
34272 (scroll_up): Added optimization for case when there is no bitmap.
34273 (grub_gfxterm_cls): Fixed to use correct background color.
34274 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34275 coloring.
34276 (grub_virtual_screen_setcolor): Likewise.
34277 (grub_virtual_screen_getcolor): Added.
34278 (grub_gfxterm_background_image_cmd): Likewise.
34279 (grub_video_term): Added setcolor and getcolor.
34280 (MOD_INIT): Added registration of background_image command.
34281 (MOD_TERM): Added unregistration for background_image command.
34282
34283 2007-12-30 Pavel Roskin <proski@gnu.org>
34284
34285 * loader/multiboot_loader.c: Fix multiboot command
34286 unregistration. Fix all typos in the word "multiboot".
34287
34288 2007-12-29 Pavel Roskin <proski@gnu.org>
34289
34290 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34291 support for initrd names used in Fedora.
34292
34293 2007-12-26 Bean <bean123ch@gmail.com>
34294
34295 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34296 (cpio_mod_SOURCES): New variable.
34297 (cpio_mod_CFLAGS): Likewise.
34298 (cpio_mod_LDFLAGS): Likewise.
34299
34300 * fs/cpio.c: New file.
34301
34302 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34303
34304 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34305
34306 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34307
34308 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34309
34310 2007-12-25 Robert Millan <rmh@aybabtu.com>
34311
34312 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34313 (grub_getcolor): New function.
34314
34315 * kern/term.c (grub_getcolor): New function.
34316 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34317 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34318 (print_entry): Set normal and highlight colors to
34319 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34320 respectively, before printing and restore them to old
34321 values afterwards.
34322 (grub_menu_init_page): Likewise. Fill an additional colored space
34323 that would otherwise be left blank.
34324
34325 * term/efi/console.c (grub_console_getcolor): New function.
34326 (struct grub_console_term.getcolor): New variable.
34327 * term/i386/pc/console.c (grub_console_getcolor): New function.
34328 (struct grub_console_term.getcolor): New variable.
34329 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34330 (struct grub_console_term.getcolor): New variable.
34331
34332 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34333 (struct grub_console_term.setcolor): Remove variable.
34334 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34335 (struct grub_console_term.setcolor): Remove variable.
34336 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34337 (struct grub_console_term.setcolor): Remove variable.
34338 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34339 (struct grub_console_term.setcolor): Remove variable.
34340
34341 2007-12-25 Robert Millan <rmh@aybabtu.com>
34342
34343 * configure.ac: Search for possible unifont.hex locations, and
34344 define UNIFONT_HEX if found.
34345
34346 * Makefile.in (UNIFONT_HEX): Define variable.
34347 (DATA): Rename to ...
34348 (PKGLIB): ... this. Update all users.
34349 (PKGDATA): New variable.
34350 (pkgdata_IMAGES): Rename to ...
34351 (pkglib_IMAGES): ... this. Update all users.
34352 (pkgdata_MODULES): Rename to ...
34353 (pkglib_MODULES): ... this. Update all users.
34354 (pkgdata_PROGRAMS): Rename to ...
34355 (pkglib_PROGRAMS): ... this. Update all users.
34356 (pkgdata_DATA): Rename to ...
34357 (pkglib_DATA): ... this. Update all users.
34358 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34359 (unicode.pff, ascii.pff): New rules.
34360 (all-local): Add `$(PKGDATA)' dependency.
34361 (install-local): Process `$(PKGDATA)'.
34362
34363 * util/update-grub_lib.in (font_path): Search for *.pff files in
34364 a few more locations, including `${pkgdata}'.
34365
34366 2007-12-23 Robert Millan <rmh@aybabtu.com>
34367
34368 Patch from Bean <bean123ch@gmail.com>:
34369 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34370 `size'.
34371
34372 2007-12-21 Bean <bean123ch@gmail.com>
34373
34374 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34375 (ntfscomp_mod_SOURCES): New variable.
34376 (ntfscomp_mod_CFLAGS): Likewise.
34377 (ntfscomp_mod_LDFLAGS): Likewise.
34378
34379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34380 (grub_probe_SOURCES): Likewise.
34381 (grub_emu_SOURCES): Likewise.
34382
34383 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34384 (grub_emu_SOURCES): Likewise.
34385
34386 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34387 (grub_emu_SOURCES): Likewise.
34388
34389 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34390 (grub_emu_SOURCES): Likewise.
34391
34392 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34393 (read_run_list): Renamed to grub_ntfs_read_run_list.
34394 (decomp_nextvcn): Moved to ntfscomp.c.
34395 (decomp_getch): Likewise.
34396 (decomp_get16): Likewise.
34397 (decomp_block): Likewise.
34398 (read_block): Likewise.
34399 (read_data): Partially moved to ntfscomp.c.
34400 (fixup): Change unsigned to grub_uint16_t.
34401 (read_mft): Change unsigned long to grub_uint32_t.
34402 (read_attr): Likewise.
34403 (read_data): Likewise.
34404 (read_run_data): Likewise.
34405 (read_run_list): Likewise.
34406 (read_mft): Likewise.
34407
34408 * fs/ntfscomp.c: New file.
34409
34410 * include/grub/ntfs.h: New file.
34411
34412 2007-12-16 Robert Millan <rmh@aybabtu.com>
34413
34414 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34415 IDE disk check, since Linux is known to support 20 IDE disks.
34416 Reported by Colin Watson.
34417
34418 2007-12-15 Bean <bean123ch@gmail.com>
34419
34420 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34421 (lnxboot_img_SOURCES): New variable.
34422 (lnxboot_img_ASFLAGS): Likewise.
34423 (lnxboot_img_LDFLAGS): Likewise.
34424
34425 * boot/i386/pc/lnxboot.S: New file.
34426
34427 2007-11-24 Pavel Roskin <proski@gnu.org>
34428
34429 * configure.ac: Test if '--build-id=none' is supported by the
34430 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34431 objcopy to generate incorrect binary files (binutils
34432 2.17.50.0.18-1 as shipped by Fedora 8).
34433 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34434 linking, so that build ID doesn't break the test.
34435
34436 2007-11-24 Pavel Roskin <proski@gnu.org>
34437
34438 * include/grub/i386/time.h: use "void" in the argument list
34439 of grub_cpu_idle().
34440 * include/grub/powerpc/time.h: Likewise.
34441 * include/grub/sparc64/time.h: Likewise.
34442
34443 2007-11-18 Christian Franke <franke@computer.org>
34444
34445 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34446 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34447 This fixes the problem that function keys did not work in grub-emu.
34448
34449 2007-11-18 Christian Franke <franke@computer.org>
34450
34451 * disk/host.c (grub_host_open): Remove attribute unused from
34452 name parameter. Add check for "host". This fixes the problem
34453 that grub-emu does not find partitions.
34454
34455 2007-11-18 Christian Franke <franke@computer.org>
34456
34457 * util/hostfs.c (is_dir): New function.
34458 (grub_hostfs_dir): Handle missing dirent.d_type case.
34459 (grub_hostfs_read): Add missing fseek().
34460 (grub_hostfs_label): Clear label pointer. This fixes a crash
34461 of grub-emu on "ls (host)".
34462
34463 2007-11-18 Christian Franke <franke@computer.org>
34464
34465 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34466 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34467 to 64 bit boundary by default.
34468
34469 2007-11-18 Bean <bean123ch@gmail.com>
34470
34471 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34472 (hexdump_mod_SOURCES): New variable.
34473 (hexdump_mod_CFLAGS): Likewise.
34474 (hexdump_mod_LDFLAGS): Likewise.
34475
34476 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34477
34478 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34479
34480 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34481
34482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34483
34484 * include/grub/hexdump.h: New file.
34485
34486 * commands/hexdump.c: New file.
34487
34488 2007-11-10 Robert Millan <rmh@aybabtu.com>
34489
34490 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34491 in grub_outb() calls.
34492 (beep_on): Likewise.
34493
34494 2007-11-10 Christian Franke <franke@computer.org>
34495
34496 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34497 (grub_menu_run): Likewise.
34498
34499 2007-11-10 Robert Millan <rmh@aybabtu.com>
34500
34501 * include/grub/i386/efi/machine.h: New file.
34502 * include/grub/i386/linuxbios/machine.h: Likewise.
34503 * include/grub/i386/pc/machine.h: Likewise.
34504 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34505 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34506
34507 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34508 (serial_hw_io_addr): New variable.
34509 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34510 instead of `(unsigned short *) 0x400'.
34511
34512 2007-11-10 Bean <bean123ch@gmail.com>
34513
34514 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34515
34516 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34517
34518 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34519 (vga_mod_SOURCES): Added.
34520 (vga_mod_CFLAGS): Likewise.
34521 (vga_mod_LDFLAGS): Likewise.
34522
34523 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34524 grub_outb() calls.
34525 (set_map_mask): Likewise.
34526 (set_read_map): Likewise.
34527 (set_read_address): Likewise.
34528 (vga_font): Removed variable.
34529 (get_vga_glyph): Removed function.
34530 (invalidate_char): Likewise.
34531 (write_char): Changed to use grub_font_get_glyph() for font
34532 information.
34533 (grub_vga_putchar): Likewise.
34534 (grub_vga_getcharwidth): Likewise.
34535
34536 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34537
34538 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34539 flags.
34540 (pxeboot_img_LDFLAGS): Likewise.
34541 (diskboot_img_LDFLAGS): Likewise.
34542 (kernel_img_LDFLAGS): Likewise.
34543
34544 2007-11-06 Robert Millan <rmh@aybabtu.com>
34545
34546 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34547 in grub_outb() calls.
34548 (serial_hw_init): Likewise.
34549
34550 2007-11-05 Robert Millan <rmh@aybabtu.com>
34551
34552 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34553 spaces. Skip non-regular files.
34554
34555 2007-11-05 Robert Millan <rmh@aybabtu.com>
34556
34557 * kern/disk.c (grub_disk_firmware_fini)
34558 (grub_disk_firmware_is_tainted): New variables.
34559
34560 * include/grub/disk.h (grub_disk_firmware_fini)
34561 (grub_disk_firmware_is_tainted): Likewise.
34562
34563 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34564 (grub_disk_biosdisk_fini): ... to here.
34565 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34566 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34567 is set. Register grub_disk_biosdisk_fini() in
34568 `grub_disk_firmware_fini'.
34569
34570 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34571 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34572 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34573 to finish existing firmware disk interface.
34574
34575 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34576 (ata_mod_SOURCES): New variable.
34577 (ata_mod_CFLAGS): Likewise.
34578 (ata_mod_LDFLAGS): Likewise.
34579
34580 2007-11-05 Robert Millan <rmh@aybabtu.com>
34581
34582 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34583 (grub_ata_wait): Reimplement using grub_millisleep().
34584
34585 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34586 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34587
34588 2007-11-03 Marco Gerards <marco@gnu.org>
34589
34590 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34591 (CRTC_ADDR_PORT): New macro.
34592 (CRTC_DATA_PORT): Likewise.
34593 (CRTC_CURSOR): Likewise.
34594 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34595 (CRTC_CURSOR_ADDR_LOW): Likewise.
34596 (update_cursor): New function.
34597 (grub_console_real_putchar): Call `update_cursor'.
34598 (grub_console_gotoxy): Likewise.
34599 (grub_console_cls): Set the default color when clearing the
34600 screen.
34601 (grub_console_setcursor): Implemented.
34602
34603 2007-11-03 Marco Gerards <marco@gnu.org>
34604
34605 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34606 become activate.
34607 (grub_ata_pio_write): Likewise.
34608
34609 (grub_atapi_identify): Wait after issuing an ATA command.
34610 (grub_atapi_packet): Likewise.
34611 (grub_ata_identify): Likewise.
34612 (grub_ata_readwrite): Likewise.
34613
34614 2007-11-03 Marco Gerards <marco@gnu.org>
34615
34616 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34617 (grub_ata_pio_write): Likewise.
34618 (grub_ata_readwrite): Use `grub_error', instead of
34619 returning `grub_errno'.
34620
34621 2007-11-03 Marco Gerards <marco@gnu.org>
34622
34623 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34624 grub_ata_pio_write once for every single sector, instead of for
34625 multiple sectors.
34626
34627 2007-10-31 Robert Millan <rmh@aybabtu.com>
34628
34629 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34630
34631 * conf/i386-linuxbios.rmk: New file.
34632
34633 * kern/i386/pc/hardware.c: Likewise.
34634 * term/i386/pc/at_keyboard.c: Likewise.
34635 * term/i386/pc/vga_text.c: Likewise.
34636
34637 * include/grub/i386/linuxbios/boot.h: Likewise.
34638 * include/grub/i386/linuxbios/console.h: Likewise.
34639 * include/grub/i386/linuxbios/init.h: Likewise.
34640 * include/grub/i386/linuxbios/kernel.h: Likewise.
34641 * include/grub/i386/linuxbios/loader.h: Likewise.
34642 * include/grub/i386/linuxbios/memory.h: Likewise.
34643 * include/grub/i386/linuxbios/serial.h: Likewise.
34644 * include/grub/i386/linuxbios/time.h: Likewise.
34645
34646 * kern/i386/linuxbios/init.c: Likewise.
34647 * kern/i386/linuxbios/startup.S: Likewise.
34648 * kern/i386/linuxbios/table.c: Likewise.
34649
34650 2007-10-31 Marco Gerards <marco@gnu.org>
34651
34652 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34653 (ata_mod_SOURCES): New variable.
34654 (ata_mod_CFLAGS): Likewise.
34655 (ata_mod_LDFLAGS): Likewise.
34656
34657 * disk/ata.c: New file.
34658
34659 * include/grub/disk.h (grub_disk_dev_id): Add
34660 `GRUB_DISK_DEV_ATA_ID'.
34661
34662 2007-10-31 Robert Millan <rmh@aybabtu.com>
34663
34664 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34665 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34666
34667 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34668 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34669
34670 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34671 `<grub/types.h>'.
34672
34673 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34674
34675 2007-10-27 Robert Millan <rmh@aybabtu.com>
34676
34677 * include/grub/types.h (ULONG_MAX): Define macro.
34678
34679 2007-10-22 Robert Millan <rmh@aybabtu.com>
34680
34681 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34682 `"../realmode.S"'.
34683 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34684
34685 2007-10-22 Robert Millan <rmh@aybabtu.com>
34686
34687 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34688 (pkgdata_MODULES): Add `biosdisk.mod'.
34689 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34690 variables.
34691
34692 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34693 (grub_biosdisk_init): Replace with ...
34694 (GRUB_MOD_INIT(biosdisk)): ... this.
34695 (grub_biosdisk_fini): Replace with ...
34696 (GRUB_MOD_FINI(biosdisk)): ... this.
34697
34698 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34699 (grub_machine_init): Remove call to grub_biosdisk_init().
34700 (grub_machine_fini): Remove call to grub_machine_fini().
34701
34702 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34703
34704 2007-10-22 Robert Millan <rmh@aybabtu.com>
34705
34706 * include/grub/time.h: New file.
34707 * include/grub/i386/time.h: Likewise.
34708 * include/grub/powerpc/time.h: Likewise.
34709 * include/grub/sparc64/time.h: Likewise.
34710
34711 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34712 instances to ...
34713 (KERNEL_MACHINE_TIME_HEADER): ... this.
34714 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34715 instances to ...
34716 (KERNEL_MACHINE_TIME_HEADER): ... this.
34717 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34718 instances to ...
34719 (KERNEL_MACHINE_TIME_HEADER): ... this.
34720
34721 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34722 (grub_millisleep): New function.
34723 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34724 (grub_millisleep): New function.
34725 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34726 Remove `grub/machine/time.h' include.
34727 (grub_millisleep): New function.
34728 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34729 Remove `grub/machine/time.h' include.
34730 (grub_millisleep): New function.
34731
34732 * include/grub/misc.h (grub_div_roundup): New function.
34733
34734 * kern/misc.c: Include `<grub/time.h>'.
34735 (grub_millisleep_generic): New function.
34736
34737 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34738 Add `time.h'.
34739 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34740 Add `time.h'.
34741 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34742 `machine/time.h'. Add `time.h'.
34743 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34744
34745 2007-10-21 Robert Millan <rmh@aybabtu.com>
34746
34747 * include/grub/misc.h (grub_max): New function.
34748
34749 2007-10-21 Robert Millan <rmh@aybabtu.com>
34750
34751 * util/misc.c (grub_util_info): Call fflush() before returning.
34752
34753 2007-10-20 Robert Millan <rmh@aybabtu.com>
34754
34755 * genmk.rb (Image): Copy `extra_flags' from here ...
34756 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34757
34758 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34759 to `argc' and `args' arguments.
34760
34761 2007-10-17 Robert Millan <rmh@aybabtu.com>
34762
34763 * kern/i386/loader.S: New file.
34764
34765 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34766 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34767 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34768 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34769 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34770 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34771 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34772 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34773 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34774 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34775 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34776 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34777 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34778 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34779
34780 * kern/i386/realmode.S: New file.
34781
34782 * kern/i386/pc/startup.S (protstack): Moved from here ...
34783 * kern/i386/realmode.S (protstack)... to here.
34784 * kern/i386/pc/startup.S (gdt): Moved from here ...
34785 * kern/i386/realmode.S (gdt)... to here.
34786 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34787 * kern/i386/realmode.S (prot_to_real)... to here.
34788
34789 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34790 `kern/i386/realmode.S'.
34791
34792 2007-10-17 Robert Millan <rmh@aybabtu.com>
34793
34794 * include/grub/i386/loader.h: New file.
34795
34796 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34797 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34798 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34799 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34800 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34801 * include/grub/i386/loader.h (grub_linux_prot_size)
34802 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34803 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34804 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34805 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34806
34807 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34808
34809 2007-10-15 Robert Millan <rmh@aybabtu.com>
34810
34811 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34812 filesystem when dev->disk is unset.
34813 Do probe for filesystem even when dev->disk->has_partitions is set.
34814 In case a filesystem is found, always report it.
34815 In case it isn't, if dev->disk->has_partitions is set, report that
34816 a partition table was found instead of reporting that no filesystem
34817 could be identified.
34818
34819 2007-10-12 Robert Millan <rmh@aybabtu.com>
34820
34821 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34822 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34823
34824 * include/grub/types.h (grub_host_to_target16): New macro.
34825 (grub_host_to_target32): Likewise.
34826 (grub_host_to_target64): Likewise.
34827 (grub_target_to_host16): Likewise.
34828 (grub_target_to_host32): Likewise.
34829 (grub_target_to_host64): Likewise.
34830
34831 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34832 Renamed from to ...
34833 (GRUB_MOD_ALIGN): ...this. Update all users.
34834
34835 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34836 grub_host_to_target32.
34837 Replace grub_be_to_cpu32 with grub_target_to_host32.
34838 (load_modules): Likewise.
34839 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34840 Replace grub_be_to_cpu32 with grub_target_to_host32.
34841 Replace grub_cpu_to_be16 with grub_host_to_target16.
34842 Replace grub_cpu_to_be32 grub_host_to_target32.
34843
34844 2007-10-12 Robert Millan <rmh@aybabtu.com>
34845
34846 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34847 * util/elf/grub-mkimage.c: ... here.
34848
34849 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34850 `util/powerpc/ieee1275/grub-mkimage.c'.
34851
34852 2007-10-07 Robert Millan <rmh@aybabtu.com>
34853
34854 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34855 and make it easier to figure out.
34856 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34857 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34858 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34859 leave us with less than HEAP_MIN_SIZE total heap.
34860 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
34861
34862 2007-10-03 Robert Millan <rmh@aybabtu.com>
34863
34864 * include/grub/i386/io.h: New file.
34865 * commands/i386/pc/play.c (inb): Removed.
34866 (outb): Removed.
34867 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34868 with grub_outb().
34869 * term/i386/pc/serial.c (inb): Removed.
34870 (outb): Removed.
34871 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34872 with grub_outb().
34873 * term/i386/pc/vga.c (inb): Removed.
34874 (outb): Removed.
34875 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34876 with grub_outb().
34877
34878 2007-10-02 Robert Millan <rmh@aybabtu.com>
34879
34880 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34882 Reported by Marcin Kurek.
34883
34884 2007-09-07 Robert Millan <rmh@aybabtu.com>
34885
34886 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34887 SmartFirmware version updates (as released by Sven Luther), and avoid
34888 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34889 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34890 known broken.
34891
34892 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34893
34894 From Hitoshi Ozeki:
34895 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34896 when merging two regions.
34897
34898 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34899
34900 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34901 * normal/completion.c (grub_normal_do_completion): Likewise.
34902 Reported by Hitoshi Ozeki.
34903
34904 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34905
34906 Do not use devices at boot in chainloading.
34907
34908 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34909 (boot_part_addr): Likewise.
34910 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34911 with BOOT_DRIVE and BOOT_PART_ADDR.
34912 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34913 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34914
34915 2007-08-29 Robert Millan <rmh@aybabtu.com>
34916
34917 Patch from Simon Peter <dn.tlp@gmx.net>:
34918 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34919 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34920 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34921 util/i386/pc/grub-setup.c_DEPENDENCIES.
34922 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34923 util/grub-probe.c_DEPENDENCIES.
34924 * conf/powerpc-ieee1275.rmk: Likewise.
34925
34926 2007-08-28 Robert Millan <rmh@aybabtu.com>
34927
34928 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34929 to tell grub-mkdevicemap how to name devices.
34930 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34931 feature).
34932
34933 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34934 util/i386/get_disk_name.c.
34935 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34936 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34937 util/ieee1275/get_disk_name.c.
34938
34939 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34940
34941 * DISTLIST: Add util/i386/get_disk_name.c and
34942 util/ieee1275/get_disk_name.c.
34943
34944 * util/grub-mkdevicemap.c: Replace device naming logic with
34945 grub_util_get_disk_name() calls.
34946
34947 2007-08-20 Robert Millan <rmh@aybabtu.com>
34948
34949 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34950 (so that it works for both plural and singular quantities).
34951
34952 2007-08-05 Robert Millan <rmh@aybabtu.com>
34953
34954 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34955 so that [xz] isn't taken into account when determining order.
34956
34957 2007-08-02 Marco Gerards <marco@gnu.org>
34958
34959 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34960 `include/multiboot2.h', `include/grub/elfload.h',
34961 `include/multiboot.h', `include/grub/multiboot.h',
34962 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34963 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34964 `kern/elf.c', `loader/multiboot_loader.c',
34965 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34966 `loader/i386/pc/multiboot2.c',
34967 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34968 `util/i386/pc/grub-mkrescue.in'. Remove
34969 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34970 `include/grub/i386/pc/util/biosdisk.h' and
34971 `include/grub/powerpc/ieee1275/multiboot.h'.
34972
34973 2007-08-02 Bean <bean123ch@gmail.com>
34974
34975 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34976 (ntfs_mod_SOURCES): New variable.
34977 (ntfs_mod_CFLAGS): Likewise.
34978 (ntfs_mod_LDFLAGS): Likewise.
34979
34980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
34981 (grub_probe_SOURCES): Likewise.
34982 (grub_emu_SOURCES): Likewise.
34983
34984 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34985 (grub_emu_SOURCES): Likewise.
34986
34987 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34988 (grub_emu_SOURCES): Likewise.
34989
34990 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
34991
34992 * fs/ntfs.c: New file.
34993
34994 2007-08-02 Bean <bean123ch@gmail.com>
34995
34996 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
34997
34998 * file.h (grub_file): Likewise.
34999
35000 * fshelp.h (grub_fshelp_read_file): Likewise.
35001
35002 * util/i386/pc/grub-setup.c (setup): Likewise.
35003 (save_first_sector): Likewise.
35004 (save_blocklists): Likewise.
35005
35006 * fs/affs.c (grub_affs_read_file): Likewise.
35007
35008 * fs/ext2.c (grub_ext2_read_file): Likewise.
35009
35010 * fs/fat.c (grub_fat_read_data): Likewise.
35011
35012 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
35013
35014 * fs/hfs.c (grub_hfs_read_file): Likewise.
35015
35016 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35017
35018 * fs/jfs.c (grub_jfs_read_file): Likewise.
35019
35020 * fs/minix.c (grub_minix_read_file): Likewise.
35021
35022 * fs/sfs.c (grub_sfs_read_file): Likewise.
35023
35024 * fs/ufs.c (grub_ufs_read_file): Likewise.
35025
35026 * fs/xfs.c (grub_xfs_read_file): Likewise.
35027
35028 * command/blocklist.c (read_blocklist): Likewise.
35029 (print_blocklist): Likewise.
35030
35031 2007-08-02 Marco Gerards <marco@gnu.org>
35032
35033 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
35034 `util/hostfs.c'.
35035
35036 * disk/host.c: New file.
35037
35038 * util/hostfs.c: Likewise.
35039
35040 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
35041 return `GRUB_ERR_BAD_FS'.
35042 * fs/sfs.c (grub_sfs_mount): Likewise.
35043 * fs/xfs.c (grub_xfs_mount): Likewise.
35044
35045 * include/grub/disk.h (enum grub_disk_dev_id): Add
35046 `GRUB_DISK_DEVICE_HOST_ID'.
35047
35048 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
35049
35050 2007-07-24 Jerone Young <jerone@gmail.com>
35051
35052 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
35053 modules for compilation.
35054 * conf/powerpc-ieee1275.rmk: Likewise.
35055
35056 * include/multiboot.h: Move multiboot definitions to one file. Rename
35057 many definitions to not get grub specific.
35058 * include/multiboot2.h: Create header with multiboot 2 definitions.
35059 * include/grub/multiboot.h: Header for grub specific function
35060 prototypes and definitions.
35061 * include/grub/multiboot2.h: Likewise.
35062 * include/grub/multiboot_loader.h: Likewise.
35063 * include/grub/i386/pc/multiboot.h: Removed.
35064 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
35065
35066 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
35067 and 2 to allow for one multiboot and module commands.
35068 * loader/multiboot2.c: Add multiboot2 functionality.
35069 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
35070 and definition names.
35071 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35072 2 functions.
35073 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35074 ieee1275 specific multiboot2 code.
35075
35076 * kern/i386/pc/startup.S: Change headers and definition names for
35077 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35078
35079 2007-07-22 Robert Millan <rmh@aybabtu.com>
35080
35081 * geninitheader.sh: Process file specified in first parameter rather
35082 than hardcoding grub_modules_init.lst.
35083 * geninit.sh: Likewise. Also, construct header name dynamically rather
35084 than hardcoding grub_modules_init.h.
35085
35086 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35087 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35088 grub_probe_init.[ch] and grub_setup_init.[ch].
35089
35090 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35091 grub_modules_init.h with grub_emu_init.h.
35092 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35093 grub_probe_init.[ch] files.
35094 * conf/i386-efi.rmk: Likewise.
35095 * conf/i386-pc.rmk: Likewise.
35096 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35097 grub_setup_init.[ch] files.
35098
35099 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35100 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35101 to initialize modules rather than a list of hardcoded functions.
35102 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35103 grub_init_all() to initialize modules rather than a list of hardcoded
35104 functions.
35105
35106 2007-07-22 Robert Millan <rmh@aybabtu.com>
35107
35108 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35109 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35110
35111 2007-07-22 Robert Millan <rmh@aybabtu.com>
35112
35113 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35114 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35115 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35116 flag when running on SmartFirmware.
35117 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35118 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35119 was set.
35120
35121 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35122 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35123 rather than decreasing it.
35124
35125 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35126 there's not enough space to do it, fail in the same way as when it
35127 can't be done because there are no partitions.
35128
35129 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35130 when nvsetenv failed.
35131
35132 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35133
35134 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35135 because this rule is automatically generated.
35136 (grub-mkrescue): Removed for the same reason as above.
35137
35138 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35139
35140 Migrate to GNU General Public License Version 3.
35141
35142 * COPYING: Replaced with the plain text version of GPLv3.
35143
35144 * config.guess: Updated from gnulib.
35145 * config.sub: Likewise.
35146
35147 * geninit.sh: Output a GPLv3 copyright notice.
35148 * geninitheader.sh: Likewise.
35149 * genmodsrc.sh: Likewise.
35150 * gensymlist.sh.in: Likewise.
35151
35152 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35153 * boot/i386/pc/diskboot.S: Likewise.
35154 * boot/i386/pc/pxeboot.S: Likewise.
35155 * commands/blocklist.c: Likewise.
35156 * commands/boot.c: Likewise.
35157 * commands/cat.c: Likewise.
35158 * commands/cmp.c: Likewise.
35159 * commands/configfile.c: Likewise.
35160 * commands/echo.c: Likewise.
35161 * commands/help.c: Likewise.
35162 * commands/ls.c: Likewise.
35163 * commands/search.c: Likewise.
35164 * commands/terminal.c: Likewise.
35165 * commands/test.c: Likewise.
35166 * commands/videotest.c: Likewise.
35167 * commands/i386/cpuid.c: Likewise.
35168 * commands/i386/pc/halt.c: Likewise.
35169 * commands/i386/pc/play.c: Likewise.
35170 * commands/i386/pc/reboot.c: Likewise.
35171 * commands/i386/pc/vbeinfo.c: Likewise.
35172 * commands/i386/pc/vbetest.c: Likewise.
35173 * commands/ieee1275/halt.c: Likewise.
35174 * commands/ieee1275/reboot.c: Likewise.
35175 * commands/ieee1275/suspend.c: Likewise.
35176 * disk/loopback.c: Likewise.
35177 * disk/lvm.c: Likewise.
35178 * disk/raid.c: Likewise.
35179 * disk/efi/efidisk.c: Likewise.
35180 * disk/i386/pc/biosdisk.c: Likewise.
35181 * disk/ieee1275/ofdisk.c: Likewise.
35182 * font/manager.c: Likewise.
35183 * fs/affs.c: Likewise.
35184 * fs/ext2.c: Likewise.
35185 * fs/fat.c: Likewise.
35186 * fs/fshelp.c: Likewise.
35187 * fs/hfs.c: Likewise.
35188 * fs/hfsplus.c: Likewise.
35189 * fs/iso9660.c: Likewise.
35190 * fs/jfs.c: Likewise.
35191 * fs/minix.c: Likewise.
35192 * fs/sfs.c: Likewise.
35193 * fs/ufs.c: Likewise.
35194 * fs/xfs.c: Likewise.
35195 * hello/hello.c: Likewise.
35196 * include/grub/acorn_filecore.h: Likewise.
35197 * include/grub/arg.h: Likewise.
35198 * include/grub/bitmap.h: Likewise.
35199 * include/grub/boot.h: Likewise.
35200 * include/grub/cache.h: Likewise.
35201 * include/grub/device.h: Likewise.
35202 * include/grub/disk.h: Likewise.
35203 * include/grub/dl.h: Likewise.
35204 * include/grub/elfload.h: Likewise.
35205 * include/grub/env.h: Likewise.
35206 * include/grub/err.h: Likewise.
35207 * include/grub/file.h: Likewise.
35208 * include/grub/font.h: Likewise.
35209 * include/grub/fs.h: Likewise.
35210 * include/grub/fshelp.h: Likewise.
35211 * include/grub/gzio.h: Likewise.
35212 * include/grub/hfs.h: Likewise.
35213 * include/grub/kernel.h: Likewise.
35214 * include/grub/loader.h: Likewise.
35215 * include/grub/lvm.h: Likewise.
35216 * include/grub/misc.h: Likewise.
35217 * include/grub/mm.h: Likewise.
35218 * include/grub/net.h: Likewise.
35219 * include/grub/normal.h: Likewise.
35220 * include/grub/parser.h: Likewise.
35221 * include/grub/partition.h: Likewise.
35222 * include/grub/pc_partition.h: Likewise.
35223 * include/grub/raid.h: Likewise.
35224 * include/grub/rescue.h: Likewise.
35225 * include/grub/script.h: Likewise.
35226 * include/grub/setjmp.h: Likewise.
35227 * include/grub/symbol.h: Likewise.
35228 * include/grub/term.h: Likewise.
35229 * include/grub/terminfo.h: Likewise.
35230 * include/grub/tparm.h: Likewise.
35231 * include/grub/types.h: Likewise.
35232 * include/grub/video.h: Likewise.
35233 * include/grub/efi/api.h: Likewise.
35234 * include/grub/efi/chainloader.h: Likewise.
35235 * include/grub/efi/console.h: Likewise.
35236 * include/grub/efi/console_control.h: Likewise.
35237 * include/grub/efi/disk.h: Likewise.
35238 * include/grub/efi/efi.h: Likewise.
35239 * include/grub/efi/pe32.h: Likewise.
35240 * include/grub/efi/time.h: Likewise.
35241 * include/grub/i386/linux.h: Likewise.
35242 * include/grub/i386/setjmp.h: Likewise.
35243 * include/grub/i386/types.h: Likewise.
35244 * include/grub/i386/efi/kernel.h: Likewise.
35245 * include/grub/i386/efi/loader.h: Likewise.
35246 * include/grub/i386/efi/time.h: Likewise.
35247 * include/grub/i386/pc/biosdisk.h: Likewise.
35248 * include/grub/i386/pc/boot.h: Likewise.
35249 * include/grub/i386/pc/chainloader.h: Likewise.
35250 * include/grub/i386/pc/console.h: Likewise.
35251 * include/grub/i386/pc/init.h: Likewise.
35252 * include/grub/i386/pc/kernel.h: Likewise.
35253 * include/grub/i386/pc/loader.h: Likewise.
35254 * include/grub/i386/pc/memory.h: Likewise.
35255 * include/grub/i386/pc/multiboot.h: Likewise.
35256 * include/grub/i386/pc/serial.h: Likewise.
35257 * include/grub/i386/pc/time.h: Likewise.
35258 * include/grub/i386/pc/vbe.h: Likewise.
35259 * include/grub/i386/pc/vbeblit.h: Likewise.
35260 * include/grub/i386/pc/vbefill.h: Likewise.
35261 * include/grub/i386/pc/vbeutil.h: Likewise.
35262 * include/grub/i386/pc/vga.h: Likewise.
35263 * include/grub/ieee1275/ieee1275.h: Likewise.
35264 * include/grub/ieee1275/ofdisk.h: Likewise.
35265 * include/grub/powerpc/libgcc.h: Likewise.
35266 * include/grub/powerpc/setjmp.h: Likewise.
35267 * include/grub/powerpc/types.h: Likewise.
35268 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35269 * include/grub/powerpc/ieee1275/console.h: Likewise.
35270 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35271 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35272 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35273 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35274 * include/grub/powerpc/ieee1275/time.h: Likewise.
35275 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35276 * include/grub/sparc64/libgcc.h: Likewise.
35277 * include/grub/sparc64/setjmp.h: Likewise.
35278 * include/grub/sparc64/types.h: Likewise.
35279 * include/grub/sparc64/ieee1275/console.h: Likewise.
35280 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35281 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35282 * include/grub/sparc64/ieee1275/time.h: Likewise.
35283 * include/grub/util/biosdisk.h: Likewise.
35284 * include/grub/util/getroot.h: Likewise.
35285 * include/grub/util/lvm.h: Likewise.
35286 * include/grub/util/misc.h: Likewise.
35287 * include/grub/util/raid.h: Likewise.
35288 * include/grub/util/resolve.h: Likewise.
35289 * io/gzio.c: Likewise.
35290 * kern/device.c: Likewise.
35291 * kern/disk.c: Likewise.
35292 * kern/dl.c: Likewise.
35293 * kern/elf.c: Likewise.
35294 * kern/env.c: Likewise.
35295 * kern/err.c: Likewise.
35296 * kern/file.c: Likewise.
35297 * kern/fs.c: Likewise.
35298 * kern/loader.c: Likewise.
35299 * kern/main.c: Likewise.
35300 * kern/misc.c: Likewise.
35301 * kern/mm.c: Likewise.
35302 * kern/parser.c: Likewise.
35303 * kern/partition.c: Likewise.
35304 * kern/rescue.c: Likewise.
35305 * kern/term.c: Likewise.
35306 * kern/efi/efi.c: Likewise.
35307 * kern/efi/init.c: Likewise.
35308 * kern/efi/mm.c: Likewise.
35309 * kern/i386/dl.c: Likewise.
35310 * kern/i386/efi/init.c: Likewise.
35311 * kern/i386/efi/startup.S: Likewise.
35312 * kern/i386/pc/init.c: Likewise.
35313 * kern/i386/pc/lzo1x.S: Likewise.
35314 * kern/i386/pc/startup.S: Likewise.
35315 * kern/ieee1275/ieee1275.c: Likewise.
35316 * kern/powerpc/cache.S: Likewise.
35317 * kern/powerpc/dl.c: Likewise.
35318 * kern/powerpc/ieee1275/cmain.c: Likewise.
35319 * kern/powerpc/ieee1275/crt0.S: Likewise.
35320 * kern/powerpc/ieee1275/init.c: Likewise.
35321 * kern/powerpc/ieee1275/openfw.c: Likewise.
35322 * kern/sparc64/cache.S: Likewise.
35323 * kern/sparc64/dl.c: Likewise.
35324 * kern/sparc64/ieee1275/init.c: Likewise.
35325 * kern/sparc64/ieee1275/openfw.c: Likewise.
35326 * loader/efi/chainloader.c: Likewise.
35327 * loader/efi/chainloader_normal.c: Likewise.
35328 * loader/i386/efi/linux.c: Likewise.
35329 * loader/i386/efi/linux_normal.c: Likewise.
35330 * loader/i386/pc/chainloader.c: Likewise.
35331 * loader/i386/pc/chainloader_normal.c: Likewise.
35332 * loader/i386/pc/linux.c: Likewise.
35333 * loader/i386/pc/linux_normal.c: Likewise.
35334 * loader/i386/pc/multiboot.c: Likewise.
35335 * loader/i386/pc/multiboot_normal.c: Likewise.
35336 * loader/powerpc/ieee1275/linux.c: Likewise.
35337 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35338 * normal/arg.c: Likewise.
35339 * normal/cmdline.c: Likewise.
35340 * normal/command.c: Likewise.
35341 * normal/completion.c: Likewise.
35342 * normal/execute.c: Likewise.
35343 * normal/function.c: Likewise.
35344 * normal/lexer.c: Likewise.
35345 * normal/main.c: Likewise.
35346 * normal/menu.c: Likewise.
35347 * normal/menu_entry.c: Likewise.
35348 * normal/misc.c: Likewise.
35349 * normal/parser.y: Likewise.
35350 * normal/script.c: Likewise.
35351 * normal/i386/setjmp.S: Likewise.
35352 * normal/powerpc/setjmp.S: Likewise.
35353 * normal/sparc64/setjmp.S: Likewise.
35354 * partmap/acorn.c: Likewise.
35355 * partmap/amiga.c: Likewise.
35356 * partmap/apple.c: Likewise.
35357 * partmap/gpt.c: Likewise.
35358 * partmap/pc.c: Likewise.
35359 * partmap/sun.c: Likewise.
35360 * term/gfxterm.c: Likewise.
35361 * term/terminfo.c: Likewise.
35362 * term/efi/console.c: Likewise.
35363 * term/i386/pc/console.c: Likewise.
35364 * term/i386/pc/serial.c: Likewise.
35365 * term/i386/pc/vesafb.c: Likewise.
35366 * term/i386/pc/vga.c: Likewise.
35367 * term/ieee1275/ofconsole.c: Likewise.
35368 * util/biosdisk.c: Likewise.
35369 * util/console.c: Likewise.
35370 * util/genmoddep.c: Likewise.
35371 * util/getroot.c: Likewise.
35372 * util/grub-emu.c: Likewise.
35373 * util/grub-mkdevicemap.c: Likewise.
35374 * util/grub-probe.c: Likewise.
35375 * util/lvm.c: Likewise.
35376 * util/misc.c: Likewise.
35377 * util/raid.c: Likewise.
35378 * util/resolve.c: Likewise.
35379 * util/update-grub.in: Likewise.
35380 * util/update-grub_lib.in: Likewise.
35381 * util/grub.d/00_header.in: Likewise.
35382 * util/grub.d/10_hurd.in: Likewise.
35383 * util/grub.d/10_linux.in: Likewise.
35384 * util/i386/efi/grub-install.in: Likewise.
35385 * util/i386/efi/grub-mkimage.c: Likewise.
35386 * util/i386/pc/grub-install.in: Likewise.
35387 * util/i386/pc/grub-mkimage.c: Likewise.
35388 * util/i386/pc/grub-mkrescue.in: Likewise.
35389 * util/i386/pc/grub-setup.c: Likewise.
35390 * util/i386/pc/misc.c: Likewise.
35391 * util/powerpc/ieee1275/grub-install.in: Likewise.
35392 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35393 * util/powerpc/ieee1275/misc.c: Likewise.
35394 * video/bitmap.c: Likewise.
35395 * video/video.c: Likewise.
35396 * video/i386/pc/vbe.c: Likewise.
35397 * video/i386/pc/vbeblit.c: Likewise.
35398 * video/i386/pc/vbefill.c: Likewise.
35399 * video/i386/pc/vbeutil.c: Likewise.
35400 * video/readers/tga.c: Likewise.
35401
35402 2007-07-02 Robert Millan <rmh@aybabtu.com>
35403
35404 * conf/i386-efi.rmk: Replace obsolete reference to
35405 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35406 with util/getroot.c.
35407 * conf/powerpc-ieee1275.rmk: Likewise.
35408 * conf/sparc64-ieee1275.rmk: Likewise.
35409
35410 * util/grub-emu.c (main): Fix unchecked pointer handling.
35411
35412 2007-07-02 Robert Millan <rmh@aybabtu.com>
35413
35414 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35415 invocation to fail, in order to support partition-less media.
35416
35417 * util/i386/pc/grub-install.in: Likewise.
35418
35419 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35420 which fs or partmap modules are needed (akin to its sister scripts).
35421
35422 Also use grub-probe to get rid of unportable /proc/mounts check.
35423
35424 Print the same informational message that the other scripts do, before
35425 exiting.
35426
35427 2007-06-23 Robert Millan <rmh@aybabtu.com>
35428
35429 * util/update-grub_lib.in (font_path): New function. Determine whether
35430 a font file can be found and, if so, echo the GRUB path to it.
35431
35432 * util/update-grub.in: Handle multiple terminals depending on user
35433 input, platform availability and font file presence. Propagate
35434 variables of our findings to /etc/grub.d/ children.
35435
35436 * util/grub.d/00_header.in: Handle multiple terminals, based on
35437 environment setup by update-grub.
35438
35439 2007-06-23 Robert Millan <rmh@aybabtu.com>
35440
35441 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
35442
35443 2007-06-21 Robert Millan <rmh@aybabtu.com>
35444
35445 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35446 indicate end of data section in kernel image.
35447 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35448 GRUB_KERNEL_MACHINE_DATA_END.
35449
35450 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35451 space for it.
35452 * kern/i386/efi/startup.S: Likewise.
35453
35454 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35455 during image generation. Implement --prefix option to override this
35456 patch.
35457 * util/i386/efi/grub-mkimage.c: Likewise.
35458
35459 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35460 code to make path relative to its root into a separate function.
35461
35462 * util/i386/pc/grub-install.in: Use newly provided
35463 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35464 pass the result to grub-install --prefix.
35465
35466 2007-06-13 Robert Millan <rmh@aybabtu.com>
35467
35468 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35469 DEFAULT_DEVICE_MAP.
35470 * util/grub-emu.c: Use above definitions from misc.h instead of
35471 defining them.
35472 * util/grub-mkdevicemap.c: Likewise.
35473 * util/i386/pc/grub-setup.c: Likewise.
35474 * util/grub-probe.c: Likewise.
35475 (probe): Abort with grub_util_error() when either
35476 grub_guess_root_device or grub_util_get_grub_dev fails.
35477
35478 2007-06-12 Robert Millan <rmh@aybabtu.com>
35479
35480 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35481 "pager" assignment.
35482 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35483 "pcdata".
35484 * util/grub-probe.c (probe): Likewise for "drive_name".
35485
35486 2007-06-11 Robert Millan <rmh@aybabtu.com>
35487
35488 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35489 not just the cdrom one.
35490
35491 2007-06-11 Robert Millan <rmh@aybabtu.com>
35492
35493 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35494 Add --pkglibdir=DIR option to override pkglibdir.
35495 Mention --image-type=TYPE in help output.
35496 Fix --grub-mkimage (it was a no-op).
35497 Abort gracefully when no parameter is given.
35498
35499 2007-06-11 Robert Millan <rmh@aybabtu.com>
35500
35501 * util/i386/pc/grub-mkrescue.in: New file.
35502 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35503 * Makefile.in: Handle bin_SCRIPTS.
35504
35505 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35506
35507 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35508 list of video modes.
35509
35510 2007-06-06 Robert Millan <rmh@aybabtu.com>
35511
35512 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35513 file doesn't exist, or if it is in a filesystem grub can't read.
35514
35515 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35516 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35517 header comment to fit in 80 columns when the variables are resolved.
35518
35519 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35520 could be identified by update-grub. Remove redundant check for
35521 unifont.pff existence (since convert_system_path_to_grub_path now
35522 handles that).
35523
35524 2007-06-04 Robert Millan <rmh@aybabtu.com>
35525
35526 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35527
35528 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35529
35530 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35531
35532 2007-06-04 Robert Millan <rmh@aybabtu.com>
35533
35534 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35535
35536 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35537 grub_apple_partition_map_fini.
35538
35539 * util/biosdisk.c
35540 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35541 to access >2 TiB disks).
35542
35543 Print disk->total_sectors with %llu instead of %lu, since this
35544 variable is always 64-bit (prevents wrong disk size from being displayed
35545 on either >2 TiB disk or big-endian CPU).
35546
35547 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35548 into a generic case that supports all (sane) partition maps.
35549
35550 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35551 breaks big-endian.
35552
35553 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35554 and grub_apple_partition_map_fini() after that.
35555
35556 2007-06-01 Robert Millan <rmh@aybabtu.com>
35557
35558 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35559
35560 * util/grub.d/00_header.in: Only enable gfxterm when
35561 convert_system_path_to_grub_path() succeeds.
35562
35563 2007-05-20 Robert Millan <rmh@aybabtu.com>
35564
35565 * util/update-grub_lib.in: New file.
35566 * DISTLIST: Add update-grub_lib.in.
35567 * conf/common.rmk: Generate update-grub_lib and install it in
35568 $(lib_DATA).
35569 * Makefile.in: Add install routine for $(lib_DATA).
35570
35571 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35572 function provided by update-grub_lib to support arbitrary paths of
35573 unifont.pff.
35574 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35575 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35576
35577 2007-05-19 Robert Millan <rmh@aybabtu.com>
35578
35579 * commands/i386/cpuid.c: New module.
35580 * DISTLIST: Add it.
35581 * conf/i386-efi.rmk: Enable cpuid.mod.
35582 * conf/i386-pc.rmk: Likewise.
35583
35584 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35585
35586 * kern/disk.c (grub_disk_read): Check return value of
35587 grub_realloc().
35588
35589 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35590
35591 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35592 arrays.
35593 * disk/raid.c (grub_raid_open): Likewise.
35594
35595 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35596
35597 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35598 stack instead of on the heap.
35599
35600 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35601 before doing a read on it.
35602
35603 * configure.ac: Only use -fno-stack-protector for the target
35604 environment.
35605
35606 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35607
35608 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35609 __attribute_ ((unused)) to mode_type argument.
35610
35611 * util/getroot.c (grub_guess_root_device): Fix #endif.
35612
35613 * kern/misc.c (memcmp): Fix prototype.
35614
35615 * include/grub/partition.h [GRUB_UTIL]
35616 (grub_gpt_partition_map_init): Add prototype.
35617 (grub_gpt_partition_map_fini): Likewise.
35618
35619 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35620 at the right place.
35621
35622 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35623 (grub_fat_read_data): Likewise.
35624 (grub_fat_find_dir): Likewise.
35625
35626 * font/manager.c (find_glyph): Make table a const.
35627 (grub_font_get_glyph): Remove bitmap from if statement.
35628
35629 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35630
35631 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35632 code, first search for device in /dev/mapper, then in /dev.
35633 (grub_util_get_grub_dev): New function.
35634 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35635 prototype.
35636 * util/grub-probe.c (probe): Remove check for RAID, call
35637 grub_util_get_grub_dev() instead of
35638 grub_util_biosdisk_get_grub_dev().
35639 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35640 grub_util_biosdisk_get_grub_dev().
35641 * util/i386/pc/grub-setup.c (main): Likewise.
35642
35643 2007-05-16 Robert Millan <rmh@aybabtu.com>
35644
35645 * DISTLIST: Update for the latest changes.
35646 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35647 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35648 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35649 grub/util/biosdisk.h.
35650 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35651 grub/util/biosdisk.h.
35652
35653 2007-05-16 Robert Millan <rmh@aybabtu.com>
35654
35655 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35656
35657 2007-05-16 Robert Millan <rmh@aybabtu.com>
35658
35659 * util/i386/efi/grub-install.in: New.
35660 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35661 newly added grub-install.
35662 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35663 include.
35664 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35665 grub/util/biosdisk.h.
35666 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35667 grub/util/biosdisk.h.
35668
35669 2007-05-16 Robert Millan <rmh@aybabtu.com>
35670
35671 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35672 * include/grub/util/biosdisk.h: ... here.
35673 * util/i386/pc/biosdisk.c: Moved to ...
35674 * util/biosdisk.c: ... here.
35675 * util/i386/pc/getroot.c: Moved to ...
35676 * util/getroot.c: ... here.
35677 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35678 * util/grub-mkdevicemap.c: ... here.
35679 * util/i386/pc/grub-probe.c: Moved to ...
35680 * util/grub-probe.c: ... here.
35681
35682 2007-05-15 Robert Millan <rmh@aybabtu.com>
35683
35684 * util/update-grub.in: Remove duplicated line in grub.cfg header
35685 message.
35686
35687 2007-05-13 Robert Millan <rmh@aybabtu.com>
35688
35689 * util/update-grub.in: Fix a few assumptions about the devices holding
35690 /, /boot and /boot/grub being the same.
35691 * util/grub.d/00_header.in: Likewise.
35692 * util/grub.d/10_hurd.in: Likewise.
35693 * util/grub.d/10_linux.in: Likewise.
35694
35695 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35696 patterns. Use that to define the `.old' suffix as older than `'.
35697
35698 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35699
35700 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35701 the grub.cfg header message.
35702
35703 2007-05-11 Robert Millan <rmh@aybabtu.com>
35704
35705 * util/update-grub.in: Create device.map if it doesn't already exist,
35706 before attempting to run grub-probe.
35707 Check for grub-probe and grub-mkdevicemap with the same code
35708 grub-install is using.
35709 Remove test mode.
35710
35711 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35712
35713 * Makefile.in: Add the datarootdir autoconf variable.
35714
35715 2007-05-09 Robert Millan <rmh@aybabtu.com>
35716
35717 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
35718 fail gracefully if dev->disk->partition == NULL.
35719
35720 2007-05-07 Robert Millan <rmh@aybabtu.com>
35721
35722 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35723 determine partition map module.
35724 * util/i386/pc/grub-install.in: Use this feature to decide which
35725 partition module to load, instead of hardcoding pc and gpt.
35726
35727 2007-05-07 Robert Millan <rmh@aybabtu.com>
35728
35729 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35730 source directory differs from build directory.
35731
35732 2007-05-05 Robert Millan <rmh@aybabtu.com>
35733
35734 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35735 initialisation.
35736
35737 2007-05-05 Robert Millan <rmh@aybabtu.com>
35738
35739 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35740
35741 2007-05-05 Robert Millan <rmh@aybabtu.com>
35742
35743 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35744 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35745
35746 2007-05-05 Robert Millan <rmh@aybabtu.com>
35747
35748 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35749 (grub_probe_SOURCES): Likewise.
35750 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35751 GPT and initialize dos_part and bsd_part accordingly.
35752 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35753 install_bsd_part.
35754 (main): Activate gpt module for use during partition identification,
35755 and deactivate it afterwards.
35756 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35757 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35758 partition identification, and deactivate it afterwards.
35759
35760 2007-05-05 Robert Millan <rmh@aybabtu.com>
35761
35762 * term/i386/pc/console.c (grub_console_fini): Call
35763 grub_term_set_current() before grub_term_unregister().
35764
35765 2007-05-04 Robert Millan <rmh@aybabtu.com>
35766
35767 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35768 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35769 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35770 and update-grub_DATA.
35771 * conf/common.rmk: Build and install update-grub components.
35772 * conf/common.mk: Regenerate.
35773 * util/update-grub.in: New. Core of update-grub.
35774 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35775 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35776 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35777 * util/grub.d/README: New. Document grub.d directory layout.
35778
35779 2007-05-01 Robert Millan <rmh@aybabtu.com>
35780
35781 * util/grub-emu.c: Move initialization functions
35782 grub_util_biosdisk_init() and grub_init_all() before
35783 grub_util_biosdisk_get_grub_dev(), which relies on them.
35784
35785 2007-04-19 Robert Millan <rmh@aybabtu.com>
35786
35787 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35788 it is used later.
35789
35790 2007-04-18 Jerone Young <jerone@gmail.com>
35791
35792 * kernel/elf.c: Add missing parenthesis for conditional statement
35793 stanza.
35794
35795 2007-04-10 Jerone Young <jerone@gmail.com>
35796
35797 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35798 continue on and look for device node with real device name.
35799
35800 2007-04-10 Jerone Young <jerone@gmail.com>
35801
35802 * configure.ac: Add argument for autoconf to use transformation
35803 ability.
35804 * Makefile.in: Add autoconf package transformation code.
35805 * util/i386/pc/grub-install.in: Likewise.
35806 * util/powerpc/ieee1275/grub-install.in: Likewise.
35807
35808 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35809
35810 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35811 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35812 (EXT2_REVISION): Likewise.
35813 (EXT2_INODE_SIZE): Likewise.
35814 (struct grub_ext2_block_group): Added a missing member
35815 "used_dirs".
35816 (grub_ext2_read_inode): Divide by the inode size in a superblock
35817 instead of 128 to obtain INODES_PER_BLOCK.
35818 Use the macro EXT2_INODE_SIZE instead of directly using
35819 SBLOCK->INODE_SIZE.
35820
35821 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35822
35823 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35824 superblock instead of the structure size to compute an
35825 offset. This fixes the problem that GRUB could not read a
35826 filesystem when inode size is different from 128-byte.
35827
35828 2007-03-05 Marco Gerards <marco@gnu.org>
35829
35830 * normal/main.c (read_config_file): When "menu" is not set, create
35831 an initial context.
35832
35833 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35834
35835 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35836 (HEAP_LIMIT): New macro.
35837 (grub_claim_heap): Claim memory up to `heaplimit'.
35838
35839 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35840
35841 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35842 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35843 (_start): Likewise.
35844 (grub_arch_modules_addr): Return address after `_end'.
35845 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35846 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35847 (add_segments): Calculate `_end' from phdr size and location.
35848 (ALIGN_UP): Moved to ...
35849 * include/grub/misc.h: here.
35850 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35851 New macro.
35852 (GRUB_IEEE1275_MODULE_BASE): Removed.
35853
35854 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35855
35856 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35857 loop boundary.
35858
35859 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35860
35861 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35862 All users updated.
35863 (grub_elf64_load_hook_t): Likewise.
35864 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35865 debug output.
35866
35867 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35868
35869 * kern/mm.c: Update copyright.
35870 (grub_mm_debug): Correct syntax error.
35871 (grub_mm_dump_free): New function.
35872 (grub_debug_free): Call `grub_free'.
35873 * include/grub/mm.h: Update copyright.
35874 (grub_mm_dump_free): Add declaration.
35875
35876 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35877
35878 * include/grub/ieee1275/ieee1275.h: Update copyright.
35879 * kern/powerpc/ieee1275/init.c: Likewise.
35880 * kern/powerpc/ieee1275/openfw.c: Likewise.
35881
35882 * loader/powerpc/ieee1275/linux.c: Likewise.
35883 * include/grub/elfload.h: Likewise.
35884 * kern/elf.c: Likewise.
35885 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35886 callers.
35887 (grub_elf64_load): Likewise.
35888 (grub_elf32_load_segment): Move to a nested function.
35889 (grub_elf64_load_segment): Likewise.
35890
35891 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35892
35893 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35894 prototype.
35895 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35896 (grub_heap_len): Likewise.
35897 (HEAP_SIZE): New macro.
35898 (grub_claim_heap): New function.
35899 (grub_machine_init): Don't claim heap directly. Call
35900 `grub_claim_heap'.
35901 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35902 (grub_available_iterate): New function.
35903
35904 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35905
35906 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35907 * configure.ac: Use it for testing the HOST and TARGET compilers.
35908
35909 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35910
35911 * Makefile.in (enable_grub_emu): New variable.
35912 * configure.ac (--enable-grub-emu): New option.
35913 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35914 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35915 * conf/i386-pc.rmk: Likewise.
35916 * conf/powerpc-ieee1275.rmk: Likewise.
35917 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35918
35919 2006-12-12 Marco Gerards <marco@gnu.org>
35920
35921 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35922
35923 * kern/env.c (grub_env_unset): Don't free the member `value' when
35924 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35925 pointer.
35926
35927 * normal/main.c (current_menu): Removed.
35928 (free_menu): Unset the `menu' environment variable.
35929 (grub_normal_menu_addentry): Make use of the environment variable
35930 `menu', instead of using the global `current_menu'. Allocate
35931 memory for the sourcecode of this entry.
35932 (read_config_file): New argument `nested', changed all callers.
35933 Only in the case of a new context, initialize a new menu. Set the
35934 `menu' environment variable.
35935 (grub_normal_execute): Don't set and unset the environment
35936 variable `menu' here anymore. Only free the menu when leaving the
35937 context.
35938
35939 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35940 leak.
35941
35942 2006-12-11 Marco Gerards <marco@gnu.org>
35943
35944 * normal/menu_entry.c (run): Fix off by one bug so the last line
35945 is executed. Move the loader check to outside the loop.
35946
35947 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35948
35949 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35950
35951 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35952
35953 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35954 the number of sectors. Reported by Andrey Shuvikov
35955 <mr_hyro@yahoo.com>.
35956
35957 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35958
35959 * kern/disk.c (grub_disk_read): When there is a read error, always
35960 try to read only the necessary data.
35961
35962 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35963 disk/raid.c.
35964 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35965 prototype.
35966 [GRUB_UTIL] (grub_raid_fini): Likewise.
35967 [GRUB_UTIL] (grub_lvm_init): Likewise.
35968 [GRUB_UTIL] (grub_lvm_fini): Likewise.
35969 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35970 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35971 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35972 and grub_raid_fini().
35973
35974 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35975
35976 * include/grub/types.h (__unused): Rename to UNUSED.
35977 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35978 (grub_elf64_size): Likewise.
35979
35980 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35981
35982 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
35983 grub_error_push and grub_error_pop in the error-handling path.
35984 (grub_elf32_load_segment): Only call grub_file_read with non-zero
35985 length.
35986
35987 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35988
35989 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
35990 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35991 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35992 (kernel_elf_SOURCES): Likewise.
35993 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
35994 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
35995 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35996 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35997 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
35998 (elf_mod_SOURCES): New variable.
35999 (elf_mod_CFLAGS): Likewise.
36000 (elf_mod_LDFLAGS): Likewise.
36001 * include/grub/types.h (__unused): New macro.
36002 * include/grub/elfload.h: New file.
36003 * kern/elf.c: Likewise.
36004 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
36005 (ELF32_LOADMASK): New macro.
36006 (ELF64_LOADMASK): Likewise.
36007 (vmlinux): Removed.
36008 (grub_linux_load32): New function.
36009 (grub_linux_load64): Likewise.
36010 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
36011 Use grub_elf_t instead of grub_file_t.
36012
36013 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
36014
36015 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
36016 `catch_result' to struct set_color_args.
36017
36018 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36019
36020 * normal/menu.c: Include grub/script.h.
36021 * normal/menu_entry.c: Likewise.
36022 * include/grub/normal.h: Do not include grub/script.h.
36023
36024 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36025
36026 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
36027
36028 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36029
36030 * kern/disk.c (grub_disk_open): Print debug messages when opening a
36031 disk.
36032 (grub_disk_close): Print debug messages when closing a disk.
36033 (grub_disk_read): Print debug messages when disk read fails.
36034 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
36035 filesystem type.
36036 * kern/partition.c: Include misc.h.
36037 (grub_partition_iterate): Print debug messages when detecting
36038 partition type.
36039
36040 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
36041
36042 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
36043 is negative.
36044 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
36045
36046 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
36047
36048 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
36049 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
36050
36051 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
36052
36053 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
36054 instead of sizeof(lv). Patch by Michael Guntsche.
36055
36056 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
36057
36058 * disk/lvm.c: Rename VGS to VG_LIST.
36059 (grub_lvm_iterate): Change VGS->LV to VG-LV.
36060 (grub_lvm_open): Likewise.
36061 Thanks to Michael Guntsche for finding this bug.
36062
36063 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36064
36065 * configure.ac (AC_INIT): Bumped to 1.95.
36066
36067 2006-10-14 Robert Millan <rmh@aybabtu.com>
36068
36069 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
36070 with "/dev/.static/dev/md".
36071
36072 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36073
36074 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36075 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36076 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36077 DRIVE_NAME are always freed.
36078
36079 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36080 DOS_PART, as a DOS partition is counted from one instead of zero
36081 now. Reported by Robert Millan.
36082
36083 2006-10-14 Robert Millan <rmh@aybabtu.com>
36084
36085 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36086 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36087 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36088 string returned by grub_guess_root_device.
36089 * util/i386/pc/grub-setup.c: Likewise.
36090 * util/i386/pc/grub-probefs.c: Likewise.
36091
36092 * util/i386/pc/grub-probefs.c: Rename to ...
36093 * util/i386/pc/grub-probe.c: ... this.
36094 * DISTLIST: Remove grub-probefs, add grub-probe.
36095 * conf/i386-efi.rmk: Likewise.
36096 * conf/i386-pc.rmk: Likewise.
36097 * util/i386/pc/grub-install.in: Likewise.
36098
36099 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36100 choose which information we want to print.
36101
36102 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36103
36104 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36105 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36106 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36107 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36108 video/readers/tga.c and video/i386/pc/vbeutil.c.
36109
36110 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36111
36112 Added support for RAID and LVM.
36113
36114 * disk/lvm.c: New file.
36115 * disk/raid.c: Likewise.
36116 * include/grub/lvm.h: Likewise.
36117 * include/grub/raid.h: Likewise.
36118 * include/grub/util/lvm.h: Likewise.
36119 * include/grub/util/raid.h: Likewise.
36120 * util/lvm.c: Likewise.
36121 * util/raid.c: Likewise.
36122
36123 * include/grub/disk.h (grub_disk_dev_id): Add
36124 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36125 (grub_disk_get_size): New prototype.
36126 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36127 returns a partition.
36128 (grub_disk_get_size): New function.
36129
36130 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36131 verbatim if grub_install_dos_part is -2.
36132
36133 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36134 and LVM devices.
36135
36136 * util/i386/pc/grub-setup.c (setup): New argument
36137 MUST_EMBED. Force embedding of GRUB when the argument is
36138 true. Close FILE before returning.
36139 (main): Add support for RAID and LVM.
36140
36141 * conf/common.rmk: Add RAID and LVM modules.
36142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36143 util/lvm.c.
36144 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36145
36146 * kern/misc.c (grub_strstr): New function.
36147 * include/grub/misc.h (grub_strstr): New prototype.
36148
36149 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36150
36151 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36152
36153 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36154
36155 * kern/misc.c (grub_strtoull): Guess the base only if not
36156 specified.
36157
36158 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36159
36160 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36161 PowerMac support.
36162
36163 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36164
36165 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36166
36167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36168 Remove `flags' argument. All callers changed.
36169 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36170 (IEEE1275_IHANDLE_INVALID): New variable.
36171 (IEEE1275_CELL_INVALID): New variable.
36172 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36173 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36174 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36175 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36176 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36177 codes from Open Firmware. All callers updated.
36178 (grub_ieee1275_next_property): Directly return Open Firmware return
36179 code.
36180 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36181 Standardize error checking from `grub_ieee1275_get_property'.
36182 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36183 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36184
36185 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36186
36187 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36188 `instance_to_package_args' to `instance_to_path_args'.
36189
36190 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36191 `grub_ieee1275_chosen'.
36192
36193 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36194 `grub_ieee1275_interpret'.
36195
36196 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
36197
36198 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36199
36200 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
36201
36202 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36203 (__cmpdi): Likewise.
36204
36205 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36206 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36207 `grub_ssize_t'.
36208
36209 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
36210
36211 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36212 to type `grub_ssize_t'.
36213 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36214
36215 2006-09-22 Marco Gerards <marco@gnu.org>
36216
36217 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36218 newlines.
36219
36220 2006-09-22 Marco Gerards <marco@gnu.org>
36221
36222 * commands/echo.c: New file.
36223
36224 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36225
36226 * conf/common.rmk (echo_mod_SOURCES): New variable.
36227 (echo_mod_CFLAGS): Likewise.
36228 (echo_mod_LDFLAGS): Likewise.
36229
36230 2006-09-22 Marco Gerards <marco@gnu.org>
36231
36232 * normal/main.c (get_line): Malloc memory instead of using
36233 preallocated memory. Removed the arguments `cmdline' and
36234 `max_len'. Updated all callers.
36235
36236 2006-09-22 Marco Gerards <marco@gnu.org>
36237
36238 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36239 (normal_mod_DEPENDENCIES): Likewise.
36240
36241 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36242 (normal_mod_DEPENDENCIES): Likewise.
36243
36244 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36245
36246 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
36247
36248 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36249 programs.
36250 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36251 (normal_mod_DEPENDENCIES): Likewise.
36252 * conf/i386-pc.mk: Regenerate.
36253 * conf/i386-efi.mk: Likewise
36254 * conf/common.mk: Likewise.
36255 * conf/powerpc-ieee1275.mk: Likewise.
36256 * conf/sparc64-ieee1275.mk: Likewise.
36257
36258 2006-09-22 Robert Millan <rmh@aybabtu.com>
36259
36260 Sync with i386 version.
36261 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36262 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36263
36264 2006-09-21 Robert Millan <rmh@aybabtu.com>
36265
36266 Import from GRUB Legacy (lib/device.c):
36267 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36268 (init_device_map) [__linux__]: Add support for I2O devices.
36269
36270 2006-09-14 Marco Gerards <marco@gnu.org>
36271
36272 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36273 `-melf_i386'.
36274
36275 2006-09-14 Robert Millan <rmh@aybabtu.com>
36276
36277 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36278 /boot/grub/*.lst.
36279
36280 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
36281
36282 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36283 before adding it to device.map.
36284
36285 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
36286
36287 * genmk.rb: Let GCC generate dependencies the first time it
36288 compiles a file; using the -MD option.
36289 * conf/common.mk: Regenerate.
36290 * conf/i386-pc.mk: Likewise.
36291 * conf/i386-efi.mk: Likewise.
36292 * conf/powerpc-ieee1275.mk: Likewise.
36293 * conf/sparc64-ieee1275.mk: Likewise.
36294
36295 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36296
36297 Move the prototypes of grub_setjmp and grub_longjmp to
36298 cpu/setjmp.h, so that each architecture may specify different
36299 attributes.
36300
36301 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36302 (grub_longjmp): Likewise.
36303 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36304 (grub_longjmp): Likewise.
36305 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36306 (grub_longjmp): Likewise.
36307
36308 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36309 [!GRUB_UTIL] (grub_longjmp): Removed.
36310
36311 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36312
36313 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36314 "color!" method does not return any value.
36315
36316 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36317
36318 * include/grub/bitmap.h: New file.
36319
36320 * include/grub/i386/pc/vbeutil.h: Likewise.
36321
36322 * video/bitmap.c: Likewise.
36323
36324 * video/readers/tga.c: Likewise.
36325
36326 * video/i386/pc/vbeutil.c: Likewise.
36327
36328 * commands/videotest.c: Code cleanup and updated to reflect to new
36329 video API.
36330
36331 * term/gfxterm.c: Likewise.
36332
36333 * video/video.c: Likewise.
36334
36335 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36336 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36337 (bitmap_mod_SOURCES): New entry.
36338 (bitmap_mod_CFLAGS): Likewise.
36339 (bitmap_mod_LDFLAGS): Likewise.
36340 (tga_mod_SOURCES): Likewise.
36341 (tga_mod_CFLAGS): Likewise.
36342 (tga_mod_LDFLAGS): Likewise.
36343
36344 * include/grub/video.h (grub_video_blit_operators): New enum type.
36345 (grub_video_render_target): Changed as forward declaration and moved
36346 actual definition to be video driver specific.
36347 (grub_video_adapter.blit_bitmap): Added blitting operator.
36348 (grub_video_adapter.blit_render_target): Likewise.
36349 (grub_video_blit_bitmap): Likewise.
36350 (grub_video_blit_render_target): Likewise.
36351
36352 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36353 driver specific render target definition.
36354 (grub_video_vbe_map_rgba): Added driver internal helper.
36355 (grub_video_vbe_unmap_color): Updated to use
36356 grub_video_i386_vbeblit_info.
36357 (grub_video_vbe_get_video_ptr): Likewise.
36358
36359 * include/grub/i386/pc/vbeblit.h
36360 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36361 grub_video_i386_vbeblit_info.
36362 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36363 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36364 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36365 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36366 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36367 (grub_video_i386_vbeblit_index_index): Likewise.
36368 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36369 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36370 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36371 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36372 operator.
36373 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36374 operator.
36375
36376 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36377 include/grub/i386/pc/vbeblit.h.
36378
36379 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36380 Updated to use grub_video_i386_vbeblit_info.
36381 (grub_video_i386_vbefill_R8G8B8): Likewise.
36382 (grub_video_i386_vbefill_index): Likewise.
36383 (grub_video_i386_vbefill): Added generic filler.
36384
36385 * video/i386/pc/vbefill.c: Updated to reflect changes on
36386 include/grub/i386/pc/vbefill.h.
36387
36388 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36389 grub_video_i386_vbeblit_info.
36390 (grub_video_vbe_unmap_color): Likewise.
36391 (grub_video_vbe_blit_glyph): Likewise.
36392 (grub_video_vbe_scroll): Likewise.
36393 (grub_video_vbe_draw_pixel): Removed function.
36394 (grub_video_vbe_get_pixel): Likewise.
36395 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36396 updated code to use it.
36397 (common_blitter): Added common blitter for render target and bitmap.
36398 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36399 (grub_video_vbe_blit_render_target): Likewise.
36400
36401 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
36402
36403 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36404 is in text mode if there is no console control protocol instance
36405 available.
36406
36407 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36408
36409 * include/grub/video.h: Code cleanup.
36410
36411 * include/grub/i386/pc/vbe.h: Likewise.
36412
36413 * video/i386/pc/vbe.c: Likewise.
36414
36415 * video/i386/pc/vbeblit.c: Likewise.
36416
36417 * video/i386/pc/vbefill.c: Likewise.
36418
36419 * video/video.c: Likewise. Also added more comments.
36420
36421 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36422
36423 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36424 (struct grub_biosdisk_dap): Likewise.
36425
36426 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36427 linkage settings for all functions.
36428
36429 2006-07-12 Marco Gerards <marco@gnu.org>
36430
36431 * configure.ac (--enable-mm-debug): Fix typo.
36432
36433 * genkernsyms.sh.in: Use proper quoting for `CC'.
36434
36435 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36436
36437 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36438 (normal_mod_ASFLAGS): Remove "-m32".
36439
36440 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36441
36442 * util/misc.c: Include config.h.
36443 [!HAVE_MEMALIGN]: Do not include malloc.h.
36444 (grub_memalign): Use posix_memalign, if present. Then, use
36445 memalign, if present. Otherwise, emit an error.
36446
36447 * util/grub-emu.c: Do not include malloc.h.
36448
36449 * include/grub/util/misc.h: Include unistd.h. This is required for
36450 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36451 D. Eades III <hde@foobar-qux.org>.
36452
36453 * configure.ac (AC_GNU_SOURCE): Added.
36454 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36455 type.
36456
36457 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36458
36459 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36460 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36461
36462 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36463
36464 * include/grub/types.h (grub_host_addr_t): Rename to
36465 grub_target_addr_t.
36466 (grub_host_off_t): Rename to grub_target_off_t.
36467 (grub_host_size_t): Rename to grub_target_size_t.
36468 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36469 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36470
36471 * include/grub/kernel.h (struct grub_module_header): Change type
36472 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36473 (grub_module_info): Likewise.
36474
36475 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36476
36477 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36478 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36479 Velazquez <jesus.velazquez@gmail.com>.
36480
36481 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36482
36483 Count partitions from 1 instead of 0 in the string representation
36484 of partitions. Still use 0-based internally.
36485
36486 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36487 (sun_partition_map_iterate): Use grub_partition_t instead of
36488 struct grub_partition *. Cast DESC->START_CYLINDER to
36489 grub_uint64_t after converting the endian.
36490 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36491 (sun_partition_map_get_name): Add 1 to P->INDEX.
36492
36493 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36494 PCDATA->DOS_PART.
36495 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36496
36497 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36498 zero instead of one.
36499 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36500 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36501
36502 * partmap/apple.c (apple_partition_map_iterate): Change the type
36503 of POS to unsigned.
36504 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36505 (apple_partition_map_get_name): Add 1 into P->INDEX.
36506
36507 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36508 of POS to unsigned.
36509 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36510 calculate the offset of a partition.
36511 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36512 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36513
36514 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36515 SECTOR to grub_disk_addr_t.
36516 (acorn_partition_map_iterate): Likewise.
36517 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36518 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36519 top.
36520 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36521
36522 * kern/i386/pc/init.c (make_install_device): Add 1 into
36523 GRUB_INSTALL_DOS_PART.
36524
36525 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36526 conditional.
36527
36528 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36529
36530 Clean up the code to support 64-bit addressing in disks and
36531 files. This change is not enough for filesystems yet.
36532
36533 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36534 type of "start" to grub_uint64_t.
36535 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36536 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36537 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36538 convert addresses.
36539
36540 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36541 to grub_disk_addr_t.
36542
36543 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36544 string.
36545
36546 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36547
36548 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36549 to char *.
36550
36551 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36552
36553 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36554
36555 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36556
36557 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36558 to grub_off_t, to detect an error from grub_file_seek.
36559 (grub_multiboot_load_elf32): Likewise.
36560
36561 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36562 maximum unsigned long value when an overflow is detected.
36563 (grub_strtoull): New function.
36564 (grub_divmod64): Likewise.
36565 (grub_lltoa): use grub_divmod64.
36566
36567 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36568 grub_disk_addr_t.
36569 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36570 the pointer to next character. Use grub_strtoull instead of
36571 grub_strtoul.
36572 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36573 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36574 respectively.
36575
36576 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
36577 return value is signed.
36578 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36579 test if OFFSET is less than zero, as OFFSET is unsigned now.
36580
36581 * kern/disk.c (struct grub_disk_cache): Change the type of
36582 "sector" to grub_disk_addr_t.
36583 (grub_disk_cache_get_index): Change the type of SECTOR to
36584 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36585 unsigned after shifting.
36586 (grub_disk_cache_invalidate): Change the type of SECTOR to
36587 grub_disk_addr_t.
36588 (grub_disk_cache_unlock): Likewise.
36589 (grub_disk_cache_store): Likewise.
36590 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36591 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36592 grub_disk_addr_t and grub_uint64_t, respectively.
36593 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36594 body, as the value of OFFSET is tweaked by
36595 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36596 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36597 respectively.
36598 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36599 body, as the value of OFFSET is tweaked by
36600 grub_disk_check_range. Change the types of LEN and N to
36601 grub_size_t.
36602
36603 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36604 and "saved_offset" to grub_off_t.
36605 (test_header): Cast BUF to char *.
36606 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36607 to char *.
36608 (grub_gzio_read): Change the types of OFFSET and SIZE to
36609 grub_off_t and grub_size_t, respectively.
36610
36611 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36612 Removed.
36613 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36614 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36615 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36616 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36617 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36618
36619 * include/grub/types.h (grub_off_t): Unconditionally set to
36620 grub_uint64_t.
36621 (grub_disk_addr_t): Changed to grub_uint64_t.
36622
36623 * include/grub/partition.h (struct grub_partition): Change the
36624 types of "start", "len" and "offset" to grub_disk_addr_t,
36625 grub_uint64_t and grub_disk_addr_t, respectively.
36626 (grub_partition_get_start): Return grub_disk_addr_t.
36627 (grub_partition_get_len): Return grub_uint64_t.
36628
36629 * include/grub/misc.h (grub_strtoull): New prototype.
36630 (grub_divmod64): Likewise.
36631
36632 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36633 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36634 grub_off_t, respectively.
36635 All callers and references changed.
36636
36637 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36638 grub_size_t in "read".
36639 All callers and references changed.
36640
36641 * include/grub/file.h (struct grub_file): Change the types of
36642 "offset" and "size" to grub_off_t and grub_off_t,
36643 respectively. Change the type of SECTOR to grub_disk_addr_t in
36644 "read_hook".
36645 (grub_file_read): Change the type of LEN to grub_size_t.
36646 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36647 grub_off_t.
36648 (grub_file_size): Return grub_off_t.
36649 (grub_file_tell): Likewise.
36650 All callers and references changed.
36651
36652 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36653 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36654 "write".
36655 (struct grub_disk): Change the type of "total_sectors" to
36656 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
36657 "read_hook".
36658 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36659 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36660 (grub_disk_write): Likewise.
36661 All callers and references changed.
36662
36663 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36664 char * for grub_strncmp to silence gcc.
36665 (grub_iso9660_mount): Likewise.
36666 (grub_iso9660_mount): Likewise.
36667 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36668 return statement.
36669 (grub_iso9660_iterate_dir): Likewise.
36670 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36671
36672 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36673 LEN to grub_disk_addr_t and grub_size_t, respectively.
36674
36675 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36676
36677 * fs/jfs.c (grub_jfs_read_file): Likewise.
36678
36679 * fs/minix.c (grub_jfs_read_file): Likewise.
36680
36681 * fs/sfs.c (grub_jfs_read_file): Likewise.
36682
36683 * fs/ufs.c (grub_jfs_read_file): Likewise.
36684
36685 * fs/xfs.c (grub_jfs_read_file): Likewise.
36686
36687 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36688 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36689 respectively.
36690
36691 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36692 BLKNR to -1 instead of returning GRUB_ERRNO.
36693 (grub_ext2_read_file): Change the types of SECTOR and
36694 LEN to grub_disk_addr_t and grub_size_t, respectively.
36695
36696 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36697 LEN to grub_disk_addr_t and grub_size_t, respectively.
36698
36699 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36700 grub_file_read.
36701
36702 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36703 string. Do not cast SECTOR explicitly.
36704
36705 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36706 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36707 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36708 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36709 over 2TB and LBA mode is not supported, raise an error.
36710 (get_safe_sectors): New function.
36711 (grub_biosdisk_read): Use get_safe_sectors.
36712 (grub_biosdisk_write): Likewise.
36713
36714 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36715 (grub_efidisk_write): Likewise.
36716
36717 * disk/loopback.c (delete_loopback): Cosmetic changes.
36718 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36719 correctly.
36720 (grub_loopback_open): Likewise.
36721 (grub_loopback_read): Likewise. Also, change the type of POS to
36722 grub_off_t, and fix the usage of grub_memset.
36723
36724 * commands/i386/pc/play.c: Include grub/machine/time.h.
36725
36726 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36727 print FILE->SIZE.
36728
36729 * commands/configfile.c: Include grub/env.h.
36730
36731 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36732 GRUB_ERRNO directly instead. Change the type of POS to
36733 grub_off_t. Follow the coding standard.
36734
36735 * commands/blocklist.c: Include grub/partition.h.
36736 (grub_cmd_blocklist): Return an error if the underlying device is
36737 not a disk. Take the starting sector of a partition into account,
36738 if a partition is used.
36739
36740 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36741 a length field.
36742 (lba_mode): Support 64-bit addresses.
36743 (chs_mode): Likewise.
36744 (copy_buffer): Adapted to the new offsets of a length field and a
36745 segment field.
36746 (blocklist_default_start): Allocate 64-bit space.
36747
36748 * boot/i386/pc/boot.S (force_lba): Removed.
36749 (boot_drive): Moved to under KERNEL_SECTOR.
36750 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
36751 space.
36752 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36753 is useless.
36754 (lba_mode): Refactored to support a 64-bit address. More size
36755 optimization.
36756 (setup_sectors): Likewise.
36757
36758 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36759
36760 * DISTLIST: Added include/grub/i386/linux.h. Removed
36761 include/grub/i386/pc/linux.h
36762
36763 * configure.ac (AC_INIT): Bumped to 1.94.
36764
36765 * config.guess: Updated from gnulib.
36766 * config.sub: Likewise.
36767 * install-sh: Likewise.
36768 * mkinstalldirs: Likewise.
36769
36770 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36771
36772 * conf/common.rmk (grub_modules_init.lst): Depended on
36773 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36774 MODSRCFILES.
36775
36776 * genmk.rb (PModule::rule): Reverted the previous change.
36777
36778 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36779
36780 * conf/common.rmk (grub_modules_init.lst): Depends on
36781 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36782 that the target does not exist before producing.
36783 (grub_modules_init.h): Remove the target before generating.
36784 (grub_emu_init.c): Likewise.
36785
36786 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36787
36788 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36789
36790 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36791 for the target-specific tests. Make sure that we also have the
36792 up-to-date target variables for those tests.
36793
36794 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36795
36796 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36797 (PModule::rule): Likewise.
36798
36799 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36800
36801 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36802 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36803 target-specific flags should be prefixed.
36804 (PModule::rule): Likewise.
36805
36806 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36807
36808 * configure.ac (CMP): Check if cmp is available explicitly.
36809
36810 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36811
36812 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36813 (target_cpu): New variable.
36814 (pkglibdir): Use target_cpu instead of host_cpu.
36815
36816 * util/i386/pc/grub-install.in (host_cpu): Removed.
36817 (target_cpu): New variable.
36818 (pkglibdir): Use target_cpu instead of host_cpu.
36819
36820 * util/genmoddep.c: Removed.
36821
36822 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36823 instead of GRUB_HOST_SIZEOF_VOID_P.
36824 * kern/dl.c: Likewise.
36825
36826 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36827 ...
36828 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36829 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36830 (GRUB_TARGET_SIZEOF_LONG): ... this.
36831 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36832 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36833 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36834 to ...
36835 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36836 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36837 (GRUB_TARGET_SIZEOF_LONG): ... this.
36838 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36839 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36840 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36841 to ...
36842 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36843 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36844 (GRUB_TARGET_SIZEOF_LONG): ... this.
36845 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36846 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36847
36848 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36849 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36850 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36851 instead of GRUB_HOST_SIZEOF_LONG.
36852 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36853 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36854 GRUB_CPU_WORDS_BIGENDIAN.
36855 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36856 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36857 grub_host_ssize_t.
36858
36859 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36860 (genmoddep_SOURCES): Likewise.
36861 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36862 (genmoddep_SOURCES): Likewise.
36863 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36864 (genmoddep_SOURCES): Likewise.
36865 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36866 Likewise.
36867 (genmoddep_SOURCES): Likewise.
36868
36869 * genmoddep.awk: New file.
36870
36871 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36872 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36873 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36874 (PModule::rule): Likewise.
36875 (Program::rule): Likewise.
36876 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36877 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36878 respectively.
36879
36880 * configure.ac: Rewritten intensively to use host and target
36881 instead of build and host, respectively.
36882
36883 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36884 (host_cpu): Removed.
36885 (target_cpu): New variable.
36886 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36887 (BUILD_CC): Removed.
36888 (BUILD_CFLAGS): Likewise.
36889 (BUILD_CPPFLAGS): Likewise.
36890 (TARGET_CC): New variable.
36891 (TARGET_CFLAGS): Likewise.
36892 (TARGET_CPPFLAGS): Likewise.
36893 (TARGET_LDFLAGS): Likewise.
36894 (AWK): Likewise.
36895 (include): Use target_cpu instead of host_cpu.
36896 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
36897
36898 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36899
36900 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36901
36902 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36903 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36904 field 'false' to 'exec_on_false'.
36905 (grub_script_create_cmdif): Renamed argument names to reflect above
36906 changes.
36907
36908 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36909
36910 * normal/script.c (grub_script_create_cmdif): Likewise.
36911
36912 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36913
36914 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36915 top.
36916 (grub_hfsplus_btree_recptr): Likewise.
36917 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36918 FILEBLOCK both to pass a block number and store next block
36919 number.
36920 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36921 overflow file correctly. Specify errors appropriately, because
36922 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36923 grub_hfsplus_btree_recptr to get the pointer to a found key.
36924 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36925 is found.
36926
36927 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36928 linux.mod.
36929 (_linux_mod_SOURCES): New variable.
36930 (_linux_mod_CFLAGS): Likewise.
36931 (_linux_mod_LDFLAGS): Likewise.
36932 (linux_mod_SOURCES): Likewise.
36933 (linux_mod_CFLAGS): Likewise.
36934 (linux_mod_LDFLAGS): Likewise.
36935
36936 * DISTLIST: Added loader/i386/efi/linux.c,
36937 loader/i386/efi/linux_normal.c and
36938 include/grub/i386/efi/loader.h.
36939
36940 * loader/i386/efi/linux.c: New file.
36941 * loader/i386/efi/linux_normal.c: Likewise.
36942 * include/grub/i386/efi/loader.h: Likewise.
36943
36944 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36945
36946 * commands/blocklist.c: New file.
36947
36948 * DISTLIST: Added commands/blocklist.c.
36949
36950 * term/efi/console.c (grub_console_highlight_color): Use a lighter
36951 color for the background, and a darker color for the foreground.
36952 (grub_console_checkkey): Return READ_KEY.
36953 (grub_console_cls): Set the background to
36954 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36955
36956 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36957
36958 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36959 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36960
36961 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36962 prototype.
36963
36964 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36965 BG. The spec is wrong again.
36966
36967 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36968 prototype.
36969 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36970
36971 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36972 commands/blocklist.c.
36973 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36974
36975 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36976 (blocklist_mod_SOURCES): New variable.
36977 (blocklist_mod_CFLAGS): Likewise.
36978 (blocklist_mod_LDFLAGS): Likewise.
36979
36980 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
36981
36982 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
36983 duplication.
36984 (lba_mode): Use %eax more intensively to reduce the code size.
36985
36986 2006-05-20 Marco Gerards <marco@gnu.org>
36987
36988 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
36989
36990 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
36991 for `menuentry'.
36992 (script): Accept leading newlines.
36993 (newlines): New rule to describe 0 or more newlines.
36994 (commands): Accept `command' with trailing newline. Fixed the
36995 order in which arguments were passed to `grub_script_add_cmd'.
36996 Accept commands separated by newlines.
36997 (function): Changed to accept newlines.
36998 (menuentry) Rewritten.
36999
37000 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
37001 front of the list, instead of to the end.
37002
37003 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
37004
37005 * util/i386/pc/grub-install.in (bindir): New variable.
37006 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
37007 Shaver <lbgwjl@gmail.com>.
37008
37009 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
37010
37011 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
37012 grub/machine/linux.h
37013 * loader/i386/pc/linux.c: Likewise.
37014
37015 * include/grub/i386/pc/linux.h: Moved to ...
37016 * include/grub/i386/linux.h: ... here.
37017
37018 * include/grub/i386/linux.h (struct linux_kernel_params): New
37019 struct.
37020
37021 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
37022
37023 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
37024 checking.
37025 (grub_video_vbe_blit_glyph): Likewise.
37026 (grub_video_vbe_blit_bitmap): Likewise.
37027 (grub_video_vbe_blit_render_target): Likewise.
37028
37029 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
37030
37031 * configure.ac (--with-platform): Properly quote the square
37032 brackets.
37033
37034 2006-05-08 Marco Gerards <marco@gnu.org>
37035
37036 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
37037 this...
37038 (kernel_elf_HEADERS): ...to this. Updated all users.
37039 (grubof_symlist.c): Renamed from this...
37040 (kernel_elf_symlist.c): ...to this. Updated all users.
37041 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37042 (grubof_SOURCES): Renamed from this...
37043 (kernel_elf_SOURCES): ...to this.
37044 (grubof_HEADERS): Renamed from this...
37045 (kernel_elf_HEADERS): ...to this.
37046 (grubof_CFLAGS): Renamed from this...
37047 (kernel_elf_CFLAGS): ...to this.
37048 (grubof_ASFLAGS): Renamed from this...
37049 (kernel_elf_ASFLAGS): ...to this.
37050 (grubof_LDFLAGS): Renamed from this...
37051 (kernel_elf_LDFLAGS): ...to this.
37052
37053 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
37054 this...
37055 (kernel_elf_HEADERS): ...to this. Updated all users.
37056 (grubof_symlist.c): Renamed from this...
37057 (kernel_elf_symlist.c): ...to this. Updated all users.
37058 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
37059 (grubof_SOURCES): Renamed from this...
37060 (kernel_elf_SOURCES): ...to this.
37061 (grubof_HEADERS): Renamed from this...
37062 (kernel_elf_HEADERS): ...to this.
37063 (grubof_CFLAGS): Renamed from this...
37064 (kernel_elf_CFLAGS): ...to this.
37065 (grubof_ASFLAGS): Renamed from this...
37066 (kernel_elf_ASFLAGS): ...to this.
37067 (grubof_LDFLAGS): Renamed from this...
37068 (kernel_elf_LDFLAGS): ...to this.
37069
37070 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37071 `kernel.elf' instead of `grubof'.
37072
37073 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37074
37075 Add --with-platform to configure. Use pkglibdir instead of
37076 pkgdatadir. This is reported by Roger Leigh.
37077
37078 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37079 (host_vendor): Likewise.
37080 (host_os): Likewise.
37081 (pkgdatadir): Likewise.
37082 (platform): New variable.
37083 (pkglibdir): Likewise.
37084 Use PKGLIBDIR instead of PKGDATADIR.
37085
37086 * util/i386/pc/grub-install.in (datadir): Removed.
37087 (host_vendor): Likewise.
37088 (host_os): Likewise.
37089 (pkgdatadir): Likewise.
37090 (platform): New variable.
37091 (pkglibdir): Likewise.
37092 Use PKGLIBDIR instead of PKGDATADIR.
37093
37094 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37095 instead of GRUB_DATADIR.
37096 (main): Likewise.
37097 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37098 (main): Likewise.
37099 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37100 (main): Likewise.
37101
37102 * configure.ac (--with-platform): New option.
37103 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37104
37105 * Makefile.in: Include a makefile based on PLATFORM instead of
37106 HOST_VENDOR.
37107 (pkgdatadir): Not appended by the machine type.
37108 (pkglibdir): Appended by the machine type.
37109 (host_vendor): Removed.
37110 (platform): New variable.
37111 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37112 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37113 (uninstall): Likewise.
37114
37115 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37116
37117 Use the environment context in the menu. Remove the commands
37118 "default" and "timeout", and use variables instead.
37119
37120 * normal/menu.c: Include grub/env.h.
37121 (print_entry): Cast TITLE to silence gcc.
37122 (get_timeout): New function.
37123 (set_timeout): Likewise.
37124 (get_entry_number): Likewise.
37125 (run_menu): Use a default entry, a fallback entry and a timeout
37126 in the environment variables "default", "fallback" and
37127 "timeout". Also, tweak the default entry if it is not within the
37128 current menu entries.
37129 (grub_menu_run): Use a fallback entry in the environment variable
37130 "fallback".
37131
37132 * normal/main.c (read_config_file): Do not initialize
37133 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37134 NEWMENU->TIMEOUT.
37135 (grub_normal_execute): Use a data slot to store the menu.
37136
37137 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37138 fallback_entry and timeout.
37139 (struct grub_menu_list): Removed.
37140 (grub_menu_list_t): Likewise.
37141 (struct grub_context): Likewise.
37142 (grub_context_t): Likewise.
37143 (grub_context_get): Likewise.
37144 (grub_context_get_current_menu): Likewise.
37145 (grub_context_push_menu): Likewise.
37146 (grub_context_pop_menu): Likewise.
37147 (grub_default_init): Likewise.
37148 (grub_default_fini): Likewise.
37149 (grub_timeout_init): Likewise.
37150 (grub_timeout_fini): Likewise.
37151
37152 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37153 and timeout.mod.
37154 (normal_mod_SOURCES): Removed normal/context.c.
37155
37156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37157 commands/default.c, commands/timeout.c and normal/context.c.
37158 (normal_mod_SOURCES): Removed normal/context.c.
37159
37160 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37161 commands/timeout.c and normal/context.c.
37162 (normal_mod_SOURCES): Removed normal/context.c.
37163
37164 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37165 commands/default.c, commands/timeout.c and normal/context.c.
37166 (normal_mod_SOURCES): Removed normal/context.c.
37167
37168 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37169 timeout.mod.
37170 (default_mod_SOURCES): Removed.
37171 (default_mod_CFLAGS): Likewise.
37172 (default_mod_LDFLAGS): Likewise.
37173 (timeout_mod_SOURCES): Removed.
37174 (timeout_mod_CFLAGS): Likewise.
37175 (timeout_mod_LDFLAGS): Likewise.
37176
37177 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37178 normal/context.c.
37179
37180 * commands/default.c: Removed.
37181 * commands/timeout.c: Likewise.
37182 * normal/context.c: Likewise.
37183
37184 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37185
37186 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37187
37188 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37189
37190 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37191 "next" to "prev" for readability.
37192 (struct grub_env_sorted_var): New struct.
37193 (grub_env_context): Renamed to ...
37194 (initial_context): ... this.
37195 (grub_env_var_context): Renamed to ...
37196 (current_context): ... this.
37197 (grub_env_find): Look only at CURRENT_CONTEXT.
37198 (grub_env_context_open): Rewritten to copy exported variables from
37199 previous context.
37200 (grub_env_context_close): Rewritten according to the new
37201 scheme. Also, add an assertion to prevent the initial context from
37202 removed.
37203 (grub_env_insert): Removed the code for the sorted list.
37204 (grub_env_remove): Likewise.
37205 (grub_env_export): Simply mark the variable with
37206 GRUB_ENV_VAR_GLOBAL.
37207 (grub_env_set): A cosmetic change for naming consistency.
37208 (grub_env_get): Likewise.
37209 (grub_env_unset): Likewise.
37210 (grub_env_iterate): Rewritten to sort variables within this
37211 function.
37212 (grub_register_variable_hook): Fixed for naming consistency. Call
37213 grub_env_find again, only if NAME is not found at the first time.
37214 (mangle_data_slot_name): New function.
37215 (grub_env_set_data_slot): Likewise.
37216 (grub_env_get_data_slot): Likewise.
37217 (grub_env_unset_data_slot): Likewise.
37218
37219 * include/grub/env.h (grub_env_var_type): New enum.
37220 (GRUB_ENV_VAR_LOCAL): New constant.
37221 (GRUB_ENV_VAR_GLOBAL): Likewise.
37222 (GRUB_ENV_VAR_DATA): Likewise.
37223 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37224 "type".
37225 (grub_env_set): Replace VAR with NAME for consistency.
37226 (grub_register_variable_hook): Likewise.
37227 (grub_env_export): Specify the name of the argument.
37228 (grub_env_set_data_slot): New prototype.
37229 (grub_env_get_data_slot): Likewise.
37230 (grub_env_unset_data_slot): Likewise.
37231
37232 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37233
37234 Extend the loader so that GRUB can accept a loader which comes
37235 back to GRUB when a loaded image exits. Also, this change adds
37236 support for a chainloader on EFI.
37237
37238 * term/efi/console.c: Include grub/misc.h.
37239 (grub_console_checkkey): Display a scan code on the top for
37240 debugging. This will be removed once the EFI port gets stable.
37241 Correct the scan code mapping.
37242
37243 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37244 allocate memory from larger regions, in order to reduce the number
37245 of allocated regions. Otherwise, the MacOSX loader panics.
37246 (filter_memory_map): Avoid less than 1MB for compatibility with
37247 other loaders.
37248 (add_memory_regions): Allocate from the tail of a region, if
37249 possible, to avoid allocating a region near to 1MB, for the MacOSX
37250 loader.
37251
37252 * kern/efi/init.c (grub_efi_set_prefix): Specify
37253 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37254
37255 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37256 argument IMAGE_HANDLE and specify it to get a loaded image.
37257 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37258 grub_efi_get_loaded_image.
37259 (grub_efi_get_filename): Divide the length by the size of
37260 grub_efi_char16_t.
37261 (grub_efi_get_device_path): New function.
37262 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37263 the length by the size of grub_efi_char16_t for a file path device
37264 path node.
37265
37266 * kern/loader.c (grub_loader_noreturn): New variable.
37267 (grub_loader_set): Accept a new argument NORETURN. Set
37268 GRUB_LOADER_NORETURN to NORETURN.
37269 All callers changed.
37270 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37271 grub_machine_fini.
37272
37273 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37274 prototype.
37275 (grub_efi_get_loaded_image): Take an argument to specify an image
37276 handle.
37277
37278 * include/grub/loader.h (grub_loader_set): Added one more argument
37279 NORETURN.
37280
37281 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37282 instead of grub_efi_open_protocol.
37283 (grub_efidisk_get_device_name): Likewise.
37284 (grub_efidisk_close): Print a newline.
37285 (grub_efidisk_get_device_handle): Fixed to use
37286 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37287 GRUB_EFI_DEVICE_PATH_TYPE.
37288
37289 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37290 * kern/efi/efi.c (device_path_guid): ... here.
37291
37292 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37293 chain.mod.
37294 (kernel_mod_HEADERS): Added efi/disk.h.
37295 (_chain_mod_SOURCES): New variable.
37296 (_chain_mod_CFLAGS): Likewise.
37297 (_chain_mod_LDFLAGS): Likewise.
37298 (chain_mod_SOURCES): Likewise.
37299 (chain_mod_CFLAGS): Likewise.
37300 (chain_mod_LDFLAGS): Likewise.
37301
37302 * DISTLIST: Added include/grub/efi/chainloader.h,
37303 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37304
37305 * include/grub/efi/chainloader.h: New file.
37306 * loader/efi/chainloader.c: Likewise.
37307 * loader/efi/chainloader_normal.c: Likewise.
37308
37309 2006-04-30 Marco Gerards <marco@gnu.org>
37310
37311 * commands/configfile.c (grub_cmd_source): New function.
37312 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37313 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37314
37315 2006-04-30 Marco Gerards <marco@gnu.org>
37316
37317 * normal/execute.c (grub_script_execute_cmd): Change the return
37318 type to `grub_err_t'. Correctly return the error.
37319 (grub_script_execute_cmdline): In case a command line is not a
37320 command or a function, try to interpret it as an assignment.
37321
37322 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37323
37324 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37325 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37326 skip a node whose name is obviously invalid as UTF-16,
37327 i.e. contains a NUL character. Stop the iteration when the last
37328 directory entry is found. Instead of using the return value of
37329 grub_hfsplus_btree_iterate_node, store the value in RET and use
37330 it, because the iterator can be stopped by the last directory
37331 entry.
37332
37333 2006-04-30 Marco Gerards <marco@gnu.org>
37334
37335 * include/grub/env.h (grub_env_export): New prototype. Reported
37336 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37337
37338 2006-04-30 Marco Gerards <marco@gnu.org>
37339
37340 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37341 size of the extents in a catalog file record.
37342
37343 2006-04-29 Marco Gerards <marco@gnu.org>
37344
37345 * commands/configfile.c (grub_cmd_configfile): Execute the
37346 configfile within its own context.
37347
37348 * include/grub/env.h (grub_env_context_open): New prototype.
37349 (grub_env_context_close): Likewise.
37350
37351 * kern/env.c (grub_env): Removed.
37352 (grub_env_sorted): Likewise.
37353 (grub_env_context): New variable.
37354 (grub_env_var_context): Likewise.
37355 (grub_env_find): Search both the active context and the global
37356 context.
37357 (grub_env_context_open): New function.
37358 (grub_env_context_close): Likewise.
37359 (grub_env_insert): Likewise.
37360 (grub_env_remove): Likewise.
37361 (grub_env_export): Likewise.
37362 (grub_env_set): Changed to use helper functions to avoid code
37363 duplication.
37364 (grub_env_iterate): Rewritten so both the current context and the
37365 global context are being used.
37366
37367 * normal/command.c (export_command): New function.
37368 (grub_command_init): Register the `export' function.
37369
37370 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37371
37372 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37373 explicitly to suppress gcc's warnings.
37374 * fs/fat.c (grub_fat_find_dir): Likewise.
37375 (grub_fat_label): Likewise.
37376 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37377 (grub_xfs_mount): Likewise.
37378 (grub_xfs_label): Likewise.
37379 * fs/affs.c (grub_affs_mount): Likewise.
37380 (grub_affs_label): Likewise.
37381 (grub_affs_iterate_dir): Likewise.
37382 * fs/sfs.c (grub_sfs_mount): Likewise.
37383 (grub_sfs_iterate_dir): Likewise.
37384 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37385 * fs/hfs.c (grub_hfs_mount): Likewise.
37386 (grub_hfs_cmp_catkeys): Likewise.
37387 (grub_hfs_find_dir): Likewise.
37388 (grub_hfs_dir): Likewise.
37389 (grub_hfs_label): Likewise.
37390 * fs/jfs.c (grub_jfs_mount): Likewise.
37391 (grub_jfs_opendir): Likewise.
37392 (grub_jfs_getent): Likewise.
37393 (grub_jfs_lookup_symlink): Likewise.
37394 (grub_jfs_label): Likewise.
37395 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37396 (grub_hfsplus_iterate_dir): Likewise.
37397 (grub_hfsplus_btree_iterate_node): Made static.
37398
37399 * util/grub-emu.c (prefix): New variable.
37400 (grub_machine_set_prefix): New function.
37401 (main): Do not set the environment variable "prefix" here. Only
37402 set PREFIX, which is used later by grub_machine_set_prefix.
37403
37404 * include/grub/video.h: Do not include grub/symbol.h.
37405 (grub_video_register): Not exported. This symbol is not defined in
37406 the kernel.
37407 (grub_video_unregister): Likewise.
37408 (grub_video_iterate): Likewise.
37409 (grub_video_setup): Likewise.
37410 (grub_video_restore): Likewise.
37411 (grub_video_get_info): Likewise.
37412 (grub_video_get_blit_format): Likewise.
37413 (grub_video_set_palette): Likewise.
37414 (grub_video_get_palette): Likewise.
37415 (grub_video_set_viewport): Likewise.
37416 (grub_video_get_viewport): Likewise.
37417 (grub_video_map_color): Likewise.
37418 (grub_video_map_rgb): Likewise.
37419 (grub_video_map_rgba): Likewise.
37420 (grub_video_fill_rect): Likewise.
37421 (grub_video_blit_glyph): Likewise.
37422 (grub_video_blit_bitmap): Likewise.
37423 (grub_video_blit_render_target): Likewise.
37424 (grub_video_scroll): Likewise.
37425 (grub_video_swap_buffers): Likewise.
37426 (grub_video_create_render_target): Likewise.
37427 (grub_video_delete_render_target): Likewise.
37428 (grub_video_set_active_render_target): Likewise.
37429
37430 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37431 Undefined.
37432 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37433
37434 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37435 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37436 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37437 instead of $(srcdir)/genkernsyms.sh.
37438
37439 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37440 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37441 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37442 instead of $(srcdir)/genkernsyms.sh.
37443
37444 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37445 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37446 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37447 instead of $(srcdir)/genkernsyms.sh.
37448
37449 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37450 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37451 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37452 instead of $(srcdir)/genkernsyms.sh.
37453
37454 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37455 genkernsyms.sh.
37456
37457 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37458 genkernsyms.sh.
37459 (gensymlist.sh): New target.
37460 (genkernsyms.sh): Likewise.
37461
37462 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37463 genkernsyms.sh.in and gensymlist.sh.in.
37464
37465 * genkernsyms.sh: Removed.
37466 * gensymlist.sh: Likewise.
37467
37468 * genkernsyms.sh.in: New file.
37469 * gensymlist.sh.in: Likewise.
37470
37471 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37472
37473 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37474 clobber "prefix", since we may have already set it manually.
37475
37476 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37477
37478 * kern/misc.c (abort): New alias for grub_abort.
37479
37480 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37481
37482 A new machine-specific function "grub_machine_set_prefix" is
37483 defined. This is called after loading modules, so that a prefix
37484 initialization can use modules. Also, this change adds an
37485 intensive debugging feature for the memory manager via the
37486 configure option "--enable-mm-debug".
37487
37488 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37489 PART.LEN.
37490
37491 * kern/sparc64/ieee1275/init.c (abort): Removed.
37492 (grub_stop): Likewise.
37493 (grub_exit): New function.
37494 (grub_set_prefix): Renamed to ...
37495 (grub_machine_set_prefix): ... this.
37496 (grub_machine_init): Do not call grub_set_prefix.
37497
37498 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37499 (grub_machine_set_prefix): ... this.
37500 (grub_machine_init): Do not call grub_set_prefix.
37501
37502 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37503 (grub_machine_init): Do not set the prefix here.
37504
37505 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37506
37507 * kern/efi/init.c: Include grub/mm.h.
37508 (grub_efi_set_prefix): New function.
37509
37510 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37511 (grub_efi_get_filename): New function.
37512 (grub_print_device_path): Renamed to ...
37513 (grub_efi_print_device_path): ... this.
37514
37515 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37516 [MM_DEBUG] (grub_realloc): Likewise.
37517 [MM_DEBUG] (grub_free): Likewise.
37518 [MM_DEBUG] (grub_memalign): Likewise.
37519 [MM_DEBUG] (grub_mm_debug): New variable.
37520 [MM_DEBUG] (grub_debug_malloc): New function.
37521 [MM_DEBUG] (grub_debug_free): New function.
37522 [MM_DEBUG] (grub_debug_realloc): New function.
37523 [MM_DEBUG] (grub_debug_memalign): New function.
37524
37525 * kern/misc.c (grub_abort): Print a newline to distinguish
37526 the message.
37527
37528 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37529 grub_set_root_dev after loading modules. This is necessary when
37530 setting a prefix depends on modules.
37531
37532 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37533 (grub_efi_print_device_path): ... this.
37534 (grub_efi_get_filename): New prototype.
37535 (grub_efi_set_prefix): Likewise.
37536
37537 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37538 and grub/disk.h.
37539 (grub_efidisk_get_device_handle): New prototype.
37540 (grub_efidisk_get_device_name): Likewise.
37541
37542 * include/grub/mm.h: Include config.h.
37543 (MM_DEBUG): Removed.
37544 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37545 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37546 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37547 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37548 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37549 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37550 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37551 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37552 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37553
37554 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37555
37556 * disk/efi/efidisk.c: Include grub/partition.h.
37557 (iterate_child_devices): New function.
37558 (add_device): First, compare only last device path nodes, so that
37559 devices are sorted by the types.
37560 (grub_efidisk_get_device_handle): New function.
37561 (grub_efidisk_get_device_name): Likewise.
37562
37563 * configure.ac (--enable-mm-debug): New option to enable the
37564 memory manager debugging feature. This makes the binary much
37565 bigger, so is disabled by default.
37566
37567 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37568
37569 Use grub_abort instead of grub_stop, and grub_exit must be
37570 define in each architecture now. Also, this change adds support
37571 for EFI disks.
37572
37573 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37574 (grub_getkey): New function.
37575 (grub_term_get_current): Likewise.
37576
37577 * util/i386/pc/grub-setup.c: Include grub/term.h.
37578 (grub_getkey): New function.
37579 (grub_term_get_current): Likewise.
37580
37581 * util/misc.c (grub_stop): Renamed to ...
37582 (grub_exit): ... this.
37583
37584 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37585 (grub_exit): ... this.
37586 (grub_machine_init): Use grub_abort instead of abort.
37587 (grub_stop): Removed.
37588
37589 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37590 abort.
37591
37592 * kern/i386/pc/startup.S (grub_exit): New function.
37593 (cold_reboot): New label.
37594
37595 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37596 (grub_efi_init): Call grub_efidisk_init.
37597 (grub_efi_fini): Call grub_efidisk_fini.
37598
37599 * kern/efi/efi.c: Include grub/mm.h.
37600 (grub_efi_console_control_guid): Renamed to ...
37601 (console_control_guid): ... this.
37602 (grub_efi_loaded_image_guid): Renamed to ...
37603 (loaded_image_guid): ... this.
37604 (grub_efi_locate_handle): New function.
37605 (grub_efi_open_protocol): Likewise.
37606 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37607 GRUB_EFI_CONSOLE_CONTROL_GUID.
37608 (grub_efi_exit): Removed.
37609 (grub_stop): Likewise.
37610 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37611 (grub_exit): New function.
37612 (grub_print_device_path): Likewise.
37613
37614 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37615 (grub_enter_rescue_mode): Register "exit".
37616
37617 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37618 (grub_abort): New function.
37619
37620 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37621
37622 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37623
37624 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37625
37626 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37627 (grub_print_device_path): New prototype.
37628 (grub_efi_locate_handle): Likewise.
37629 (grub_efi_open_protocol): Likewise.
37630
37631 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37632 * disk/efi/efidisk.c: Likewise.
37633
37634 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37635
37636 * include/grub/efi/console_control.h
37637 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37638
37639 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37640 last 8 bytes as an array.
37641 (GRUB_EFI_DISK_IO_GUID): New macro.
37642 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37643 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37644 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37645 grub_uint8_t.
37646 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37647 (struct grub_efi_device_path): Rename the member "sub_type" to
37648 "subtype".
37649 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37650 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37651 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37652 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37653 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37654 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37655 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37656 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37657 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37658 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37659 (struct grub_efi_pci_device_path): New structure.
37660 (grub_efi_pci_device_path_t): New type.
37661 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37662 (struct grub_efi_pccard_device_path): New structure.
37663 (grub_efi_pccard_device_path_t): New type.
37664 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37665 (struct grub_efi_memory_mapped_device_path): New structure.
37666 (grub_efi_memory_mapped_device_path_t): New type.
37667 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37668 (struct grub_efi_vendor_device_path): New structure.
37669 (grub_efi_vendor_device_path_t): New type.
37670 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37671 (struct grub_efi_controller_device_path): New structure.
37672 (grub_efi_controller_device_path_t): New type.
37673 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37674 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37675 (struct grub_efi_acpi_device_path): New structure.
37676 (grub_efi_acpi_device_path_t): New type.
37677 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37678 (struct grub_efi_expanded_acpi_device_path): New structure.
37679 (grub_efi_expanded_acpi_device_path_t): New type.
37680 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37681 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37682 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37683 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37684 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37685 (struct grub_efi_atapi_device_path): New structure.
37686 (grub_efi_atapi_device_path_t): New type.
37687 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37688 (struct grub_efi_fibre_channel_device_path): New structure.
37689 (grub_efi_fibre_channel_device_path_t): New type.
37690 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37691 (struct grub_efi_1394_device_path): New structure.
37692 (grub_efi_1394_device_path_t): New type.
37693 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37694 (struct grub_efi_usb_device_path): New structure.
37695 (grub_efi_usb_device_path_t): New type.
37696 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37697 (struct grub_efi_usb_class_device_path): New structure.
37698 (grub_efi_usb_class_device_path_t): New type.
37699 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37700 (struct grub_efi_i2o_device_path): New structure.
37701 (grub_efi_i2o_device_path_t): New type.
37702 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37703 (struct grub_efi_mac_address_device_path): New structure.
37704 (grub_efi_mac_address_device_path_t): New type.
37705 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37706 (struct grub_efi_ipv4_device_path): New structure.
37707 (grub_efi_ipv4_device_path_t): New type.
37708 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37709 (struct grub_efi_ipv6_device_path): New structure.
37710 (grub_efi_ipv6_device_path_t): New type.
37711 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37712 (struct grub_efi_infiniband_device_path): New structure.
37713 (grub_efi_infiniband_device_path_t): New type.
37714 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37715 (struct grub_efi_uart_device_path): New structure.
37716 (grub_efi_uart_device_path_t): New type.
37717 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37718 (struct grub_efi_vendor_messaging_device_path): New structure.
37719 (grub_efi_vendor_messaging_device_path_t): New type.
37720 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37721 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37722 (struct grub_efi_hard_drive_device_path): New structure.
37723 (grub_efi_hard_drive_device_path_t): New type.
37724 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37725 (struct grub_efi_cdrom_device_path): New structure.
37726 (grub_efi_cdrom_device_path_t): New type.
37727 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37728 (struct grub_efi_vendor_media_device_path): New structure.
37729 (grub_efi_vendor_media_device_path_t): New type.
37730 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37731 (struct grub_efi_file_path_device_path): New structure.
37732 (grub_efi_file_path_device_path_t): New type.
37733 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37734 (struct grub_efi_protocol_device_path): New structure.
37735 (grub_efi_protocol_device_path_t): New type.
37736 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37737 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37738 (struct grub_efi_bios_device_path): New structure.
37739 (grub_efi_bios_device_path_t): New type.
37740 (struct grub_efi_disk_io): New structure.
37741 (grub_efi_disk_io_t): New type.
37742 (struct grub_efi_block_io_media): New structure.
37743 (grub_efi_block_io_media_t): New type.
37744 (struct grub_efi_block_io): New structure.
37745 (grub_efi_block_io_t): New type.
37746
37747 * include/grub/misc.h (grub_stop): Removed.
37748 (grub_exit): New prototype.
37749 (grub_abort): Likewise.
37750
37751 * include/grub/disk.h (enum grub_disk_dev_id): Added
37752 GRUB_DISK_DEVICE_EFIDISK_ID.
37753
37754 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37755 disk/efi/efidisk.c.
37756 (kernel_syms.lst): Remove the target if an error occurs.
37757
37758 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37759
37760 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37761 as it was simply too buggy.
37762
37763 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37764
37765 * kern/misc.c (grub_lltoa): New function.
37766 (grub_vsprintf): Added support for the long long suffix,
37767 i.e. "ll".
37768
37769 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37770
37771 * Makefile.in (LDFLAGS): Add variable.
37772 (LD): Remove variable.
37773 * configure.ac: Add -m32 to LDFLAGS.
37774 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37775 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37776 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37777 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37778 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37779 variables.
37780 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37781 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37782 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37783
37784 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37785
37786 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37787 length for unknown glyph.
37788
37789 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37790
37791 Add support for pre-loaded modules into the EFI port.
37792
37793 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37794 completely. Accept one more argument DIR. The caller has changed.
37795
37796 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37797
37798 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37799 (grub_efi_loaded_image_guid): New variable.
37800 (grub_efi_get_loaded_image): New function.
37801 (grub_arch_modules_addr): Likewise.
37802
37803 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37804 prototype.
37805
37806 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37807 (struct grub_efi_loaded_image): New structure.
37808 (grub_efi_loaded_image_t): New type.
37809
37810 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37811
37812 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37813 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37814 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37815
37816 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37817
37818 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37819
37820 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37821
37822 * DISTLIST: Added include/grub/efi/console.h,
37823 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37824 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37825
37826 * include/grub/efi/console.h: New file.
37827 * include/grub/efi/time.h: Likewise.
37828 * include/grub/i386/efi/kernel.h: Likewise.
37829 * kern/efi/init.c: Likewise.
37830 * kern/efi/mm.c: Likewise.
37831 * term/efi/console.c: Likewise.
37832
37833 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37834 (grub_stop): Removed.
37835 (grub_get_rtc): Likewise.
37836 (grub_machine_init): Simply call grub_efi_init.
37837 (grub_machine_fini): Call grub_efi_fini.
37838
37839 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37840 (grub_efi_output_string): Removed.
37841 (grub_efi_stall): New function.
37842 (grub_stop): Likewise.
37843 (grub_get_rtc): Likewise.
37844
37845 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37846 (grub_efi_stall): New prototype.
37847 (grub_efi_allocate_pages): Likewise.
37848 (grub_efi_free_pages): Likewise.
37849 (grub_efi_get_memory_map): Likewise.
37850 (grub_efi_mm_init): Likewise.
37851 (grub_efi_mm_fini): Likewise.
37852 (grub_efi_init): Likewise.
37853 (grub_efi_fini): Likewise.
37854
37855 * include/grub/i386/efi/time.h: Do not include
37856 grub/symbol.h. Include grub/efi/time.h.
37857 (GRUB_TICKS_PER_SECOND): Removed.
37858 (grub_get_rtc): Likewise.
37859
37860 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37861 Added padding. The EFI spec is buggy.
37862 (GRUB_EFI_BLACK): New macro.
37863 (GRUB_EFI_BLUE): Likewise.
37864 (GRUB_EFI_GREEN): Likewise.
37865 (GRUB_EFI_CYAN): Likewise.
37866 (GRUB_EFI_RED): Likewise.
37867 (GRUB_EFI_MAGENTA): Likewise.
37868 (GRUB_EFI_BROWN): Likewise.
37869 (GRUB_EFI_LIGHTGRAY): Likewise.
37870 (GRUB_EFI_BRIGHT): Likewise.
37871 (GRUB_EFI_DARKGRAY): Likewise.
37872 (GRUB_EFI_LIGHTBLUE): Likewise.
37873 (GRUB_EFI_LIGHTGREEN): Likewise.
37874 (GRUB_EFI_LIGHTCYAN): Likewise.
37875 (GRUB_EFI_LIGHTRED): Likewise.
37876 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37877 (GRUB_EFI_YELLOW): Likewise.
37878 (GRUB_EFI_WHITE): Likewise.
37879 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37880 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37881 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37882 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37883 (GRUB_EFI_BACKGROUND_RED): Likewise.
37884 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37885 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37886 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37887 (GRUB_EFI_TEXT_ATTR): Likewise.
37888
37889 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37890 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37891 (kernel_mod_HEADERS): Added efi/time.h.
37892
37893 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37894
37895 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37896 include/grub/efi/api.h, include/grub/efi/console_control.h,
37897 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37898 include/grub/i386/efi/time.h, kern/efi/efi.c,
37899 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37900 and util/i386/efi/grub-mkimage.c.
37901
37902 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37903
37904 * genmk.rb (PModule#rule): Do not export symbols if
37905 #{prefix}_EXPORTS is set to "no".
37906
37907 * conf/i386-efi.mk: New file.
37908 * conf/i386-efi.rmk: Likewise.
37909 * include/grub/efi/api.h: Likewise.
37910 * include/grub/efi/console_control.h: Likewise.
37911 * include/grub/efi/efi.h: Likewise.
37912 * include/grub/efi/pe32.h: Likewise.
37913 * include/grub/i386/efi/time.h: Likewise.
37914 * kern/efi/efi.c: Likewise.
37915 * kern/i386/efi/init.c: Likewise.
37916 * kern/i386/efi/startup.S: Likewise.
37917 * util/i386/efi/grub-mkimage.c: Likewise.
37918
37919 2006-04-17 Marco Gerards <marco@gnu.org>
37920
37921 * include/grub/script.h: Include <grub/parser.h> and
37922 "grub_script.tab.h".
37923 (struct grub_lexer_param): New struct.
37924 (struct grub_parser_param): Likewise.
37925 (grub_script_create_arglist): Pass the state in an argument.
37926 (grub_script_add_arglist): Likewise.
37927 (grub_script_create_cmdline): Likewise.
37928 (grub_script_create_cmdblock): Likewise.
37929 (grub_script_create_cmdif): Likewise.
37930 (grub_script_create_cmdmenu): Likewise.
37931 (grub_script_add_cmd): Likewise.
37932 (grub_script_arg_add): Likewise.
37933 (grub_script_lexer_ref): Likewise.
37934 (grub_script_lexer_deref): Likewise.
37935 (grub_script_lexer_record_start): Likewise.
37936 (grub_script_lexer_record_stop): Likewise.
37937 (grub_script_mem_record): Likewise.
37938 (grub_script_mem_record_stop): Likewise.
37939 (grub_script_malloc): Likewise.
37940 (grub_script_yylex): Likewise.
37941 (grub_script_yyparse): Likewise.
37942 (grub_script_yyerror): Likewise.
37943 (grub_script_yylex): Likewise.
37944 (grub_script_lexer_init): Return the state.
37945
37946 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37947 (grub_script_lexer_done): Likewise.
37948 (grub_script_lexer_getline): Likewise.
37949 (grub_script_lexer_refs): Likewise.
37950 (script): Likewise.
37951 (newscript): Likewise.
37952 (record): Likewise.
37953 (recording): Likewise.
37954 (recordpos): Likewise.
37955 (recordlen): Likewise.
37956 (grub_script_lexer_init): Return the state instead of setting
37957 global variables.
37958 (grub_script_lexer_ref): Use the newly added argument for state
37959 instead of globals.
37960 (grub_script_lexer_deref): Likewise.
37961 (grub_script_lexer_record_start): Likewise.
37962 (grub_script_lexer_record_stop): Likewise.
37963 (recordchar): Likewise.
37964 (nextchar): Likewise.
37965 (grub_script_yylex2): Likewise.
37966 (grub_script_yylex): Likewise.
37967 (grub_script_yyerror): Likewise.
37968
37969 * normal/parser.y (func_mem): Removed variable.
37970 (menu_entry): Likewise.
37971 (err): Likewise.
37972 (%lex-param): New parser option.
37973 (%parse-param): Likewise.
37974 (script): Always return the AST.
37975 (argument): Pass the state around.
37976 (arguments): Likewise.
37977 (grubcmd): Likewise.
37978 (commands): Likewise.
37979 (function): Likewise.
37980 (menuentry): Likewise.
37981 (if_statement): Likewise.
37982 (if): Likewise.
37983
37984 * normal/script.c (grub_script_memused): Removed variable.
37985 (grub_script_parsed): Likewise.
37986 (grub_script_malloc): Added a state argument. Use that instead of
37987 global variables.
37988 (grub_script_mem_record): Likewise.
37989 (grub_script_mem_record_stop): Likewise.
37990 (grub_script_arg_add): Likewise.
37991 (grub_script_add_arglist): Likewise.
37992 (grub_script_create_cmdline): Likewise.
37993 (grub_script_create_cmdif): Likewise.
37994 (grub_script_create_cmdmenu): Likewise.
37995 (grub_script_add_cmd): Likewise.
37996 (grub_script_parse): Setup the state before calling the parser.
37997
37998 2006-04-16 Marco Gerards <marco@gnu.org>
37999
38000 * normal/command.c (grub_command_init): Remove the title command.
38001
38002 * normal/lexer.c (grub_script_yylex): Renamed from this...
38003 (grub_script_yylex2): ... to this.
38004 (grub_script_yylex): New function. Temporary
38005 introduced to filter some tokens.
38006 (grub_script_yyerror): Print a newline.
38007
38008 * normal/main.c (read_config_file): Output information about the
38009 lines that contain errors. Wait for a key after all lines have
38010 been processed. Don't return an empty menu.
38011
38012 * normal/parser.y (func_mem): Don't initialize.
38013 (menu_entry): Likewise.
38014 (err): New variable.
38015 (script): Don't return anything when an error was encountered.
38016 (ws, returns): Removed rules.
38017 (argument): Disabled concatenated variable support.
38018 (arguments): Remove explicit separators.
38019 (grubcmd): Likewise.
38020 (function): Likewise.
38021 (menuentry): Likewise.
38022 (if): Likewise.
38023 (commands): Likewise. Add error handling.
38024
38025 * normal/script.c (grub_script_create_cmdline): If
38026 `grub_script_parsed' is 0, assume the parser encountered an error.
38027
38028 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
38029
38030 * configure.ac: Add support for EFI. Fix the typo
38031 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
38032
38033 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38034
38035 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
38036 foreign multibyte characters should be shown correctly.
38037
38038 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
38039
38040 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
38041 calculation.
38042 (read_config_file): Made it to close file before returning.
38043
38044 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
38045
38046 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
38047 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
38048 video/i386/pc/vbefill.c.
38049
38050 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
38051 video/i386/pc/vbefill.c.
38052
38053 * include/grub/video.h (grub_video_blit_format): New enum.
38054 (grub_video_mode_info): Added new member blit_format.
38055 (grub_video_get_blit_format): New function prototype.
38056
38057 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
38058 function prototype.
38059 (grub_video_vbe_map_rgb): Likewise.
38060 (grub_video_vbe_unmap_color): Likewise.
38061
38062 * include/grub/i386/pc/vbeblit.h: New file.
38063
38064 * include/grub/i386/pc/vbefill.h: New file.
38065
38066 * video/video.c (grub_video_get_blit_format): New function.
38067 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
38068 (grub_video_vbe_map_rgb): Likewise.
38069 (grub_video_vbe_unmap_color): Likewise.
38070
38071 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38072 optimized fills.
38073 (grub_video_vbe_blit_render_target): Changed to use more optimized
38074 blits.
38075 (grub_video_vbe_setup): Added detection for optimized settings.
38076 (grub_video_vbe_create_render_target): Likewise.
38077
38078 * video/i386/pc/vbeblit.c: New file.
38079
38080 * video/i386/pc/vbefill.c: New file.
38081
38082 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38083
38084 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38085 here...
38086
38087 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38088 parsing to support both hex and dec ranges. If filename was missing
38089 show usage information.
38090
38091 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38092
38093 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38094 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38095
38096 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38097 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38098 (video_mod_SOURCES): Added.
38099 (video_mod_CFLAGS): Likewise.
38100 (video_mod_LDFLAGS): Likewise.
38101 (gfxterm_mod_SOURCES): Likewise.
38102 (gfxterm_mod_CFLAGS): Likewise.
38103 (gfxterm_mod_LDFLAGS): Likewise.
38104 (videotest_mod_SOURCES): Likewise.
38105 (videotest_mod_CFLAGS): Likewise.
38106 (videotest_mod_LDFLAGS): Likewise.
38107 (vesafb_mod_SOURCES): Removed.
38108 (vesafb_mod_CFLAGS): Likewise.
38109 (vesafb_mod_LDFLAGS): Likewise.
38110 (vga_mod_SOURCES): Likewise.
38111 (vga_mod_CFLAGS): Likewise.
38112 (vga_mod_LDFLAGS): Likewise.
38113
38114 * commands/videotest.c: New file.
38115
38116 * font/manager.c (fill_with_default_glyph): Modified to use
38117 grub_font_glyph.
38118 (grub_font_get_glyph): Likewise.
38119 (fontmanager): Renamed from this...
38120 (font_manager): ... to this.
38121
38122 * include/grub/font.h (grub_font_glyph): Added new structure.
38123 (grub_font_get_glyph): Modified to use grub_font_glyph.
38124
38125 * include/grub/misc.h (grub_abs): Added as inline function.
38126
38127 * include/grub/video.h: New file.
38128
38129 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38130 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38131 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38132 (grub_vbe_get_controller_info): Renamed from this...
38133 (grub_vbe_bios_get_controller_info): ... to this.
38134 (grub_vbe_get_mode_info): Renamed from this...
38135 (grub_vbe_bios_get_mode_info): ... to this.
38136 (grub_vbe_set_mode): Renamed from this...
38137 (grub_vbe_bios_set_mode): ... to this.
38138 (grub_vbe_get_mode): Renamed from this...
38139 (grub_vbe_bios_get_mode): ... to this.
38140 (grub_vbe_set_memory_window): Renamed from this...
38141 (grub_vbe_bios_set_memory_window): ... to this.
38142 (grub_vbe_get_memory_window): Renamed from this...
38143 (grub_vbe_bios_get_memory_window): ... to this.
38144 (grub_vbe_set_scanline_length): Renamed from this...
38145 (grub_vbe_set_scanline_length): ... to this.
38146 (grub_vbe_get_scanline_length): Renamed from this...
38147 (grub_vbe_bios_get_scanline_length): ... to this.
38148 (grub_vbe_set_display_start): Renamed from this...
38149 (grub_vbe_bios_set_display_start): ... to this.
38150 (grub_vbe_get_display_start): Renamed from this...
38151 (grub_vbe_bios_get_display_start): ... to this.
38152 (grub_vbe_set_palette_data): Renamed from this...
38153 (grub_vbe_bios_set_palette_data): ... to this.
38154 (grub_vbe_set_pixel_rgb): Removed.
38155 (grub_vbe_set_pixel_index): Likewise.
38156
38157 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38158 from this...
38159 (grub_vbe_bios_get_controller_info): ... to this.
38160 (grub_vbe_get_mode_info): Renamed from this...
38161 (grub_vbe_bios_get_mode_info): ... to this.
38162 (grub_vbe_set_mode): Renamed from this...
38163 (grub_vbe_bios_set_mode): ... to this.
38164 (grub_vbe_get_mode): Renamed from this...
38165 (grub_vbe_bios_get_mode): ... to this.
38166 (grub_vbe_set_memory_window): Renamed from this...
38167 (grub_vbe_bios_set_memory_window): ... to this.
38168 (grub_vbe_get_memory_window): Renamed from this...
38169 (grub_vbe_bios_get_memory_window): ... to this.
38170 (grub_vbe_set_scanline_length): Renamed from this...
38171 (grub_vbe_set_scanline_length): ... to this.
38172 (grub_vbe_get_scanline_length): Renamed from this...
38173 (grub_vbe_bios_get_scanline_length): ... to this.
38174 (grub_vbe_set_display_start): Renamed from this...
38175 (grub_vbe_bios_set_display_start): ... to this.
38176 (grub_vbe_get_display_start): Renamed from this...
38177 (grub_vbe_bios_get_display_start): ... to this.
38178 (grub_vbe_set_palette_data): Renamed from this...
38179 (grub_vbe_bios_set_palette_data): ... to this.
38180 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38181 getting corrupted after calling it. Added more pushes and pops.
38182 (grub_vbe_bios_set_mode): Likewise.
38183 (grub_vbe_bios_get_mode): Likewise.
38184 (grub_vbe_bios_get_memory_window): Likewise.
38185 (grub_vbe_bios_set_scanline_length): Likewise.
38186 (grub_vbe_bios_get_scanline_length): Likewise.
38187 (grub_vbe_bios_get_display_start): Likewise.
38188 (grub_vbe_bios_set_palette_data): Likewise.
38189
38190 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38191 (cl_insert): Likewise.
38192 (cl_delete): Likewise.
38193
38194 * term/gfxterm.c: New file.
38195
38196 * term/i386/pc/vesafb.c: Removed file.
38197
38198 * video/video.c: New file.
38199
38200 * video/i386/pc/vbe.c (real2pm): Added new function.
38201 (grub_video_vbe_draw_pixel): Likewise.
38202 (grub_video_vbe_get_video_ptr): Likewise.
38203 (grub_video_vbe_get_pixel): Likewise
38204 (grub_video_vbe_init): Likewise.
38205 (grub_video_vbe_fini): Likewise.
38206 (grub_video_vbe_setup): Likewise.
38207 (grub_video_vbe_get_info): Likewise.
38208 (grub_video_vbe_set_palette): Likewise.
38209 (grub_video_vbe_get_palette): Likewise.
38210 (grub_video_vbe_set_viewport): Likewise.
38211 (grub_video_vbe_get_viewport): Likewise.
38212 (grub_video_vbe_map_color): Likewise.
38213 (grub_video_vbe_map_rgb): Likewise.
38214 (grub_video_vbe_map_rgba): Likewise.
38215 (grub_video_vbe_unmap_color): Likewise.
38216 (grub_video_vbe_fill_rect): Likewise.
38217 (grub_video_vbe_blit_glyph): Likewise.
38218 (grub_video_vbe_blit_bitmap): Likewise.
38219 (grub_video_vbe_blit_render_target): Likewise.
38220 (grub_video_vbe_scroll): Likewise.
38221 (grub_video_vbe_swap_buffers): Likewise.
38222 (grub_video_vbe_create_render_target): Likewise.
38223 (grub_video_vbe_delete_render_target): Likewise.
38224 (grub_video_vbe_set_active_render_target): Likewise.
38225 (grub_vbe_set_pixel_rgb): Remove function.
38226 (grub_vbe_set_pixel_index): Likewise.
38227 (index_color_mode): Remove static variable.
38228 (active_mode): Likewise.
38229 (framebuffer): Likewise.
38230 (bytes_per_scan_line): Likewise.
38231 (grub_video_vbe_adapter): Added new static variable.
38232 (framebuffer): Likewise.
38233 (render_target): Likewise.
38234 (initial_mode): Likewise.
38235 (mode_in_use): Likewise.
38236 (mode_list): Likewise.
38237
38238 2006-03-10 Marco Gerards <marco@gnu.org>
38239
38240 * configure.ac (AC_INIT): Bumped to 1.93.
38241
38242 * DISTLIST: Added `include/grub/hfs.h'.
38243
38244 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38245
38246 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38247 18H, which might help the BIOS falling back to next boot media.
38248
38249 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38250
38251 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38252 Poe Chen <poe.poechen@gmail.com>.
38253
38254 2006-01-17 Marco Gerards <marco@gnu.org>
38255
38256 * include/grub/normal.h: Include <grub/script.h>.
38257 (grub_command_list): Removed struct.
38258 (grub_command_list_t): Removed type.
38259 (grub_menu_entry): Remove members `num' and `command_list'. Add
38260 members `commands' and `sourcecode'.
38261 * include/grub/script.h: Add inclusion guards.
38262 (grub_script_cmd_menuentry): New struct.
38263 (grub_script_execute_menuentry): New prototype.
38264 (grub_script_lexer_record_start): Likewise.
38265 (grub_script_lexer_record_stop): Likewise.
38266 * normal/execute.c (grub_script_execute_menuentry): New function.
38267 * normal/lexer.c (record, recording, recordpos, recordlen): New
38268 variables.
38269 (grub_script_lexer_record_start): New function.
38270 (grub_script_lexer_record_stop): Likewise.
38271 (recordchar): Likewise.
38272 (nextchar): Likewise.
38273 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38274 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38275 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38276 (current_menu): New variable.
38277 (free_menu): Mainly rewritten.
38278 (grub_normal_menu_addentry): New function.
38279 (read_config_file): Rewritten.
38280 * normal/menu.c (run_menu_entry): Mainly rewritten.
38281 * normal/menu_entry.c (make_screen): Rewritten the code to insert
38282 the menu entry.
38283 (run): Mainly rewritten.
38284 * normal/parser.y (menu_entry): New variable.
38285 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38286 (menuentry): New rule.
38287 (command): Add `menuentry'.
38288 (if_statement): Allow additional returns before `fi'.
38289 * normal/script.c (grub_script_create_cmdmenu): New function.
38290
38291 2006-01-03 Marco Gerards <marco@gnu.org>
38292
38293 * INSTALL: GNU Bison is required.
38294 * configure.ac: Rewritten the test to detect Bison.
38295 * Makefile.in (YACC): New variable. Reported by Xun Sun
38296 <xun.sun.cn@gmail.com>.
38297
38298 2006-01-03 Marco Gerards <marco@gnu.org>
38299
38300 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38301 the HFS+ filesystem to filesystem blocks.
38302 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38303 GCC warning is silenced.
38304
38305 2006-01-03 Marco Gerards <marco@gnu.org>
38306
38307 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38308 read from disk from big endian to host byte order.
38309
38310 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38311
38312 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38313 documentation.
38314 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38315 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38316 embedded HFS+ filesystem.
38317 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38318 (grub_hfs_sblock): Move from here...
38319 * include/grub/hfs.h: To here... New file.
38320 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38321 documentation.
38322 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38323 New macros.
38324 (grub_hfsplus_volheader): Change type of member `magic' to
38325 `grub_uint16_t'.
38326 (grub_hfsplus_data): Add new member `embedded_offset'.
38327 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38328 returned block.
38329 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38330 Calculate the offset.
38331
38332 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38333
38334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38335 Removed.
38336 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38337
38338 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38339
38340 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38341 ENV->NAME is NULL after allocating ENV->VALUE.
38342
38343 2005-12-25 Marco Gerards <marco@gnu.org>
38344
38345 * kern/env.c (grub_env_set): Rewritten the error handling code.
38346
38347 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38348
38349 * geninit.sh: Made more robust, and more portable.
38350
38351 2005-12-25 Marco Gerards <marco@gnu.org>
38352
38353 Add support for Apple HFS+ filesystems.
38354
38355 * fs/hfsplus.c: New file.
38356
38357 * DISTLIST: Added `fs/hfsplus.c'.
38358
38359 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38360 (hfsplus_mod_SOURCES): New variable.
38361 (hfsplus_mod_CFLAGS): Likewise.
38362 (hfsplus_mod_LDFLAGS): Likewise.
38363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38364 (grub_setup_SOURCES): Likewise.
38365 (grub_mkdevicemap_SOURCES): Likewise.
38366 (grub_emu_SOURCES): Likewise.
38367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38368
38369 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38370
38371 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38372
38373 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38374
38375 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38376 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38377 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38378 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38379 normal/lexer.c, normal/parser.y, normal/script.c, and
38380 partmap/gpt.c.
38381 Removed kern/sparc64/cache.c.
38382
38383 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38384 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38385 grub_emu_init.c.
38386
38387 * configure.ac (AC_INIT): Bumped to 1.92.
38388
38389 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38390
38391 * kern/err.c (grub_error_push): Added new function to support error
38392 stacks.
38393 (grub_error_pop): Likewise.
38394 (grub_error_stack_items): New local variable to support error stacks.
38395 (grub_error_stack_pos): Likewise.
38396 (grub_error_stack_assert): Likewise.
38397 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38398 stack depth.
38399 (grub_print_error): Added support to print errors from error stack.
38400
38401 * include/grub/err.h (grub_error_push): Added function prototype.
38402 (grub_error_pop): Likewise.
38403
38404 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38405
38406 * configure.ac: Accept `powerpc64' as host_cpu.
38407 (amd64): Rename to `biarch32'.
38408
38409 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38410 non-cacheline-aligned addresses.
38411
38412 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38413 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38414 if `size' is non-zero.
38415
38416 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
38417
38418 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38419 and `cd' to make sure the filename is not prefixed with a
38420 directory name.
38421 (pkgdata_MODULES): Add `gpt.mod'.
38422 (gpt_mod_SOURCES): New variable.
38423 (gpt_mod_CFLAGS): Likewise.
38424 (gpt_mod_LDFLAGS): Likewise.
38425
38426 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38427
38428 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38429 New macro.
38430
38431 * partmap/gpt.c: New file.
38432
38433 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38434 GPT partition map is detected.
38435
38436 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38437
38438 * commands/i386/pc/play.c: New file.
38439 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38440 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38441 macros.
38442
38443 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
38444
38445 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38446 ((unused))' to silence gcc warning.
38447
38448 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38449
38450 * configure.ac: Correct `AC_PROG_YACC' test.
38451
38452 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38453
38454 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38455 check before installing files.
38456
38457 2005-11-22 Mike Small <smallm@panix.com>
38458
38459 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38460 number regex so multidigit numbers are recognized correctly.
38461
38462 2005-11-22 Mike Small <smallm@panix.com>
38463
38464 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38465 debugging message before attempting to claim memory.
38466 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38467 multiple addresses in case of failure.
38468
38469 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38470
38471 * term/tparm.c (get_space): Remove empty `if' statement.
38472
38473 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38474
38475 * kern/parser.c (check_varstate): Rename `state' to 's'.
38476
38477 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38478
38479 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38480 variable definitions to the beginning of each function. Sort stack
38481 variables by size.
38482 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38483 `buf' argument to `char *'.
38484
38485 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38486
38487 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38488 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38489 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38490 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38491 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38492 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38493 configfile.mod, search.mod, gzio.mod and test.mod.
38494 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38495 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38496 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38497 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38498 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38499 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38500 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38501 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38502 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38503 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38504 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38505 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38506 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38507 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38508 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38509 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38510 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38511 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38512 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38513 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38514 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38515 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38516 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38517
38518 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38519 `grep --include'.
38520 (pkgdata_MODULES): Add test.mod.
38521
38522 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38523
38524 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38525 appending to variables with "+=".
38526 (PModule): Use full pathname to generate *.lst filenames.
38527
38528 * Makefile.in: Fixed list rules moved from genmk.rb.
38529 (.DELETE_ON_ERROR): New special target.
38530 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38531
38532 * conf/i386-pc.rmk: Include conf/common.mk.
38533 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38534 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38535 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38536 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38537 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38538 configfile.mod, search.mod, gzio.mod and test.mod.
38539 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38540 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38541 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38542 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38543 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38544 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38545 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38546 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38547 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38548 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38549 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38550 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38551 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38552 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38553 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38554 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38555 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38556 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38557 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38558 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38559 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38560 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38561 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38562 here...
38563 * conf/common.rmk: ... to here. New file.
38564
38565 * conf/common.mk: New file.
38566
38567 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38568
38569 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38570 (grub_script.tab.c): ... here.
38571
38572 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38573 (grub_script.tab.c): ... here.
38574
38575 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38576 (grub_script.tab.c): ... here.
38577
38578 * normal/command.c (grub_command_find): Fixed a memory leak of
38579 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38580
38581 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38582
38583 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38584 "@" which marks the start of a comment on ARM.
38585 (VARIABLE): Likewise.
38586
38587 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38588
38589 Add support for Linux/ADFS partition tables.
38590
38591 * partmap/acorn.c: New file.
38592
38593 * include/grub/acorn_filecore.h: Likewise.
38594
38595 * DISTLIST: Added `partmap/acorn.c' and
38596 `include/grub/acorn_filecore.h'.
38597
38598 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38599 `partmap/acorn.c'.
38600 (pkgdata_MODULES): Add `acorn.mod'.
38601 (acorn_mod_SOURCES): New variable.
38602 (acorn_mod_CFLAGS): Likewise.
38603
38604 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38605 `partmap/acorn.c'.
38606 (pkgdata_MODULES): Add `acorn.mod'.
38607 (acorn_mod_SOURCES): New variable.
38608 (acorn_mod_CFLAGS): Likewise.
38609
38610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38611 (pkgdata_MODULES): Add `acorn.mod'.
38612 (acorn_mod_SOURCES): New variable.
38613 (acorn_mod_CFLAGS): Likewise.
38614 (acorn_mod_LDFLAGS): Likewise.
38615
38616 * include/types.h (grub_disk_addr_t): New typedef.
38617
38618 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
38619
38620 * geninit.sh: New file.
38621
38622 * geninitheader.sh: Likewise.
38623
38624 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38625 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38626 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38627 * commands/configfile.c (grub_configfile_init)
38628 (grub_configfile_fini): Likewise.
38629 * commands/default.c (grub_default_init, grub_default_fini):
38630 Likewise.
38631 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38632 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38633 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38634 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38635 Likewise.
38636 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38637 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38638 Likewise.
38639 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
38640 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
38641 Likewise.
38642 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38643 Likewise.
38644 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
38645 Likewise.
38646 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38647 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38648 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38649 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38650 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38651 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38652 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38653 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38654 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38655 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38656 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38657 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38658 * partmap/amiga.c (grub_amiga_partition_map_init)
38659 (grub_amiga_partition_map_fini): Likewise.
38660 * partmap/apple.c (grub_apple_partition_map_init)
38661 (grub_apple_partition_map_fini): Likewise.
38662 * partmap/pc.c (grub_pc_partition_map_init)
38663 (grub_pc_partition_map_fini): Likewise.
38664 * partmap/sun.c (grub_sun_partition_map_init,
38665 grub_sun_partition_map_fini): Likewise.
38666 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38667 Likewise.
38668
38669 * util/grub-emu.c: Include <grub_modules_init.h>.
38670 (main): Don't initialize and de-initialize any modules directly,
38671 use `grub_init_all' and `grub_fini_all' instead.
38672
38673 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38674 `grub_vesafb_mod_init'.
38675 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38676 all users.
38677 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38678 `grub_vga_mod_init'. Updated all users.
38679 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
38680
38681 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38682 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38683 rules.
38684
38685 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38686 Generate a function to initialize the module in utilities.
38687 Updated all callers.
38688 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38689 initialize the module in utilities. Updated all callers.
38690
38691 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38692
38693 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38694 escape sequence and a literal ^L to clear the screen.
38695
38696 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38697 when returning from Open Firmware.
38698
38699 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38700
38701 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38702 (grub_ofconsole_height): Likewise.
38703 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38704 manually insert a '\n'.
38705 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38706 `grub_ofconsole_height'. Return early if these are already set.
38707
38708 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38709
38710 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38711 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38712 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38713 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38714 and `normal/script.c'.
38715 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38716 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38717 (test_mod_SOURCES): New variable.
38718 (test_mod_CFLAGS): Likewise.
38719 (test_mod_LDFLAGS): Likewise.
38720 (pkgdata_MODULES): Add `test.mod'.
38721 (grub_script.tab.c): New rule.
38722 (grub_script.tab.h): Likewise.
38723
38724 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
38725
38726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38727 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38728 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38729 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38730 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38731 (test_mod_SOURCES): New variable.
38732 (test_mod_CFLAGS): Likewise.
38733 (pkgdata_MODULES): Add `test.mod'.
38734 (grub_script.tab.c): New rule.
38735 (grub_script.tab.h): Likewise.
38736
38737 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
38738
38739 Add initial scripting support.
38740
38741 * commands/test.c: New file.
38742 * include/grub/script.h: Likewise.
38743 * normal/execute.c: Likewise.
38744 * normal/function.c: Likewise.
38745 * normal/lexer.c: Likewise.
38746 * normal/parser.y: Likewise.
38747 * normal/script.c: Likewise.
38748
38749 * configure.ac: Add `AC_PROG_YACC' test.
38750
38751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38752 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38753 `normal/function.c' and `normal/script.c'.
38754 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38755 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38756 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38757 variables.
38758 (pkgdata_MODULES): Add `test.mod'.
38759 (grub_script.tab.c): New rule.
38760 (grub_script.tab.h): Likewise.
38761
38762 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38763
38764 * include/grub/normal.h (grub_test_init): New prototype.
38765 (grub_test_fini): Likewise.
38766
38767 * normal/command.c: Include <grub/script.h>.
38768 (grub_command_execute): Rewritten.
38769
38770 * util/grub-emu.c (main): Call `grub_test_init' and
38771 `grub_test_fini'.
38772
38773 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38774
38775 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38776 to 0.
38777 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38778 there are no pending characters.
38779
38780 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38781
38782 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38783 `grub_strndup' to drop device arguments. Replace unnecessary
38784 `grub_strndup' with `grub_strdup'.
38785
38786 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38787
38788 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38789 `debug' environment variable has been set.
38790
38791 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
38792
38793 * Makefile.in (install-local): Use $(DATA).
38794 (uninstall): Likewise.
38795 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38796 (sbin_UTILITIES): ... to here.
38797 (sbin_SCRIPTS): New variable.
38798 (grub_install_SOURCES): New variable.
38799 * util/powerpc/ieee1275/grub-install.in: New file.
38800 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38801 variable.
38802 (add_segments): Call `grub_util_get_path'.
38803
38804 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38805
38806 From Timothy Baldwin:
38807 * commands/ls.c (grub_ls_list_files): Close FILE with
38808 grub_file_close.
38809 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38810
38811 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
38812
38813 * include/grub/parser.h: New file.
38814
38815 * kern/parser.c: Likewise.
38816
38817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38818 (grub_setup_SOURCES): Likewise.
38819 (grub_probefs_SOURCES): Likewise.
38820 (grub_emu_SOURCES): Likewise.
38821 (kernel_img_HEADERS): Add `parser.h'.
38822
38823 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38824 (grub_emu_SOURCES): Add `kern/parser.c'.
38825 (grubof_SOURCES): Likewise.
38826
38827 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38828 (grubof_SOURCES): Add `kern/parser.c'.
38829
38830 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38831
38832 * kern/misc.c (grub_split_cmdline): Removed function.
38833
38834 * kern/rescue.c: Include <grub/parser.h>.
38835 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38836 of `grub_split_cmdline'.
38837
38838 * normal/command.c: Include <grub/parser.h>.
38839 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38840 of `grub_split_cmdline'.
38841
38842 * normal/completion.c: Include <grub/parser.h>.
38843 (cmdline_state): New variable.
38844 (iterate_dir): End the filename with a quote depending on the
38845 command line state.
38846 (get_state): new function.
38847 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38848 split the arguments and determine the current argument. When the
38849 argument string is not quoted, escape all spaces.
38850
38851 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38852
38853 * normal/sparc64/setjmp.S: New file.
38854
38855 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38856
38857 * include/grub/sparc64/libgcc.h: New file.
38858 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38859 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38860 normal/sparc64/setjmp.c.
38861
38862 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38863
38864 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38865 * kern/sparc64/cache.S: New file.
38866 * kern/sparc64/cache.c: Removed.
38867 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38868 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38869 -mtune=ultrasparc.
38870 (COMMON_LDFLAGS): Add -melf64_sparc.
38871 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38872 (grubof_SOURCES): Use cache.S instead of cache.c.
38873 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38874 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38875 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38876 commented though.
38877 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38878 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38879 (linux_mod_CFLAGS): Commented out.
38880 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38881 out because module isn't built.
38882 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38883 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38884 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38885 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38886 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38887 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38888 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38889 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38890 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38891 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38892 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38893 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38894 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38895 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38896
38897 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38898
38899 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38900 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38901 longer, because HFS should not be used on PC.
38902
38903 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38904
38905 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38906 consistently within the loop.
38907
38908 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
38909
38910 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38911 directory can not be read.
38912
38913 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38914
38915 * configure.ac (AC_INIT): Increase the version number to 1.91.
38916
38917 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38918 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38919 term/i386/pc/serial.c.
38920
38921 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38922
38923 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38924 file size must be permitted.
38925
38926 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38927 between %ah and %al.
38928
38929 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38930
38931 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38932 grub_uint64_t.
38933 Call the hook with a NUL-terminated filename.
38934 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38935 grub_cpu_to_be32.
38936
38937 * kern/term.c (cursor_state): New variable.
38938 (grub_term_set_current): Reset the cursor state on a new
38939 terminal.
38940 (grub_setcursor): Rewritten to use CURSOR_STATE.
38941 (grub_getcursor): New function.
38942
38943 * include/grub/term.h (grub_getcursor): New prototype.
38944
38945 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38946 integers on ARM. Reported by Timothy Baldwin
38947 <T.E.Baldwin99@members.leeds.ac.uk>.
38948
38949 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
38950
38951 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38952 allocated.
38953 (grub_sfs_dir): Likewise.
38954
38955 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
38956
38957 Add support for the SFS filesystem.
38958
38959 * fs/sfs.c: New file.
38960
38961 * DISTLIST: Added `fs/sfs.c'.
38962
38963 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38964 (grub_probefs_SOURCES): Likewise.
38965 (grub_emu_SOURCES): Likewise.
38966 (pkgdata_MODULES): Add `sfs.mod'.
38967 (sfs_mod_SOURCES): New variable.
38968 (sfs_mod_CFLAGS): Likewise.
38969 (sfs_mod_LDFLAGS): Likewise.
38970
38971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38972 (pkgdata_MODULES): Add `sfs.mod'.
38973 (sfs_mod_SOURCES): New variable.
38974 (sfs_mod_CFLAGS): Likewise.
38975
38976 * util/grub-emu.c (main): Call `grub_sfs_init' and
38977 `grub_sfs_fini'.
38978
38979 * include/grub/fs.h (grub_sfs_init): New prototype.
38980 (grub_sfs_fini): Likewise.
38981
38982 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
38983
38984 Add support for the AFFS filesystem.
38985
38986 * fs/affs.c: New file.
38987
38988 * DISTLIST: Added `fs/affs.c'.
38989
38990 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
38991 (grub_probefs_SOURCES): Likewise.
38992 (grub_emu_SOURCES): Likewise.
38993 (pkgdata_MODULES): Add `affs.mod'.
38994 (affs_mod_SOURCES): New variable.
38995 (affs_mod_CFLAGS): Likewise.
38996 (affs_mod_LDFLAGS): Likewise.
38997
38998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
38999 (pkgdata_MODULES): Add `affs.mod'.
39000 (affs_mod_SOURCES): New variable.
39001 (affs_mod_CFLAGS): Likewise.
39002
39003 * util/grub-emu.c (main): Call `grub_affs_init' and
39004 `grub_affs_fini'.
39005
39006 * include/grub/fs.h (grub_affs_init): New prototype.
39007 (grub_affs_fini): Likewise.
39008
39009 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
39010
39011 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
39012
39013 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
39014
39015 * configure.ac: Accept `x86_64' as host_cpu. In that case add
39016 `-m32' to CFLAGS.
39017
39018 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
39019 linking.
39020
39021 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
39022 (COMMON_LDFLAGS): New variable.
39023 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
39024 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
39025 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
39026 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
39027 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
39028 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
39029 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
39030 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
39031 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
39032 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
39033 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
39034 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
39035 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
39036 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
39037 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
39038 variables.
39039 (normal_mod_ASFLAGS): Add `-m32'.
39040
39041 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
39042 (grub_host_size_t, grub_host_ssize_t): New types.
39043 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
39044 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
39045 `GRUB_HOST_SIZEOF_VOID_P'.
39046
39047 * include/grub/kernel.h (struct grub_module_header): Type of
39048 member offset changed to `grub_host_off_t'. Type of member size
39049 changed to `grub_host_size_t'.
39050 (struct grub_module_info): Type of member offset changed to
39051 `grub_host_off_t'. Type of member size changed to
39052 `grub_host_size_t'.
39053
39054 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
39055
39056 Make GRUB's kernel compliant to Multiboot Specification.
39057
39058 * kern/i386/pc/startup.S (multiboot_header): New label.
39059 (multiboot_entry): Likewise.
39060 (multiboot_trampoline): Likewise.
39061
39062 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39063 Increased to 0x4A0.
39064
39065 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
39066 put parentheses after a question mark.
39067 [!GRUB_UTIL] (my_mod): New variable.
39068
39069 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
39070
39071 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
39072
39073 Adds support for the XFS filesystem. Btrees are not supported
39074 yet.
39075
39076 * fs/xfs.c: New file.
39077
39078 * DISTLIST: Added `fs/xfs.c'.
39079
39080 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39081 (grub_probefs_SOURCES): Likewise.
39082 (grub_emu_SOURCES): Likewise.
39083 (pkgdata_MODULES): Add `xfs.mod'.
39084 (xfs_mod_SOURCES): New variable.
39085 (xfs_mod_CFLAGS): Likewise.
39086
39087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39088 (pkgdata_MODULES): Add `xfs.mod'.
39089 (xfs_mod_SOURCES): New variable.
39090 (xfs_mod_CFLAGS): Likewise.
39091
39092 * util/grub-emu.c (main): Call `grub_xfs_init' and
39093 `grub_xfs_fini'.
39094
39095 * include/grub/fs.h (grub_xfs_init): New prototype.
39096 (grub_xfs_fini): Likewise.
39097
39098
39099 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39100
39101 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39102 color modes, allow greater than 16 colors to be configured as
39103 a default palette.
39104
39105 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39106
39107 * normal/completion.c (complete_arguments): Add the qualifier
39108 const into OPTIONS.
39109
39110 From Omniflux <omniflux+lists@omniflux.com>:
39111 * include/grub/terminfo.h: New file.
39112 * include/grub/tparm.h: Likewise.
39113 * include/grub/i386/pc/serial.h: Likewise.
39114 * term/terminfo.c: Likewise.
39115 * term/tparm.c: Likewise.
39116 * term/i386/pc/serial.c: Likewise.
39117 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39118 serial.mod.
39119 (terminfo_mod_SOURCES): New variable.
39120 (terminfo_mod_CFLAGS): Likewise.
39121 (serial_mod_SOURCES): Likewise.
39122 (serial_mod_CFLAGS): Likewise.
39123
39124 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39125
39126 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39127 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39128 and kern/powerpc/ieee1275/cmain.c, respectively.
39129
39130 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39131 * kern/powerpc/ieee1275/crt0.S: ... here.
39132
39133 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39134 * kern/powerpc/ieee1275/cmain.c: ... here.
39135
39136 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39137 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39138 instead of boot/powerpc/ieee1275/crt0.S and
39139 boot/powerpc/ieee1275/cmain.c, respectively.
39140
39141 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39142 sectors. It was not used anyway.
39143
39144 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39145
39146 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39147 `unused parameter' warning.
39148
39149 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39150
39151 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39152 function.
39153 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39154 getcharwidth.
39155
39156 2005-08-28 Marco Gerards <metgerards@student.han.nl>
39157
39158 * include/grub/normal.h (enum grub_completion_type): Added
39159 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39160
39161 * normal/cmdline.c (print_completion): Handle
39162 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39163 * normal/menu_entry.c (store_completion): Likewise.
39164
39165 * normal/completion.c (complete_arguments): New function.
39166 (grub_normal_do_completion): Call `complete_arguments' when the
39167 current words start with a dash.
39168
39169 2005-08-27 Marco Gerards <metgerards@student.han.nl>
39170
39171 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39172 `gzio.mod' instead of `io.mod').
39173
39174 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39175
39176 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39177 (DISTDIRS): Added io and video.
39178 Rewrite the search routine to make an output consistently.
39179
39180 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39181 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39182 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39183 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39184 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39185 util/powerpc/ieee1275/misc.c.
39186
39187 * include/grub/gzio.h: New file.
39188 * io/gzio.c: Likewise.
39189
39190 * kern/file.c (grub_file_close): Call grub_device_close only if
39191 FILE->DEVICE is not NULL.
39192
39193 * include/grub/mm.h [!NULL] (NULL): New macro.
39194
39195 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39196
39197 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39198 (pkgdata_MODULES): Added gzio.mod.
39199 (gzio_mod_SOURCES): New variable.
39200 (gzio_mod_CFLAGS): Likewise.
39201
39202 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39203 (pkgdata_MODULES): Added gzio.mod.
39204 (gzio_mod_SOURCES): New variable.
39205 (gzio_mod_CFLAGS): Likewise.
39206
39207 * commands/cat.c: Include grub/gzio.h.
39208 (grub_cmd_cat): Use grub_gzfile_open instead of
39209 grub_file_open.
39210
39211 * commands/cmp.c: Include grub/gzio.h.
39212 (grub_cmd_cmp): Use grub_gzfile_open instead of
39213 grub_file_open.
39214
39215 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39216 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39217 grub_file_open.
39218 (grub_rescue_cmd_module): Likewise.
39219
39220 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39221
39222 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39223 kern/sparc64/ieee1275/init.c because it contains _start.
39224 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39225
39226 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39227
39228 * configure.ac: Add support for sparc64 host with ieee1275
39229 firmware.
39230 * configure: Generated from configure.ac.
39231 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39232 instead of int.
39233 (grub_ofdisk_read): Likewise.
39234 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39235 pointers as (void *) to remove a warning.
39236 (grub_ofdisk_close): Likewise.
39237 (grub_ofdisk_read): Likewise.
39238 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39239 returns, so make it return void to remove a warning.
39240 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39241 Corresponding prototype change.
39242 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39243 values, and cast the pointers as (void *) to remove a warning.
39244 (grub_mm_dump): Likewise.
39245 * conf/sparc64-ieee1275.mk: New file.
39246 * conf/sparc64-ieee1275.rmk: Likewise.
39247 * include/grub/sparc64/setjmp.h: Likewise.
39248 * include/grub/sparc64/types.h: Likewise.
39249 * include/grub/sparc64/ieee1275/console.h: Likewise.
39250 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39251 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39252 * include/grub/sparc64/ieee1275/time.h: Likewise.
39253 * kern/sparc64/cache.c: Likewise.
39254 * kern/sparc64/dl.c: Likewise.
39255 * kern/sparc64/ieee1275/init.c: Likewise.
39256 * kern/sparc64/ieee1275/openfw.c: Likewise.
39257
39258 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39259
39260 * util/console.c (grub_ncurses_putchar): If C is greater than
39261 0x7f, set C to a question mark.
39262 (grub_ncurses_getcharwidth): New function.
39263 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39264 getcharwidth.
39265
39266 * normal/menu.c (print_entry): Made aware of Unicode. First,
39267 convert TITLE to UCS-4, and predict the cursor position by
39268 grub_getcharwidth.
39269
39270 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39271 const to SRC.
39272 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39273
39274 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39275
39276 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39277 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39278 grub_strcat.
39279
39280 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39281 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39282 grub_strcpy and grub_strlen. Take it into account that a space
39283 character is inserted as a delimiter.
39284
39285 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39286
39287 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
39288 invalid magic in the error.
39289
39290 * commands/search.c: New file.
39291
39292 * util/grub-emu.c (main): Call grub_search_init and
39293 grub_search_fini.
39294
39295 * kern/rescue.c (grub_rescue_print_disks): Removed.
39296 (grub_rescue_print_devices): New function.
39297 (grub_rescue_cmd_ls): Use grub_device_iterate with
39298 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39299 grub_rescue_print_disks.
39300
39301 * kern/partition.c (grub_partition_iterate): Return the result of
39302 PARTMAP->ITERATE instead of GRUB_ERRNO.
39303
39304 * kern/device.c: Include grub/partition.h.
39305 (grub_device_iterate): New function.
39306
39307 * include/grub/partition.h (grub_partition_iterate): Return int
39308 instead of grub_err_t.
39309
39310 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39311 prototype.
39312 [GRUB_UTIL] (grub_search_fini): Likewise.
39313
39314 * include/grub/device.h (grub_device_iterate): New prototype.
39315
39316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39317 commands/search.c.
39318 (pkgdata_MODULES): Added search.mod.
39319 (search_mod_SOURCES): New variable.
39320 (search_mod_CFLAGS): Likewise.
39321
39322 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39323 (pkgdata_MODULES): Added search.mod.
39324 (search_mod_SOURCES): New variable.
39325 (search_mod_CFLAGS): Likewise.
39326
39327 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39328 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39329 All callers changed.
39330
39331 * DISTLIST: Added commands/search.c.
39332
39333 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39334
39335 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39336 conversion.
39337 (grub_getcharwidth): New function.
39338
39339 * kern/misc.c (grub_utf8_to_ucs4): New function.
39340
39341 * include/grub/term.h (struct grub_term): Added a new member
39342 "getcharwidth".
39343 (grub_getcharwidth): New prototype.
39344
39345 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39346
39347 * term/i386/pc/console.c (map_char): New function. Segregated from
39348 grub_console_putchar.
39349 (grub_console_putchar): Use map_char.
39350 (grub_console_getcharwidth): New function.
39351 (grub_console_term): Specified grub_console_getcharwidth as
39352 getcharwidth.
39353
39354 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39355 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39356
39357 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39358 GRUB_ERRNO.
39359 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39360 on grub_strtoul completely.
39361 (write_char): Declare local variables in the beginning of the
39362 function.
39363 (grub_vesafb_getcharwidth): New function.
39364 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39365 getcharwidth.
39366
39367 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39368
39369 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39370 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39371 commands/i386/pc/vbetest.c.
39372
39373 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39374 call grub_vbe_get_controller_info again, because the returned
39375 information is volatile.
39376 (grub_vbe_set_video_mode): Mostly rewritten.
39377 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39378 grub_vbe_status_t correctly.
39379 (grub_vbe_get_video_mode_info): Likewise.
39380 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39381 several if statements.
39382
39383 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39384 * commands/i386/pc/vbeinfo.c: ... this.
39385
39386 * commands/i386/pc/vbe_test.c: Renamed to ...
39387 * commands/i386/pc/vbetest.c: ... this.
39388
39389 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39390 ...
39391 (grub_cmd_vbeinfo): ... this. Save video modes before
39392 iterating. Skip a video mode, if it is not available, not enough
39393 information is given or it is monochrome. Show the memory
39394 model. Leave the interpretation of MODEVAR to grub_strtoul
39395 completely.
39396 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39397 (GRUB_MOD_FINI): Likewise.
39398
39399 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39400 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39401 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39402 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39403 grub_strtoul completely.
39404 (real2pm): Removed.
39405 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39406 (GRUB_MOD_FINI): Likewise.
39407
39408 * normal/misc.c: Include grub/mm.h.
39409
39410 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39411 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39412 (vbe_list_modes_mod_SOURCES): Removed.
39413 (vbe_list_modes_mod_CFLAGS): Likewise.
39414 (vbe_test_mod_SOURCES): Likewise.
39415 (vbe_test_mod_CFLAGS): Likewise.
39416 (vbeinfo_mod_SOURCES): New variable.
39417 (vbeinfo_mod_CFLAGS): Likewise.
39418 (vbetest_mod_SOURCES): Likewise.
39419 (vbetest_mod_CFLAGS): Likewise.
39420
39421 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39422
39423 * normal/misc.c: New file.
39424
39425 * DISTLIST: Added normal/misc.c.
39426
39427 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39428 DISK to HOOK. Call HOOK with DISK.
39429 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39430 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39431 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39432
39433 * normal/menu_entry.c (struct screen): Added a new member
39434 "completion_shown".
39435 (completion_buffer): New global variable.
39436 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39437 (store_completion): New function.
39438 (complete): Likewise.
39439 (clear_completions): Likewise.
39440 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39441 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39442 a tab, call complete.
39443
39444 * normal/completion.c (disk_dev): Removed.
39445 (print_simple_completion): Likewise.
39446 (print_partition_completion): Likewise.
39447 (print_func): New global variable.
39448 (add_completion): Do not take the arguments WHAT or PRINT any
39449 longer. Added a new argument TYPE. Instead of printing directly,
39450 call PRINT_FUNC if not NULL.
39451 All callers changed.
39452 (complete_device): Use a local variable DEV instead of
39453 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39454 (grub_normal_do_completion): Take a new argument HOOK. Do not
39455 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39456 empty string, return NULL instead.
39457 All callers changed.
39458
39459 * normal/cmdline.c (print_completion): New function.
39460
39461 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39462 to HOOK.
39463 All callers changed.
39464
39465 * kern/disk.c (grub_print_partinfo): Removed.
39466
39467 * include/grub/partition.h (struct grub_partition_map): Add a new
39468 argument DISK into HOOK of ITERATE.
39469 (grub_partition_iterate): Add a new argument DISK to HOOK.
39470
39471 * include/grub/normal.h (enum grub_completion_type): New enum.
39472 (grub_completion_type_t): New type.
39473 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39474 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39475 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39476 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39477 (grub_normal_do_completion): Added a new argument HOOK.
39478 (grub_normal_print_device_info): New prototype.
39479
39480 * include/grub/disk.h (grub_print_partinfo): Removed.
39481
39482 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39483 (normal_mod_SOURCES): Likewise.
39484 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39485 (normal_mod_SOURCES): Likewise.
39486
39487 * commands/ls.c (grub_ls_list_disks): Use
39488 grub_normal_print_device_info instead of grub_print_partinfo. Free
39489 PNAME.
39490 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39491 duplicating the code.
39492
39493 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39494
39495 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
39496 follow GCS more precisely.
39497 * commands/i386/pc/vbe_test.c: Likewise.
39498 * include/grub/i386/pc/vbe.h: Likewise.
39499 * term/i386/pc/vesafb.c: Likewise.
39500 * video/i386/pc/vbe.c: Likewise.
39501
39502 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39503
39504 * DISTLIST: Added term/i386/pc/vesafb.c
39505 DISTLIST: Added video/i386/pc/vbe.c
39506 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39507 DISTLIST: Added commands/i386/pc/vbe_test.c.
39508 * commands/i386/pc/vbe_list_modes.c: New file.
39509 * commands/i386/pc/vbe_test.c: Likewise.
39510 * term/i386/pc/vesafb.c: Likewise.
39511 * video/i386/pc/vbe.c: Likewise.
39512 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39513 (grub_vbe_probe) Added prototype.
39514 (grub_vbe_set_video_mode) Likewise.
39515 (grub_vbe_get_video_mode) Likewise.
39516 (grub_vbe_get_video_mode_info) Likewise.
39517 (grub_vbe_set_pixel_rgb) Likewise.
39518 (grub_vbe_set_pixel_index) Likewise.
39519 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39520 (pkgdata_MODULES): Added vesafb.mod.
39521 (pkgdata_MODULES): Added vbe_list_modes.mod.
39522 (pkgdata_MODULES): Added vbe_test.mod.
39523 (vbe_mod_SOURCES): Added.
39524 (vbe_mod_CFLAGS): Likewise.
39525 (vesafb_mod_SOURCES): Likewise.
39526 (vesafb_mod_CFLAGS): Likewise.
39527 (vbe_list_modes_mod_SOURCES): Likewise.
39528 (vbe_list_modes_mod_CFLAGS): Likewise.
39529 (vbe_test_mod_SOURCES): Likewise.
39530 (vbe_test_mod_CFLAGS): Likewise.
39531
39532 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39533
39534 * normal/command.c (grub_command_execute): If INTERACTIVE is
39535 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39536 CMDLINE. Disable the pager if INTERACTIVE is true.
39537 All callers are changed.
39538
39539 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39540 before reading a config file.
39541 * normal/main.c (read_config_file): Even if a command is not
39542 found, register it if it is within an entry.
39543
39544 * util/grub-emu.c: Include sys/types.h and unistd.h.
39545 (options): Added --hold.
39546 (struct arguments): Added a new member "hold".
39547 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39548 missing.
39549 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39550 cleared by a debugger, if it is not zero.
39551
39552 * include/grub/normal.h (grub_command_execute): Add an argument
39553 INTERACTIVE.
39554
39555 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39556
39557 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39558
39559 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39560
39561 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39562 program with another one, because the old one didn't detect a bug
39563 in gcc-3.4. Always use regparm 2, because the new test is still
39564 not enough for gcc-4.0. Someone must investigate a simple test
39565 case which detects a bug in gcc-4.0.
39566
39567 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39568
39569 * DISTLIST: Added normal/completion.c.
39570
39571 * normal/completion.c: New file.
39572
39573 * term/i386/pc/console.c (grub_console_getwh): New function.
39574 (grub_console_term): Assign grub_console_getwh to getwh.
39575
39576 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39577 function is defined in normal/completion.c as
39578 grub_normal_do_completion.
39579 (grub_cmdline_get): Use grub_normal_do_completion instead of
39580 grub_tab_complete.
39581
39582 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39583 returns non-zero, otherwise return 0.
39584 (grub_partition_iterate): First, probe the partition map. Then,
39585 call ITERATE only for this partition map.
39586
39587 * kern/misc.c (grub_strncmp): Rewritten.
39588
39589 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39590 returns non-zero. Otherwise return 0.
39591
39592 * include/grub/partition.h (grub_partition_map_iterate): Return
39593 int instead of void.
39594
39595 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39596
39597 * include/grub/misc.h (grub_strncmp): Change the type of N to
39598 grub_size_t.
39599
39600 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39601 of void.
39602
39603 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
39604 unsigned explicitly before comparing it with I.
39605
39606 * kern/main.c (grub_env_write_root): Add the attribute unused into
39607 VAR.
39608
39609 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39610 normal/completion.c.
39611 (normal_mod_SOURCES): Likewise.
39612 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39613 (normal_mod_SOURCES): Likewise.
39614
39615 * normal/command.c (grub_iterate_commands): If ITERATE returns
39616 non-zero, return one immediately.
39617
39618 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39619
39620 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39621 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39622 descriptions.
39623 (grub_vbe_get_controller_info): New function.
39624 (grub_vbe_get_mode_info): Likewise.
39625 (grub_vbe_set_mode): Likewise.
39626 (grub_vbe_get_mode): Likewise.
39627 (grub_vbe_set_memory_window): Likewise.
39628 (grub_vbe_get_memory_window): Likewise.
39629 (grub_vbe_set_scanline_length): Likewise.
39630 (grub_vbe_get_scanline_length): Likewise.
39631 (grub_vbe_set_display_start): Likewise.
39632 (grub_vbe_get_display_start): Likewise.
39633 (grub_vbe_set_palette_data): Likewise.
39634 * include/grub/i386/pc/vbe.h: New file.
39635
39636 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39637
39638 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39639 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39640 * DISTLIST: Likewise.
39641 * kern/ieee1275/of.c: Moved to ...
39642 * kern/ieee1275/ieee1275.c: ... here.
39643
39644 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39645
39646 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39647 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39648 Pass 0 as `end' parameter to grub_strtoul().
39649
39650 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39651
39652 * include/grub/powerpc/ieee1275/console.h: Do not include
39653 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39654 ifdef.
39655 (grub_console_cur_color): Remove i386-specific prototype.
39656 (grub_console_real_putchar): Likewise.
39657 (grub_console_checkkey): Likewise.
39658 (grub_console_getkey): Likewise.
39659 (grub_console_getxy): Likewise.
39660 (grub_console_gotoxy): Likewise.
39661 (grub_console_cls): Likewise.
39662 (grub_console_setcursor): Likewise.
39663 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39664 Include <grub/machine/console.h>.
39665 * term/ieee1275/ofconsole.c: Likewise.
39666
39667 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39668
39669 * Makefile.in (LIBLZO): New variable.
39670
39671 * configure.ac: Check for LZO version 2.
39672
39673 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39674 lzo/lzo1x.h instead of lzo1x.h.
39675
39676 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39677 of -llzo.
39678
39679 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39680 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39681
39682 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39683 copying the data from PARTITION to P.
39684
39685 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39686
39687 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39688 negative, unload the module.
39689
39690 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39691 map is "pc_partition_map" but not "pc".
39692 (usage): Fix the description. The options are --boot-image and
39693 --core-image but not --boot-file or --core-file.
39694 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39695 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39696 DEFAULT_DIRECTORY.
39697
39698 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39699 --core-file. Specify INSTALL_DEVICE as an argument.
39700
39701 * util/console.c: Include config.h.
39702 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39703 [HAVE_NCURSES_H]: Include ncurses.h.
39704 [HAVE_CURSES_H]: Include curses.h.
39705 [!A_NORMAL] (A_NORMAL): Defined as zero.
39706 [!A_STANDOUT] (A_STANDOUT): Likewise.
39707
39708 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39709 -lncurses.
39710 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39711
39712 * configure.ac: Check for curses libraries and headers.
39713
39714 * Makefile.in (LIBCURSES): New variable.
39715
39716 * genmk.rb (Script::rule): Set the executable bits.
39717
39718 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39719 name of the PC partition map is "pc_partition_map" but not "pc".
39720
39721 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39722
39723 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39724 (modules): Likewise.
39725 (usage): Added descriptions for --modules and --grub-probefs.
39726 Handle --modules and --grub-probefs. Save the arguments in MODULES
39727 and GRUB_PROBEFS, respectively.
39728 Auto-detect a filesystem module against GRUBDIR. If the result is
39729 empty and modules are not specified explicitly, abort the
39730 installation. Add the result to MODULES.
39731
39732 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39733 disk/powerpc/ieee1275/ofdisk.c,
39734 include/grub/powerpc/ieee1275/init.h and
39735 term/powerpc/ieee1275/ofconsole.c.
39736 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39737 term/ieee1275/ofconsole.c.
39738
39739 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39740
39741 * COPYING: Upgraded to the latest version. Only the address of the
39742 FSF office has changed.
39743
39744 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39745
39746 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39747 kern/ieee1275.c with kern/ieee1275/of.c.
39748
39749 * kern/ieee1275.c: Moved to ...
39750 * kern/ieee1275/of.c: ... here.
39751
39752 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39753
39754 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
39755 readability.
39756
39757 * config.guess: Updated to the latest version from gnulib.
39758 * config.sub: Likewise.
39759 * install.sh: Likewise.
39760 * mkinstalldirs: Likewise.
39761
39762 * include/grub/console.h: Removed. This file is arch-specific. Do
39763 not put this in include/grub.
39764
39765 * include/grub/i386/pc/console.h: Resurrected.
39766
39767 * util/console.c: Include grub/machine/console.h instead of
39768 grub/console.h.
39769 * util/grub-emu.c: Likewise.
39770
39771 2005-08-04 Marco Gerards <metgerards@student.han.nl>
39772
39773 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39774 hardcoded value.
39775
39776 From Vincent Pelletier <subdino2004@yahoo.fr>
39777 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39778 Redefined to use grub_getwh.
39779 (grub_term): New member named getwh.
39780 (grub_getwh): New prototype.
39781 * kern/term.c (grub_getwh): New function.
39782 * term/i386/pc/console.c (grub_console_getwh): New function.
39783 (grub_console_term): New member `getwh'.
39784 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39785 (grub_vga_term): New member `getwh'.
39786 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
39787 grub_ssize_t.
39788 (grub_ofconsole_getw): New function.
39789 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39790 (grub_ofconsole_term): New field named getwh and new initial
39791 value.
39792
39793 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39794
39795 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39796 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39797 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39798 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39799 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39800 of <grub/machine/ieee1275.h>.
39801 * commands/ieee1275/reboot.c: Likewise.
39802 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39803 * kern/ieee1275.c: ... to here. All users updated. Change all
39804 parameter structs to use new type `grub_ieee1275_cell_t'.
39805 * term/powerpc/ieee1275/ofconsole.c: Move ...
39806 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39807 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39808 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39809 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39810 to return int.
39811 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39812 Remove unused prototypes. All users updated.
39813 * include/grub/powerpc/ieee1275/console.h: Removed.
39814 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39815 `grub_ieee1275_cell_t'.
39816 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39817 Cast comparisons with -1 to the correct type.
39818 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39819 type to match `grub_ieee1275_entry_fn'.
39820
39821 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39822
39823 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39824
39825 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39826 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39827 partmap/sun.c.
39828 (grub_probefs_SOURCES): New variable.
39829
39830 * util/i386/pc/grub-probefs.c: New file.
39831
39832 * util/i386/pc/grub-setup.c (main): Call
39833 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39834 grub_hfs_init and grub_jfs_init to initialize the system. Call
39835 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39836 grub_pc_partition_map_fini to finish the system.
39837
39838 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39839
39840 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39841 function.
39842 (grub_multiboot_load_elf32): Likewise.
39843 (grub_multiboot_is_elf64): Likewise.
39844 (grub_multiboot_load_elf64): Likewise.
39845 (grub_multiboot_load_elf): Likewise.
39846 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39847 an ELF32 or ELF64 file.
39848 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39849
39850 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39851 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39852 NULL before calling FS->LABEL.
39853 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39854 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39855 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39856 before calling FS->LABEL.
39857
39858 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 * util/i386/pc/grub-install.in (datadir): New variable.
39861 (libdir): Removed.
39862 (pkgdatadir): New variable.
39863 (pkglibdir): Removed.
39864
39865 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39866
39867 * DISTLIST: Added util/i386/pc/grub-install.in.
39868
39869 * util/i386/pc/grub-install.in: New file.
39870
39871 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39872 (grub_install_SOURCES): Likewise.
39873
39874 * genmk.rb: Added support for scripts.
39875 (Script): New class.
39876 (scripts): New variable.
39877
39878 * Makefile.in (install-local): Install sbin_SCRIPTS by
39879 INSTALL_SCRIPT.
39880 (uninstall): Remove sbin_SCRIPTS.
39881
39882 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39883 device, try to get a GRUB device by
39884 grub_util_biosdisk_get_grub_dev.
39885 Free DEST_DEV.
39886
39887 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39888 description for --device-map.
39889
39890 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39891
39892 Change the semantics of variable hooks. They now return strings
39893 instead of error values.
39894
39895 * util/i386/pc/grub-setup.c: Include grub/env.h.
39896 (setup): Use grub_device_set_root instead of grub_env_set.
39897
39898 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39899 grub_env_get instead of grub_device_set_root and
39900 grub_device_get_root, respectively.
39901
39902 * kern/main.c (grub_env_write_root): New function.
39903 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39904 grub_env_set instead of grub_device_set_root.
39905
39906 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39907 many variables.
39908 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39909 rather than calling ENV->WRITE_HOOK afterwards.
39910 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39911 passing a pointer of a pointer.
39912 (grub_register_variable_hook): Change the types of "read_hook" and
39913 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39914 respectively.
39915 Allocate the default empty string on the heap, because this string
39916 may be freed later.
39917
39918 * kern/device.c: Include grub/env.h.
39919 (grub_device_set_root): Removed.
39920 (grub_device_get_root): Likewise.
39921 (grub_device_open): Use grub_env_get instead of
39922 grub_device_get_root.
39923
39924 * include/grub/env.h (grub_env_read_hook_t): New type.
39925 (grub_env_write_hook_t): Likewise.
39926 (grub_env_var): Change the types of "read_hook" and "write_hook"
39927 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39928 (grub_register_variable_hook): Likewise.
39929
39930 * include/grub/device.h (grub_device_set_root): Removed.
39931 (grub_device_set_root): Likewise.
39932
39933 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39934 make sure that DIRNAME terminates with '/', so that
39935 grub_fat_find_dir will fail if PATH is not a directory.
39936
39937 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39938 from DIRNAME.
39939 Use the qualifier auto for print_files and print_files_long.
39940 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39941 as a regular file.
39942 Put a newline only if there is no error.
39943 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39944 used.
39945
39946 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39947
39948 * kern/partition.c (grub_partition_probe): Initialize PART to
39949 NULL. Otherwise, when no partition map is registered, this returns
39950 a garbage.
39951
39952 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39953
39954 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39955 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39956 valid.
39957
39958 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39959
39960 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39961 information on each device, if it does not have partitions. Print
39962 "Device" instead of "Disk", because this function is not specific
39963 to disk devices.
39964
39965 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39966 static to ensure that it is put on the memory rather than a
39967 register.
39968
39969 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39970
39971 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39972 (grub_cat_init): Likewise.
39973 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39974 (options): Likewise.
39975 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39976 (grub_configfile_init): Likewise.
39977 * font/manager.c (GRUB_MOD_INIT): Likewise.
39978 * commands/help.c (GRUB_MOD_INIT): Likewise.
39979 (grub_help_init): Likewise.
39980 * normal/command.c (grub_command_init): Likewise.
39981 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
39982 * disk/loopback.c (grub_loop_init): Likewise.
39983 (GRUB_MOD_INIT): Likewise.
39984 * commands/ls.c (grub_ls_init): Likewise.
39985 (GRUB_MOD_INIT): Likewise.
39986 (options): Likewise.
39987 * commands/boot.c (grub_boot_init): Likewise.
39988 (GRUB_MOD_INIT): Likewise.
39989 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
39990 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
39991 (GRUB_MOD_INIT): Likewise.
39992 * commands/cmp.c (grub_cmp_init): Likewise.
39993 (GRUB_MOD_INIT): Likewise.
39994
39995 * normal/arg.c: Use <> instead of "" to include header files.
39996 (SHORT_ARG_HELP): New macro.
39997 (SHORT_ARG_USAGE): Likewise.
39998 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
39999 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
40000 descriptions.
40001 (find_short): Check if C is 'h' or 'u' explicitly.
40002 (grub_arg_show_help): Use space characters instead of tabs. Treat
40003 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
40004 are shown with --help and --usage only if they are not used for
40005 the command itself.
40006 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
40007 'h' and 'u'.
40008
40009 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
40010 const into "longarg". Change the type of "shortarg" to int.
40011
40012 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40013
40014 * boot/i386/pc/boot.S (boot_drive_check): New label.
40015
40016 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
40017 macro.
40018
40019 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
40020 which do not pass a boot drive correctly. Copied from GRUB Legacy.
40021
40022 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40023
40024 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
40025 When turning off Gate A20, skip the check and return immediately,
40026 because this is not fatal usually.
40027
40028 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
40029
40030 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
40031 be 0x7C00 instead of 0x8000.
40032
40033 * boot/i386/pc/pxeboot.S: Rewritten.
40034
40035 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
40036 EXT_C.
40037 (gate_a20_check_state): Read a byte from 0x108000. Invert the
40038 result.
40039
40040 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
40041
40042 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
40043 robustness. This routine now supports a BIOS call and System
40044 Control Port A to modify the gate A20.
40045
40046 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
40047 Increased to 0x440.
40048
40049 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
40050
40051 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
40052 device path and resulting ihandle.
40053 (grub_ofdisk_close): dprintf the ihandle being closed.
40054 (grub_ofdisk_read): dprintf function parameters.
40055 * kern/mm.c (grub_mm_init_region): Likewise.
40056 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
40057 (grub_linux_boot): dprintf the Linux entry point, initrd address and
40058 size, and boot arguments.
40059 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
40060 before loading into memory.
40061 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
40062 before loading into memory.
40063
40064 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
40065
40066 * kern/mm.c: Added much documentation.
40067 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
40068 8, set to 5 instead of 8.
40069
40070 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
40071
40072 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40073
40074 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40075 (grub_mkdevicemap_SOURCES): New variable.
40076
40077 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40078 lib/device.c of GRUB Legacy.
40079
40080 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
40081
40082 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40083 instead of PATH is NULL.
40084
40085 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40086
40087 * commands/cmp.c (BUFFER_SIZE): New macro.
40088 (grub_cmd_cmp): Close the right file at the right time. Compare
40089 only data just read. Don't report files of different size as
40090 identical. Dynamically allocate buffers. Move variable
40091 declarations at the beginning of function.
40092
40093 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
40094
40095 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40096 reverse.
40097
40098 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40099
40100 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40101 when backspace is pressed at beginning of line.
40102
40103 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
40104
40105 * DISTLIST: Added genfslist.sh.
40106
40107 * normal/main.c (fs_module_list): New variable.
40108 (autoload_fs_module): New function.
40109 (read_fs_list): Likewise.
40110 (grub_normal_execute): Call read_fs_list.
40111
40112 * kern/fs.c (grub_fs_autoload_hook): New variable.
40113 (grub_fs_probe): Added support for auto-loading.
40114
40115 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40116 (grub_fs_module_list_t): New type.
40117
40118 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40119 (grub_fs_autoload_hook): New prototype.
40120
40121 * genfslist.sh: New file.
40122
40123 * genmk.rb: Added a rule to generate a filesystem list.
40124
40125 2005-06-30 Marco Gerards <metgerards@student.han.nl>
40126
40127 * configure.ac: Fix the test for cross-compiling.
40128
40129 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40130 define GRUB_UTIL anymore.
40131
40132 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40133 so this function works on other systems than just big endian.
40134 (load_modules): Likewise.
40135 (add_segments): Likewise.
40136
40137 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40138
40139 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40140 contains `l' modifier, get a long from va_arg().
40141
40142 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40143
40144 * kern/mm.c (grub_free): If the next free block which is being
40145 merged is the first free block, set the first block to the block
40146 being freed.
40147 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40148
40149 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40150
40151 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40152 `grub_ieee1275_chosen'.
40153
40154 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40155
40156 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40157 (grub_ieee1275_chosen): New variable.
40158 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40159 `chosen'.
40160 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40161 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40162 Rename first argument to `phandle' for consistency.
40163 (grub_ieee1275_get_property_length): Likewise.
40164 (grub_ieee1275_next_property): Likewise. Change type of first argument
40165 to grub_ieee1275_phandle_t.
40166 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40167 Move export next to declaration.
40168 (grub_ieee1275_chosen): New variable.
40169 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40170 Correct cosmetic typo.
40171 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40172 `grub_ieee1275_chosen'.
40173 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40174 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40175 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40176 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40177 `grub_ieee1275_chosen'.
40178
40179 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40180
40181 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40182 /chosen/bootargs.
40183 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40184 /chosen/bootargs as "variable=value" pairs.
40185
40186 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40187
40188 * include/grub/misc.h (grub_dprintf): New macro.
40189 (grub_real_dprintf): New prototype.
40190 (grub_strword): Likewise.
40191 (grub_iswordseparator): Likewise.
40192 * kern/misc.c (grub_real_dprintf): New function.
40193 (grub_strword): Likewise.
40194 (grub_iswordseparator): Likewise.
40195
40196 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40197
40198 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40199 (roundup): Remove macro.
40200 (grub_ieee1275_flags): Make static.
40201 (grub_ieee1275_realmode): Remove.
40202 (grub_ieee1275_test_flag): New function.
40203 (grub_ieee1275_set_flag): Likewise.
40204 (find_options): Rename to `grub_ieee1275_find_options'; update
40205 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40206 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40207 (cmain): New prototype.
40208 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40209 `grub_ieee1275_flags' directly.
40210 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40211 machine/biosdisk.h.
40212 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40213 Don't include grub/machine/init.h.
40214 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40215 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40216 Remove prototype.
40217 (grub_ieee1275_realmode): Likewise.
40218 (grub_ieee1275_flag): New enum.
40219 (grub_ieee1275_test_flag): New prototype.
40220 (grub_ieee1275_set_flag): New prototype.
40221 * include/grub/powerpc/ieee1275/init.h: Remove file.
40222 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40223 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40224 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40225 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40226 comment.
40227 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40228 `grub_ieee1275_test_flag'.
40229 (grub_ieee1275_encode_devname): Likewise.
40230
40231 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40232
40233 * include/grub/powerpc/ieee1275/ieee1275.h
40234 (grub_ieee1275_encode_devname): New prototype.
40235 (grub_ieee1275_get_filename): Likewise.
40236 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40237 function.
40238 (grub_set_prefix): Likewise.
40239 (grub_machine_init): Call grub_set_prefix.
40240 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40241 (grub_parse_type): New enum.
40242 (grub_ieee1275_get_devargs): New function.
40243 (grub_ieee1275_get_devname): Likewise.
40244 (grub_ieee1275_parse_args): Likewise.
40245 (grub_ieee1275_get_filename): Likewise.
40246 (grub_ieee1275_encode_devname): Likewise.
40247
40248 2005-03-30 Marco Gerards <metgerards@student.han.nl>
40249
40250 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40251 `grub_loader_unset'.
40252
40253 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40254
40255 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40256 instead of grub_ieee1275_interpret.
40257 (grub_halt_init): New function.
40258 (grub_halt_fini): Likewise.
40259 (GRUB_MOD_INIT): Correct message grammar.
40260 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40261 instead of grub_ieee1275_interpret.
40262 (grub_reboot_init): New function.
40263 (grub_reboot_fini): Likewise.
40264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40265 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40266 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40267 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40268 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40269 function.
40270 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40271 Add prototype.
40272 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40273 prototype.
40274 (grub_halt): Likewise.
40275 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40276 (cmain): Remove __attribute__((unused)).
40277 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40278 (grub_heap_len): Likewise.
40279 (grub_machine_fini): New function.
40280 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40281 (grub_halt): Likewise.
40282 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40283 function.
40284 * util/powerpc/ieee1275/misc.c: New file.
40285
40286 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40287
40288 * DISTLIST: New file.
40289 * gendistlist.sh: Likewise.
40290
40291 * Makefile.in (COMMON_DISTFILES): Removed.
40292 (BOOT_DISTFILES): Likewise.
40293 (CONF_DISTFILES): Likewise.
40294 (DISK_DISTFILES): Likewise.
40295 (FS_DISTFILES): Likewise.
40296 (INCLUDE_DISTFILES): Likewise.
40297 (KERN_DISTFILES): Likewise.
40298 (LOADER_DISTFILES): Likewise.
40299 (TERM_DISTFILES): Likewise.
40300 (UTIL_DISTFILES): Likewise.
40301 (DISTFILES): Likewise.
40302 (uninstall): Uninstall files in $(pkgdata_DATA).
40303 (DISTLIST): New target.
40304 (distdir): Use the contents of the file DISTLIST to get a list of
40305 distributed files.
40306
40307 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40308
40309 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40310 descriptor. This is ported from GRUB Legacy.
40311
40312 * gencmdlist.sh: Added an extra semicolon to make it work with
40313 old sed versions. Reported by Robert Bihlmeyer
40314 <robbe@orcus.priv.at>.
40315
40316 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
40317
40318 Automatic loading of commands is supported.
40319
40320 * normal/main.c (read_command_list): New function.
40321 (grub_normal_execute): Call read_command_list.
40322
40323 * normal/command.c (grub_register_command): Return zero or CMD.
40324 Allocate CMD->NAME from the heap.
40325 Initialize CMD->MODULE_NAME to zero.
40326 Find the same name as well. If the same command is found and it is
40327 a dummy command, overwrite members. If it is not a dummy command,
40328 return zero.
40329 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40330 (grub_command_find): If a dummy command is found, load a module
40331 and retry to find a command only once.
40332
40333 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40334 make sure that each command is loaded.
40335
40336 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40337 macro.
40338 (struct grub_command): Remove const from the member `name'.
40339 Add a new member `module_name'.
40340 (grub_register_command): Return grub_command_t.
40341
40342 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40343 sure that each command is loaded.
40344
40345 * genmk.rb (PModule::rule): Specify a module name without the
40346 suffix ".mod" to gencmdlist.sh.
40347
40348 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40349
40350 * gencmdlist.sh: New file.
40351
40352 * genmk.rb (PModule::rule): Generate a rule for a command list.
40353 Clean command.lst.
40354 Generate command.lst from $(COMMANDFILES).
40355
40356 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40357 (DATA): Added $(pkgdata_DATA).
40358 (install-local): Install files in $(pkgdata_DATA).
40359
40360 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40361
40362 * term/i386/pc/vga.c (debug_command): Removed.
40363 (GRUB_MOD_INIT): Do not register the command "debug".
40364
40365 From Hollis Blanchard:
40366 * commands/configfile.c: New file.
40367 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40368 commands/configfile.c.
40369 (pkgdata_MODULES): Added configfile.mod.
40370 (configfile_mod_SOURCES): New variable.
40371 (configfile_mod_CFLAGS): Likewise.
40372 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40373 commands/configfile.c.
40374 (pkgdata_MODULES): Added configfile.mod.
40375 (configfile_mod_SOURCES): New variable.
40376 (configfile_mod_CFLAGS): Likewise.
40377 * util/grub-emu.c (main): Call grub_configfile_init and
40378 grub_configfile_fini.
40379 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40380 prototype.
40381 [GRUB_UTIL] (grub_configfile_fini): Likewise.
40382
40383 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40384
40385 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40386 address.
40387
40388 * commands/help.c (grub_cmd_help): Do not print newlines after
40389 the last command in print_command_help.
40390
40391 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40392
40393 * commands/default.h: New file.
40394 * commands/timeout.h: Likewise.
40395 * normal/context.c: Likewise.
40396
40397 * util/misc.c: Do not include sys/times.h.
40398 Include sys/time.h and grub/machine/time.h.
40399 (grub_get_rtc): Rewritten with gettimeofday.
40400
40401 * util/grub-emu.c (main): Call grub_default_init and
40402 grub_timeout_init before grub_normal_init, and call
40403 grub_timeout_fini and grub_default_fini after grub_main.
40404
40405 * util/console.c (grub_ncurses_checkkey): Return the read
40406 character or -1.
40407
40408 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40409 timeouts.
40410
40411 * normal/main.c (read_config_file): Push MENU. If this fails,
40412 print an error and wait for a user input.
40413 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40414 If a menu is empty or an error occurs, pop MENU.
40415 (grub_normal_execute): Pop and free MENU after grub_menu_run
40416 returns.
40417
40418 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40419
40420 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40421 include time.h.
40422 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40423 without GRUB_UTIL.
40424 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40425 time.h.
40426 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40427 without GRUB_UTIL.
40428
40429 * include/grub/normal.h (struct grub_menu_list): New struct.
40430 (grub_menu_list_t): New type.
40431 (struct grub_context): New struct.
40432 (grub_context_t): New type.
40433 (grub_register_command): Got rid of EXPORT_FUNC.
40434 (grub_unregister_command): Likewise.
40435 (grub_context_get): New prototype.
40436 (grub_context_get_current_menu): Likewise.
40437 (grub_context_push_menu): Likewise.
40438 (grub_context_pop_menu): Likewise.
40439 [GRUB_UTIL] (grub_default_init): Likewise.
40440 [GRUB_UTIL] (grub_default_fini): Likewise.
40441 [GRUB_UTIL] (grub_timeout_init): Likewise.
40442 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40443
40444 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40445 commands/timeout.c and normal/context.c.
40446 (pkgdata_MODULES): Added default.mod and timeout.mod.
40447 (normal_mod_SOURCES): Added normal/context.c.
40448 (default_mod_SOURCES): New variable.
40449 (default_mod_CFLAGS): Likewise.
40450 (timeout_mod_SOURCES): Likewise.
40451 (timeout_mod_CFLAGS): Likewise.
40452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40453 conf/i386-pc.rmk.
40454 (pkgdata_MODULES): Added default.mod and timeout.mod.
40455 (normal_mod_SOURCES): Added normal/context.c.
40456 (default_mod_SOURCES): New variable.
40457 (default_mod_CFLAGS): Likewise.
40458 (timeout_mod_SOURCES): Likewise.
40459 (timeout_mod_CFLAGS): Likewise.
40460
40461 * Makefile.in (all-local): Added $(MKFILES).
40462
40463 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40464
40465 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40466 (grub_emu_SOURCES): Likewise.
40467 (pkgdata_MODULES): Add `sun.mod'.
40468 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40469 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40470 `partmap/sun.c'.
40471 (pkgdata_MODULES): Add `sun.mod'.
40472 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40473 * include/grub/partition.h (grub_sun_partition_map_init): New
40474 prototype.
40475 (grub_sun_partition_map_fini): Likewise.
40476 * partmap/sun.c: New file.
40477 * util/grub-emu.c (main): Initialize and de-initialize the sun
40478 partitionmap support.
40479
40480 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40481
40482 This implements an Emacs-like menu entry editor.
40483
40484 * normal/menu_entry.c: New file.
40485
40486 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40487 characters to ASCII.
40488 (saved_char): New variable.
40489 (grub_ncurses_checkkey): Rewritten completely.
40490 (grub_ncurses_getkey): Likewise.
40491 (grub_ncurses_init): Call raw instead of cbreak.
40492
40493 * normal/menu.c (print_entry): Do not put a space.
40494 (init_page): Renamed to ...
40495 (grub_menu_init_page): ... this. All callers changed.
40496 (edit_menu_entry): Removed.
40497 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40498
40499 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40500
40501 * kern/misc.c (grub_vprintf): Call grub_refresh.
40502
40503 * normal/menu.c (DISP_LEFT): Renamed to ...
40504 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40505 * normal/menu.c (DISP_UP): Renamed to ...
40506 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40507 * normal/menu.c (DISP_RIGHT): Renamed to ...
40508 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40509 * normal/menu.c (DISP_DOWN): Renamed to ...
40510 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40511 * normal/menu.c (DISP_HLINE): Renamed to ...
40512 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40513 * normal/menu.c (DISP_VLINE): Renamed to ...
40514 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40515 * normal/menu.c (DISP_UL): Renamed to ...
40516 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40517 * normal/menu.c (DISP_UR): Renamed to ...
40518 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40519 * normal/menu.c (DISP_LL): Renamed to ...
40520 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40521 * normal/menu.c (DISP_LR): Renamed to ...
40522 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40523 * normal/menu.c (TERM_WIDTH): Renamed to ...
40524 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40525 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40526 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40527 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40528 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40529 * normal/menu.c (TERM_MARGIN): Renamed to ...
40530 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40531 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40532 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40533 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40534 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40535 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40536 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40537 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40538 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40539 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40540 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40541 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40542 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40543 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40544 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40545 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40546 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40547 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40548 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40549 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40550 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40551 All callers changed.
40552
40553 * include/grub/normal.h: New prototype.
40554
40555 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40556 normal/menu_entry.c.
40557 (normal_mod_SOURCES): Likewise.
40558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40559 (normal_mod_SOURCES): Likewise.
40560
40561 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40562
40563 * include/grub/normal.h (grub_halt_init): New prototype.
40564 (grub_halt_fini): Likewise.
40565 (grub_reboot_init): Likewise.
40566 (grub_reboot_fini): Likewise.
40567
40568 * util/grub-emu.c: Include signal.h.
40569 (main_env): New global variable.
40570 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40571 catch C-c.
40572 (grub_machine_fini): New function.
40573 (main): Call grub_halt_init and grub_reboot_init before
40574 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40575 Call setjmp with MAIN_ENV to go back afterwards.
40576 Call grub_machine_fini right before return.
40577
40578 * include/grub/util/misc.h: Include setjmp.h.
40579 (main_env): New prototype.
40580
40581 * include/grub/kernel.h (grub_machine_fini): New prototype.
40582 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40583 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40584
40585 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40586 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40587 * term/i386/pc/console.c (grub_console_fini): Likewise.
40588
40589 * util/i386/pc/misc.c: New file.
40590
40591 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40592 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40593 commands/i386/pc/reboot.c.
40594
40595 2005-02-14 Guillem Jover <guillem@hadrons.org>
40596
40597 * include/grub/dl.h (grub_dl_check_header): New prototype.
40598 (grub_arch_dl_check_header): Change return type to grub_err_t,
40599 remove size parameter and export function. Update all callers.
40600 * kern/dl.c (grub_dl_check_header): New function.
40601 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40602 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40603 are inside the core.
40604 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40605 independent ELF header checks.
40606 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40607 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40608 `grub_dl_check_header' instead of explicit checks. Check for the
40609 ELF type.
40610 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40611 `grub_dl_check_header' instead of explicit checks. Remove arch
40612 specific ELF header checks.
40613
40614 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40615 argument SIZE.
40616
40617 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40618
40619 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40620 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40621
40622 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40623
40624 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
40625 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
40626 (part_map_iterate): Clear `grub_errno' and return 0 if
40627 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
40628 * partmap/amiga.c (amiga_partition_map_iterate): Return
40629 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40630 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40631
40632 2005-02-01 Guillem Jover <guillem@hadrons.org>
40633
40634 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40635 help info.
40636
40637 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40638
40639 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40640 Removed prototype.
40641 (grub_rescue_cmd_linux): New prototype.
40642 (grub_rescue_cmd_initrd): Likewise.
40643 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40644 `bi_rec'.
40645 (grub_linux_release_mem): Release the memory for the initrd.
40646 (grub_load_linux): Renamed from this...
40647 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40648 Changed `entry' not to be static. Loop over memory regions to
40649 find another one when the default fails.
40650 (grub_rescue_cmd_initrd): New function.
40651 (grub_linux_init): Remove function.
40652 (grub_linux_fini): Likewise.
40653 (GRUB_MOD_INIT): Register `initrd'.
40654 (GRUB_MOD_FINI): Unregister `initrd'.
40655 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40656 Function removed.
40657 (grub_linux_normal_fini): Likewise.
40658 (GRUB_MOD_INIT): Register `initrd'.
40659 (GRUB_MOD_FINI): Unregister `initrd'.
40660
40661 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40662
40663 * commands/help.c: New file.
40664 * normal/arg.c (show_help): Renamed to...
40665 (grub_arg_show_help): ... this.
40666 * commands/i386/pc/halt.c: New file.
40667 * commands/i386/pc/reboot.c: Likewise.
40668 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40669 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40670 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40671 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40672 variables.
40673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40674 `commands/help.c'.
40675 (pkgdata_MODULES): Add `help.mod'.
40676 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40677 * grub/i386/pc/init.h (grub_reboot): New prototype.
40678 (grub_halt): Likewise.
40679 * include/grub/normal.h (grub_arg_show_help): New prototype.
40680 (grub_help_init): Likewise.
40681 (grub_help_fini): Likewise.
40682 * util/grub-emu.c (main): Initialize and deinitialize the help
40683 command.
40684
40685 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40686
40687 * normal/command.c (grub_command_init): Fixed the description of
40688 the `set' and `unset' commands.
40689
40690 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40691
40692 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40693 function.
40694 * commands/ieee1275/halt.c: New file.
40695 * commands/ieee1275/reboot.c: Likewise.
40696 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40697 `__attribute__ ((unused))'. Some GCS related fixed.
40698 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40699 (grub_suspend_fini): Likewise.
40700 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40701 and `halt.mod'.
40702 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40703 (halt_mod_CFLAGS): New variables.
40704 * include/grub/powerpc/ieee1275/ieee1275.h
40705 (grub_ieee1275_interpret): New prototype.
40706
40707 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40708
40709 * include/grub/misc.h (memmove): New prototype.
40710 (memcpy): Likewise.
40711
40712 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40713
40714 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40715 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40716
40717 2005-01-22 Marco Gerards <metgerards@student.han.nl>
40718
40719 * kern/misc.c (grub_strndup): Function rewritten.
40720
40721 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40722
40723 * normal/menu.c (TERM_WIDTH): Macro redefined.
40724 (TERM_TOP_BORDER_Y): Likewise.
40725 (draw_border): Replaced while-loop by a for-loop. Make the number
40726 of lines consistent with the number of lines displayed in
40727 print_entries. Added a margin below the rectangle.
40728 (print_entry): Make the entry fit in the rectangle.
40729 (print_entries): Display the scroll arrows next to the right
40730 border.
40731
40732 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40733
40734 * fs/minix.c (grub_minix_find_file): Reserve more space for
40735 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40736 `grub_strncpy' to copy `path' into it.
40737
40738 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40739
40740 Add the loopback device, a device via which files can be accessed
40741 as devices.
40742
40743 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40744 (pkgdata_MODULES): Add loopback.mod.
40745 (loopback_mod_SOURCES): New variable.
40746 (loopback_mod_CFLAGS): Likewise.
40747 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40748 `disk/loopback.c'.
40749 (pkgdata_MODULES): Add loopback.mod.
40750 (loopback_mod_SOURCES): New variable.
40751 (loopback_mod_CFLAGS): Likewise.
40752 * disk/loopback.c: new file.
40753 * include/grub/normal.h (grub_loop_init): New prototype.
40754 (grub_loop_fini): New prototype.
40755 * util/grub-emu.c (main): Initialize and de-initialize loopback
40756 support.
40757 * include/grub/disk.h (grub_disk_dev_id): Add
40758 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40759
40760 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40761
40762 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40763 function.
40764 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40765 (suspend_mod_SOURCES): New variable.
40766 (suspend_mod_CFLAGS): Likewise.
40767 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40768 New prototype.
40769 * commands/ieee1275/suspend.c: New file.
40770
40771 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40772
40773 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
40774 ((unused))' to `__attribute__ ((used))'.
40775 (GRUB_MOD_FINI): Likewise.
40776 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40777 * genmk.rb (PModule): Assign space to common symbols when linking
40778 modules.
40779
40780 2005-01-20 Marco Gerards <metgerards@student.han.nl>
40781
40782 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40783 `unsigned' arguments to `grub_size_t'.
40784 (grub_malloc): Likewise.
40785 (grub_realloc): Likewise.
40786 (grub_memalign): Likewise.
40787 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40788 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40789 * util/misc.c (grub_malloc): Likewise.
40790 (grub_realloc): Likewise.
40791 * kern/mm.c (get_header_from_pointer): Change the casts to
40792 `unsigned' into a cast to `grub_size_t'.
40793
40794 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40795 point to `currnode' when `currnode' is changed.
40796
40797 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40798 Schottelius <nico-linux@schottelius.org>.
40799
40800 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40801
40802 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40803 (note_path): Remove variable.
40804 (GRUB_IEEE1275_NOTE_NAME): New macro.
40805 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40806 (grub_ieee1275_note_hdr): New structure.
40807 (grub_ieee1275_note_desc): Likewise.
40808 (grub_ieee1275_note): Likewise.
40809 (load_note): Remove `dir' argument. All callers updated. Remove
40810 `note_img' and `path'. Do not load a file from `note_path'.
40811 Initialize a struct grub_ieee1275_note and write that to `out'.
40812 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40813
40814 2005-01-05 Marco Gerards <metgerards@student.han.nl>
40815
40816 * util/misc.c (grub_util_read_image): Revert last change. It
40817 called `grub_util_read_at', which seeks from the beginning of the
40818 file.
40819
40820 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40821
40822 * TODO: Add note about endianness in grub-mkimage.
40823 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40824 section.
40825 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40826 (grub_mkimage_SOURCES): New target.
40827 * include/grub/kernel.h (grub_start_addr): Remove variable.
40828 (grub_end_addr): Likewise.
40829 (grub_total_module_size): Likewise.
40830 (grub_kernel_image_size): Likewise.
40831 (GRUB_MODULE_MAGIC): New constant.
40832 (grub_module_info): New structure.
40833 (grub_arch_modules_addr): New prototype.
40834 (grub_get_end_addr): Remove prototype.
40835 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40836 * include/grub/powerpc/ieee1275/kernel.h: New file.
40837 * include/grub/util/misc.h (grub_util_get_fp_size): New
40838 prototype.
40839 (grub_util_read_at): Likewise.
40840 (grub_util_write_image_at): Likewise.
40841 * kern/main.c (grub_get_end_addr): Remove function.
40842 (grub_load_modules): Call grub_arch_modules_addr instead of using
40843 grub_end_addr. Look for a grub_module_info struct in memory. Use
40844 the grub_module_info fields instead of calling grub_get_end_addr
40845 as loop conditions. Move grub_add_unused_region code here.
40846 (grub_add_unused_region): Remove function.
40847 * kern/i386/pc/init.c: Include grub/cache.h.
40848 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40849 one call to add_mem_region.
40850 (grub_arch_modules_addr): New function.
40851 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40852 (grub_total_module_size): Likewise.
40853 Include grub/machine/kernel.h.
40854 (grub_arch_modules_addr): New function.
40855 * util/grub-emu.c (grub_end_addr): Remove variable.
40856 (grub_total_module_size): Likewise.
40857 (grub_arch_modules_addr): New function.
40858 * util/misc.c: Include unistd.h.
40859 (grub_util_get_fp_size): New function.
40860 (grub_util_read_at): Likewise.
40861 (grub_util_write_image_at): Likewise.
40862 (grub_util_read_image): Call grub_util_read_at.
40863 (grub_util_write_image): Call grub_util_write_image_at.
40864 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40865 additional memory in kernel_img for a struct grub_module_info.
40866 Fill in that grub_module_info.
40867 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40868
40869 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40870
40871 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40872 New function.
40873 * include/grub/powerpc/ieee1275/ieee1275.h
40874 (grub_ieee1275_milliseconds): New prototype.
40875 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40876 Change to 1000.
40877 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40878 grub_ieee1275_milliseconds.
40879
40880 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40881
40882 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40883 variable.
40884 (find_options): New function.
40885 (cmain): Call find_options.
40886 * include/grub/powerpc/ieee1275/ieee1275.h
40887 (grub_ieee1275_realmode): New extern variable.
40888 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40889 grub_map if grub_ieee1275_realmode is false.
40890
40891 2004-12-29 Marco Gerards <metgerards@student.han.nl>
40892
40893 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40894 lines are inserted and make it work like readline. Reported by
40895 Vincent Pelletier <subdino2004@yahoo.fr>.
40896
40897 2004-12-28 Marco Gerards <metgerards@student.han.nl>
40898
40899 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40900
40901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40902 `kern/powerpc/cache.S'.
40903
40904 2004-12-27 Marco Gerards <metgerards@student.han.nl>
40905
40906 * genmk.rb: Handle the `Program' class in the main loop. Written
40907 by Johan Rydberg <jrydberg@gnu.org>.
40908 (Program): New class.
40909 (programs): New variable.
40910 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40911 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40912 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40913 (help_arch): Function removed.
40914 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40915 `powerpc/libgcc.h' and `loader.h'.
40916 (pkgdata_PROGRAMS): New variable.
40917 (sbin_UTILITIES): Variable removed.
40918 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40919 (grubof_SOURCES): Variable re-defined so it only includes the
40920 core functionality.
40921 (grubof_CFLAGS): Remove `-DGRUBOF'.
40922 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40923 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40924 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40925 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40926 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40927 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40928 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40929 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40930 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40931 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40932 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40933 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40934 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40935 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40936 (pc_mod_CFLAGS): New variables.
40937 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40938 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40939 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40940 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40941 Moved from here...
40942 * include/grub/i386/pc/init.h (grub_os_area_addr)
40943 (rub_os_area_size): ... to here.
40944 * include/grub/powerpc/ieee1275/ieee1275.h
40945 (grub_ieee1275_entry_fn): Export symbol.
40946 * include/grub/powerpc/ieee1275/init.h: New file.
40947 * include/grub/powerpc/libgcc.h: Likewise.
40948 * include/grub/cache.h: Likewise.
40949 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40950 <hollis@penguinppc.org>.
40951 * kern/dl.c: Include <grub/cache.h>.
40952 (grub_dl_flush_cache): New function.
40953 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40954 for this module.
40955 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40956 (grub_console_init): Removed prototypes.
40957 (grub_machine_init): Don't initialize the modules anymore.
40958 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40959 static.
40960 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40961 Macro undef removed.
40962 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40963 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40964 relocation `R_PPC_REL32'. Return an error when the relocation is
40965 unknown.
40966 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40967 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40968 * util/misc.c (grub_arch_sync_caches): Likewise.
40969
40970 2004-12-19 Marco Gerards <metgerards@student.han.nl>
40971
40972 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40973 `symlist.c', add `grubof_symlist.c'.
40974 (symlist.c): Variable removed.
40975 (grubof_HEADERS): Variable added.
40976 (grubof_symlist.c): New target.
40977 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40978 `kernel_img_HEADERS'.
40979 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
40980 * kern/powerpc/dl.c: New file.
40981 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
40982 Function removed.
40983 (grub_arch_dl_relocate_symbols): Likewise.
40984 (grub_register_exported_symbols): Likewise.
40985
40986 2004-12-13 Marco Gerards <metgerards@student.han.nl>
40987
40988 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
40989 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
40990 to fail instead. Reported by Vincent Pelletier
40991 <subdino2004@yahoo.fr>.
40992
40993 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
40994 it is not allocated. Reported by Vincent Pelletier
40995 <subdino2004@yahoo.fr>.
40996
40997 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
40998 output so the output looks better.
40999
41000 2004-12-04 Marco Gerards <metgerards@student.han.nl>
41001
41002 Modulize the partition map support and add support for the amiga
41003 partition map.
41004
41005 * commands/ls.c: Include <grub/partition.h> instead of
41006 <grub/machine/partition.h>.
41007 * kern/disk.c: Likewise.
41008 * kern/rescue.c: Likewise.
41009 * loader/i386/pc/chainloader.c: Likewise.
41010 * normal/cmdline.c: Likewise.
41011 * kern/powerpc/ieee1275/init.c: Likewise.
41012 (grub_machine_init): Call `grub_pc_partition_map_init',
41013 `grub_amiga_partition_map_init' and
41014 `grub_apple_partition_map_init'.
41015 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
41016 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
41017 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
41018 `partition.h' and `pc_partition.h'.
41019 (grub_setup_SOURCES): Remove
41020 `disk/i386/pc/partition.c'. Add `kern/partition.c',
41021 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41022 (grub_emu_SOURCES): Likewise.
41023 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
41024 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
41025 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
41026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41027 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
41028 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
41029 (grubof_SOURCES): Likewise.
41030 * disk/i386/pc/partition.c: File removed.
41031 * disk/powerpc/ieee1275/partition.c: Likewise.
41032 * include/grub/powerpc/ieee1275/partition.h: Likewise.
41033 * include/grub/i386/pc/partition.h: Likewise.
41034 * kern/partition.c: New file.
41035 * partmap/amiga.c: Likewise.
41036 * partmap/apple.c: Likewise.
41037 * partmap/pc.c: Likewise.
41038 * include/grub/partition.h: Likewise..
41039 * include/grub/pc_partition.h: Likewise.
41040 * util/grub-emu.c: Include <grub/partition.h> instead of
41041 <grub/machine/partition.h>.
41042 (main): Call `grub_pc_partition_map_init',
41043 `grub_amiga_partition_map_init' and
41044 `grub_apple_partition_map_init' and deinitialize afterwards.
41045 * util/i386/pc/biosdisk.c: Include `#include
41046 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41047 `<grub/machine/partition.h>'.
41048 * util/i386/pc/grub-setup.c: Likewise.
41049 * util/i386/pc/biosdisk.c: Likewise.
41050 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
41051 partition information in case of a PC partition.
41052 * util/i386/pc/grub-setup.c: Include `#include
41053 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
41054 `<grub/machine/partition.h>'.
41055 (setup): Only access the PC specific partition information in case
41056 of a PC partition.
41057
41058 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
41059
41060 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
41061 (grub_longjmp): Likewise.
41062 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
41063 20.
41064 * normal/powerpc/setjmp.S: New file.
41065 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41066 `normal/powerpc/setjmp.S'.
41067 (grubof_CFLAGS): Add `-DGRUBOF'.
41068 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
41069 [GRUB_UTIL && !GRUBOF].
41070
41071 2004-11-16 Marco Gerards <metgerards@student.han.nl>
41072
41073 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41074 property named `name'. Correctly handle the error returned by
41075 `grub_ieee1275_finddevice' if a device can not be opened.
41076
41077 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41078
41079 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41080 `actual' for negativity.
41081 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41082 kern/fshelp.c.
41083
41084 2004-11-01 Marco Gerards <metgerards@student.han.nl>
41085
41086 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41087 (PAGE_OFFSET): New macro.
41088 (CRTC_ADDR_PORT): Likewise.
41089 (CRTC_DATA_PORT): Likewise.
41090 (START_ADDR_HIGH_REGISTER): Likewise.
41091 (START_ADDR_LOW_REGISTER): Likewise.
41092 (GRAPHICS_ADDR_PORT): Likewise.
41093 (GRAPHICS_DATA_PORT): Likewise.
41094 (READ_MAP_REGISTER): Likewise.
41095 (INPUT_STATUS1_REGISTER): Likewise.
41096 (INPUT_STATUS1_VERTR_BIT): Likewise.
41097 (page): New variable.
41098 (wait_vretrace): New function.
41099 (set_read_map): Likewise.
41100 (set_start_address): Likewise.
41101 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41102 the right page.
41103 (check_vga_mem): Take the page into account.
41104 (write_char): Likewise.
41105 (write_cursor): Likewise.
41106 (scroll_up): Likewise. Copy the page to the page that is not
41107 shown and switch between both pages.
41108 (grub_vga_putchar): Fix off by one error.
41109 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41110 account.
41111
41112 2004-11-01 Marco Gerards <metgerards@student.han.nl>
41113
41114 Add support for iso9660 (including rockridge).
41115
41116 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41117 (iso9660_mod_SOURCES): New variable.
41118 (iso9660_mod_CFLAGS): Likewise.
41119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41120 * include/grub/fs.h (grub_iso9660_init): New prototype.
41121 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41122 * fs/iso9660.c: New file.
41123
41124 * include/grub/misc.h (grub_strncat): New prototype.
41125 * kern/misc.c (grub_strncat): New function.
41126
41127 * fs/hfs.c (grub_hfs_mount): Translate the error
41128 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41129 * fs/jfs.c (grub_jfs_mount): Likewise.
41130 * fs/ufs.c (grub_ufs_mount): Likewise.
41131
41132 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41133
41134 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41135 which initialized BAT registers.
41136 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41137 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41138 Move from here...
41139 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41140 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41141 ... to here.
41142 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41143 (grub_mapclaim): Likewise.
41144 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41145 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41146 hand.
41147
41148 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41149
41150 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41151 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41152 -ffreestanding and -msoft-float.
41153
41154 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41155
41156 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41157 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41158 set in grub_ieee1275_flags.
41159
41160 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41161
41162 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41163 prototype.
41164 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41165 grub_console_init first.
41166 Change the memory range used for grub_ieee1275_claim and
41167 grub_mm_init_region.
41168 Print an error message if the claim fails.
41169 Include <grub/misc.h>.
41170
41171 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41172
41173 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41174 Call grub_children_iterate for device nodes of type `scsi',
41175 `ide', or `ata'.
41176 (grub_ofdisk_open): Remove manual device alias resolution.
41177 Fix memory leak when device cannot be opened.
41178 * include/grub/powerpc/ieee1275/ieee1275.h
41179 (grub_children_iterate): New prototype.
41180 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41181 New function.
41182 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41183 Return -1 if args.size was -1.
41184
41185 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41186
41187 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41188 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41189 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41190 Open Firmware's memory for it; claim memory from _start to _end.
41191 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41192 (_end): New extern.
41193 (_start): Zero BSS from __bss_start to _end.
41194 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41195 New extern.
41196 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41197
41198 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41199
41200 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41201 -1 if args.base was -1.
41202
41203 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41204
41205 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41206 escape sequence instead of a literal ^L. Also call
41207 grub_ofconsole_gotoxy.
41208
41209 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41210
41211 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41212 void * arguments to grub_addr_t. All callers updated. Also make
41213 the `result' argument optional.
41214 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41215 All callers updated.
41216
41217 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41218
41219 * commands/ls.c (grub_ls_list_files): Use the string following the
41220 initial ')', if present, as the filesystem path.
41221 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41222
41223 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41224
41225 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41226
41227 Make the source code of the menu interface more readable.
41228
41229 * normal/menu.c: Include grub/mm.h.
41230 (TERM_WIDTH): New macro.
41231 (TERM_HEIGHT): Likewise.
41232 (TERM_INFO_HEIGHT): Likewise.
41233 (TERM_MARGIN): Likewise.
41234 (TERM_SCROLL_WIDTH): Likewise.
41235 (TERM_TOP_BORDER_Y): Likewise.
41236 (TERM_LEFT_BORDER_X): Likewise.
41237 (TERM_BORDER_WIDTH): Likewise.
41238 (TERM_MESSAGE_HEIGHT): Likewise.
41239 (TERM_BORDER_HEIGHT): Likewise.
41240 (TERM_NUM_ENTRIES): Likewise.
41241 (TERM_FIRST_ENTRY_Y): Likewise.
41242 (TERM_ENTRY_WIDTH): Likewise.
41243 (TERM_CURSOR_X): Likewise.
41244 (draw_border): Use macros instead of magic numbers.
41245 (print_entry): Likewise.
41246 (print_entries): Likewise.
41247 (run_menu): Likewise. Also, handle the key 'e'.
41248 (run_menu_entry): Ignore empty command lines.
41249 (print_message): Added a new argument EDIT. If EDIT is true,
41250 print a different message.
41251 (init_page): Likewise.
41252 (edit_menu_entry): New function. Not implemented yet.
41253
41254 2004-09-17 Marco Gerards <metgerards@student.han.nl>
41255
41256 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41257 can be loaded from normal mode.
41258
41259 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41260 `multiboot.mod'.
41261 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41262 (multiboot_mod_CFLAGS): New variables.
41263 * loader/i386/pc/linux_normal.c: New file.
41264 * loader/i386/pc/multiboot_normal.c: Likewise.
41265
41266 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41267 attribute `unused'.
41268
41269 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41270 `fdiro' to read the mode information from instead of `diro'.
41271
41272 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41273 looking up a symlink.
41274
41275 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41276 macro.
41277 * normal/command.c (grub_command_execute): Don't parse the
41278 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41279 flags of the command.
41280
41281 * normal/menu.c (grub_menu_run): Fix typo.
41282
41283 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41284
41285 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41286
41287 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41288 `y + 1' instead of `y - 1'.
41289
41290 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
41291
41292 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41293
41294 From Hollis Blanchard <hollis@penguinppc.org>:
41295 * kern/misc.c (memmove): New alias for grub_memmove.
41296 (memcmp): New alias for grub_memcmp.
41297 (memset): New alias for grub_memset.
41298 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41299 Change "int handle" to "grub_ieee1275_phandle_t handle".
41300 * include/grub/powerpc/ieee1275/ieee1275.h
41301 (grub_ieee1275_get_property): Likewise.
41302
41303 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41304
41305 Added normal mode command `chainloader' as module chain.mod, which
41306 depends on normal.mod and _chain.mod.
41307
41308 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41309 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41310 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41311 Deleted prototype.
41312 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41313 but arguments parsing moved to ...
41314 (grub_chainloader_cmd): ... here. New function.
41315 * include/grub/i386/pc/chainloader.h: New file.
41316 * loader/i386/pc/chainloader_normal.c: Likewise.
41317
41318 2004-09-11 Marco Gerards <metgerards@student.han.nl>
41319
41320 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41321 (grub_mkimage_LDFLAGS): Likewise.
41322 (grub_emu_SOURCES): Likewise.
41323 (kernel_img_HEADERS): Added fshelp.h.
41324 * fs/ext2.c: Include <grub/fshelp.h>.
41325 (FILETYPE_REG): New macro.
41326 (FILETYPE_INO_REG): Likewise.
41327 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41328 Changed all users.
41329 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41330 all users.
41331 (grub_fshelp_node): New struct.
41332 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41333 to a pointer.
41334 (grub_ext2_get_file_block): Removed function.
41335 (grub_ext2_read_block): New function.
41336 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41337 This function was written.
41338 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41339 (grub_ext2_find_file): Removed function.
41340 (grub_ext2_read_symlink): New function.
41341 (grub_ext2_iterate_dir): Likewise.
41342 (grub_ext2_open): Rewritten.
41343 (grub_ext2_dir): Rewritten.
41344 * include/grub/fshelp.h: New file.
41345 * fs/fshelp.c: Likewise.
41346
41347 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41348
41349 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41350 (print_message): Add a missing newline.
41351 (run_menu): Added timeout support.
41352 (run_menu_entry): New local function.
41353 (grub_menu_run): Added support for booting.
41354
41355 * kern/loader.c (grub_loader_is_loaded): New function.
41356
41357 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41358 (grub_get_rtc): Exported.
41359
41360 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41361 (grub_get_rtc): Exported.
41362
41363 * include/grub/normal.h (struct grub_command_list): Remove
41364 constant from the member `command'.
41365
41366 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41367
41368 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41369
41370 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41371
41372 2004-08-28 Marco Gerards <metgerards@student.han.nl>
41373
41374 Add support for the JFS filesystem.
41375
41376 * fs/jfs.c: New file.
41377 * include/grub/fs.h (grub_jfs_init): New prototype.
41378 (grub_jfs_fini): New prototype.
41379 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41380 (grub_emu_SOURCES): Likewise.
41381 (pkgdata_MODULES): Add jfs.mod.
41382 (jfs_mod_SOURCES): New variable.
41383 (jfs_mod_CFLAGS): Likewise.
41384 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41385 (grubof_SOURCES): Likewise.
41386 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41387
41388 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41389 endian to the host endian.
41390 (grub_fat_utf16_to_utf8): Move function from there...
41391 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
41392 the endianness of the source string anymore.
41393 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41394
41395 2004-08-24 Marco Gerards <metgerards@student.han.nl>
41396
41397 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41398 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41399 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41400 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
41401
41402 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41403 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41404 for `node_found' and `it_dir'.
41405 (grub_hfs_dir): Add prototype for `dir_hook'.
41406
41407 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41408 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41409 and `indir32' to silence a gcc warning.
41410
41411 * include/grub/fs.h (grub_hfs_init): New prototype.
41412 (grub_hfs_fini): Likewise.
41413
41414
41415 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41416
41417 Each disk device has its own id now. This is useful to make use
41418 of multiple disk devices.
41419
41420 * include/grub/disk.h (grub_disk_dev_id): New enum.
41421 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41422 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41423
41424 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41425 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41426
41427 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41428 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41429
41430 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41431 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41432
41433 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41434 "id" which is used by the cache manager.
41435
41436 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41437 of just "GRUB".
41438
41439 2004-08-18 Marco Gerards <metgerards@student.han.nl>
41440
41441 * fs/hfs.c: New file.
41442 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41443 (grub_emu_SOURCES): Likewise.
41444 (pkgdata_MODULES): Add hfs.mod.
41445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41446 (grubof_SOURCES): Likewise.
41447 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41448
41449 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41450 * kern/misc.c (grub_strncasecmp): Add function.
41451
41452 2004-08-14 Marco Gerards <metgerards@student.han.nl>
41453
41454 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41455 with parentheses.
41456
41457 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41458 (grub_ext2_dir): In case the directory entry type is unknown, read
41459 it from the inode.
41460
41461 2004-08-02 Peter Bruin <pjbruin@dds.nl>
41462
41463 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41464 grub_load_linux instead of grub_rescue_cmd_linux as second
41465 argument of grub_rescue_register_command.
41466
41467 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41468
41469 2004-07-27 Marco Gerards <metgerards@student.han.nl>
41470
41471 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41472 function.
41473 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41474 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41475 `loader/powerpc/ieee1275/linux.c',
41476 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41477 * include/grub/powerpc/ieee1275/ieee1275.h
41478 (grub_ieee1275_release): New prototype.
41479 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41480 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41481 normal, boot, linux and linux_normal.
41482 * loader/powerpc/ieee1275/linux.c: New file.
41483 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41484
41485 2004-07-12 Marco Gerards <metgerards@student.han.nl>
41486
41487 * normal/arg.c (grub_arg_parse): Correct error handling after
41488 reallocating the argumentlist (check if `argl' is not null instead
41489 of checking if `args' is not null).
41490 * kern/mm.c (grub_realloc): Return the same pointer when using the
41491 same region, instead of returning the header address.
41492
41493 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41494
41495 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41496 one block instead of two when looking for the initial partition.
41497 (grub_partition_probe): Initialize the local variable `p' with 0.
41498 Use base 10 for the grub_strtoul call.
41499 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41500 need for one local variable.
41501 (grub_strtoul): Don't add the new value to `num', instead of that
41502 just assign it.
41503
41504 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41505
41506 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41507 (pxeboot_img_SOURCES): New variable.
41508 (pxeboot_img_ASFLAGS): Likewise.
41509 (pxeboot_img_LDFLAGS): Likewise.
41510 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41511 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41512 <lode_leroy@hotmail.com>.
41513
41514 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41515
41516 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41517 there was no input.
41518
41519 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41520
41521 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41522 the history buffer logic.
41523
41524 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41525
41526 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41527 (FILETYPE_INO_SYMLINK): New macros.
41528 (grub_ext2_find_file): Check if the node is a directory using the
41529 inode stat information instead of using the filetype in the
41530 dirent. Exclude the first character of an absolute symlink.
41531 (grub_ext2_dir): Mask out the filetype part of the mode member of
41532 the inode.
41533
41534 2004-05-24 Marco Gerards <metgerards@student.han.nl>
41535
41536 Add support for UFS version 1 and 2. Add support for the minix
41537 filesystem version 1 and 2, both the variants with 14 and 30 long
41538 filenames.
41539
41540 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41541 fs/minix.c.
41542 (grub_emu_SOURCES): Likewise.
41543 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41544 (ufs_mod_SOURCES): New variable.
41545 (ufs_mod_CFLAGS): Likewise.
41546 (minix_mod_SOURCES): Likewise.
41547 (minix_mod_CFLAGS): Likewise.
41548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41549 fs/minix.c.
41550 (grubof_SOURCES): Likewise.
41551 * fs/ufs.c: New file.
41552 * fs/minix.c: New file.
41553 * include/grub/fs.h (grub_ufs_init): New prototype.
41554 (grub_ufs_fini): Likewise.
41555 (grub_minix_init): Likewise.
41556 (grub_minix_fini): Likewise.
41557 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41558 minix fs.
41559
41560 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41561
41562 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41563 commands/ls.c, commands/terminal.c, commands/boot.c,
41564 commands/cmp.c and commands/cat.c.
41565 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41566
41567 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41568 "env.h"
41569
41570 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41571
41572 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41573 and grub_, respectively. Because the conversion is trivial and
41574 mechanical, I omit the details here. Please refer to the CVS
41575 if you need more information.
41576
41577 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41578
41579 * include/pupa: Renamed to ...
41580 * include/grub: ... this.
41581 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41582 * util/i386/pc/grub-mkimage.c: ... this.
41583 * util/i386/pc/pupa-setup.c: Renamed to ...
41584 * util/i386/pc/grub-setup.c: ... this.
41585 * util/pupa-emu.c: Renamed to ...
41586 * util/grub-emu.c: ... this.
41587
41588 2004-03-29 Marco Gerards <metgerards@student.han.nl>
41589
41590 Add support for the newworld apple macintosh (PPC). This has been
41591 tested on the powerbook 2000 only. It only adds support for
41592 generic ieee1275 functions, console and disk support. This should
41593 be easy to port to other architectures with support for Open
41594 Firmware.
41595
41596 * configure.ac: Accept the powerpc as host_cpu. In the case of
41597 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41598 specific tests are only executed while building for the i386.
41599 Inverse test for crosscompile.
41600 * genmk.rb (Utility): Allow assembler files.
41601 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41602 * conf/powerpc-ieee1275.rmk: New file.
41603 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41604 * disk/powerpc/ieee1275/partition.c: Likewise.
41605 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41606 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41607 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41608 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41609 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41610 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41611 * include/pupa/powerpc/ieee1275/loader.h
41612 * include/pupa/powerpc/setjmp.h: Likewise.
41613 * include/pupa/powerpc/types.h: Likewise.
41614 * kern/powerpc/ieee1275/init.c: Likewise.
41615 * kern/powerpc/ieee1275/openfw.c: Likewise.
41616 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41617
41618 These files were written by Johan Rydberg
41619 (jrydberg@night.trouble.net) and I only modified them slightly.
41620
41621 * boot/powerpc/ieee1275/cmain.c: New file.
41622 * boot/powerpc/ieee1275/crt0.S: Likewise.
41623 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41624 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41625
41626 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41627
41628 * Makefile.in: Update copyright.
41629 * genmodsrc.sh: Likewise.
41630 * gensymlist.sh: Likewise.
41631 * term/i386/pc/vga.c: Indent correctly.
41632
41633 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41634 bugreporting address.
41635 * util/i386/pc/pupa-setup.c (usage): Likewise,
41636 (main): Call pupa_ext2_init and pupa_ext2_fini.
41637
41638 * fs/fat.c (log2): Renamed to ...
41639 (fat_log2): ... this.
41640 All callers changed.
41641 * kern/misc.c (memcpy): Alias to pupa_memmove.
41642 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41643 lvalue cast.
41644 * util/console.c (pupa_ncurses_fini): Return 0.
41645
41646 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41647 Move fail label here.
41648 [__GNU__]: Don't warn when using stat.
41649 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41650 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41651 long int. Use strtol instead of strtoul.
41652
41653 2004-03-14 Marco Gerards <metgerards@student.han.nl>
41654
41655 * commands/boot.c: New file.
41656 * commands/cat.c: Likewise.
41657 * commands/cmp.c: Likewise.
41658 * commands/ls.c: Likewise.
41659 * commands/terminal.c: Likewise.
41660 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41661 (pupa_register_command): Changed interface to match the new
41662 argument parser.
41663 (pupa_command_execute): Changed (almost rewritten) so it uses
41664 pupa_split_command. Added support for setting variables using the
41665 syntax `foo=bar'.
41666 (rescue_command): Changed to work with the new argument parser.
41667 (terminal_command): Moved from here to commands/terminal.c.
41668 (set_command): New function.
41669 (unset_command): New function.
41670 (insmod_command): New function.
41671 (rmmod_command): New function.
41672 (lsmod_command): New function.
41673 (pupa_command_init): Don't initialize the command terminal
41674 anymore. Initialize the commands set, unset, insmod, rmmod and
41675 lsmod.
41676 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41677 (kernel_img_HEADERS): Add arg.h and env.h.
41678 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41679 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41680 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41681 normal/arg.c.
41682 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41683 terminal.mod.
41684 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41685 (boot_mod_SOURCES): New variable.
41686 (terminal_mod_SOURCES): Likewise.
41687 (ls_mod_SOURCES): Likewise.
41688 (cmp_mod_SOURCES): Likewise.
41689 (cat_mod_SOURCES): Likewise.
41690
41691 * normal/arg.c: New file.
41692 * kern/env.c: Likewise.
41693 * include/pupa/arg.h: Likewise.
41694 * include/pupa/env.h: Likewise.
41695 * font/manager.c (font_command): Changed to match argument parsing
41696 interface changes.
41697 (PUPA_MOD_INIT): Likewise.
41698 * hello/hello.c (pupa_cmd_hello): Likewise.
41699 (PUPA_MOD_INIT): Likewise.
41700 * include/pupa/disk.h: Include <pupa/device.h>.
41701 (pupa_print_partinfo): New prototype.
41702 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41703 (pupa_dl_get_prefix): Likewise.
41704 * include/pupa/misc.h: Include <pupa/err.h>.
41705 (pupa_isgraph): New prototype.
41706 (pupa_isdigit): Likewise.
41707 (pupa_split_cmdline): Likewise.
41708 * include/pupa/normal.h: Include <pupa/arg.h>.
41709 (pupa_command): Changed the prototype of the member `func' to
41710 match the argument parsing interface. Added member `options'.
41711 (pupa_register_command): Updated to match function.
41712 (pupa_arg_parse): New prototype.
41713 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41714 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41715 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41716 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41717 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41718 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41719 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41720 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41721 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41722 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41723 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41724 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41725 * kern/disk.c: Include <pupa/file.h>.
41726 (pupa_print_partinfo): New function.
41727 * kern/dl.c: Include <pupa/env.h>.
41728 (pupa_dl_dir): Variable removed.
41729 (pupa_dl_load): Use the environment variable `prefix' instead of
41730 the variable pupa_dl_dir.
41731 (pupa_dl_set_prefix): Function removed.
41732 (pupa_dl_get_prefix): Likewise.
41733 * kern/i386/pc/init.c: Include <pupa/env.h>.
41734 (pupa_machine_init): Use the environment variable `prefix' instead of
41735 using pupa_dl_set_prefix to set the prefix.
41736 * kern/main.c: Include <pupa/env.h>.
41737 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41738 using pupa_dl_get_prefix to get the prefix.
41739 * kern/misc.c: Include <pupa/env.h>.
41740 (pupa_isdigit): New function.
41741 (pupa_isgraph): Likewise.
41742 (pupa_ftoa): Likewise.
41743 (pupa_vsprintf): Added support for printing values of the type
41744 `double'. Make it possible to format variable output when using
41745 formatting like `%1.2%f'.
41746 (pupa_split_cmdline): New function.
41747 * kern/rescue.c: Include <pupa/env.h>.
41748 (next_word): Removed function.
41749 (pupa_rescue_cmd_prefix): Likewise.
41750 (pupa_rescue_cmd_set): New function.
41751 (pupa_rescue_cmd_unset): New function.
41752 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41753 split the command line instead of splitting it here. Added
41754 support for setting variables using the syntax `foo=bar'. Don't
41755 initialize the prefix command anymore. Initialized the set and
41756 unset commands.
41757 * normal/cmdline.c: Include <pupa/env.h>.
41758 (pupa_tab_complete): Added prototypes for print_simple_completion,
41759 print_partition_completion, add_completion, iterate_commands,
41760 iterate_dev, iterate_part and iterate_dir. Moved code to print
41761 partition information from here to kern/disk.c.
41762 (pupa_cmdline_run): Don't check if the function exists anymore.
41763 * normal/main.c: Include <pupa/env.h>.
41764 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41765 instead of using pupa_dl_get_prefix to get the prefix.
41766 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41767 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41768 warning.
41769 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41770 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41771 ((unused))' to silence a gcc warning.
41772 (pupa_vga_setcolor): Likewise.
41773 (debug_command): Changed to match argument parsing
41774 interface changes.
41775 * util/pupa-emu.c: Include <pupa/env.h>.
41776 (options): Added 0's for unused fields to silence a gcc warning.
41777 (argp): Likewise.
41778 (main): Use the environment variable `prefix' instead of using
41779 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41780 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41781 and terminal.
41782
41783 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41784 * util/misc.c: Include <malloc.h>.
41785 (pupa_malloc): Rewritten so errors are correctly reported.
41786 (pupa_realloc): Likewise.
41787 (pupa_memalign): Likewise.
41788 (pupa_mm_init_region): Declare unused variables with
41789 `__attribute__ ((unused))' to silence a gcc warning.
41790 * normal/i386/setjmp.S: Remove tab at the end of the file to
41791 silence a gcc warning.
41792 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41793 variables with `__attribute__ ((unused))' to silence a gcc
41794 warning.
41795 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41796 local variable i unsigned to silence a gcc warning.
41797
41798 * kern/term.c: Include <pupa/misc.h>.
41799 (pupa_more_lines): New variable.
41800 (pupa_more): Likewise.
41801 (pupa_putcode): When the pager is active pause at the end of every
41802 screen.
41803 (pupa_set_more): New function.
41804 * include/pupa/term.h (pupa_set_more): New prototype.
41805
41806
41807 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41808
41809 Now this project is GRUB 2 rather than PUPA. The location of
41810 the CVS repository was moved to GRUB's.
41811
41812 * configure.ac: Use bug-grub as the reporting address.
41813 Use GRUB instead of PUPA.
41814 Change the version number to 1.90.
41815
41816 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41817
41818 * genkernsyms.sh: Updated copyright information.
41819 * genmk.rb: Likewise.
41820 * genmodsrc.sh: Likewise.
41821 * gensymlist.sh: Likewise.
41822 * boot/i386/pc/boot.S: Likewise.
41823 * boot/i386/pc/diskboot.S: Likewise.
41824 * disk/i386/pc/biosdisk.c: Likewise.
41825 * disk/i386/pc/partition.c: Likewise.
41826 * font/manager.c: Likewise.
41827 * fs/ext2.c: Likewise.
41828 * fs/fat.c: Likewise.
41829 * include/pupa/boot.h: Likewise.
41830 * include/pupa/device.h: Likewise.
41831 * include/pupa/disk.h: Likewise.
41832 * include/pupa/dl.h: Likewise.
41833 * include/pupa/elf.h: Likewise.
41834 * include/pupa/err.h: Likewise.
41835 * include/pupa/file.h: Likewise.
41836 * include/pupa/font.h: Likewise.
41837 * include/pupa/fs.h: Likewise.
41838 * include/pupa/kernel.h: Likewise.
41839 * include/pupa/loader.h: Likewise.
41840 * include/pupa/misc.h: Likewise.
41841 * include/pupa/mm.h: Likewise.
41842 * include/pupa/net.h: Likewise.
41843 * include/pupa/normal.h: Likewise.
41844 * include/pupa/rescue.h: Likewise.
41845 * include/pupa/setjmp.h: Likewise.
41846 * include/pupa/symbol.h: Likewise.
41847 * include/pupa/term.h: Likewise.
41848 * include/pupa/types.h: Likewise.
41849 * include/pupa/i386/setjmp.h: Likewise.
41850 * include/pupa/i386/types.h: Likewise.
41851 * include/pupa/i386/pc/biosdisk.h: Likewise.
41852 * include/pupa/i386/pc/boot.h: Likewise.
41853 * include/pupa/i386/pc/console.h: Likewise.
41854 * include/pupa/i386/pc/init.h: Likewise.
41855 * include/pupa/i386/pc/kernel.h: Likewise.
41856 * include/pupa/i386/pc/linux.h: Likewise.
41857 * include/pupa/i386/pc/loader.h: Likewise.
41858 * include/pupa/i386/pc/memory.h: Likewise.
41859 * include/pupa/i386/pc/multiboot.h: Likewise.
41860 * include/pupa/i386/pc/partition.h: Likewise.
41861 * include/pupa/i386/pc/time.h: Likewise.
41862 * include/pupa/i386/pc/vga.h: Likewise.
41863 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41864 * include/pupa/util/getroot.h: Likewise.
41865 * include/pupa/util/misc.h: Likewise.
41866 * include/pupa/util/resolve.h: Likewise.
41867 * kern/device.c: Likewise.
41868 * kern/disk.c: Likewise.
41869 * kern/dl.c: Likewise.
41870 * kern/err.c: Likewise.
41871 * kern/file.c: Likewise.
41872 * kern/fs.c: Likewise.
41873 * kern/loader.c: Likewise.
41874 * kern/main.c: Likewise.
41875 * kern/misc.c: Likewise.
41876 * kern/mm.c: Likewise.
41877 * kern/rescue.c: Likewise.
41878 * kern/term.c: Likewise.
41879 * kern/i386/dl.c: Likewise.
41880 * kern/i386/pc/init.c: Likewise.
41881 * kern/i386/pc/lzo1x.S: Likewise.
41882 * kern/i386/pc/startup.S: Likewise.
41883 * loader/i386/pc/chainloader.c: Likewise.
41884 * loader/i386/pc/linux.c: Likewise.
41885 * loader/i386/pc/multiboot.c: Likewise.
41886 * normal/cmdline.c: Likewise.
41887 * normal/command.c: Likewise.
41888 * normal/main.c: Likewise.
41889 * normal/menu.c: Likewise.
41890 * normal/i386/setjmp.S: Likewise.
41891 * term/i386/pc/console.c: Likewise.
41892 * term/i386/pc/vga.c: Likewise.
41893 * util/console.c: Likewise.
41894 * util/genmoddep.c: Likewise.
41895 * util/misc.c: Likewise.
41896 * util/pupa-emu.c: Likewise.
41897 * util/resolve.c: Likewise.
41898 * util/unifont2pff.rb: Likewise.
41899 * util/i386/pc/biosdisk.c: Likewise.
41900 * util/i386/pc/getroot.c: Likewise.
41901 * util/i386/pc/pupa-mkimage.c: Likewise.
41902 * util/i386/pc/pupa-setup.c: Likewise.
41903
41904 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41905
41906 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41907 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41908 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41909 reading and reset it after reading.
41910 (pupa_ext2_close): Return PUPA_ERR_NONE.
41911
41912 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41913 Correct value.
41914 (struct linux_kernel_header): Add kernel_version and
41915 initrd_addr_max.
41916 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41917 pupa_file_read succeeds.
41918 (pupa_rescue_cmd_initrd): Implement.
41919
41920 2003-12-03 Marco Gerards <metgerards@student.han.nl>
41921
41922 * fs/ext2.c (pupa_ext2_label): New function.
41923 (pupa_ext2_fs): Added label.
41924 * fs/fat.c (pupa_fat_label): New function.
41925 (pupa_fat_fs): Added label.
41926 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41927
41928 * kern/misc.c (pupa_strndup): New function.
41929 * include/pupa/misc.h (pupa_strndup): New prototype.
41930
41931 * include/pupa/normal.h: Include <pupa/err.h>.
41932 (pupa_set_history): New prototype.
41933 (pupa_iterate_commands): New prototype.
41934 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41935 <pupa/disk.h>, <pupa/file.h>.
41936 (hist_size): New variable.
41937 (hist_lines): Likewise.
41938 (hist_end): Likewise.
41939 (hist_used): Likewise.
41940 (pupa_set_history): New function.
41941 (pupa_history_get): Likewise.
41942 (pupa_history_add): Likewise.
41943 (pupa_history_replace): Likewise.
41944 (pupa_tab_complete): Likewise.
41945 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41946 completion shows partitionnames while completing partitions, this
41947 feature was suggested by Jeff Bailey.
41948 * normal/command.c (pupa_iterate_commands): New function.
41949 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41950 (pupa_normal_init): Initialize history buffer.
41951 (PUPA_MOD_INIT): Likewise.
41952 (pupa_normal_fini): Free the history buffer.
41953 (PUPA_MOD_FINI): Likewise.
41954
41955 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41956 key.
41957
41958 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41959 * configure.ac [i386]: Check for regparam bug.
41960 (NESTED_FUNC_ATTR) [! i386]: Defined.
41961
41962 2003-11-17 Marco Gerards <metgerards@student.han.nl>
41963
41964 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41965 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41966 (pupa_emu_SOURCES): New variable.
41967 (pupa_emu_LDFLAGS): Likewise.
41968 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41969 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41970 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41971 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41972 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41973 (pupa_jmp_buf): New typedef.
41974 (pupa_setjmp) [PUPA_UTIL]: New macro.
41975 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41976 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41977 (pupa_refresh): New prototype.
41978 * include/pupa/util/getroot.h: New file.
41979 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
41980 it.
41981 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
41982 (pupa_rescue_cmd_cat): Likewise.
41983 (pupa_rescue_cmd_ls): Likewise.
41984 (pupa_rescue_cmd_testload): Likewise.
41985 (pupa_rescue_cmd_lsmod): Likewise.
41986 * normal/cmdline.c (pupa_cmdline_get): Likewise.
41987 * normal/menu.c (run_menu): Likewise.
41988 * kern/term.c (pupa_cls): Likewise.
41989 (pupa_refresh): New function.
41990 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
41991 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41992 * util/console.c: New file.
41993
41994 * util/i386/pc/getroot.c: New file.
41995 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
41996 (pupa_putchar): New function.
41997 (pupa_refresh): Likewise.
41998 (xgetcwd): Function moved to ...
41999 (strip_extra_slashes): Likewise.
42000 (get_prefix): Likewise.
42001 * util/i386/pc/getroot.c: ... here.
42002 (find_root_device): Function moved and renamed to...
42003 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
42004 Changed all callers.
42005 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
42006 and renamed to...
42007 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
42008 Changed all callers.
42009 * util/misc.c (pupa_memalign): New function.
42010 (pupa_mm_init_region): Likewise.
42011 (pupa_register_exported_symbols): Likewise.
42012 (pupa_putchar): Function removed.
42013 * util/pupa-emu.c: New file.
42014
42015 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
42016
42017 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
42018 (_multiboot_mod_SOURCES): New variable.
42019 (_multiboot_mod_CFLAGS): Likewise.
42020 * loader/i386/pc/multiboot.c: New file.
42021 * include/pupa/i386/pc/multiboot.h: Likewise.
42022 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
42023 (pupa_multiboot_real_boot): New function.
42024 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
42025 (pupa_multiboot_real_boot): New prototype.
42026 (pupa_rescue_cmd_multiboot): Likewise
42027 (pupa_rescue_cmd_module): Likewise.
42028
42029 * kern/loader.c (pupa_loader_set): Continue when
42030 pupa_loader_unload_func() fails.
42031 (pupa_loader_unset): New function.
42032 * include/pupa/loader.h (pupa_loader_unset): New prototype.
42033
42034 * kern/misc.c (pupa_stpcpy): New function.
42035 * include/pupa/misc.h (pupa_stpcpy): New prototype.
42036
42037 2003-11-12 Marco Gerards <metgerards@student.han.nl>
42038
42039 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
42040 for available extensions.
42041
42042 * include/pupa/i386/pc/time.h: New file.
42043 * kern/disk.c: Include <pupa/machine/time.h>.
42044 (PUPA_CACHE_TIMEOUT): New macro.
42045 (pupa_last_time): New variable.
42046 (pupa_disk_open): Flush the cache when there was a timeout.
42047 (pupa_disk_close): Reset the timer.
42048 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
42049 pupa_currticks.
42050 * util/misc.c: Include <sys/times.h>
42051 (pupa_get_rtc): New function.
42052
42053 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
42054
42055 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
42056 as blocks.
42057 (pupa_ext2_get_file_block): Use blocks member.
42058
42059 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
42060 first block. Return -1 instead of pupa_errno on error.
42061
42062 2003-10-27 Marco Gerards <metgerards@student.han.nl>
42063
42064 * README: In the pupa-mkimage example use _chain instead of chain
42065 and ext2 instead of fat.
42066 * TODO: Replace ext2fs with jfs as an example. Add an item for
42067 adding journal playback for ext2fs.
42068 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
42069 (pkgdata_MODULES): Added ext2.mod.
42070 (ext2_mod_SOURCES): New variable.
42071 (ext2_mod_CFLAGS): Likewise.
42072 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42073 * include/pupa/misc.h (pupa_strncpy): New prototype.
42074 (pupa_strcat): Likewise.
42075 (pupa_strncmp): Likewise.
42076 * kern/misc.c (pupa_strcat): Enable function.
42077 (pupa_strncpy): New function.
42078 (pupa_strncmp): Likewise.
42079 * fs/ext2.c: New file.
42080
42081 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42082 when the read failed before retrying.
42083 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42084 (_FILE_OFFSET_BITS): Likewise.
42085 * configure.ac: Added AC_SYS_LARGEFILE.
42086
42087 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42088
42089 * genmk.rb (PModule#rule): Make sure to get only symbol names
42090 from the output of nm.
42091 Reported by Robert Millan <rmh.grub@aybabtu.com>.
42092
42093 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42094
42095 I forgot to check in these changes for a long time. This adds
42096 incomplete support for VGA console, and this is still very
42097 buggy. Also, a lot of consideration is required for I18N,
42098 UNICODE, and VGA font issues. Therefore, assume that this is
42099 such that "better than nothing".
42100
42101 * font/manager.c: New file.
42102 * include/pupa/font.h: Likewise.
42103 * include/pupa/i386/pc/vga.h: Likewise.
42104 * term/i386/pc/vga.c: Likewise.
42105 * util/unifont2pff.rb: Likewise.
42106
42107 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42108 (pkgdata_MODULES): Added vga.mod and font.mod.
42109 (vga_mod_SOURCES): New variables.
42110 (vga_mod_CFLAGS): Likewise.
42111 (font_mod_SOURCES): Likewise.
42112 (font_mod_CFLAGS): Likewise.
42113
42114 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42115
42116 * include/pupa/term.h: Include pupa/err.h.
42117 (struct pupa_term): Added init and fini.
42118 Changed the argument of putchar to pupa_uint32_t.
42119
42120 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42121 (pupa_console_real_putchar): New prototype.
42122 (pupa_console_putchar): Removed.
42123 (pupa_console_checkkey): Exported.
42124 (pupa_console_getkey): Likewise.
42125
42126 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42127 characters.
42128
42129 * kern/term.c (pupa_term_set_current): Rewritten.
42130 (pupa_putchar): Likewise.
42131 (pupa_putcode): New function.
42132
42133 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42134 (pupa_console_real_putchar): ... this.
42135 (pupa_vga_set_mode): New function.
42136 (pupa_vga_get_font): Likewise.
42137
42138 * normal/command.c: Include pupa/term.h.
42139 (terminal_command): New function.
42140 (pupa_command_init): Register the command "terminal".
42141
42142 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42143 (DISP_UP): Likewise.
42144 (DISP_RIGHT): Likewise.
42145 (DISP_DOWN): Likewise.
42146 (DISP_HLINE): Likewise.
42147 (DISP_VLINE): Likewise.
42148 (DISP_UL): Likewise.
42149 (DISP_UR): Likewise.
42150 (DISP_LL): Likewise.
42151 (DISP_LR): Likewise.
42152
42153 * term/i386/pc/console.c (pupa_console_putchar): New function.
42154
42155 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42156
42157 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42158 FIX. Reverse the path_list.
42159
42160 * include/pupa/normal.h: Export pupa_register_command and
42161 pupa_unregister_command.
42162
42163 * hello/hello.c (pupa_cmd_hello): New module.
42164 * conf/i386-pc.rmk: Added hello.mod.
42165
42166 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42167
42168 * kern/i386/pc/lzo1x.S: New file.
42169
42170 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42171 (compress_kernel): New variable.
42172 (generate_image): Heavily modified to support compressing a
42173 large part of the core image.
42174
42175 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42176 leak.
42177 (pupa_util_load_image): New function.
42178
42179 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42180 (pupa_compressed_size): New variable.
42181 (codestart): Enable Gate A20 here.
42182 Decompress the compressed part of the core image.
42183 Rearrange the code to put functions and variables which are
42184 required for initialization in the non-compressed part.
42185 Include lzo1x.S.
42186
42187 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42188 here.
42189
42190 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42191
42192 * include/pupa/i386/pc/kernel.h
42193 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42194 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42195 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42196 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42197 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42198
42199 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42200
42201 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42202 (Utility#rule): Likewise.
42203
42204 * configure.ac: Check if LZO is available.
42205
42206 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42207
42208 * include/pupa/normal.h: New file.
42209 * include/pupa/setjmp.h: Likewise.
42210 * include/pupa/i386/setjmp.h: Likewise.
42211 * normal/cmdline.c: Likewise.
42212 * normal/command.c: Likewise.
42213 * normal/main.c: Likewise.
42214 * normal/menu.c: Likewise.
42215 * normal/i386/setjmp.S: Likewise.
42216
42217 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42218 (pupa_rescue_cmd_initrd): Likewise.
42219
42220 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42221 Likewise.
42222
42223 * kern/i386/pc/startup.S (translation_table): New variable.
42224 (translate_keycode): New function.
42225 (pupa_console_getkey): Call translate_keycode.
42226
42227 * kern/rescue.c (attempt_normal_mode): New function.
42228 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42229 it failed, print a message.
42230
42231 * kern/mm.c (pupa_real_malloc): Print more information when a
42232 free magic is broken.
42233 (pupa_free): If the first free header is not free actually, set
42234 it to P.
42235
42236 * kern/main.c (pupa_load_normal_mode): Just load the module
42237 "normal".
42238 (pupa_main): Don't print the message
42239 "Entering into rescue mode..." here.
42240
42241 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42242 Declared.
42243 (pupa_rescue_cmd_initrd): Likewise.
42244 (pupa_rescue_cmd_initrd): Likewise.
42245
42246 * include/pupa/symbol.h (FUNCTION): Specify the type.
42247 (VARIABLE): Likewise.
42248
42249 * include/pupa/err.h (pupa_err_t): Added
42250 PUPA_ERR_UNKNOWN_COMMAND.
42251
42252 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42253 (pupa_dl_get_prefix): Likewise.
42254
42255 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42256 Added _chain.mod and _linux.mod instead of chain.mod and
42257 linux.mod.
42258 (chain_mod_SOURCES): Renamed to ...
42259 (_chain_mod_SOURCES): ... this.
42260 (chain_mod_CFLAGS): Renamed to ...
42261 (_chain_mod_CFLAGS): ... this.
42262 (linux_mod_SOURCES): Renamed to ...
42263 (_linux_mod_SOURCES): ... this.
42264 (linux_mod_CFLAGS): Renamed to ...
42265 (_linux_mod_CFLAGS): ... this.
42266 (normal_mod_SOURCES): New variable.
42267 (normal_mod_CFLAGS): Likewise.
42268 (normal_mod_ASFLAGS): Likewise.
42269
42270 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42271
42272 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42273 possible.
42274
42275 * kern/dl.c (pupa_dl_ref): Refer depending modules
42276 recursively.
42277 (pupa_dl_unref): Unrefer depending modules recursively.
42278 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42279 a module is unloaded before one depending on that module is
42280 unloaded.
42281 (pupa_dl_unload): Unload depending modules explicitly,
42282 if possible.
42283
42284 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42285
42286 * include/pupa/i386/pc/linux.h: New file.
42287 * loader/i386/pc/linux.c: Likewise.
42288
42289 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42290 Removed.
42291 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42292 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42293 of PUPA_CHAINLOADER_BOOT_SECTOR.
42294
42295 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42296 (pupa_linux_prot_size): New variable.
42297 (pupa_linux_tmp_addr): Likewise.
42298 (pupa_linux_real_addr): Likewise.
42299 (pupa_linux_boot_zimage): New function.
42300 (pupa_linux_boot_bzimage): Likewise.
42301
42302 * kern/i386/pc/init.c (struct mem_region): New structure.
42303 (MAX_REGIONS): New macro.
42304 (mem_regions): New variable.
42305 (num_regions): Likewise.
42306 (pupa_os_area_addr): Likewise.
42307 (pupa_os_area_size): Likewise.
42308 (pupa_lower_mem): Likewise.
42309 (pupa_upper_mem): Likewise.
42310 (add_mem_region): New function.
42311 (compact_mem_regions): Likewise.
42312 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42313 the size of the conventional memory and that of so-called upper
42314 memory (before the first memory hole).
42315 Instead of adding each found region to free memory, use
42316 add_mem_region and add them after removing overlaps.
42317 Also, add only 1/4 of the upper memory to free memory. The rest
42318 is used for loading OS images. Maybe this is ad hoc, but this
42319 makes it much easier to relocate OS images when booting.
42320
42321 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42322 (pupa_enter_rescue_mode): Don't register initrd and module.
42323
42324 * kern/mm.c: Include pupa/dl.h.
42325
42326 * kern/main.c: Include pupa/file.h and pupa/device.h.
42327
42328 * kern/loader.c (pupa_loader_load_module_func): Removed.
42329 (pupa_loader_load_module): Likewise.
42330
42331 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42332 ``.o''.
42333
42334 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42335 (pupa_linux_tmp_addr): Likewise.
42336 (pupa_linux_real_addr): Likewise.
42337 (pupa_linux_boot_zimage): Likewise.
42338 (pupa_linux_boot_bzimage): Likewise.
42339
42340 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42341 (pupa_upper_mem): Likewise.
42342 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42343 module is too dangerous.
42344
42345 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42346 (pupa_os_area_size): Likewise.
42347 (pupa_loader_set): Remove the first argument. Loader doesn't
42348 manage modules or initrd any longer.
42349 (pupa_loader_load_module): Removed.
42350
42351 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42352 (linux_mod_SOURCES): New variable.
42353 (linux_mod_CFLAGS): Likewise.
42354
42355 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42356
42357 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42358 the length of a blocklist correctly.
42359
42360 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42361 Use ioctl only if the OS file is a block device.
42362 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42363 not very useful for normal files.
42364
42365 * kern/main.c (pupa_set_root_dev): New function.
42366 (pupa_load_normal_mode): Likewise.
42367 (pupa_main): Call those above.
42368
42369 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42370 pupa_uint16_t.
42371
42372 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42373
42374 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42375
42376 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42377 (setup): Configure the installed partition information and the
42378 dl prefix.
42379
42380 * loader/i386/pc/chainloader.c (my_mod): New variable.
42381 (pupa_chainloader_unload): New function.
42382 (pupa_rescue_cmd_chainloader): Refer itself.
42383 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42384
42385 * kern/i386/pc/startup.S (install_partition): Removed.
42386 (version_string): Likewise.
42387 (config_file): Likewise.
42388 (pupa_install_dos_part): New variable.
42389 (pupa_install_bsd_part): Likewise.
42390 (pupa_prefix): Likewise.
42391 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42392
42393 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42394 and pupa/misc.h.
42395 (make_install_device): New function.
42396 (pupa_machine_init): Set the dl prefix.
42397
42398 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42399 (buf): Renamed to ...
42400 (linebuf): ... this.
42401 (pupa_rescue_cmd_prefix): New function.
42402 (pupa_rescue_cmd_insmod): Likewise.
42403 (pupa_rescue_cmd_rmmod): Likewise.
42404 (pupa_rescue_cmd_lsmod): Likewise.
42405 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42406 rmmod and lsmod.
42407
42408 * kern/mm.c (pupa_memalign): If failed even after invalidating
42409 disk caches, unload unneeded modules and retry.
42410
42411 * kern/misc.c (pupa_memmove): New function.
42412 (pupa_memcpy): Removed.
42413 (pupa_strcpy): New function.
42414 (pupa_itoa): Made static.
42415
42416 * kern/dl.c (pupa_dl_iterate): New function.
42417 (pupa_dl_ref): Likewise.
42418 (pupa_dl_unref): Likewise.
42419 (pupa_dl_unload): Return if succeeded or not.
42420 (pupa_dl_unload_unneeded): New function.
42421 (pupa_dl_unload_all): Likewise.
42422 (pupa_dl_init): Renamed to ...
42423 (pupa_dl_set_prefix): ... this.
42424 (pupa_dl_get_prefix): New function.
42425
42426 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42427 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42428 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42429 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42430 (pupa_install_dos_part): Declared.
42431 (pupa_install_bsd_part): Likewise.
42432 (pupa_prefix): Likewise.
42433 (pupa_boot_drive): Likewise.
42434
42435 * include/pupa/types.h: Fix a typo.
42436
42437 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42438 pupa_memmove.
42439 (pupa_memmove): Declared.
42440 (pupa_strcpy): Likewise.
42441
42442 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42443 pupa_mod_init takes one argument, its own module.
42444 (pupa_dl_unload_unneeded): Declared.
42445 (pupa_dl_unload_all): Likewise.
42446 (pupa_dl_ref): Likewise.
42447 (pupa_dl_unref): Likewise.
42448 (pupa_dl_iterate): Likewise.
42449 (pupa_dl_init): Renamed to ...
42450 (pupa_dl_set_prefix): ... this.
42451 (pupa_dl_get_prefix): Declared.
42452
42453 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
42454 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
42455 unloaded.
42456 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42457 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42458
42459 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42460 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42461
42462 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42463
42464 * util/i386/pc/pupa-setup.c (setup): Define the internal
42465 function find_first_partition_start at the top level, because GCC
42466 3.0.x cannot compile internal functions in deeper scopes
42467 correctly.
42468 (find_root_device): Use lstat instead of stat.
42469 Don't follow symbolic links.
42470 Fix the path-constructing code.
42471
42472 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42473 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42474 by a BLKGETSIZE ioctl first, because block devices don't fill
42475 the member st_mode of the structure stat on Linux.
42476 [__linux__] (linux_find_partition): Use a temporary buffer
42477 REAL_DEV for the working space. Copy it to DEV before returning.
42478 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42479 buffer cache consistent.
42480 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42481 strncmp. The previous value was merely wrong.
42482 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42483
42484 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42485 FAT size is 12. The previous value was merely wrong.
42486
42487 * kern/main.c (pupa_main): Don't split the starting message from
42488 newlines.
42489
42490 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42491 LF, because BIOS goes crazy about character attributes in this
42492 case.
42493
42494 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42495
42496 * include/i386/pc/util/biosdisk.h: New file.
42497 * util/i386/pc/biosdisk.c: Likewise.
42498 * util/i386/pc/pupa-setup.c: Likewise.
42499
42500 * Makefile.in (INCLUDE_DISTFILES): Added
42501 include/pupa/i386/pc/util/biosdisk.h.
42502 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42503 directory util/i386/pc.
42504 (install-local): Added a rule for sbin_UTILITIES.
42505 (uninstall): Likewise.
42506
42507 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42508
42509 * util/misc.c (xrealloc): New function.
42510 (pupa_malloc): Likewise.
42511 (pupa_free): Likewise.
42512 (pupa_realloc): Likewise.
42513 (pupa_stop): Likewise.
42514 (pupa_putchar): Likewise.
42515
42516 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42517
42518 * include/pupa/util/misc.h (xrealloc): Declared.
42519
42520 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42521 macro.
42522 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42523 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42524
42525 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42526 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42527
42528 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42529 way should be implemented.
42530 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42531
42532 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42533 the size of NAME for safety.
42534 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42535 0x88.
42536
42537 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42538 (pupa_setup_SOURCES): Likewise.
42539
42540 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42541
42542 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42543
42544 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42545 bunch of pushl's from pusha, because this destroys the return
42546 value.
42547
42548 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42549
42550 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42551 This means that any missing prototypes could be fatal. Also, you
42552 must take care when writing assembly code. See the comments at
42553 the beginning of startup.S, for more details.
42554
42555 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42556 compilation mechanism.
42557 (pupa_chainloader_real_boot): Likewise.
42558 (pupa_biosdisk_rw_int13_extensions): Likewise.
42559 (pupa_biosdisk_rw_standard): Likewise.
42560 (pupa_biosdisk_check_int13_extensions): Likewise.
42561 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42562 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42563 (pupa_get_memsize): Likewise.
42564 (pupa_get_mmap_entry): Likewise.
42565 (pupa_console_putchar): Likewise.
42566 (pupa_console_setcursor): Likewise.
42567 (pupa_getrtsecs): Use pushl instead of push.
42568
42569 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42570 memory instead of the stack for a mmap entry, because some
42571 BIOSes may ignore the maximum size and overflow.
42572
42573 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42574
42575 * genmk.rb (PModule#rule): Compile automatically generated
42576 sources with module-specific CFLAGS as well as other sources.
42577
42578 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42579
42580 * configure.ac: Check ld.
42581 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42582 respectively, before checking endianness and sizes.
42583
42584 * Makefile.in (LD): New variable.
42585
42586 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42587
42588 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42589
42590 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42591
42592 * Changelog: New file.
42593