]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
[grub2.git] / ChangeLog
1 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4 to grub_ssize_t.
5 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
6 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
7
8 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
11 trailing newline implicitly. All users updated.
12
13 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
14
15 Implement serial on IEEE1275 and EFI.
16
17 * docs/grub.texi (Platform-specific limitations): Fix the columen video
18 on emu. Mention arc and emu as the only platforms without serial
19 support.
20 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
21 ieee1275 platforms.
22 * grub-core/term/efi/serial.c: New file.
23 * grub-core/term/ieee1275/serial.c: Likewise.
24 * grub-core/term/serial.c (grub_serial_find): Disable direct port
25 specification if no ns8250 driver is available.
26 (grub_cmd_serial): Likewise.
27 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
28 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
29 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
30 (grub_efi_parity_type_t): New type.
31 (grub_efi_stop_bits_t): Likewise.
32 (grub_efi_serial_io_interface): New struct.
33 * include/grub/serial.h (grub_serial_port): Make 'broken' field
34 available for all interfaces.
35 Add EFI and IEEE1275 fields.
36 (grub_ofserial_init): New proto.
37 (grub_efiserial_init): Likeiwse.
38 * util/grub.d/00_header.in: Don't check for the presence of serial
39 module.
40
41 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
44 name as if it was an alias.
45
46 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/commands/lsacpi.c (options): Fix typo.
49
50 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Convert grub-emu to argp.
53
54 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
55 emu.
56 * util/argp_common.c: Rename to ...
57 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
58 Add missing includes.
59 * grub-core/kern/emu/main.c: Convert to argp.
60 * po/POTFILES.in: Regenerate.
61 * util/grub-install.in (usage): Make first letter lowcase in messages
62 for uniformity.
63 * util/grub-setup.c (options): Likewise.
64
65 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
66
67 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
68 Put back accidently commented-out code.
69
70 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
71
72 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
73 loop check using Brent algorithm.
74 (grub_hfsplus_btree_search): Likewise.
75
76 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * util/grub-install.in: Fix usage of wrong device for PreP install.
79
80 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * conf/Makefile.common (CFLAGS_GNULIB): Add
83 -Wno-unsafe-loop-optimizations.
84 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
85 on tools.
86 * grub-core/commands/legacycfg.c: Add pragma to skip
87 -Wunsafe-loop-optimizations.
88 (check_password_md5_real): Fix loop counter type.
89 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
90 reading.
91 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
92 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
93 loop condition.
94 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
95 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
96 * grub-core/net/net.c (grub_net_route_address): Add safety loop
97 condition.
98 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
99 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
100 avoid possible infinite loops.
101 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
102 and -Wunsafe-loop-optimizations.
103 * grub-core/script/yylex.l: Likewise.
104 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
105 (print_glyphs): Avoid infinite loops.
106 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
107
108 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
109
110 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
111 to avoid infinite loop.
112 (disp_acpi_rsdt_table): Likewise.
113
114 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * grub-core/font/font.c (grub_font_load): Add support for default
117 path for fonts ($prefix/fonts).
118 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
119 for checking if string is a path.
120 * grub-core/normal/main.c (features): Add feature_default_font_path.
121 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
122 * util/grub.d/00_header.in: Use default directory if possible.
123 * util/grub-install.in: Install unicode.pf2.
124
125 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
128 * po/Rules-swiss: New file.
129 * po/swiss.sed: Likewise.
130
131 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/fs/btrfs.c (find_device): Fix typos.
134 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
135 * util/grub-mkrelpath.c (argp_parser): Likewise.
136 Reported by: Yuri Chornoivan.
137
138 2012-02-23 Dalet Omega <daletomega@gmail.com>
139
140 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
141 for usual informative messages.
142
143 2012-02-23 Dalet Omega <daletomega@gmail.com>
144
145 Starfield theme.
146
147 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
148 * conf/Makefile.common: Define starfielddir.
149 * configure.ac: Configure starfield.
150 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
151 * themes/starfield/README: Likewise.
152 * themes/starfield/blob_w.png: Likewise.
153 * themes/starfield/boot_menu_c.png: Likewise.
154 * themes/starfield/boot_menu_e.png: Likewise.
155 * themes/starfield/boot_menu_n.png: Likewise.
156 * themes/starfield/boot_menu_ne.png: Likewise.
157 * themes/starfield/boot_menu_nw.png: Likewise.
158 * themes/starfield/boot_menu_s.png: Likewise.
159 * themes/starfield/boot_menu_se.png: Likewise.
160 * themes/starfield/boot_menu_sw.png: Likewise.
161 * themes/starfield/boot_menu_w.png: Likewise.
162 * themes/starfield/slider_c.png: Likewise.
163 * themes/starfield/slider_n.png: Likewise.
164 * themes/starfield/slider_s.png: Likewise.
165 * themes/starfield/src/blob_nw.xcf: Likewise.
166 * themes/starfield/src/bootmenu/: Likewise.
167 * themes/starfield/src/bootmenu/center.xcf: Likewise.
168 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
169 * themes/starfield/src/bootmenu/side.xcf: Likewise.
170 * themes/starfield/src/slider_c.xcf: Likewise.
171 * themes/starfield/src/slider_n.xcf: Likewise.
172 * themes/starfield/src/slider_s.xcf: Likewise.
173 * themes/starfield/src/terminalbox/: Likewise.
174 * themes/starfield/src/terminalbox/center.xcf: Likewise.
175 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
176 * themes/starfield/src/terminalbox/side.xcf: Likewise.
177 * themes/starfield/starfield.png: Likewise.
178 * themes/starfield/terminal_box_c.png: Likewise.
179 * themes/starfield/terminal_box_e.png: Likewise.
180 * themes/starfield/terminal_box_n.png: Likewise.
181 * themes/starfield/terminal_box_ne.png: Likewise.
182 * themes/starfield/terminal_box_nw.png: Likewise.
183 * themes/starfield/terminal_box_s.png: Likewise.
184 * themes/starfield/terminal_box_se.png: Likewise.
185 * themes/starfield/terminal_box_sw.png: Likewise.
186 * themes/starfield/terminal_box_w.png: Likewise.
187 * themes/starfield/theme.txt: Likewise.
188
189 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * util/grub.d/00_header.in: Add missing export theme.
192
193 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
196 already included.
197 Reported by: Eren D.
198
199 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * conf/Makefile.common (grubdatadir): Removed.
202 (Makefile.am): Move eveything grubdata to pkgdata.
203
204 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/commands/acpihalt.c (get_sleep_type):
207 Remove unused variable.
208
209 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
212 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
213 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
214 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
215 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
216 i18n with gettext no-op.
217 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
218 GRUB_ACPI_OPCODE_STRING_CONST.
219 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
220 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
221
222 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
223
224 * po/POTFILES.in: Regenerate.
225
226 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
229 -Wno-error=missing-noreturn.
230
231 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
234 condition to avoid possibly infinite loops.
235 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
236 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
237
238 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
241 condition to avoid possibly infinite loops.
242
243 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
246 on show_error.
247
248 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
251
252 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
253
254 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
255
256 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * util/bin2h.c (usage): Add missing attribute noreturn.
259
260 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
261
262 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
263 if the size isn't divisible by 512.
264
265 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
266
267 Make list_push and list_remove functions rather than inline functions
268 to decrease size and avoid aliasing violations.
269
270 * include/grub/list.h (grub_list_push): Move to ...
271 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
272 * include/grub/list.h (grub_list_remove): Move to ...
273 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
274
275 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
276
277 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
278 and -Wunused-result.
279
280 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
283 Reported by: Seth Goldberg
284
285 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
286
287 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
288
289 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
290
291 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
292 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
293 command line.
294 * docs/grub.texi (Simple configuration): Document
295 GRUB_CMDLINE_GNUMACH.
296
297 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * conf/Makefile.common (platform_SCRIPTS): New variable.
300 (platform_PROGRAMS): Likewise.
301 * gentpl.py: Mark *,module and *.image for install.
302 * grub-core/gdb_grub.in: Add a notice of expected environment.
303 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
304 (gmodule.pl): Likewise.
305
306 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
307
308 Replace grub_checkkey with grub_getkey_noblock.
309
310 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
311 (grub_getkey_noblock): ... this. All users updated.
312
313 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * grub-core/kern/emu/console.c: Move to ...
316 * grub-core/term/emu/console.c: ...here.
317 (grub_ncurses_getkey): Fix return value if no key is detected.
318
319 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
322 (grub_unit_test_fini): Likewise.
323 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
324
325 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * include/grub/test.h (GRUB_UNIT_TEST)
328
329 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
330
331 * grub-core/script/execute.c (grub_script_break): Clarify logic.
332 Better error handling.
333 (grub_script_return): Likewise.
334 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
335
336 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
337
338 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
339 rimplicit redifinition.
340
341 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
344 GRUB.
345
346 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
349 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
350 prompt here.
351
352 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
355 as GRUB_ERR_BUG. Don't malloc if no device is available.
356
357 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
360 Mark calling with invalid term as GRUB_ERR_BUG.
361
362 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
365 packets rather than raising an error.
366
367 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
370 in if.
371
372 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
375 diagnostic to dprintf.
376 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
377
378 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
381 device name.
382
383 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
386 (grub_ntfs_iterate_dir): Likewise.
387
388 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Efiemu stylistic fixes and gettext.
391
392 * grub-core/efiemu/i386/loadcore32.c
393 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
394 * grub-core/efiemu/i386/loadcore64.c
395 (grub_arch_efiemu_relocate_symbols64): Likewise.
396 * grub-core/efiemu/i386/pc/cfgtables.c
397 (grub_machine_efiemu_init_tables): Likewise.
398 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
399 (grub_efiemu_loadcore_initXX): Add a filename argument.
400 All users updated.
401 Improved error message.
402 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
403 Add a filename argument.
404 All users updated.
405 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
406 Reclassify double relocation as GRUB_ERR_BUG.
407
408 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
411 handling.
412
413 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
416 on partition.
417
418 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
419
420 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
421
422 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
423
424 Improve string. Gettextize.
425
426 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
429 utils.
430 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
431
432 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
433
434 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
435 [GRUB_UTIL]: New function.
436 (insert_array) [GRUB_UTIL]: Store partmaps.
437 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
438 partmaps.
439 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
440 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
441 (probe_abstraction): Print diskfilter and not raid.
442 Reported by: Lennart Sorensen
443
444 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
447 * util/grub-mkimagexx.c (MASK3): New define.
448 (add_value_to_slot_20b): Use MASK3.
449 (add_value_to_slot_21): Likewise.
450 (relocate_addresses): Fix format specification.
451 (load_image): Explicitly init symtab_section.
452
453 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
456 (grub_util_biosdisk_get_grub_dev): Fix format specification.
457
458 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
461 on powerpc.
462 Reported by: Lennart Sorensen
463
464 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * gentpl.py: Add missing license header.
467 * docs/grub.texi: Update copyright year.
468
469 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
470
471 Source grub-mkconfig_lib from the build directory at build time.
472 Suggested by: Vladimir Serbinenko.
473
474 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
475 * util/grub-install.in: Define pkgdatadir if not already set, and source
476 grub-mkconfig_lib from there.
477 * util/grub-kbdcomp.in: Likewise.
478 * util/grub-mkconfig.in: Likewise.
479 * util/grub-mknetdir.in: Likewise.
480 * util/grub-mkrescue.in: Likewise.
481 * util/grub-mkstandalone.in: Likewise.
482 * util/grub-reboot.in: Likewise.
483 * util/grub-set-default.in: Likewise.
484 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
485
486 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
487
488 Increase warning level.
489
490 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
491 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
492 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
493 (TARGET_CFLAGS): Likewise.
494 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
495 * grub-core/Makefile.core.def (decompressor_xz): Add
496 -Wno-unreachable-code.
497 (normal): Add -Wno-redundant-decls.
498 (xzio): Add -Wno-unreachable-code.
499 (lzopio): Add -Wno-redundant-decls -Wno-error.
500 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
501 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
502 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
503 * grub-core/kern/dl.c: Add exception to -Wcast-align.
504 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
505 * grub-core/kern/i386/coreboot/init.c: Add exception to
506 -Wsuggest-attribute=noreturn.
507 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
508 * grub-core/kern/ia64/dl_helper.c: Likewise.
509 * grub-core/kern/mips/dl.c: Likewise.
510 * grub-core/kern/sparc64/dl.c: Likewise.
511 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
512 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
513 (memcmp): Likewise.
514 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
515 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
516 * grub-core/loader/mips/linux.c: Likewise.
517 * grub-core/loader/multiboot_elfxx.c: Likewise.
518 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
519 * grub-core/video/sm712.c: Add exception to -Wcast-align.
520 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
521 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
522 fixme.
523 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
524 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
525 Fix prototype.
526
527 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
530 address.
531
532 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
533
534 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
535 Avoid improper use of strings.
536 (grub_cmd_legacy_initrdnounzip): Likewise.
537
538 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * include/grub/emu/misc.h (grub_util_warn): Add missing format
541 attribute.
542 (grub_util_info): Likewise.
543 (grub_util_error): Likewise.
544
545 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
548 * util/grub-fstest.c (fstest): Likewise.
549
550 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
553 (grub_md_sha512_real): Likewise.
554 (grub_util_get_geli_uuid): Likewise.
555 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
556 (grub_util_biosdisk_open): Fix format specification.
557 Respect format security.
558 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
559 (xrealloc): Likewise.
560 (xasprintf): Likewise.
561
562 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/import_gcry.py: Include grub/crypto.h in init.c.
565
566 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
567
568 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
569 (generate_image): Make prefix a const char *.
570 Fix format specifications. Respect format security.
571 Avoid void * arithmetics.
572 Avoid shadowing.
573 (argp_parser): Remove unused variable. Respect format security.
574 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
575 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
576 (count_funcs): Remove unused variable.
577 (relocate_addresses): Fix format specification.
578 Disable x86-64 with elf32. Remove unused variables.
579 (add_fixup_entry): Avoid shadowing.
580 (make_reloc_section): Fix format specification.
581 Use assert.
582 (locate_sections): Fix format specifications.
583 (load_image): Avoid shadowing.
584
585 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
588 Fix format specifications. Respect format security.
589 Don't translate already translated grub_errmsg.
590 (argp_parser): Remove unused variable
591
592 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
595
596 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
599 (main): Likewise. Use xmalloc. Respect format security.
600
601 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
604 a const char *.
605 (argp_parser): Remove unused variable.
606
607 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
610 (add_pixel): Make static.
611 (add_font): Likewise.
612 (write_string_section): Make name and str a const char *.
613 (write_be16_section): Make name a const char *.
614 (print_glyphs): Make static.
615 (write_font_ascii_bitmap): Likewise.
616 (write_font_width_spec): Likewise.
617 (write_font_pf2): Likewise.
618 (argp_parser): Remove unused variable.
619 Respect format security.
620 (main): Avoid shadowing. Respect format security.
621
622 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * util/grub-editenv.c (argp_parser): Make static.
625 (create_envblk_file): Use xmalloc.
626 (open_envblk_file): Likewise.
627 Resepect format security.
628 (set_variables): Respect format security.
629
630 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * util/getroot.c (grub_find_device): Respect format security.
633 (get_mdadm_uuid): Remove unused variable.
634 (grub_util_pull_device): Dont call gettext on already translated
635 grub_errmsg.
636 (find_system_device): Remove unused variable.
637 (grub_util_get_grub_dev): Likewise.
638 (grub_make_system_path_relative_to_its_root): Respect format security.
639
640 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * util/grub-fstest.c (execute_command): Make first argument
643 a const char *.
644 (read_file): Avoid shadowing.
645 Reuse underlying error message if device open fails.
646 (cmd_cmp): Respect format security.
647 (root): Make const char *.
648 (fstest): Remove args argument and use global copy.
649 Respect format security.
650 (argp_parser): Make static.
651 (main): Make default_root const char *.
652
653 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * util/grub-mount.c (root): Make const char *.
656 (execute_command): Make first argument a const char *.
657 (fuse_init): Respect format security.
658 (argp_parser): Make static. Remove unused variable.
659 (main): Make default_root a const char *.
660 Respect format security.
661
662 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * util/grub-probe.c (probe): Don't call gettext on already translated
665 grub_errmsg.
666 Remove unused variables.
667 (argp_parser): Remove unused variable.
668
669 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
670
671 * util/grub-script-check.c (argp_parser): Remove unused variable.
672 (main): Rename read to curread to avoid shadowing.
673
674 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * util/misc.c (grub_util_write_image_at): Fix format specification.
677 (grub_util_write_image): Likewise.
678 (grub_script_execute_argument_to_string): Removed (unused).
679 (grub_script_execute_menuentry): Likewise.
680 (grub_putchar): Likewise.
681
682 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
685 (FUNCTION) [GRUB_UTIL]: Likewise.
686 (VARIABLE) [GRUB_UTIL]: Likewise.
687
688 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
689
690 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
691 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
692
693 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
696 buffer.
697
698 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
701 (LzmaEnc_SaveState): Removed (unused).
702 (LzmaEnc_RestoreState): Likewise.
703 (LzmaEnc_InitPriceTables): Made static.
704 (LzmaEnc_Construct): Likewise.
705 (LzmaEnc_FreeLits): Likewise.
706 (LzmaEnc_Destruct): Likewise.
707 (LzmaEnc_Init): Likewise.
708 (LzmaEnc_InitPrices): Likewise.
709 (LzmaEnc_Finish): Likewise.
710 (LzmaEnc_PrepareForLzma2): Removed (unused).
711 (LzmaEnc_MemPrepare): Likewise.
712 (LzmaEnc_GetNumAvailableBytes): Likewise.
713 (LzmaEnc_GetCurBuf): Likewise.
714 (LzmaEnc_CodeOneMemBlock): Likewise.
715
716 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
719 (grub_util_ldm_embed): Likewise.
720
721 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
722
723 * util/grub-editenv.c (print_var): Rename name to varname to
724 avoid shadowing.
725 (main): Rename index to curindex to avoid shadowing.
726 Make filename a const char *.
727
728 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
729
730 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
731 to arg_getline to avoid shadowing.
732
733 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
736 disk_ to avoid shadowing.
737
738 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
741 curindex to avoid shadowing.
742 Make static.
743 (MatchFinder_GetNumAvailableBytes): Make static.
744
745 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
748 avoid shadowing.
749
750 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
753 argument from encrypt to do_encrypt to avoid shadowing.
754
755 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
758 incorrect nesting of #if's.
759
760 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
763 checks which are always false on some platforms.
764 (grub_cmd_lsacpi): Likewise.
765 * grub-core/kern/misc.c (grub_strtoul): Likewise.
766 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
767 Likewise.
768
769 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
772 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
773
774 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
777 re_dfa_t to avoid breaking alignment invariants.
778 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
779 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
780
781 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
784 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
785
786 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
789 Fix declaration.
790
791 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
794 conserve alignment invariants.
795 (grub_ehci_ehcc_read16): Likewise.
796 (grub_ehci_oper_read32): Likewise.
797 (grub_ehci_oper_write32): Likewise.
798 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
799 Conserve alignment invariants.
800
801 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
804 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
805 declarations.
806
807 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
810 Remove unused variable.
811
812 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
815 Remove set in if.
816
817 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * include/grub/net.h: Remove double declarations.
820
821 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Remove "payload" command in ia64 Linux loader since I couldn't
824 find any evidence of it being used for anything.
825 Replace "relocate" command with an environment variable
826
827 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
828 fields.
829 (ia64_boot_payload): Removed.
830 (last_payload): Likewise.
831 (RELOCATE_OFF): Likewise.
832 (RELOCATE_ON): Likewise.
833 (RELOCATE_FORCE): Likewise.
834 (relocate): Likewise.
835 (free_pages): Don't free payloads.
836 (grub_load_elf64): Use common error messages.
837 Use "linux_relocate" variable.
838 Increase the space after boot_params.
839 (grub_cmd_payload): Removed.
840 (grub_cmd_relocate): Likewise.
841 (grub_cmd_fpswa): Improve messages.
842 (cmd_payload): Removed.
843 (cmd_relocate): Likewise.
844 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
845 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
846
847 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
848
849 Convert UHCI to DMA framework.
850
851 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
852 (grub_uhci_pci_iter): Fill new members
853 (grub_alloc_td): Use P2V and V2P functions.
854 (grub_free_queue): Likewise.
855 (grub_alloc_qh): Likewise.
856 (grub_uhci_setup_transfer): Likewise.
857 (grub_uhci_check_transfer): Likewise.
858
859 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
862 Remove assignment in if while on it.
863
864 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * util/grub-mkstandalone.in: Fix modules directory.
867
868 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
871 on i386-pc target.
872 (argp_parser): Accept "auto" as compression specification.
873
874 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
875
876 Fix `help' with unloaded modules.
877
878 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
879 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
880 (grub_dyncmd_dispatcher): Small stylistic fix.
881 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
882 explicit help is requested.
883
884 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
887 Explicitly init restart while on it.
888
889 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
892 uninited variable.
893
894 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * util/grub-mknetdir.in: Use . rather than source for POSIX
897 compatibility.
898
899 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
900
901 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
902
903 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
906 variable.
907
908 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
909
910 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
911 without quotes.
912
913 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
916
917 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
920 iteration of partitions.
921
922 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
923
924 Improve gettext support. Stylistic fixes and error handling fixes while
925 on it.
926
927 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
928
929 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
930 part. Instead setup the correct stack in RM.
931 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
932 for stack.
933 * include/grub/i386/relocator_private.h: New file.
934
935 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
938 argument.
939 * util/grub-fstest.c (options): Add missing DEVICE part.
940
941 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
942
943 Clarify and unify messages.
944
945 * grub-core/commands/hashsum.c (options): Unify messages.
946 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
947 literal-only message as translatable.
948 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
949 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
950 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
951 commands.
952 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
953 key, not the key used to unlock. Clarify what it's used for.
954 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
955 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
956 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
957 * util/grub-editenv.c (options): Unify "verbose" message.
958 * util/grub-fstest.c (read_file): Unify error message.
959 (fstest): Add quotes around commands.
960 (options): Unify "verbose" message.
961 * util/grub-install.in: Add quotes around variable name.
962 * util/grub-kbdcomp.in: Unify error message.
963 * util/grub-mkfont.c (main): Likewise.
964 * util/grub-mkrescue.in: Likewise.
965 * util/grub-mklayout.c (options): Unify "verbose" message.
966 * util/grub-mkstandalone.in: Unify help and verbose messages.
967 * util/grub-mount.c (options): Unify "verbose" message.
968 * util/grub-probe.c (options): Likewise.
969 * util/grub-script-check.c (options): Likewise.
970 * util/grub-setup.c (setup): Unify no-terminator message.
971 (options): Use DEVICE and not DEV.
972 Unify "verbose" message.
973 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
974
975 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
976
977 Improve and unify messages.
978
979 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
980 name. All users updated.
981 Print filename in error.
982 (read_device_map): Print filename in error.
983 * util/getroot.c (grub_guess_root_devices): Print filename in error.
984 (grub_util_get_os_disk): Likewise.
985 (grub_util_biosdisk_get_grub_dev): Likewise.
986 (grub_util_check_block_device): Likewise.
987 (grub_util_check_char_device): Likewise.
988 (grub_make_system_path_relative_to_its_root): Likewise.
989 * util/grub-editenv.c (create_envblk_file): Likewise.
990 (open_envblk_file): Likewise.
991 (write_envblk): Likewise.
992 * util/grub-fstest.c (cmd_cp): Likewise.
993 (cmd_cat): Likewise.
994 (cmd_cmp): Likewise.
995 * util/grub-menulst2cfg.c (main): Likewise.
996 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
997 (write_font_width_spec): Likewise.
998 (write_font_pf2): Likewise.
999 * util/grub-mkimage.c (generate_image): New argument outname.
1000 All users updated.
1001 Remove unreacheable message.
1002 (options): Unify messages.
1003 (help_filter): Likewise.
1004 * util/grub-mklayout.c (usage): Removed (unused).
1005 (main): Print filename in error.
1006 * util/grub-mkrescue.in: Fix wrong quoting.
1007 * util/grub-setup.c (setup): Print filename in error.
1008 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
1009 (check_sas): Likewise.
1010 * util/misc.c (grub_util_get_fp_size): Removed.
1011 (grub_util_get_image_size): Print filename in error.
1012 (grub_util_read_at): Removed.
1013 (grub_util_read_image): Print filename in error.
1014 (grub_util_load_image): Likewise.
1015 (grub_util_write_image_at): New argument filename. All users updated.
1016 Print filename in error.
1017 (grub_util_write_image): New argument filename. All users updated.
1018 Print filename in error.
1019 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
1020 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
1021
1022 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/Makefile.core.def (pxechain): New module.
1025 * grub-core/loader/i386/pc/pxechainloader.c: New file.
1026 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
1027 function.
1028 (grub_pc_net_config_real): Use grub_pxe_get_cached.
1029 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
1030
1031 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
1034 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
1035 * include/grub/err.h (grub_error_saved): New struct.
1036 (grub_errmsg): Make array size explicit.
1037 * include/grub/misc.h (grub_error_save): New function.
1038 (grub_error_load): Likewise.
1039 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
1040 (grub_error_push): Update `errno' member name.
1041 (grub_error_pop): Likewise
1042 * grub-core/net/tftp.c (tftp_data): New member save_err.
1043 (tftp_receive): Save error.
1044 (tftp_open): Restore error.
1045
1046 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
1049 to real mode down to execute A20-related code in protected mode as
1050 intended.
1051
1052 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
1053
1054 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
1055 NULL when the argument `level' has an unexpected value.
1056
1057 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 Move platform-dependent files from $prefix to $prefix/$platform.
1060
1061 * config.h.in (GRUB_TARGET_CPU): New definition.
1062 (GRUB_PLATFORM): Likewise.
1063 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
1064 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
1065 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1066 * grub-core/kern/dl.c (grub_dl_load): Likewise.
1067 * grub-core/normal/autofs.c (read_fs_list): Likewise.
1068 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
1069 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
1070 * grub-core/normal/term.c (read_terminal_list): Likewise.
1071 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
1072 $prefix/locale.
1073 (grub_gettext_init_ext): Likewise.
1074 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
1075 grub_platform.
1076 * util/grub-install.in: Update directories.
1077 * util/grub-mknetdir.in: Likewise.
1078 * util/grub-mkrescue.in: Likewise.
1079
1080 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
1083 grub_error framework. All users updated.
1084
1085 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
1088 lists (by always binsearching), improve caching (cache strings
1089 used for binsearch, not only results), improve
1090 maintainability (by using more structured binary search) and correct
1091 error handling.
1092
1093 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/script/execute.c (grub_script_return): Fix warning.
1096
1097 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/script/execute.c (grub_script_return): Fix potential
1100 NULL-dereference.
1101 Reported by: Jim Meyering.
1102
1103 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * po/POTFILES.in: Regenerate.
1106 * util/grub-install.in: Gettextize the strings missed in first pass.
1107
1108 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * Makefile.util.def (grub-mkdevicemap): Removed.
1111 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
1112 * include/grub/util/deviceiter.h: Removed.
1113 * util/deviceiter.c: Likewise.
1114 * util/getroot.c (grub_util_get_os_disk): New function.
1115 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
1116 replacement for EFI.
1117 * util/grub-mkdevicemap.c: Removed.
1118 * util/grub-probe.c (probe): Handle PRINT_DISK.
1119 (argp_parser): Handle -t disk.
1120
1121 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * util/grub-mkfont.c: Migrate to argp.
1124 * util/grub-mklayout.c: Likewise.
1125 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1126 * util/grub-mkrelpath.c: Likewise.
1127 * util/grub-probe.c: Likewise.
1128 * util/grub-script-check.c: Likewise.
1129
1130 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * util/grub-reboot.in: Add missing datarootdir.
1133 Add missing newline.
1134 * util/grub-set-default.in: Add missing datarootdir.
1135 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
1136 * util/grub-mkrescue.in: Likewise.
1137
1138 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
1141
1142 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 * util/grub-kbdcomp.in: Add decent help and gettextize.
1145 * docs/man/grub-kbdcomp.h2m: New file.
1146
1147 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 Migrate grub-mkimage.c to argp.
1150
1151 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
1152 (grub-setup): Likewise.
1153 * util/grub-setup.c (print_version): Move to ...
1154 * util/argp_common.c (print_version): ... here.
1155 * util/grub-setup.c (argp_program_version_hook): Move to ...
1156 * util/argp_common.c (argp_program_version_hook): ... here.
1157 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
1158 safety.
1159 * util/grub-mkimage.c (main): Migrate to argp.
1160
1161 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * util/grub-mkrescue.in: Use same message as
1164 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
1165 for better translations.
1166
1167 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
1170 options with generic grub-mkrescue.in with the goal of future
1171 merge.
1172
1173 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * grub-core/kern/mm.c: Add missing include of i18n.h
1176 * grub-core/lib/relocator.c: Likewise.
1177
1178 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
1181 error.
1182 (allocate_pages): Check return value.
1183 Replace fatal with error.
1184 (grub_linux_boot): Replace printf with dprintf.
1185 Check find_mmap_size return value.
1186 Replace fatal with error.
1187 Don't call grub_machine_fini.
1188 (grub_load_elf64): Replace printf with dprintf.
1189 (grub_cmd_linux): Likewise.
1190 (grub_cmd_initrd): Likewise.
1191 (grub_cmd_payload): Likewise.
1192
1193 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
1196 message.
1197 * grub-core/video/radeon_fuloong2e.c
1198 (grub_video_radeon_fuloong2e_setup): Likewise.
1199 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
1200 * grub-core/video/video.c (grub_video_set_mode): Don't override
1201 standard out of memory message.
1202
1203 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1204
1205 NetBSD disk wedge support.
1206
1207 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
1208 [__NetBSD__]: Handle NetBSD disk wedges.
1209 * util/getroot.c (convert_system_partition_to_system_disk)
1210 [__NetBSD__]: Likewise.
1211
1212 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
1213
1214 * util/grub-mkconfig.in: Use umask rather than chmod to create
1215 grub.cfg.new to avoid insecure grub.cfg.
1216
1217 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * grub-core/commands/ls.c: Gettextize.
1220 * grub-core/commands/setpci.c: Likewise.
1221 * grub-core/commands/videotest.c: Likewise.
1222 * grub-core/disk/geli.c: Likewise.
1223 * grub-core/kern/mm.c: Likewise.
1224 * grub-core/lib/relocator.c: Likewise.
1225 * grub-core/loader/efi/appleloader.c: Likewise.
1226 * grub-core/loader/i386/xnu.c: Likewise.
1227 * grub-core/loader/ia64/efi/linux.c: Likewise.
1228 * grub-core/loader/xnu.c: Likewise.
1229 * grub-core/net/dns.c: Likewise.
1230 * grub-core/net/net.c: Likewise.
1231 * grub-core/script/lexer.c: Likewise.
1232 * grub-core/script/parser.y: Likewise.
1233 * grub-core/script/yylex.l: Likewise.
1234 * util/getroot.c: Likewise.
1235 * util/grub-setup.c: Likewise.
1236
1237 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
1240 number.
1241
1242 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
1245
1246 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
1249 macro.
1250 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
1251 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
1252
1253 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
1256 * util/grub-install.in: Gettextize.
1257 * util/grub-mkconfig.in: Likewise.
1258 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
1259 if not available.
1260 (grub_warn): Gettextize.
1261 * util/grub-mknetdir.in: Gettextize.
1262 * util/grub-mkrescue.in: Likewise.
1263 * util/grub-mkstandalone.in: Likewise.
1264 * util/grub-reboot.in: Likewise.
1265 * util/grub-set-default.in: Likewise.
1266 * util/grub.d/00_header.in: Likewise.
1267 * util/grub.d/10_hurd.in: Likewise.
1268 * util/grub.d/10_kfreebsd.in: Likewise.
1269 * util/grub.d/10_linux.in: Likewise.
1270 * util/grub.d/10_netbsd.in: Likewise.
1271 * util/grub.d/10_windows.in: Likewise.
1272 * util/grub.d/20_linux_xen.in: Likewise.
1273 * util/grub.d/30_os-prober.in: Likewise.
1274 * po/POTFILES-shell.in: Regenerate.
1275
1276 2012-02-03 Richard Laager <rlaager@wiktel.com>
1277
1278 * util/grub-mkimage.c (main): Fix format-security warning.
1279 * util/grub-mkrelpath.c (main): Likewise.
1280 * util/grub-probe.c (main): Likewise.
1281
1282 2012-02-03 Richard Laager <rlaager@wiktel.com>
1283
1284 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
1285 failure.
1286 Put back lost PRINT_DRIVE.
1287
1288 2012-02-03 Richard Laager <rlaager@wiktel.com>
1289
1290 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1291 (grub_guess_root_devices): Replace strlen with sizeof.
1292 Avoid crash.
1293 (find_root_devices_from_poolname): Remove unused variable.
1294 Handle raidzN.
1295
1296 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1297
1298 Support install on multi-device filesystems.
1299
1300 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1301 (grub_guess_root_devices): ...this. Return char **. All users updated.
1302 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1303 Removed.
1304 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1305 (find_root_devices_from_poolname): ... here.
1306 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1307 Support zfs-fuse.
1308 (grub_guess_root_device): Rename to ...
1309 (grub_guess_root_devices): ... this. Return char **. All users updated.
1310 * util/grub-install.in: Handle multi-device filesystems.
1311 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1312 argument. All users updated.
1313 Handle multi-device filesystems.
1314 Use 'delim' as separator.
1315 Remove device check to allow filesystems on file.
1316 (main): Support -0 argument. Handle multi-device.
1317 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1318 Fix a cross-device check while on it.
1319 (arguments): Remove root_dev.
1320 (argp_parser): Remove -r.
1321 (main): Remove root_dev.
1322
1323 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1326
1327 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1330 symbol.
1331 Reported by: NODA, Kai <nodakai>.
1332
1333 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 Fix ehci on amd64.
1336
1337 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1338 pointers.
1339 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1340 (grub_ehci_setup_qh): Likewise.
1341 (grub_ehci_find_qh): Likewise.
1342 (grub_ehci_transaction): Likewise.
1343 (grub_ehci_setup_transfer): Likewise.
1344 (grub_ehci_check_transfer): Likewise.
1345 (grub_ehci_portstatus): Likewise.
1346 (grub_ehci_detect_dev): Likewise.
1347 (grub_ehci_transfer_controller_data): New field td_last_phys.
1348 (grub_ehci_setup_transfer): Fill td_last_phys.
1349 (grub_ehci_check_transfer): Use td_last_phys.
1350
1351 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1352
1353 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1354 if no submenu is present.
1355
1356 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1357
1358 CBI support.
1359
1360 * include/grub/usb.h (grub_usbms_protocol_t): New values
1361 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1362 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1363 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1364 (grub_usbms_dev): Add subclass, protocol and intrpt.
1365 Remove in_maxsz and out_maxsz.
1366 (grub_usbms_reset): Rename to ...
1367 (grub_usbms_bo_reset): .. this.
1368 (grub_usbms_cbi_cmd): New function.
1369 (grub_usbms_cbi_reset): Likewise.
1370 (grub_usbms_reset): Likewise.
1371 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1372 (grub_usbms_transfer): Rename to ...
1373 (grub_usbms_transfer_bo): ... this.
1374 (grub_usbms_transfer_cbi): Likewise.
1375 (grub_usbms_transfer): Likewise.
1376
1377 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1378 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1381 the support for the CS5536 modification thereos and few bugfixes.
1382
1383 * grub-core/Makefile.core.def (ehci): New module.
1384 * grub-core/bus/usb/ehci.c: New file.
1385 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1386 port and hubaddr. All users updated.
1387 Save port and hubaddr into dev structure.
1388 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1389 define.
1390 * include/grub/pci.h (grub_dma_phys2virt): New function.
1391 (grub_dma_virt2phys): Likewise.
1392 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1393
1394 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1395
1396 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1397 check as some mkfs implementations omit it.
1398
1399 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1402
1403 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1406 Add new member volname2.
1407 (grub_jfs_label): Use volname2 if available.
1408
1409 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1412 over last_mounted as seen in image generated by mkfs.nilfs2.
1413 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1414
1415 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1418 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1419 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1420
1421 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1422
1423 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1424 over the sector.
1425
1426 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1429 subvolume name (by removing a bogus and useless check).
1430
1431 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1434 sizeof while on it.
1435
1436 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1439 (grub_scsi_read_capacity10): ... this.
1440 (grub_scsi_read_capacity16): New function.
1441 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1442 0xffffffff.
1443 Fix off-by-one error.
1444 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1445 64-bit unsigned.
1446 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1447 (grub_scsi_read_capacity10): ... this.
1448 (grub_scsi_read_capacity_data): Rename to ...
1449 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1450 (grub_scsi_read_capacity16): New struct.
1451 (grub_scsi_read_capacity16_data): Likewise.
1452 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1453 grub_scsi_cmd_read_capacity10.
1454 New command grub_scsi_cmd_read_capacity16.
1455
1456 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1457
1458 SCSI >2TiB support.
1459
1460 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1461 (grub_scsi_write16): Likewise.
1462 (grub_scsi_read): Use read16 when necessary.
1463 (grub_scsi_write): Likewise.
1464 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1465 (grub_scsi_write16): Likewise.
1466 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1467
1468 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 SCSI write support (for usbms mainly).
1471
1472 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1473 a const pointer.
1474 (grub_scsi_write): Implement.
1475 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1476
1477 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1480 variable.
1481
1482 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1485
1486 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * po/POTFILES.in: Regenerate.
1489
1490 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1493 with grub_printf to avoid unnecessary fatal failure.
1494
1495 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1498 (INT_MAX): Likewise.
1499 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1500 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1501 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1502 (strcpy): Likewise.
1503 (strstr): Likewise.
1504 (strchr): Likewise.
1505 (strncpy): Likewise.
1506 (strcat): Likewise.
1507 (strncat): Likewise.
1508 (strcoll): Likewise.
1509 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1510 (GRUB_INT_MAX): Likewise.
1511
1512 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1515 unexpected error.
1516 (optimize_utf8): Likewise.
1517 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1518
1519 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/boot/i386/pc/lnxboot.S: Use
1522 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1523 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1524 location.
1525 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1526 definition.
1527 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1528
1529 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1532 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1533 now to avoid double free.
1534 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1535 hostdisk.
1536 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1537 * util/grub-probe.c (escape_of_path): Always return a new copy.
1538 (print_full_name): Escape path.
1539 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1540 Fix hints on abstractions.
1541
1542 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1545 Don't add "root" line if no compatibility hont is available.
1546 Suggested by: Seth Goldberg.
1547
1548 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1551 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1552 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1553 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1554
1555 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1558
1559 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * util/grub-pe2elf.c (ehdr): Make static.
1562 (shdr): Likewise.
1563 (num_sections): Likewise.
1564 (offset): Likewise.
1565
1566 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1567
1568 Eliminate ofpath limits and possible overflows.
1569
1570 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1571 (OF_PATH_MAX): Removed.
1572 (MAX_DISK_CAT): New const.
1573 (find_obppath): Use allocated rather than preallocated buffer.
1574 Return result. Argument of_path removed. All users updated.
1575 Add missing fdstat.
1576 (xrealpath): New function.
1577 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1578 Allocate rather than use preallocated buffer. All users updated.
1579 (__of_path_common): Use allocated rather than preallocatecd buffer.
1580 Return result. Argument of_path removed. All users updated.
1581 (vendor_is_ATA): Read only needed part form the file.
1582 (check_sas): Allocate depending on contents rather than fixed.
1583 (main) [STANDALONE]: Handle NULL result.
1584
1585 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1588
1589 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 Cryptodisk write support.
1592
1593 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1594 (grub_cryptodisk_decrypt): Moved logic to ...
1595 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1596 (grub_cryptodisk_write): Implement.
1597 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1598 (grub_util_fd_write): ... this. Make global.
1599 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1600
1601 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * include/grub/list.h (grub_list_remove): Don't crash if element is
1604 removed twice.
1605
1606 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1607
1608 Rename ofconsole to console.
1609
1610 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1611 as sysnonym to console.
1612 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1613 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1614 Rename grub_ofconsole_ to grub_console_. All users updated
1615 (grub_console_term_output): Rename "ofconsole" to "console".
1616 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1617 as "console".
1618
1619 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1622 handling.
1623 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1624 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1625 GRUB_DISK_DEVICE_FILE_ID.
1626
1627 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1630 and improve performance.
1631
1632 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1635 missing ieee1275/ prefix on whole disk.
1636
1637 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1640 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1641
1642 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1645
1646 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Merge common RAID and LVM logic to an abstract diskfilter.
1649 Add LDM support using the same framework.
1650
1651 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1652 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1653 (libgrubmods): Remove grub-core/disk/raid.c and
1654 grub-core/partmap/gpt.c.
1655 * grub-core/Makefile.core.def (ldm): New module.
1656 (raid): Renamed to diskfilter. All users updated.
1657 * grub-core/disk/raid.c: Moved to ...
1658 * grub-core/disk/diskfilter.c: ... here.
1659 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1660 (lv_num): New var.
1661 (find_array): Renamed to ...
1662 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1663 (grub_is_array_readable): Renamed to ...
1664 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1665 (insert_array): New argument id.
1666 (is_node_readable): New function.
1667 (scan_device): Rename to ...
1668 (scan_disk): .. this. Restrict to one disk.
1669 (scan_devices): New function.
1670 (grub_diskfilter_iterate): Support multi-LV.
1671 Skip invisible and nameless LVs.
1672 (grub_diskfilter_memberlist): Support multi-LV.
1673 (grub_diskfilter_read_node): New function.
1674 (grub_raid_read): Most of logic moved to ...
1675 (read_segment): ... here
1676 (read_lv): New function.
1677 (grub_diskfilter_get_vg_by_uuid): New function.
1678 (grub_diskfilter_make_raid): Likewise.
1679 * grub-core/disk/ldm.c: New file.
1680 * grub-core/disk/lvm.c (vg_list): Removed.
1681 (lv_count): Likewise.
1682 (scan_depth): Likewise.
1683 (is_lv_readable): Likewise.
1684 (grub_lvm_getvalue): Advance pointer past the number.
1685 (find_lv): Removed.
1686 (do_lvm_scan): Refactored into ...
1687 (grub_lvm_detect): ... this. Support raid.
1688 (grub_lvm_iterate): Removed.
1689 (grub_lvm_memberlist): Likewise.
1690 (grub_lvm_open): Likewise.
1691 (grub_lvm_close): Likewise.
1692 (read_lv): Likewise.
1693 (read_node): Likewise.
1694 (is_node_readable): Likewise.
1695 (is_lv_readable): Likewise.
1696 (grub_lvm_read): Likewise.
1697 (grub_lvm_write): Likewise.
1698 (grub_lvm_dev): Use diskfilter
1699 (GRUB_MOD_INIT): Likewise.
1700 (GRUB_MOD_FINI): Likewise.
1701 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1702 new interface.
1703 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1704 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1705 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1706 grub_diskfilter_read_node.
1707 Fix a bug with xor.
1708 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1709 grub_diskfilter_read_node.
1710 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1711 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1712 (grub_disk_dev_iterate): Move from here...
1713 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1714 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1715 Make global.
1716 (grub_hostdisk_find_partition_start): Likewise.
1717 (grub_hostdisk_os_dev_to_grub_drive): New function.
1718 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1719 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1720 * util/getroot.c (make_device_name): ... here.
1721 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1722 Move to ...
1723 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1724 * grub-core/kern/emu/hostdisk.c
1725 (convert_system_partition_to_system_disk): Move to ...
1726 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1727 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1728 * util/getroot.c (device_is_wholedisk): ... here.
1729 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1730 * util/getroot.c (find_system_device): ... here.
1731 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1732 Move to ...
1733 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1734 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1735 Move to ...
1736 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1737 Handle LDM.
1738 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1739 Move to ...
1740 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1741 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1742 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1743 DISKFILTER.
1744 * include/grub/raid.h: Renamed to ...
1745 * include/grub/diskfilter.h: ... this.
1746 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1747 (GRUB_RAID_LAYOUT_*): Make into array.
1748 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1749 (grub_diskfilter_vg): New struct.
1750 (grub_diskfilter_pv_id): Likewise.
1751 (grub_raid_member): Removed.
1752 (grub_raid_array): Likewise.
1753 (grub_diskfilter_pv): New struct.
1754 (grub_diskfilter_lv): Likewise.
1755 (grub_diskfilter_segment): Likewise.
1756 (grub_diskfilter_node): Likewise.
1757 (grub_diskfilter_get_vg_by_uuid): New proto.
1758 (grub_raid_register): Inline.
1759 (grub_diskfilter_unregister): Likewise.
1760 (grub_diskfilter_make_raid): New proto.
1761 (grub_diskfilter_vg_register): Likewise.
1762 (grub_diskfilter_read_node): Likewise.
1763 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1764 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1765 (grub_util_is_ldm): Likewise.
1766 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1767 (grub_hostdisk_find_partition_start): Likewise.
1768 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1769 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1770 New definition.
1771 (grub_gpt_partition_map_iterate): New proto.
1772 * include/grub/lvm.h (grub_lvm_vg): Removed.
1773 (grub_lvm_pv): Likewise.
1774 (grub_lvm_lv): Likewise.
1775 (grub_lvm_segment): Likewise.
1776 (grub_lvm_node): Likewise.
1777 * util/getroot.c [...]
1778 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1779 (probe_abstraction): Likewise.
1780 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1781 (main): Remove dead logic.
1782
1783 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 Simplify root device discover and don't fail when trying to open
1786 incorrect devices.
1787
1788 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1789 function.
1790 (get_diskname_from_path): Likewise.
1791 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1792 of iterating.
1793
1794 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1797
1798 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1801 pastthe end.
1802
1803 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * util/grub-install.in: Add missing \.
1806 Reported by: gentoofan
1807
1808 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1811 (direct_read): Use correct compressed size.
1812 (grub_squash_read_data): Likewise.
1813
1814 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 * docs/grub.texi (Platform limitations): New section.
1817 (Platform-specific operations): Likewise.
1818 * docs/grub-dev.texi (Porting): Likewise.
1819
1820 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 IEEE1275 disk write support.
1823
1824 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1825 const void *.
1826 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1827 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1828 and seek loginc to ...
1829 (grub_ofdisk_prepare): ... here.
1830 (grub_ofdisk_write): Implement.
1831
1832 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 ARC disk write support.
1835
1836 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1837 (reopen): New argument writable. All users updated.
1838 Handle required access mode.
1839 (grub_arcdisk_write): Implement.
1840 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1841 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1842
1843 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1846 (read_sblock): Don't attempt to read superblocks outside the disk size.
1847
1848 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1851 first superblock to find the second one when possible.
1852
1853 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 * util/grub-install.in: Fix an ARC bug.
1856 Print a warning if no platform-specific setup is available.
1857
1858 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1859
1860 Use static allocation rather than scratch pointer in reed_solomon.
1861 It decreases its size significantly and avoids a variable in .text.
1862
1863 * grub-core/lib/reed_solomon.c (scratch): Removed.
1864 (chosenstat): New const or static array.
1865 (sigma): Likewise.
1866 (errpot): Likewise.
1867 (errpos): Likewise.
1868 (sy): Likewise.
1869 (mstat): Likewise.
1870 (errvals): Likewise.
1871 (eqstat): Likewise.
1872 (pol_evaluate): Replace x with log_x argument. All users updated.
1873 (syndroms): Removed.
1874 (gauss_solve): Use statically allocated arrays.
1875 (rs_recover): Likewise.
1876 Calculate syndroms directly.
1877 (decode_block): Use statically allocated arrays.
1878 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1879 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1880
1881 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Eliminate fixed limit on reed solomon decoder length.
1884
1885 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1886 rather than hardcoding the address.
1887 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1888 no_reed_solomon_length.
1889 Move gate_a20 to no-reed-solomon part.
1890 Don't force a particular size of no reed-solomon part.
1891 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1892 Removed.
1893 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1894 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1895
1896 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 * grub-core/commands/wildcard.c (match_files): Handle filenames
1899 without explicit device.
1900 (wildcard_expand): Don't add explicit device if not already present.
1901 * tests/grub_script_echo1.in: Add a new expansion test.
1902
1903 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Replace single-linked with double-linked lists. It results in more
1906 compact and more efficient code.
1907
1908 * grub-core/kern/list.c (grub_list_push): Moved from here ...
1909 * include/grub/list.h (grub_list_push): ... to here. Set prev.
1910 (grub_list_remove): Moved from here ...
1911 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
1912 (grub_prio_list_insert): Set prev.
1913 * include/grub/list.h (grub_list): Add prev. All users updated.
1914
1915 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 Handle newer autotools. Add some missing quotes while on it.
1918
1919 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
1920 (pkglib_DATA): Move grub-mkconfig_lib from here ...
1921 (pkgdata_DATA): ... here.
1922 * Makefile.util.def (update-grub_lib): Removed.
1923 * conf/Makefile.common (pkglib_DATA): Removed.
1924 (pkglib_SCRIPTS): Likewise.
1925 (pkgdata_DATA): New variable.
1926 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
1927 needed.
1928 Add missing quotes.
1929 Remove unused variable while on it.
1930 * tests/util/grub-shell.in: Likewise.
1931 * util/grub-install.in: Likewise.
1932 * util/grub-mkconfig.in: Likewise.
1933 * util/grub-mknetdir.in: Likewise.
1934 * util/grub-mkrescue.in: Likewise.
1935 * util/grub-mkstandalone.in: Likewise.
1936 * util/grub.d/00_header.in: Likewise.
1937 * util/grub.d/10_hurd.in: Likewise.
1938 * util/grub.d/10_illumos.in: Likewise.
1939 * util/grub.d/10_kfreebsd.in: Likewise.
1940 * util/grub.d/10_linux.in: Likewise.
1941 * util/grub.d/10_netbsd.in: Likewise.
1942 * util/grub.d/10_windows.in: Likewise.
1943 * util/grub.d/20_linux_xen.in: Likewise.
1944 * util/grub.d/30_os-prober.in: Likewise.
1945 * util/update-grub_lib.in: Removed.
1946
1947 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
1948
1949 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
1950 a workaround for intel problem.
1951
1952 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
1953 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1954 2012-01-23 pfsmorigo
1955
1956 * util/grub-install.in: Support dd'in into PreP partition.
1957 * util/grub-probe.c (probe): Support discovering partition type.
1958 (main): Support -t msdos_parttype.
1959
1960 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1961
1962 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
1963 infinite recursion using counter.
1964 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
1965 init to skip it if the magic check fails.
1966 (dec_stream_header): Init s->crc32.
1967
1968 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1969 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
1970 2012-01-22 Richard Laager <rlaager@wiktel.com>
1971
1972 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
1973 All users updated.
1974 (find_bestub): Determine correct size.
1975 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
1976 (scan_disk): Align the size down.
1977 Call check pool before find_bestub to have ashift.
1978
1979 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
1982 dprintf in no-malloc zone.
1983
1984 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
1985
1986 * configure.ac: Add back in test for limits.h.
1987
1988 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 Support 4K-sector NTFS.
1991
1992 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
1993 (grub_ntfs_data): Remove blocksize.
1994 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
1995 Remove data argument. All users updated.
1996
1997 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
2000 being in .text to avoid dprel references.
2001 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
2002 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
2003 (grub_arch_highmemsize): Likewise.
2004 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
2005 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
2006 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
2007
2008 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
2011
2012 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
2013 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
2014
2015 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
2018 GRUB_UTIL.
2019 (grub_set_datetime_cmos): Likewise.
2020
2021 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 Make XZ compression parameters dependent on target and not host CPU.
2024
2025 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
2026 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
2027
2028 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
2031 set but not used variable.
2032
2033 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
2036 created when no uuid support is compiled into mkfs.reiser.
2037
2038 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
2041 (utf8_to_macroman): Do the opposite.
2042 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
2043
2044 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * configure.ac: Refise build qemu_mips w/o unifont.
2047
2048 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Eliminate grub_min/grub_max prone to overflow usage.
2051
2052 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
2053 (poll_nonroot_hub): Likewise.
2054 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
2055 (grub_affs_label): Likewise.
2056 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
2057 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
2058 (grub_hfs_label): Likewise.
2059 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
2060 * grub-core/fs/zfs/zfs.c (MIN): Remove.
2061 (zap_leaf_array_equal): Use grub_size. Remove MIN.
2062 (zap_leaf_array_get): Likewise.
2063 (dnode_get_path): Likewise.
2064 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
2065 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
2066 * grub-core/script/execute.c (grub_script_break): Likewise.
2067 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
2068 grub_max.
2069 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
2070 * include/grub/misc.h (grub_min): Removed.
2071 (grub_max): Likewise.
2072
2073 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2074
2075 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
2076 direct.inode = 0.
2077
2078 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
2081
2082 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
2085
2086 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
2089 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
2090
2091 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
2094 rather than a hack for grub_strncasemap.
2095
2096 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Support multiple initrds
2099 Note: part of this was accidently committed in r3739.
2100
2101 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
2102 initrd.
2103 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
2104 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
2105 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2106 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2107 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2108
2109 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2110
2111 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
2112 disks with unknown size.
2113 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
2114
2115 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 Remove defines pertaining to arbitrary limits not affecting GRUB
2118 anymore.
2119
2120 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
2121 (EXT2_MAX_SYMLINKCNT): Likewise.
2122 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
2123 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
2124 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
2125 (GRUB_PXE_MAX_BLKSIZE): Likewise.
2126 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
2127 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
2128 (DN_MAX_OBJECT_SHIFT): Likewise.
2129 (DN_MAX_OFFSET_SHIFT): Likewise.
2130 (DN_MAX_OBJECT): Likewise.
2131 (DNODES_PER_LEVEL_SHIFT): Likewise.
2132 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
2133 (SPA_MAXBLOCKSIZE): Likewise.
2134 (SPA_BLOCKSIZES): Likewise.
2135 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
2136 (MZAP_MAX_BLKSZ): Likewise.
2137
2138 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
2141 handle NULL appropriately.
2142 Remove MIN.
2143
2144 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 Fix efiemu.
2147
2148 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
2149 cpu/types.h.
2150 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
2151 * configure.ac: Fix efiemu check.
2152
2153 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2154
2155 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
2156 grub_probe.
2157 Reported by: adamwill
2158
2159 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
2160
2161 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
2162
2163 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 Fix handling of wide characters in gfxterm.
2166
2167 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
2168 (clear_char): Likewise.
2169 (paint_char): Skip code == NULL chars.
2170 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
2171
2172 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/normal/charset.c: Move comment to right place.
2175
2176 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
2179 (GRUB_AFFS_FLAG_FFS): Put back where it was.
2180 (grub_affs_mount): Revert the correct version checking.
2181
2182 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * docs/grub.texi (Unicode): Mention several other unsupported features.
2185
2186 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
2189 case statements as compile-time one.
2190 (direct_read): Prevent spurious warnings.
2191 (grub_squash_read_data): Likewise.
2192
2193 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Various squash4 fixes and LZO and XZ support.
2196
2197 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
2198 Add xzembed source files.
2199 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
2200 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
2201 (grub_squash_inode): New subtype long_dir.
2202 (SQUASH_TYPE_LONG_DIR): New inode type.
2203 (COMPRESSION): New enum.
2204 (XZBUFSIZ): New const.
2205 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
2206 (read_chunk): Use data->decompress.
2207 (zlib_decompress): New function.
2208 (lzo_decompress): Likewise.
2209 (xz_decompress): Likewise.
2210 (squash_mount): Set new data fields.
2211 (grub_squash_iterate_dir): Handle long dir.
2212 (squash_unmount): Free xzdec and xzbuf.
2213 (grub_squash_open): Check ino type.
2214 (direct_read): Stylistic fixes. Use data->decompress.
2215 (grub_squash_read_data): Likewise.
2216 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
2217 (get_byte): Likewise.
2218 (grub_zlib_disk_read): Removed.
2219 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
2220 (GRUB_POSIX_BOOL_DEFINED): New define.
2221 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
2222 * grub-core/lib/xzembed/xz.h: Addmissing includes.
2223 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
2224 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
2225
2226 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 Don't override more informative errors.
2229
2230 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
2231 * grub-core/font/font.c (open_section): Likewise.
2232 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
2233 filename. Don't override errors.
2234 (grub_cmd_openbsd_ramdisk): Don't override errors.
2235 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
2236 (grub_cmd_initrd): Likewise.
2237 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2238 (grub_cmd_initrd): Likewise.
2239 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
2240 (grub_cmd_linux): Likewise.
2241 (grub_cmd_initrd): Likewise.
2242 (grub_cmd_payload): Likewise.
2243 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
2244 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
2245 (grub_cmd_module): Likewise.
2246 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2247 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
2248 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
2249 (grub_cmd_xnu_mkext): Likewise.
2250 (grub_cmd_xnu_ramdisk): Likewise.
2251 (grub_xnu_check_os_bundle_required): Likewise.
2252 (grub_xnu_load_kext_from_dir): Likewise.
2253 (grub_cmd_xnu_kextdir): Likewise.
2254 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2255
2256 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
2259 as 1024 in block size field. Found on one of my test images.
2260 Small optimisation while on it.
2261
2262 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
2265 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
2266 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
2267 performance fixes while on it.
2268 (grub_sfs_close): Fix memory leak while on it.
2269 (grub_sfs_label): Convert Latin1 to UTF-8.
2270
2271 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
2274 space to avoid overflows.
2275 (grub_hfs_label): Convert from macroman to UTF-8.
2276
2277 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
2280
2281 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
2284
2285 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * unicode: Import Unicode 6.0 data.
2288
2289 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2292 outside of range.
2293
2294 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Avoid cutting in the middle of UTF-8 character.
2297
2298 * include/grub/charset.h (grub_getend): New function.
2299 * grub-core/script/function.c (grub_script_function_find): Use
2300 grub_getend.
2301 * grub-core/normal/completion.c (add_completion): Likewise.
2302
2303 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2306 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2307 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2308 (GRUB_UNICODE_TAG_END): Likewise.
2309 (GRUB_UNICODE_LAST_VALID): Likewise.
2310
2311 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2314 len and make it smaller. All users updated.
2315 * util/import_unicode.py: Put length and not end character.
2316 Check length.
2317
2318 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2319
2320 Make better Unicode-compliant and unify some UTF-8 code pathes.
2321
2322 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2323 valid character.
2324 (grub_is_valid_utf8): Use grub_utf8_process.
2325 Check resulting code range.
2326 (grub_utf8_to_ucs4): Use grub_utf8_process.
2327 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2328 valid character.
2329
2330 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2333
2334 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * docs/grub.texi (Filesystems): Mention AFS.
2337
2338 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 * docs/grub.texi (Filesystems): Clarify restrictions.
2341 (Regexp): Mention non-Unicode regexp behaviour.
2342 (Other): Mention non-Unicode matching behaviour.
2343
2344 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Make HFS implementation use MacRoman.
2347
2348 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2349 (macroman): New const array.
2350 (macroman_to_utf8): New function.
2351 (utf8_to_macroman): Likewise.
2352 (grub_hfs_find_dir): Use utf8_to_macroman.
2353 (grub_hfs_dir): Use macroman_to_utf8.
2354 Set case_insensitive.
2355
2356 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2359
2360 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 Integrate hints into autogeneration scripts.
2363
2364 * docs/grub.texi (Filesystems): Add a hostdisk example.
2365 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2366 (grub-probe): Add ofpath.
2367 * gentpl.py: Remove group nosparc64.
2368 * grub-core/commands/search.c (cache_entry): New struct.
2369 (cache): New var.
2370 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2371 * grub-core/commands/search_wrap.c (options): Add platform-specific
2372 hint options.
2373 (grub_cmd_search): Handle platform-specific hints.
2374 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2375 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2376 (grub_util_biosdisk_data): Likewise.
2377 (grub_util_biosdisk_open): Set device_map.
2378 (read_device_map): Handle "" as indication of no map.
2379 Set device_map.
2380 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2381 (grub_util_biosdisk_get_compatibility_hint): New function.
2382 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2383 * include/grub/emu/hostdisk.h
2384 (grub_util_biosdisk_get_compatibility_hint): New proto.
2385 * util/grub-install.in: Don't call grub-mkdevicemap.
2386 Add platform-specific hint to load.cfg.
2387 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2388 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2389 hints. Set root preliminary to compatibility hint, not to OS name.
2390 * util/grub-probe.c (PRINT_*): Add hints.
2391 (print): Make static.
2392 (escape_of_path): New function.
2393 (guess_bios_drive): Likewise.
2394 (guess_efi_drive): Likewise.
2395 (guess_baremetal_drive): Likewise.
2396 (print_full_name): Likewise.
2397 (probe): Handle hints.
2398 (main): Likewise.
2399 * util/ieee1275/devicemap.c: Removed.
2400 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2401 updated.
2402 (grub_util_devname_to_ofpath): Return NULL on failure.
2403
2404 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2405 resource leak.
2406 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2407
2408 * po/POTFILES.in: Regenerated.
2409
2410 Allow purely long options
2411
2412 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2413 (SHORT_ARG_USAGE): Likewise.
2414 (grub_arg_show_help): Compare opt with help_options.
2415 (parse_option): Receive opt as argument. If makes big simplificatons.
2416 All users updated
2417
2418 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2421 Restructure to avoid warning.
2422
2423 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/grub-install.in: Account for possible escaped comma in device
2426 name.
2427
2428 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2431 channel.
2432
2433 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2436 allocation and zero-setting.
2437 (grub_ieee1275_get_devname): Check that alias is complete.
2438
2439 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2442 unaligned segments.
2443
2444 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2447 prefix.
2448 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2449 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2450 Add ieee1275 prefix.
2451
2452 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * docs/grub.texi (Filesystems): Update.
2455
2456 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Support odc, newc and bigendian cpio formats.
2459
2460 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2461 * grub-core/Makefile.core.def (newc): New module.
2462 (odc): Likewise.
2463 (cpio_be): Likewise.
2464 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2465 (MAGIC): Likewise.
2466 (MAGIC2): Likewise.
2467 (head) [MODE_ODC]: Adapt for the format.
2468 (head) [MODE_NEWC]: Likewise.
2469 (head) [!MODE_*]: Write fields of interest as arrays.
2470 (MAGIC_USTAR): Removed.
2471 (read_number) [MODE_NEWC]: Change to hex.
2472 (read_number) [!MODE_*]: Parse binary arrays.
2473 (grub_cpio_find_file): Factor out the code for better structure and
2474 always use read_number.
2475 (grub_cpio_mount): Use MAGIC and MAGIC2.
2476 (grub_cpio_dir): Exit on first hook non-0 return.
2477 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2478 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2479 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2480 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2481 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2482 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2483 * grub-core/fs/newc.c: New file.
2484 * grub-core/fs/odc.c: Likewise.
2485 * grub-core/fs/cpio_be.c: Likewise.
2486
2487 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 Fix handling of tar numbers occupying the whole field.
2490
2491 * grub-core/fs/cpio.c (read_number): New function.
2492 (grub_cpio_find_file): Use read_number instead of strtoull.
2493
2494 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2495
2496 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2497 occupying the whole field size.
2498
2499 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2500
2501 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2502
2503 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2506
2507 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2508
2509 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2510 TARGET_IMG_LDFLAGS.
2511
2512 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2515 (mountinfo_entry): Increase the field size to take escaping into
2516 account.
2517 (find_root_device_from_libzfs): Add one byte to size of strings for
2518 security.
2519
2520 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2523 an assert.
2524 * util/grub-setup.c (setup): Likewise.
2525
2526 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2529 _LzmaDecodeA.
2530
2531 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * docs/grub.texi (Internationalisation): New section.
2534
2535 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * docs/grub.texi (Loopback booting): New section.
2538
2539 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
2540
2541 * util/grub-mkstandalone.in: Fix minor typo errors.
2542
2543 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2546
2547 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2548 net/icmp.c and net/icmp6.c.
2549 (http): New module.
2550 (priority_queue): Likewise.
2551 * grub-core/io/bufio.c: Rewritten.
2552 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2553 TYPE_WITH_CONFIGFILE_OPTION.
2554 (legacy_commands): Add bootp and dhcp.
2555 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2556 (grub_legacy_parse): Likewise.
2557 * grub-core/lib/priority_queue.c: New file.
2558 * grub-core/net/arp.c: Add missing license header.
2559 (arp_find_entry): Removed.
2560 (arp_find_entry): Likewise.
2561 (grub_net_arp_resolve): Rename to ...
2562 (grub_net_arp_send_request): ...this.
2563 (grub_net_arp_receive): New card argument.
2564 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2565 Set router and DNS server.
2566 (grub_net_configure_by_dhcp_ack): Handle routing information.
2567 (grub_cmd_bootp): Set checksum.
2568 (grub_bootp_init): Remove net_dhcp.
2569 * grub-core/net/dns.c: New file.
2570 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2571 completion.
2572 (get_card_packet): Handle allocation.
2573 (grub_efinet_findcards): Set mtu.
2574 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2575 (get_card_packet): Handle allocation.
2576 (emucard): Set mtu.
2577 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2578 (GRUB_MOD_INIT): Set mtu.
2579 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2580 mtu.
2581 (get_card_packet): Handle allocation.
2582 (grub_ofnet_findcards): Set mtu.
2583 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2584 assert.
2585 (grub_net_recv_ethernet_packet): Handle IPv6.
2586 * grub-core/net/http.c: New file.
2587 * grub-core/net/icmp.c: Likewise.
2588 * grub-core/net/icmp6.c: Likewise.
2589 * grub-core/net/ip.c (ip6addr): New type.
2590 (ip6hdr): Likewise.
2591 (reassemble): Likewise.
2592 (cmp): New function.
2593 (reassembles): New variable.
2594 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2595 (id): New variable.
2596 (send_fragmented): New function.
2597 (grub_net_send_ip_packet): Rename to ...
2598 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2599 Handle non-UDP.
2600 (grub_net_recv_ip_packets): Rename to ...
2601 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2602 (free_rsm): New function.
2603 (free_old_fragments): Likewise.
2604 (grub_net_recv_ip4_packets): New function.
2605 (grub_net_send_ip6_packet): Likewise.
2606 (grub_net_send_ip_packet): Likewise.
2607 (grub_net_recv_ip6_packets): Likewise.
2608 (grub_net_recv_ip_packets): Likewise.
2609 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2610 (LINK_LAYER_CACHE_SIZE): New const.
2611 (link_layer_find_entry): New function.
2612 (grub_net_link_layer_add_address): Likewise.
2613 (grub_net_link_layer_resolve_check): Likewise.
2614 (grub_net_link_layer_resolve): Likewise.
2615 (grub_net_ipv6_get_slaac): Likewise.
2616 (grub_net_ipv6_get_link_local): Likewise.
2617 (grub_cmd_ipv6_autoconf): Likewise.
2618 (parse_ip): Handle one number representation.
2619 (parse_ip6): New functoion.
2620 (match_net): Handle IPv6.
2621 (grub_net_resolve_address): Handle IPv6 and DNS.
2622 (grub_net_resolve_net_address): Handle IPv6.
2623 (route_cmp): New function.
2624 (grub_net_route_address): Find best route.
2625 (grub_net_addr_to_str): Handle IPv6.
2626 (grub_net_addr_cmp): New function.
2627 (grub_net_add_addr): Register local route.
2628 (print_net_address): Handle net address.
2629 (grub_net_poll_cards): Retransmit TCP.
2630 (grub_net_poll_cards_idle_real): Likewise.
2631 (have_ahead): New function.
2632 (grub_net_seek_real): Use underlying seek.
2633 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2634 * grub-core/net/tcp.c: New file.
2635 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2636 (cmp): New function.
2637 (ack): Likewise.
2638 (tftp_receive): Handle unordered input.
2639 (destroy_pq): New function.
2640 (tftp_close): Close pq.
2641 * grub-core/net/udp.c: Put missing license header.
2642 (grub_net_udp_socket): New function.
2643 (udp_socket_register): Likewise.
2644 (grub_net_udp_close): Likewise.
2645 (grub_net_recv_udp_packet): Check checksum.
2646 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2647 * include/grub/misc.h (grub_memchr): New function.
2648 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2649 (grub_net_card_driver): Return buf in recv.
2650 (grub_net_slaac_mac_list): New struct.
2651 (grub_network_level_protocol_id): Add ipv6.
2652 (grub_net_network_level_addr): Likewise.
2653 (grub_net_network_level_net_addr): Likewise.
2654 (grub_net_app_protocol): Add seek.
2655 (grub_net_socket): Removed.
2656 (grub_net_sockets): Likewise.
2657 (grub_net_socket_register): Likewise.
2658 (grub_net_socket_unregister): Likewise.
2659 (FOR_NET_SOCKETS): Likewise.
2660 (grub_net_add_addr): Add const.
2661 (GRUB_NET_BOOTP_*): New enum.
2662 (grub_net_addr_cmp): New proto.
2663 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2664 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2665 (grub_net_hwaddr_to_str): NEw proto.
2666 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2667 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2668 (grub_dns_init): New proto.
2669 (grub_dns_fini): Likewise.
2670 (grub_net_tcp_retransmit): Likewise.
2671 (grub_net_link_layer_add_address): Likewise.
2672 (grub_net_link_layer_resolve_check): Likewise.
2673 (grub_net_link_layer_resolve): Likewise.
2674 (grub_net_dns_lookup): Likewise.
2675 (grub_net_add_dns_server): Likewise.
2676 (grub_net_remove_dns_server): Likewise.
2677 (GRUB_NET_TRIES): New const.
2678 (GRUB_NET_INTERVAL): Likewise.
2679 * include/grub/net/arp.h: Mostly rewritten.
2680 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2681 * include/grub/net/ip.h: Mostly rewritten.
2682 * include/grub/net/netbuff.h: Indent.
2683 * include/grub/net/tcp.h: New file.
2684 * include/grub/net/udp.h: Mostly rewritten.
2685 * include/grub/priority_queue.h: New file.
2686 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2687 (grub_swap_bytes64_compile_time): Likewise.
2688 (grub_cpu_to_be16_compile_time): Likewise.
2689 (grub_cpu_to_be32_compile_time): Likewise.
2690 (grub_cpu_to_be64_compile_time): Likewise.
2691 (grub_be_to_cpu64_compile_time): Likewise.
2692
2693 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2696 UINT_TO_PTR with cast.
2697
2698 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2701 don't use them.
2702
2703 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2706 already there.
2707
2708 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2711 confusing ipxe.
2712
2713 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2716 Add missing const attribute.
2717 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2718 Likewise.
2719 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2720 Likewise.
2721
2722 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2725 misaligned access.
2726 (serpent_setkey): Likewise.
2727 (serpent_encrypt_internal): Likewise.
2728 (serpent_decrypt_internal): Likewise.
2729 (serpent_encrypt): Don't put an alignment-increasing cast.
2730 (serpent_decrypt): Likewise.
2731 (serpent_test): Likewise.
2732
2733 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2736
2737 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2740
2741 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2742 grub_addr_t casts.
2743 (PTR_TO_UINT64): Likewise.
2744 (PTR_TO_UINT32): Likewise.
2745
2746 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2749 because of stack.
2750 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2751 limit.
2752
2753 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2756 text_width > available width a bit more gracefully.
2757
2758 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2759
2760 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2761 current address calculation.
2762
2763 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2766 stack.
2767 (encode_block): Likewise.
2768
2769 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2772 certainety.
2773
2774 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2775
2776 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2777 non-RS part to avoid RS messing with GDT.
2778 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2779 Increase to suit in realmode routines.
2780
2781 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/kern/i386/realmode.S: Increase alignment.
2784 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2785
2786 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2787
2788 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2789 be deterministic.
2790 (syndroms): Compute 0 syndrom.
2791 (rs_recover): Use 0 syndrom.
2792
2793 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2796
2797 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2800 brackets.
2801
2802 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2805 account.
2806 (get_top_pad): Likewise.
2807 (get_right_pad): Likewise.
2808 (get_bottom_pad): Likewise.
2809
2810 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
2813
2814 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2817 attribute as the structure isn't guaranteed to be properly aligned.
2818 (grub_efi_pci_device_path): Likewise.
2819 (grub_efi_pccard_device_path): Likewise.
2820 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2821 specify the size of `memory_type'.
2822 (grub_efi_vendor_device_path): Likewise.
2823 (grub_efi_controller_device_path): Likewise.
2824 (grub_efi_acpi_device_path): Likewise.
2825 (grub_efi_expanded_acpi_device_path): Likewise.
2826 (grub_efi_atapi_device_path): Likewise.
2827 (grub_efi_scsi_device_path): Likewise.
2828 (grub_efi_fibre_channel_device_path): Likewise.
2829 (grub_efi_1394_device_path): Likewise.
2830 (grub_efi_usb_device_path): Likewise.
2831 (grub_efi_usb_class_device_path): Likewise.
2832 (grub_efi_i2o_device_path): Likewise.
2833 (grub_efi_mac_address_device_path): Likewise.
2834 (grub_efi_ipv4_device_path): Likewise.
2835 (grub_efi_ipv6_device_path): Likewise.
2836 (grub_efi_infiniband_device_path): Likewise.
2837 (grub_efi_uart_device_path): Likewise.
2838 (grub_efi_vendor_messaging_device_path): Likewise.
2839 (grub_efi_hard_drive_device_path): Likewise.
2840 (grub_efi_cdrom_device_path): Likewise.
2841 (grub_efi_vendor_media_device_path): Likewise.
2842 (grub_efi_file_path_device_path): Likewise.
2843 (grub_efi_protocol_device_path): Likewise.
2844 (grub_efi_piwg_device_path): Likewise.
2845 (grub_efi_bios_device_path): Likewise.
2846
2847 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2850 (grub_ucs4_to_utf8_alloc): Likewise.
2851 (grub_ucs4_to_utf8): Likewise.
2852 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2853 (grub_ucs4_to_utf8_alloc): Likewise.
2854
2855 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 AFFS never uses unicode.
2858
2859 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2860 (grub_latin1_to_utf8): New inline function.
2861 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2862
2863 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2866 overflow.
2867
2868 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2871 (grub_squash_dirent_header): Likewise.
2872 (read_chunk): Don't double swap.
2873 (grub_squash_iterate_dir): Fix swap sizes.
2874
2875 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2878
2879 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2882 (grub_hfs_iterate_dir): Likewise.
2883
2884 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Fix video on platforms where unaligned access is forbidden.
2887 Make several optimisations while on it.
2888
2889 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2890 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2891 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2892 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2893 Disable.
2894 (grub_video_fbblit_replace_16bit_1bit):
2895 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2896 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2897 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2898 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2899 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2900 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2901 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2902 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2903 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2904 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2905 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2906 (grub_video_fbblit_replace_index_RGB888): Likewise.
2907 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2908 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
2909 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
2910 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2911 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
2912 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2913 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2914 Disable.
2915 (grub_video_fbblit_blend_XXX565_1bit):
2916 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2917 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
2918 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
2919 void *.
2920 * grub-core/video/fb/video_fb.c (common_blitter)
2921 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
2922 (grub_video_fb_create_render_target_from_pointer)
2923 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2924 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
2925 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
2926 definition.
2927 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2928
2929 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
2932 HH22 and HM10 relocations.
2933
2934 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2935
2936 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2937
2938 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
2941 allocation succeeded.
2942
2943 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
2946 argument a u8 pointer. All users updated.
2947 Handle unaligned buffers.
2948
2949 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
2952 add_part to workaround compiler bug.
2953
2954 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2957
2958 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
2961 Reserve alignment invariants.
2962 (grub_multiboot_load): Likewise.
2963 (retrieve_video_parameters): Likewise.
2964 (grub_multiboot_make_mbi): Likewise.
2965
2966 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
2969 incorrect pointer.
2970
2971 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
2974 (grub_pata_pio_write): Likewise.
2975
2976 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2977
2978 Add noreturn attributes and remove unreachable code.
2979
2980 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
2981 code.
2982 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
2983 code. Mark as noreturn.
2984 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
2985 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
2986 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
2987 unreachable code.
2988 * grub-core/kern/main.c (grub_main): Mark as noreturn.
2989 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
2990 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
2991 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
2992 * include/grub/kernel.h (grub_main): Mark as noreturn.
2993 * include/grub/reader.h (grub_rescue_run): Likewise.
2994
2995 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2996
2997 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
2998 redundant declaration.
2999
3000 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * include/grub/net.h (grub_net_network_level_interfaces): Remove
3003 redundant declaration.
3004 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
3005
3006 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
3009 to ensure alignment.
3010 (grub_hdparm_print_identify): Make argument uint16 * to ensure
3011 alignment. Ensure tmp alignment.
3012 (grub_cmd_hdparm): Ensure buf alignment.
3013 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
3014 to ensure alignment.
3015 (grub_ata_dumpinfo): Ensure text alignment.
3016 (grub_atapi_identify): Preserve alignment invariant.
3017 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
3018
3019 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
3022 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
3023 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
3024 * include/grub/misc.h (grub_reboot)
3025 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
3026 (grub_halt) [__mips__]: Likewise.
3027
3028 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
3031 Remove redundant declaration.
3032 (grub_mmap_get_post64): Likewise.
3033 (grub_mmap_get_upper): Likewise.
3034 (grub_mmap_get_lower): Likewise.
3035
3036 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
3039 uint32_t * to ensure alignment.
3040 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
3041
3042 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
3045 uint16_t * to ensure alignment.
3046 (sun_pc_partition_map_iterate): Make `block' a union to ensure
3047 alignment.
3048
3049 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
3052 to ensure alignment.
3053 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
3054
3055 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/ntfs.c (u16at): Make into inline function.
3058 Handle unaligned pointers.
3059 (u32at): Likewise.
3060 (u64at): Likewise.
3061 (fixup): Use byte access instead of v16at.
3062 (find_attr): Fix imporper usage of v32at.
3063 (read_data): Likewise.
3064 (list_file): Handle byte-swapping and unaligned strings.
3065 (grub_ntfs_label): Likewise.
3066
3067 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
3070 as it's not necessarily aligned.
3071
3072 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
3075 redundant declaration.
3076 (grub_serial_init): Likewise.
3077 (grub_terminfo_init): Likewise.
3078
3079 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
3082 function.
3083 (ZAP_HASH_IDX): Likewise.
3084 (ZAP_LEAF_HASH_SHIFT): Likewise.
3085 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
3086 (LEAF_HASH): Likewise.
3087 (ZAP_LEAF_NUMCHUNKS): Likewise.
3088 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
3089 alignment invariants. Return pointer. All users updated.
3090 (ZAP_LEAF_ENTRY): Make into inline function.
3091 (NBBY): Removed.
3092 (xor): LIkewise.
3093 (xor_out): Use grub_crypto_xor.
3094 (dnode_get_path): Use grub_get_unaligned.
3095 (nvlist_find_value): Likewise.
3096 (grub_zfs_nvlist_lookup_uint64): Likewise.
3097 (grub_zfs_nvlist_lookup_string): Likewise.
3098 (get_nvlist_size): Likewise.
3099 (grub_zfs_open): Likewise.
3100 (fill_fs_info): Likewise.
3101 (grub_zfs_dir): Likewise.
3102 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
3103 alignment invariants.
3104 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
3105 necessarily aligned.
3106
3107 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
3110
3111 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
3114 arithmetic to conserve alignment invariants.
3115
3116 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
3119 redundant declaration.
3120 (grub_efiemu_mm_obtain_request): Likewise.
3121 (grub_efiemu_prepare): Likewise.
3122
3123 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3124
3125 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
3126 to match types.
3127
3128 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
3131 case of aunaligned recptr.
3132 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
3133 alignment.
3134 (grub_hfsplus_btree_search): Handle unaligned index.
3135
3136 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
3139 to get freetag and skip.
3140
3141 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
3144 array.
3145 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
3146 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
3147
3148 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
3151 name for checksum and fix allocation algorithm.
3152
3153 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * include/grub/types.h (grub_properly_aligned_t): New type.
3156 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
3157 (grub_get_unaligned16): Add explicit casts.
3158 (grub_get_unaligned32): Likewise.
3159 (grub_get_unaligned64): Likewise.
3160 (grub_set_unaligned16): New function.
3161 (grub_set_unaligned32): Likewise.
3162
3163 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3166
3167 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
3170 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
3171 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
3172
3173 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3174
3175 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
3176 conditionals.
3177
3178 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
3181 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
3182
3183 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 Unify and improve RAID and crypto xor.
3186
3187 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
3188 changed to grub_crypto_xor
3189 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
3190 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
3191 Use bigger types when possible.
3192
3193 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/disk/raid.c (scan_devices): Fix condition.
3196
3197 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
3200 Make name a const ptr.
3201
3202 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
3205 first argument a const pointer.
3206 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
3207 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
3208 proto.
3209 (grub_children_iterate): Likewise.
3210 (grub_machine_mmap_iterate): Remove redundant declaration.
3211
3212 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
3215 (grub_cmd_acpi) [!x86]: Disable EBDA.
3216
3217 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3218
3219 Enable UTF8 in gnulib regexp.
3220
3221 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
3222 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
3223 (isupper): Use grub_isupper.
3224 (isascii): New inline function.
3225 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
3226 * grub-core/lib/posix_wrap/wctype.h: Likewise.
3227 * grub-core/normal/charset.c (grub_utf8_process): New function.
3228 (grub_utf8_to_utf16): Use grub_utf8_process.
3229 (grub_encode_utf8_character): New function.
3230 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
3231 * include/grub/charset.h (grub_utf8_process): New declaration.
3232 (grub_encode_utf8_character): Likewise.
3233 * include/grub/misc.h (grub_islower): New inline function.
3234 (grub_isupper): Likewise.
3235 (grub_strchrsub): Moved down to fix the definitions.
3236
3237 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
3240 specification.
3241
3242 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * include/grub/loader.h (grub_loader_register_preboot_hook):
3245 Use struct preboot * and not void * for handle. All users updated.
3246 (grub_loader_unregister_preboot_hook): Likewise.
3247
3248 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
3251 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
3252 UTF-16-BE. All users updated.
3253 (grub_hfsplus_cmp_catkey): Fix unicode handling.
3254 (grub_hfsplus_iterate_dir): Likewise.
3255 (grub_hfsplus_label): Likewise.
3256
3257 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
3260
3261 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 Add missing const qualifiers.
3264
3265 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
3266 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
3267 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
3268 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
3269 (grub_lvm_check_flag): Likewise.
3270 * grub-core/efiemu/i386/coredetect.c
3271 (grub_efiemu_get_default_core_name): Likewise
3272 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
3273 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
3274 * grub-core/fs/ntfs.c (fixup): Likewise.
3275 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
3276 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
3277 (fzap_lookup): Likewise.
3278 (zap_lookup): Likewise.
3279 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
3280 * grub-core/lib/legacy_parse.c (check_option): Likewise.
3281 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
3282 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
3283 (grub_freebsd_add_meta_module): Likewise.
3284 (grub_cmd_freebsd_module): Likewise.
3285 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
3286 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
3287 (grub_xnu_writetree_get_size): Likewise.
3288 (grub_xnu_writetree_toheap_real): Likewise.
3289 (grub_xnu_find_key): Likewise.
3290 (grub_xnu_create_key): Likewise.
3291 (grub_xnu_create_value): Likewise.
3292 (grub_xnu_register_memory): Likewise.
3293 (grub_xnu_check_os_bundle_required): Likewise.
3294 (grub_xnu_scan_dir_for_kexts): Likewise.
3295 (grub_xnu_load_kext_from_dir): Likewise.
3296 * grub-core/normal/color.c (color_list): Likewise.
3297 * grub-core/normal/completion.c (current_word): Likewise.
3298 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3299 * grub-core/term/serial.c (grub_serial_find): Likewise.
3300 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3301 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3302 Likewise.
3303 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3304 (grub_freebsd_add_meta_module): Likewise.
3305 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3306 * include/grub/net.h (grub_net_card_driver): Likewise.
3307 (grub_net_card): Likewise.
3308 (grub_net_app_protocol): Likewise.
3309 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3310 * include/grub/serial.h (grub_serial_find): Likewise.
3311 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3312 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3313 (grub_xnu_create_value): Likewise.
3314 (grub_xnu_find_key): Likewise.
3315 (grub_xnu_scan_dir_for_kexts): Likewise.
3316 (grub_xnu_load_kext_from_dir): Likewise.
3317
3318 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3319 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3320 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3321 Moved from here ...
3322 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3323
3324 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
3325
3326 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3327
3328 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3331 (read_device): Fix size calculation.
3332
3333 2011-11-25 Robert Millan <rmh@gnu.org>
3334
3335 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3336 (find_root_device_from_libzfs): Add zpool output parser to be used
3337 as fallback when libzfs isn't available.
3338
3339 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3340
3341 * po/Makefile.in.in: Add missing escape-continuation.
3342
3343 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3346
3347 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3350
3351 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3352
3353 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3354
3355 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3358
3359 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3360
3361 * grub-core/lib/adler32.c: Add missing license specification.
3362 * grub-core/lib/crc64.c: Likewise.
3363 * grub-core/loader/i386/pc/plan9.c: Likewise.
3364 * grub-core/partmap/plan.c: Likewise.
3365
3366 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3367
3368 Add facility to debug GRUB with gdb under qemu.
3369
3370 * grub-core/gdb_grub.in: New file.
3371 * grub-core/gmodule.pl.in: Likewise.
3372 * grub-core/Makefile.core.def (gmodule.pl): New script.
3373 (gdb_grub): Likewise.
3374
3375 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/grub-mount.c (argp_parser): Accept relative pathes.
3378 * util/grub-fstest.c (argp_parser): Likewise.
3379
3380 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Plan9 support.
3383
3384 * Makefile.util.def (libgrubmods): Add
3385 grub-core/partmap/plan.c.
3386 * docs/grub.texi: Notice Plan9 support.
3387 * grub-core/Makefile.core.def (plan9): New module.
3388 (part_plan): Likewise.
3389 * grub-core/loader/i386/pc/plan9.c: New file.
3390 * grub-core/partmap/plan.c: Likewise.
3391 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3392 define.
3393 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3394 * include/grub/mm.h (grub_extend_alloc): New inline function.
3395
3396 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Make Reed-Solomon faster by using power of generator representation of
3399 GF(256)*.
3400
3401 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3402 (gf_double_t): Likewise.
3403 (gf_invert): Removed.
3404 (gf_powx): New array.
3405 (gf_powx_inv): Likewise.
3406 (scratch): Move higher.
3407 (gf_reduce): Removed.
3408 (gf_mul): Use powx.
3409 (gf_invert): Likewise.
3410 (init_inverts): Replaced with ...
3411 (init_powx): ...this. All users updated.
3412 (pol_evaluate): Replace multiplications with additions.
3413 (rs_encode): Likewise.
3414 (gauss_eliminate): Call gf_invert.
3415 (grub_reed_solomon_add_redundancy): Call init_powx.
3416 (grub_reed_solomon_recover): Call init_powx unconditionally.
3417
3418 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3421
3422 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3425 disk->partiton for safety.
3426
3427 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3428
3429 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3430 Fix a memory leak.
3431 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3432
3433 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3436
3437 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3438
3439 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3440
3441 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 Fix spaces handling in proc/self/mountinfo.
3444
3445 * util/getroot.c (unescape): New function.
3446 (grub_find_root_device_from_mountinfo): Use unescape.
3447
3448 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 Support ZFS embedding.
3451
3452 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3453 (grub_zfs_fs): Register grub_zfs_embed.
3454
3455 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 Fix MIPS compilation.
3458
3459 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3460 * include/grub/offsets.h: Rename decompressor fields from
3461 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3462 * util/grub-mkimage.c (image_targets): Use new names.
3463
3464 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 Defer multiboot device parsing until we're in compressed part.
3467
3468 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3469 bsd_part. setdevice has fallen into disuse.
3470 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3471 (bsd_part): Likewise.
3472 (boot_dev): New variable.
3473 (multiboot_trampoline): Don't parse multiboot device.
3474 Pass multiboot device in %edx.
3475 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3476 grub_boot_device.
3477 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3478 Likewise.
3479 * grub-core/kern/i386/pc/startup.S: Save edx.
3480 (grub_boot_drive): Removed.
3481 (grub_install_dos_part): Likewise.
3482 (grub_install_bsd_part): Likewise.
3483 (grub_boot_device): New variable.
3484 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3485 (grub_install_bsd_part): Likewise.
3486 (grub_boot_drive): Likewise.
3487 (grub_boot_device): New variable.
3488 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3489 Removed.
3490 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3491 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3492 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3493 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3494 * util/grub-install.in: Remove redundant condition.
3495
3496 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3497
3498 Fix bug introduced by previous commit.
3499
3500 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3501
3502 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 Use decompressors framework on i386-pc. It increases core size
3505 by 46 bytes but improves compatibility and maintainability.
3506
3507 * grub-core/Makefile.core.def (lzma_decompress): New image.
3508 (kernel): Add i386_pc_ldflags.
3509 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3510 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3511 to real_to_prot, prot_to_real and device info.
3512 * include/grub/offsets.h: Renamed decompressor offsets.
3513 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3514 (image_target_desc): Remove raw_size and rename decompressor fields.
3515 (compress_kernel): Handle lzma.
3516 (generate_image): Handle decompressors on i386-pc.
3517
3518 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * configure.ac: Add -fno-asynchronous-unwind-tables.
3521
3522 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Move assembly code to C by using intwrap. It increases core size
3525 by 88 bytes but improves compatibility and maintainability.
3526
3527 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3528 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3529 ... here. Translated to C.
3530 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3531 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3532 ... here. Translated to C.
3533 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3534 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3535 ... here. Translated to C.
3536 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3537 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3538 ... here. Translated to C.
3539 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3540 * grub-core/term/i386/pc/console.c (grub_console_cls):
3541 ... here. Translated to C.
3542 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3543 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3544 ... here. Translated to C.
3545 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3546 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3547 Translated to C.
3548 * grub-core/term/i386/pc/console.c (int10_9): New function.
3549 (grub_console_putchar): Likewise.
3550 * include/grub/i386/pc/console.h: Removed the not anymore shared
3551 functions.
3552
3553 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 Move grub_chainloader_real_boot out of the kernel.
3556
3557 * grub-core/Makefile.am: Remove machine/loader.h.
3558 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3559 Removed.
3560 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3561 variable.
3562 (grub_relocator16_keep_a20_enabled): Likewise.
3563 (grub_relocator16_boot): Fill new variables.
3564 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3565 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3566 relocator.
3567 (grub_chainloader_unload): Likewise.
3568 (grub_chainloader_cmd): Likewise.
3569 * include/grub/i386/pc/loader.h: Removed.
3570 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3571 and esi. All initialisers updated.
3572
3573 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3574 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
3575
3576 * Makefile.util.def (grub-mount): New util.
3577 * .bzrignore: Add grub-mount.
3578 * configure.ac: Check for fuse and enable grub-mount if available.
3579 * docs/man/grub-mount.h2m: New file.
3580 * util/grub-mount.c: Likewise.
3581
3582 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3583
3584 * grub-core/commands/efi/fixvideo.c: Gettextize.
3585 * grub-core/commands/hashsum.c: Likewise.
3586 * grub-core/commands/i386/cmostest.c: Likewise.
3587 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3588 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3589 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3590 * grub-core/commands/lsmmap.c: Likewise.
3591 * grub-core/commands/menuentry.c: Likewise.
3592 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3593 * grub-core/commands/setpci.c: Likewise.
3594 * grub-core/loader/i386/bsd.c: Likewise.
3595 * grub-core/loader/i386/linux.c: Likewise.
3596 * util/getroot.c: Likewise.
3597 * util/grub-editenv.c: Likewise.
3598 * util/grub-fstest.c: Likewise.
3599 * util/grub-mkfont.c: Likewise.
3600 * util/grub-mkimage.c: Likewise.
3601 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3602 * util/grub-pe2elf.c: Likewise.
3603 * util/grub-probe.c: Likewise.
3604 * util/grub-setup.c: Likewise.
3605 * util/ieee1275/ofpath.c: Likewise.
3606 * util/misc.c: Likewise.
3607 * util/raid.c: Likewise.
3608
3609 2011-11-11 Robert Millan <rmh@gnu.org>
3610
3611 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3612 __attribute__((unused)) from `os_dev', which *is* being used.
3613
3614 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3615
3616 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3617 forgotten define.
3618 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3619 GRUB_IA64_DL_GOT_ALIGN.
3620 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3621 GRUB_IA64_DL_TRAMP_ALIGN.
3622
3623 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Replace grub_fatal with normal errors in i386 linux loader.
3626
3627 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3628 (allocate_pages): Check find_efi_mmap_size return value.
3629 (grub_e820_add_region): Return error.
3630 (grub_linux_boot): Check mmap return value.
3631
3632 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/commands/acpihalt.c: Gettextized.
3635 * grub-core/commands/cacheinfo.c: Likewise.
3636 * grub-core/commands/cmp.c: Likewise.
3637 * grub-core/commands/efi/loadbios.c: Likewise.
3638 * grub-core/commands/gptsync.c: Likewise.
3639 * grub-core/commands/ieee1275/suspend.c: Likewise.
3640 * grub-core/commands/legacycfg.c: Likewise.
3641 * grub-core/commands/memrw.c: Likewise.
3642 * grub-core/commands/minicmd.c: Likewise.
3643 * grub-core/commands/parttool.c: Likewise.
3644 * grub-core/commands/time.c: Likewise.
3645 * grub-core/commands/videoinfo.c: Likewise.
3646 * grub-core/disk/geli.c: Likewise.
3647 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3648 * grub-core/disk/luks.c: Likewise.
3649 * grub-core/disk/lvm.c: Likewise.
3650 * grub-core/font/font_cmd.c: Likewise.
3651 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3652 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3653 * grub-core/gfxmenu/view.c: Likewise.
3654 * grub-core/kern/emu/hostdisk.c: Likewise.
3655 * grub-core/kern/emu/main.c: Likewise.
3656 * grub-core/kern/emu/misc.c: Likewise.
3657 * grub-core/kern/emu/mm.c: Likewise.
3658 * grub-core/kern/mips/arc/init.c: Likewise.
3659 * grub-core/kern/mips/loongson/init.c: Likewise.
3660 * grub-core/kern/partition.c: Likewise.
3661 * grub-core/lib/i386/halt.c: Likewise.
3662 * grub-core/lib/mips/arc/reboot.c: Likewise.
3663 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3664 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3665 * grub-core/loader/i386/xnu.c: Likewise.
3666 * grub-core/loader/multiboot.c: Likewise.
3667 * grub-core/net/bootp.c: Likewise.
3668 * grub-core/net/net.c: Likewise.
3669 * grub-core/normal/term.c: Likewise.
3670 * grub-core/partmap/bsdlabel.c: Likewise.
3671 * grub-core/parttool/msdospart.c: Likewise.
3672 * grub-core/term/gfxterm.c: Likewise.
3673 * grub-core/term/terminfo.c: Likewise.
3674 * grub-core/video/i386/pc/vbe.c: Likewise.
3675 * util/grub-menulst2cfg.c: Likewise.
3676 * util/grub-mkdevicemap.c: Likewise.
3677 * util/grub-mklayout.c: Likewise.
3678 * util/grub-mkrelpath.c: Likewise.
3679 * util/grub-script-check.c: Likewise.
3680 * util/ieee1275/grub-ofpathname.c: Likewise.
3681 * util/resolve.c: Likewise.
3682
3683 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Support %1$d syntax.
3686
3687 * tests/printf_unit_test.c: New file.
3688 * Makefile.util.def (printf_test): New test.
3689 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3690
3691 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3694 fix.
3695
3696 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3699 dprintf.
3700 * grub-core/font/font.c (grub_font_load): Likewise.
3701
3702 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * util/grub-macho2img.c: Add comment concerning gettext.
3705 * grub-core/lib/legacy_parse.c: Likewise.
3706
3707 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3710 (grub_xvasprintf): Likewise.
3711
3712 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Add const keyword to grub_env_get and gettextize week days.
3715
3716 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3717 (grub_read_hook_datetime): Return const char *.
3718 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3719 updated.
3720 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3721 Mark for gettext.
3722 (grub_get_weekday_name): Return const char *. Call gettext.
3723 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3724 char * and len as the argument. All users updated.
3725 (grub_script_argv_split_append): Receive const char *.
3726 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3727 * include/grub/env.h (grub_env_get): Likewise.
3728 (grub_env_read_hook_t): Return const char *.
3729 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3730 (grub_script_argv_split_append): Likewise.
3731
3732 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3735
3736 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3739 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3740
3741 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3744 Fix prototype.
3745
3746 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Fix mips compilation.
3749
3750 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3751 normal decoder.
3752 (hashes): Use in embed decoder as well (for sizes).
3753 (dec_stream_header): Fix embed decompressor logic.
3754 (dec_stream_footer): Likewise.
3755
3756 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3759 an error and not a fatal on unrecognised relocation types.
3760
3761 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3764 Issue error rather than printf on unknown arguments.
3765
3766 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3769 Make buf a const.
3770
3771 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3774 Fix module name.
3775
3776 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3777
3778 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3779 leftover debug printf.
3780
3781 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3784
3785 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3788 A stylistic fix.
3789
3790 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3793
3794 2011-11-10 Shea Levy <slevy@tieronedesign.com>
3795
3796 Allow all modules to perform serial IO
3797
3798 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3799 * include/grub/serial.h (grub_serial_port_configure): New inline
3800 function.
3801 (grub_serial_port_fetch): Likewise.
3802 (grub_serial_port_put): Likewise.
3803 (grub_serial_port_fini): Likewise.
3804 (grub_serial_find): New proto.
3805
3806 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 Put symlink at the end of the node and fix a potential
3809 memory corruption.
3810
3811 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3812 Make symlink into an array.
3813 (set_rockridge): Set have_symlink and alloc_dirents.
3814 (grub_iso9660_read_symlink): Use new layout.
3815 (grub_iso9660_iterate_dir): Fix memory corruption.
3816 Use new layout.
3817 (grub_iso9660_dir): Set have_symlink.
3818 (grub_iso9660_open): Likewise.
3819
3820 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 Remove local keyword.
3823
3824 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3825 (version_test_gt): Likewise.
3826 (version_find_latest): Likewise.
3827 (gettext_printf): Likewise.
3828 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3829
3830 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3831
3832 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3833
3834 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 Fix ZFS memory and resource leaks.
3837
3838 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3839 All users updated.
3840 Free type on exit.
3841 (fill_vdev_info): New parameter inserted. All users updated.
3842 (check_pool_label): Likewise.
3843 (scan_disk): Likewise.
3844 (scan_devices): Close non-inserted disks.
3845 (fzap_iterate): Free l.
3846 (unmount_device): Free children descripto memory.
3847
3848 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3851 argument (access out of bounds).
3852
3853 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3856 >= 6 drives.
3857
3858 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3861 Fix declaration.
3862
3863 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3864
3865 Fix several memory leaks.
3866
3867 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3868 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3869 (grub_cpio_dir): Likewise.
3870 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3871 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3872 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3873 (grub_romfs_label): Likewise.
3874 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3875 (squash_unmount): New function.
3876 (grub_squash_dir): Fix memory leak.
3877 (grub_squash_open): Likewise.
3878 (grub_squash_read): Likewise.
3879 (grub_squash_mtime): Likewise.
3880 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3881 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3882 * util/grub-fstest.c (fstest): Likewise.
3883
3884 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3887 avoid accessing beyond the array.
3888
3889 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3892
3893 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 Several AFFS fixes.
3896
3897 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3898 (GRUB_AFFS_FLAG_FFS): Removed.
3899 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3900 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3901 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3902 (grub_fshelp_node): Make block 32-bit.
3903 Add block_cache and last_block_cache.
3904 (grub_affs_read_block): Fill and use block cache.
3905 (grub_affs_read_file): Removed.
3906 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3907 boot block.
3908 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
3909 safety.
3910 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
3911 space.
3912 (grub_affs_close): Free block cache.
3913 (grub_affs_read): Use grub_fshelp_read_file directly.
3914
3915 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
3918 with no error set.
3919
3920 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
3923 used variable.
3924 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3925 Likewise.
3926
3927 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
3930
3931 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
3932 byteswap when needed.
3933
3934 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 Fix FreeBSD compilation.
3937
3938 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
3939 to avoid circular dependency.
3940 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
3941 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
3942 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
3943
3944 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 Fix ZFS crypto error types.
3947
3948 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
3949 (grub_gcm_decrypt): Likewise.
3950 (grub_zfs_load_key_real): Fix error code type. Handle possible error
3951 from PBKDF2.
3952
3953 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3954
3955 Illumos support.
3956
3957 * Makefile.util.def (10_illumos): New script.
3958 * configure.ac: Set COND_HOST_ILLUMOS.
3959 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
3960 Support Illumos calls.
3961 (find_partition_start) [__sun__]: Likewise.
3962 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
3963 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
3964 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
3965 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
3966 device.
3967 * util/grub-probe.c (probe) [__sun__]: Do character check.
3968 * util/grub.d/10_illumos.in: New file.
3969
3970 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 Support escaped commas in hostdisk.
3973
3974 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
3975 (find_grub_drive): Use unescape_cmp.
3976 (make_device_name): Escape commas.
3977
3978 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
3981
3982 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3983
3984 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
3985 variable.
3986
3987 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Support trampoline jumps on powerpc.
3990
3991 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
3992 __ia64__ path.
3993 (grub_dl_load_segments): Set mod->sz.
3994 (grub_dl_flush_cache): Flush whole space occupied by module, not just
3995 segments.
3996 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
3997 (jump): Likewise.
3998 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
3999 function.
4000 (trampoline): New struct.
4001 (trampoline_template): New const.
4002 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
4003 * include/grub/dl.h (grub_dl): Add sz element.
4004 [__powerpc__]: Follow __ia64__.
4005 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
4006 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
4007 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
4008 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
4009
4010 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 ZFS crypto support.
4013
4014 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
4015 * grub-core/Makefile.core.def (zfscrypt): New module.
4016 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
4017 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
4018 it. All users updated.
4019 (grub_zfs_decrypt): New var.
4020 (grub_zfs_load_key): Likewise.
4021 (zio_checksum_functions): Add SHA256+MAC.
4022 (zio_checksum_verify): Handle incomplete comparison due to MAC.
4023 (zio_read): Handle encrypted blocks.
4024 (zap_verify): Remove incorrect check.
4025 (fzap_iterate): Handle non-standard fzap.
4026 (zap_iterate): Likewise.
4027 (zap_iterate_u64): New function.
4028 (dnode_get_fullpath): Load keys.
4029 * grub-core/fs/zfs/zfscrypt.c: New file.
4030 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
4031 (grub_crypto_ecb_encrypt): Make input const.
4032 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
4033 (grub_crypto_ecb_encrypt): Make input const.
4034 (GRUB_CIPHER_AES): New macro.
4035 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
4036 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
4037 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
4038 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
4039 prefix. All users updated.
4040 (grub_zfs_add_key): New proto.
4041 (grub_zfs_decrypt): Likewise.
4042 (grub_zfs_load_key): Likewise.
4043 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
4044 * util/grub-fstest.c (options): Add -K option.
4045 (argp_parser): Likewise.
4046
4047 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Support zle compression on ZFS.
4050
4051 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
4052 (decomp_table): Add zle.
4053 * include/grub/zfs/zio.h (zio_compress): Add zle.
4054
4055 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Support BtrFS embedding.
4058
4059 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
4060 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
4061 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
4062 * util/grub-setup.c (setup): Use fs embedding if available.
4063 Add additional sanity check.
4064
4065 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
4066
4067 * util/grub-install.in: Fix condition for config_opt.
4068
4069 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 Support third redundancy strip on raidz3.
4072
4073 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
4074 Return error on singularity. All users updated.
4075 (read_device): Don't stop on 3rd failure on raidz3.
4076
4077 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Support case-insensitive ZFS subvolumes.
4080
4081 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
4082 All users updated.
4083 (zap_hash): Likewise.
4084 (name_cmp): New function.
4085 (zap_leaf_array_equal): New parameter case_insensitive.
4086 All users updated.
4087 (zap_leaf_lookup): Likewise.
4088 (fzap_lookup): Likewise.
4089 (zap_lookup): Likewise.
4090 (dnode_get_path): New parameter case_insensitive. Retrieve case
4091 sensitiviness of a volume. All users updated.
4092 (dnode_get_fullpath): New parameter case_insensitive.
4093 All users updated.
4094 (grub_zfs_dir): Set info.case_insensitiveness.
4095
4096 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 Support second redundancy strip on raidz(2,3).
4099
4100 * grub-core/fs/zfs/zfs.c (powx): New array.
4101 (powx_inv): Likewise.
4102 (poly): New const.
4103 (xor_out): New function.
4104 (gf_mul): Likewise.
4105 (recovery): Likewise.
4106 (read_device): Use second redundancy strip.
4107
4108 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 Use a power of generator representation of GF(256) multiplication group
4111 to save space time and complexity.
4112
4113 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
4114 (raid6_table2): Likewise.
4115 (powx): New array.
4116 (powx_inv): Likewise.
4117 (poly): New const.
4118 (grub_raid_block_mul): Replace with ...
4119 (grub_raid_block_mulx): ...this.
4120 (grub_raid6_init_table): Rewritten.
4121 (grub_raid6_recover): Use power of generator representation.
4122
4123 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
4126 for the right device.
4127
4128 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
4131 expected by grub-mkimage and it's more clear since there is no implicit
4132 padding.
4133
4134 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
4137 disk.
4138 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4139
4140 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
4141
4142 * util/grub-mkrescue.in: Fix handling xorriso option.
4143
4144 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
4147 NULL.
4148
4149 2011-11-03 crocket <crockabiscuit@gmail.com>
4150
4151 * util/grub.d/10_linux.in: Add Slackware initrd naming.
4152
4153 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 XZ CRC64 and SHA256 support.
4156
4157 * Makefile.util.def (libgrubmods): Add crc64.c.
4158 * grub-core/Makefile.core.def (crc64): New module.
4159 * grub-core/lib/crc64.c: New file.
4160 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
4161 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
4162 Fix the type.
4163 (MAX_HASH_SIZE): New define.
4164 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
4165 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
4166 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4167 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
4168 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
4169 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
4170 Handle non-crc32 hashes.
4171 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
4172 (dec_stream_header): Handle non-crc32 hashes.
4173 (dec_stream_footer): Likewise.
4174 (dec_block_header): Likewise.
4175 (dec_main): Likewise.
4176 (xz_dec_init): Likewise.
4177 (xz_dec_reset): Likewise.
4178 (xz_dec_end): Likewise.
4179 * util/import_gcry.py: Add CRC64 line.
4180
4181 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4182
4183 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
4184 as well.
4185
4186 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 Make reiserfs label retrieval similar to other *_label functions.
4189
4190 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
4191 (REISERFS_MAX_LABEL_LENGTH): Removed.
4192 (REISERFS_LABEL_OFFSET): Likewise.
4193 (grub_reiserfs_label): Rewritten.
4194
4195 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
4198 field.
4199
4200 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
4203
4204 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
4207 drive failure on both raidz and raidz2.
4208
4209 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
4210
4211 Fix RAIDZ(2) for >= 5 devices.
4212
4213 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
4214 asize argument. All users updated.
4215
4216 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 Fix RAIDZ(2).
4219
4220 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
4221 (fill_vdev_info_real): Set ashift.
4222 (read_device): Rewrite RAIDZ part based on reverse engineering.
4223
4224 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4225
4226 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
4227 don't report potentially unavialiable fields in debug output.
4228 (find_path): Fix double-free and memory leak.
4229
4230 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 Read label on UFS1.
4233
4234 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
4235 (grub_ufs_fs): Always set .label.
4236
4237 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4238
4239 Use shifts in UFS.
4240
4241 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
4242 (grub_ufs_data): New field log2_blksz.
4243 (grub_ufs_read_file): Use shifts.
4244 (grub_ufs_mount): Check block size and logarithm it.
4245
4246 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
4247
4248 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
4249 long symlinks.
4250
4251 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4252
4253 Handle symlinks and long names on tar and cpio.
4254
4255 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
4256 (ATTR_FILE): Likewise.
4257 (ATTR_DIR): Likewise.
4258 (ATTR_LNK): Likewise.
4259 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
4260 (grub_cpio_find_file): Fill mode, handle linkname field as well as
4261 L and K entries.
4262 (grub_cpio_mount): Zero-fill data.
4263 (handle_symlink): New function.
4264 (grub_cpio_dir): Handle symlinks.
4265 (grub_cpio_open): Likewise.
4266 (grub_cpio_close) [MODE_USTAR]: Free linkname.
4267
4268 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Fix iso9660 filename limitations and fix memory leaks.
4271
4272 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
4273 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
4274
4275 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4276
4277 Fix JFS file name length limitations.
4278
4279 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
4280 (grub_jfs_diropen): Fix maximum filename length.
4281 (grub_jfs_getent): Fix filename length.
4282 (grub_jfs_lookup_symlink): Fix size checks.
4283
4284 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4285
4286 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
4287 string.
4288
4289 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4290
4291 Leverage BFS implementation to read AFS.
4292
4293 * Makefile.util.def (libgrubmods): Add afs.c.
4294 * grub-core/Makefile.core.def (afs): New module
4295 * grub-core/fs/afs.c: New file.
4296 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4297
4298 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4299
4300 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
4301
4302 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 * grub-core/fs/bfs.c: Run indent.
4305
4306 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 BFS implementation based on the specification.
4309
4310 * grub-core/fs/bfs.c: New file.
4311 * Makefile.util.def (libgrubmods): Add bfs.c.
4312 * grub-core/Makefile.core.def (bfs): New module.
4313
4314 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * util/grub-fstest.c (cmd_cp): Clarify error message.
4317 (cmd_cmp): Likewise.
4318
4319 2011-10-30 Yves Blusseau <blusseau@zetam.org>
4320
4321 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4322 and befs_be.
4323
4324 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4325
4326 Remove afs and befs because of copyright problem.
4327
4328 * grub-core/fs/afs.c: Removed.
4329 * grub-core/fs/afs_be.c: Removed.
4330 * grub-core/fs/befs.c: Removed.
4331 * grub-core/fs/befs_be.c: Removed.
4332 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4333 * grub-core/Makefile.core.def (afs): Removed.
4334 (afs_be): Likewise.
4335 (befs): Likewise.
4336 (befs_be): Likewise.
4337
4338 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 Prefer rockridge over Joliet.
4341
4342 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4343 to ...
4344 (set_rockridge): ... here.
4345 (grub_iso9660_mount): Check rockridge on the primary label when
4346 discovering. Ignore Joliet if Rockridge is present.
4347
4348 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 Use shifts in nilfs2.
4351
4352 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4353 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4354 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4355 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4356 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4357 (grub_nilfs2_entries_per_block): Replaced with ...
4358 (grub_nilfs2_log_entries_per_block_log): ... this.
4359 (grub_nilfs2_blocks_per_group): Replaced with ...
4360 (grub_nilfs2_blocks_per_group_log): ... this.
4361 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4362 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4363 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4364 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4365 (grub_nilfs2_palloc_entry_offset): Replaced ...
4366 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4367 (grub_nilfs2_dat_translate): Use shifts.
4368 (grub_nilfs2_read_inode): Likewise.
4369 (GRUB_MOD_INIT): Ensure that logs are correct.
4370
4371 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 Use shifts in minix filesystem.
4374
4375 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4376 (GRUB_MINIX_ZONE2SECT): Likewise.
4377 (grub_minix_data): Replace block_size with log_block_size.
4378 (grub_minix_read_file): Use shifts.
4379 (grub_minix_mount): Check block size and take a logarithm.
4380
4381 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 Use shifts in squash4.
4384
4385 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4386 (squash_mount): Check block size and take logarithm.
4387 (direct_read): Use shifts.
4388
4389 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 Correct befs block counting logic.
4392
4393 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4394 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4395 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4396 (grub_afs_read_inode): Use block_shift.
4397 (RANGE_SHIFT): New definition.
4398 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4399 unexpected conditions, use shifts and appropriate types.
4400 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4401
4402 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4403
4404 * grub-core/disk/raid.c (scan_devices): Check partition.
4405 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4406
4407 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 Support BFS (befs) UUID.
4410
4411 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4412 (grub_afs_small_data_element_header): New struct.
4413 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4414 (grub_afs_read_attribute) [MODE_BFS]: New function.
4415 (grub_afs_iterate_dir): Allocate for complete inode.
4416 (grub_afs_mount): Likewise.
4417 (grub_afs_uuid) [MODE_BFS]: New function.
4418 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4419
4420 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4421
4422 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4423 (zfs_unmount): Fix memory leak.
4424
4425 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4426
4427 Support NTFS reparse points.
4428
4429 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4430 (symlink_descriptor): New struct.
4431 (grub_ntfs_read_symlink): New function.
4432 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4433 (grub_ntfs_open): Likewise.
4434
4435 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4438
4439 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4440
4441 fstest xnu_uuid subcommand.
4442
4443 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4444 grub-core/commands/xnu_uuid.c.
4445 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4446 (fstest): Handle xnu_uuid.
4447 (options): Document xnu_uuid.
4448 (argp_parser): Parse xnu_uuid.
4449
4450 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4453 -l argument. Add newline at the end if printing.
4454 (GRUB_MOD_INIT): Document -l.
4455
4456 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4459
4460 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 ZFS multi-device and version 33 support.
4463
4464 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4465 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4466 (grub_zfs_data): Add multidev-ice-related fields.
4467 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4468 (dva_get_offset): Make dva const.
4469 (zfs_fetch_nvlist): New function.
4470 (fill_vdev_info_real): Likewise.
4471 (fill_vdev_info): Likewise.
4472 (check_pool_label): Likewise.
4473 (scan_disk): Likewise.
4474 (scan_devices): Likewise.
4475 (read_device): Likewise.
4476 (read_dva): Likewise.
4477 (zio_read_gang): Use read_dva.
4478 (zio_read_data): Likewise.
4479 (zap_leaf_lookup): Add missing endian conversion.
4480 (zap_verify): Add missing endian conversion. All users updated.
4481 (fzap_lookup): Likewise.
4482 (fzap_iterate): Likewise.
4483 (dnode_get_path): Handle SA bonus.
4484 (nvlist_find_value): Make input const. All users updated.
4485 (unmount_device): New function.
4486 (zfs_unmount): Use unmount_device.
4487 (zfs_mount): Use scan_disk.
4488 (zfs_mtime): New function.
4489 (grub_zfs_open): Handle system attributes.
4490 (fill_fs_info): Likewise.
4491 (grub_zfs_dir): Likewise.
4492 (grub_zfs_fs): Add mtime.
4493 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4494 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4495 (SA_MTIME_OFFSET): Likewise.
4496 (SA_SYMLINK_OFFSET): Likewise.
4497 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4498 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4499 (fstest): Support zfsinfo.
4500 (argp_parser): Likewise.
4501
4502 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4505 error.
4506
4507 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 ZFS fixes.
4510
4511 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4512 sharing the same block. Iterate over correct number of indices.
4513 (dnode_get_path): Handle symlinks correctly.
4514
4515 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4518
4519 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4520
4521 Read label on HFS+.
4522
4523 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4524 (grub_hfsplus_btree_search): Fix types.
4525 (grub_hfsplus_label): Implement.
4526
4527 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4530
4531 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4534
4535 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 Fix symlink handling on iso9660.
4538
4539 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4540 All users updated.
4541 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4542 (grub_iso9660_read_symlink): Moved most of code ...
4543 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4544
4545 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4548 Use union to avoid breaking strict-aliasing rules.
4549
4550 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 Support multi-extent iso files.
4553
4554 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4555 Add node.
4556 (grub_fshelp_node): Revamp. All users updated.
4557 (FLAG_*): New enum.
4558 (read_node): New function.
4559 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4560 All users updated.
4561 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4562 (get_node_size): New function.
4563 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4564 entries.
4565 Fix memory leak on . and ..
4566 (grub_iso9660_read): Use read_node.
4567 (grub_iso9660_close): Free node.
4568
4569 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Fix tar 4G limit and handle paths containing dot.
4572
4573 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4574 (canonicalize): New function.
4575 (grub_cpio_find_file): Use canonicalize. Store offs in
4576 grub_disk_addr_t.
4577 (grub_cpio_dir): Use grub_disk_addr_t.
4578 (grub_cpio_open): Likewise.
4579
4580 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4583
4584 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4585 unused flags.
4586 (grub_squash_inode): Add long_file and block_size.
4587 (grub_squash_cache_inode): New struct.
4588 (grub_squash_dirent): Make types into enum.
4589 (SQUASH_TYPE_LONG_REGULAR): New type.
4590 (grub_squash_frag_desc): Add field size.
4591 (SQUASH_BLOCK_FLAGS): New enum.
4592 (grub_squash_data): Use grub_squash_cache_inode.
4593 (grub_fshelp_node): Make ino_chunk 64-bit.
4594 (read_chunk): Minor argument change. All users updated.
4595 (squash_mount): Use correct le_to_cpu.
4596 (grub_squash_open): Handle LONG_REGULAR.
4597 (direct_read): New function.
4598 (grub_squash_read_data): Handle blocks correctly.
4599
4600 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4603
4604 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4607
4608 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4609
4610 Fix 2G limit on ZFS.
4611
4612 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4613 types.
4614 (uberblock_verify): Likewise.
4615 (dmu_read): Likewise.
4616 (grub_zfs_read): Likewise. Remove invalid cast.
4617
4618 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4621 (grub_jfs_blkno): Fix incorrect shift.
4622 (grub_jfs_read_file): Use more appropriate types.
4623
4624 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 Support triple indirect on minix2 and minix3.
4627
4628 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4629 Declare triple_indir_zone.
4630 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4631 indirect.
4632
4633 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 Minix FS fixes.
4636
4637 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4638 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4639 Rename ctime to mtime. All users updated.
4640 (grub_minix_get_file_block): Fix types and double indirect computations.
4641
4642 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4645 if no label is found.
4646 (grub_fat_iterate_dir): Fix file size type.
4647 (grub_fat_iterate_dir): Likewise.
4648
4649 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4650
4651 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4652 save some space.
4653 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4654 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4655
4656 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4657
4658 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4659
4660 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * util/import_gcry.py: Accept space between # and include.
4663
4664 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4667
4668 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4671
4672 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4673 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4674 yylex_strncpy.
4675 * grub-core/script/yylex.l: Add fine-grained #pragma.
4676
4677 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4680 New inline function.
4681 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4682 Likewise.
4683 (memset) [GRUB_UTIL]: Likewise.
4684 (memcmp) [GRUB_UTIL]: Likewise.
4685
4686 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4689 inline function rather than a define.
4690
4691 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4692
4693 * util/grub-setup.c: Add missing include.
4694
4695 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * util/ieee1275/grub-ofpathname.c: Add missing include.
4698
4699 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4702 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4703 Likewise.
4704
4705 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4708 grub_memcmp usage.
4709
4710 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4711
4712 * util/grub-install.in: Add datarootdir as per automake manual
4713 suggestion.
4714 * util/grub-mknetdir.in: Likewise.
4715
4716 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4719 suggestion.
4720 * util/grub.d/10_kfreebsd.in: Likewise.
4721 * util/grub.d/10_linux.in: Likewise.
4722 * util/grub.d/10_netbsd.in: Likewise.
4723 * util/grub.d/10_windows.in: Likewise.
4724 * util/grub.d/20_linux_xen.in: Likewise.
4725
4726 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 Remove redundant grub_kernel_image_size.
4729
4730 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4731 _edata and _start.
4732 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4733 the small code. It moves it only by few bytes but simplifies the code.
4734 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4735 _start.
4736 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4737 (grub_kernel_image_size): Removed.
4738 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4739 (grub_kernel_image_size): Removed.
4740 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4741 compiled with Apple toolchain.
4742 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4743 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4744 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4745 (grub_total_module_size): Likewise.
4746 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4747 Removed.
4748 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4749 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4750 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4751 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4752 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4753 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4754 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4755 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4756 Removed.
4757 (grub_total_module_size): Removed.
4758 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4759 (image_targets): Likewise.
4760 Set .compressed_size to no field on sparc.
4761 (generate_image): Remove kernel_image_size handling.
4762
4763 2011-10-19 Szymon Janc <szymon@janc.net.pl>
4764
4765 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4766 NULL pointer dereference.
4767
4768 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4771 done with a dedicated section.
4772
4773 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4774 Ensure the correct position of boot_path.
4775 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4776 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4777 other fields.
4778 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4779 * include/grub/boot.h: Removed. All references removed.
4780 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4781 Removed.
4782 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4783
4784 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4787 name.
4788
4789 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4790
4791 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4792
4793 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4796 Don't add the bogus brackets.
4797
4798 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4799
4800 ExFAT support.
4801
4802 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4803 * grub-core/Makefile.core.def (exfat): New module.
4804 * grub-core/fs/exfat.c: New file.
4805 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4806 (GRUB_FAT_ATTR_*): Make into an enum.
4807 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4808 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4809 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4810 (GRUB_FAT_MAXFILE): Removed.
4811 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4812 (grub_current_fat_bpb_t): New type.
4813 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4814 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4815 (grub_fat_dir_node_t): New type.
4816 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4817 (fat_log2) [MODE_EXFAT]: Removed.
4818 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4819 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4820 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4821 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4822 (grub_fat_label) [MODE_EXFAT]: New function.
4823 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4824 reserved_first_sector to 0.
4825
4826 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4827
4828 Move grub_reboot out of the kernel.
4829
4830 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4831 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4832 * grub-core/lib/efi/reboot.c: ... here.
4833 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4834 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4835 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4836 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4837 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4838 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4839 * grub-core/lib/ieee1275/reboot.c: ... here.
4840 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4841 * grub-core/lib/mips/arc/reboot.c: ... here.
4842 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4843 * grub-core/lib/mips/loongson/reboot.c: ...here.
4844 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4845 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4846 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4847 * include/grub/i386/reboot.h: New file.
4848 * include/grub/mips/loongson/ec.h: Fix includes.
4849 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4850 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4851 * grub-core/lib/i386/reboot.c: New file.
4852
4853 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 Make grub_prefix into module to fix the arbitrary limit and save
4856 some space.
4857
4858 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4859 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4860 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4861 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4862 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4863 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4864 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4865 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4866 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4867 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4868 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4869 * include/grub/ia64/efi/kernel.h: Removed.
4870 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4871 (grub_prefix): Removed.
4872 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4873 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4874 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4875 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4876 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4877 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4878 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4879 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4880 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4881 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4882 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4883 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4884 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4885 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4886 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4887 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4888 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4889 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4890 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4891 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4892 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4893 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4894 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4895 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4896 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4897 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4898 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4899 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4900 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4901 from module.
4902 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4903 prefix_end.
4904 (image_targets): Likewise.
4905 (generate_image): Put prefix as a module.
4906
4907 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 Replace grub_module_iterate with FOR_MODULES.
4910
4911 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
4912 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
4913 (grub_efi_modules_addr): ...this.
4914 * grub-core/kern/efi/init.c (grub_modbase): New variable.
4915 (grub_efi_init): Set grub_modbase.
4916 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
4917 (grub_modbase): New variable.
4918 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
4919 (grub_modbase): New variable.
4920 (grub_machine_init): Set grub_modbase.
4921 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
4922 (grub_modbase): New variable.
4923 (grub_machine_init): Set grub_modbase.
4924 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
4925 (grub_modbase): New variable.
4926 (grub_machine_init): Set grub_modbase.
4927 * grub-core/kern/main.c (grub_module_iterate): Remove.
4928 (grub_modules_get_end): Use grub_modbase.
4929 (grub_load_modules): Use FOR_MODULES.
4930 (grub_load_config): Likewise.
4931 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
4932 (grub_modbase): New variable.
4933 (grub_machine_init): Set grub_modbase.
4934 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
4935 (grub_modbase): New variable.
4936 (grub_machine_init): Set grub_modbase.
4937 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
4938 Removed.
4939 (grub_modbase): New variable.
4940 (grub_machine_init): Set grub_modbase.
4941 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
4942 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
4943 (grub_module_iterate): Likewise.
4944 (grub_modbase): New variable declaration.
4945 (FOR_MODULES): New macro.
4946
4947 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * configure.ac: Check for __ctzdi2 and __ctzsi2.
4950 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
4951
4952 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 Fix few obvious type discrepancies.
4955
4956 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
4957 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
4958 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
4959 variable.
4960 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
4961 and connected types.
4962 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
4963 offset.
4964 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
4965 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
4966 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
4967 and connected types.
4968
4969 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 Fix python 3.x incompatibilities.
4972
4973 * gentpl.py: Put brackets around print strings.
4974 * util/import_gcry.py: Open explicitly as utf-8.
4975 Use in instead of has_key.
4976
4977 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4978
4979 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
4980 (GRUB_XFS_INO_AGBITS): Make into inline function.
4981 (GRUB_XFS_INO_INOINAG): Likewise.
4982 (GRUB_XFS_INO_AG): Likewise.
4983 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4984 (GRUB_XFS_EXTENT_OFFSET): Likewise.
4985 (GRUB_XFS_EXTENT_BLOCK): Likewise.
4986 (GRUB_XFS_EXTENT_SIZE): Likewise.
4987 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
4988 (GRUB_XFS_NEXT_DIRENT): Likewise.
4989 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
4990 (grub_xfs_read_file): Fix offset type.
4991
4992 2011-10-15 Robert Millan <rmh@gnu.org>
4993
4994 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
4995
4996 2011-10-15 Robert Millan <rmh@gnu.org>
4997
4998 Fix build problem on FreeBSD and GNU/kFreeBSD.
4999
5000 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
5001
5002 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
5005
5006 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
5007 types.
5008 (grub_hfsplus_btree_recoffset): Likewise.
5009 (grub_hfsplus_btree_recptr): Likewise.
5010 (grub_hfsplus_find_block): Likewise.
5011 (grub_hfsplus_btree_search): Likewise.
5012 (grub_hfsplus_read_block): Likewise.
5013 (grub_hfsplus_read_file): Likewise.
5014 (grub_hfsplus_mount): Likewise.
5015 (grub_hfsplus_btree_iterate_node): Likewise.
5016 (grub_hfsplus_btree_search): Likewise.
5017 (grub_hfsplus_iterate_dir): Likewise.
5018 (grub_hfsplus_read): A small code simplification.
5019
5020 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * grub-core/kern/emu/hostdisk.c
5023 (convert_system_partition_to_system_disk): Don't assume that children
5024 of mapper nodes are mapper nodes.
5025
5026 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
5029 * include/grub/misc.h (grub_isxdigit): New function.
5030 * grub-core/video/colors.c (my_isxdigit): Removed. All users
5031 switched to grub_isxdigit.
5032 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
5033 number starting with a letter.
5034
5035 2011-10-09 Robert Millan <rmh@gnu.org>
5036
5037 LVM support for FreeBSD and GNU/kFreeBSD.
5038
5039 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
5040 GNU/kFreeBSD.
5041 (LVM_DEV_MAPPER_STRING): Move from here ...
5042 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
5043 * util/getroot.c: Include `<grub/util/lvm.h>'.
5044 (grub_util_get_dev_abstraction): Enable
5045 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
5046 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
5047 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
5048 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
5049 support it.
5050 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
5051 GNU/kFreeBSD.
5052 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
5053 when LVM abstraction is required for ${GRUB_DEVICE}.
5054
5055 2011-10-06 Szymon Janc <szymon@janc.net.pl>
5056
5057 Add support for LZO compression in GRUB:
5058 - import of minilzo library,
5059 - LZO decompression for btrfs,
5060 - lzop files decompression.
5061
5062 * grub-core/io/lzopio.c: New file.
5063 * grub-core/lib/adler32.c: Likewise.
5064 * grub-core/lib/minilzo/lzoconf.h: Likewise.
5065 * grub-core/lib/minilzo/lzodefs.h: Likewise.
5066 * grub-core/lib/minilzo/minilzo.c: Likewise.
5067 * grub-core/lib/minilzo/minilzo.h: Likewise.
5068 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
5069 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
5070 grub-core/lib/minilzo/minilzo.c to common.
5071 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
5072 cflags in cppflags.
5073 * grub-core/Makefile.core.def (btrfs): Likewise.
5074 * grub-core/Makefile.core.def (lzopio): New module.
5075 (adler32): Likewise.
5076 * grub-core/fs/btrfs.c: Include minilzo.h.
5077 (GRUB_BTRFS_COMPRESSION_LZO): New define.
5078 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
5079 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
5080 (grub_btrfs_lzo_decompress): New function.
5081 (grub_btrfs_extent_read): Add support for LZO compression type.
5082 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
5083 (GRUB_USHRT_MAX): Likewise.
5084 (GRUB_UINT_MAX): Likewise.
5085 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
5086 (UINT_MAX): Likewise.
5087 (CHAR_BIT): Likewise.
5088 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
5089 grub-core/lib/posix_wrap/limits.h
5090 (UCHAR_MAX): Likewise.
5091 * include/grub/file.h (grub_file_filter_id): New compression filter
5092 GRUB_FILE_FILTER_LZOPIO.
5093 * include/grub/file.h (grub_file_filter_id): Set
5094 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
5095 * include/grub/types.h (grub_get_unaligned16): New function.
5096 (grub_get_unaligned32): Likewise.
5097 (grub_get_unaligned64): Likewise.
5098 * util/import_gcry.py (cryptolist): Add adler32.
5099
5100 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
5103 in perspective decreases the complexity of build system and fixes
5104 compilation right now.
5105
5106 2011-10-01 Ales Nesrsta <starous@volny.cz>
5107
5108 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
5109 (fixed problem related to using UHCI with coreboot).
5110
5111 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5112
5113 * gentpl.py: Use Autogen macros so that the output template file
5114 (Makefile.tpl) size is reduced.
5115
5116 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
5117
5118 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
5119 extra_dist.
5120
5121 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5122
5123 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
5124 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
5125
5126 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5127
5128 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
5129 _fullpath.
5130
5131 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
5132
5133 Remove extra declaration of sleep for mingw32.
5134
5135 * util/misc.c (sleep) [__MINGW32__]: Removed.
5136 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
5137
5138 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
5139
5140 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
5141 type and packname.
5142 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
5143 Resurrected.
5144 (NETBSD_BTINFO_BOOTWEDGE): New definition.
5145 (grub_netbsd_btinfo_bootwedge): New struct.
5146 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
5147 New function.
5148 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
5149
5150 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
5151
5152 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
5153 loader.
5154
5155 2011-09-28 Andreas Born <futur.andy@googlemail.com>
5156
5157 Fix incorrect identifiers in bash-completion.
5158
5159 * util/bash-completion.d/grub-completion.bash.in
5160 (_grub_mkpasswd-pbkdf2): Rename to ...
5161 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
5162 (_grub_script-check): Rename to ...
5163 (_grub_script_check): ... this. All users updated.
5164
5165 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5168 Return 0 if disk isn't biosdisk.
5169
5170 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5171
5172 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
5173 on NetBSD.
5174 * Makefile.util.def (grub-fstest): Likewise.
5175
5176 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
5177
5178 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
5179 Get sector size from disk label.
5180
5181 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
5182
5183 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
5184 */README* as well as README*.
5185 Reported by: Axel Beckert.
5186
5187 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
5190 case of less than 256 MiB of RAM.
5191
5192 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/commands/wildcard.c (make_regex): Handle @.
5195
5196 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * util/grub-install.in: Move cryptodisk logic to appropriate place.
5199
5200 2011-08-21 Szymon Janc <szymon@janc.net.pl>
5201
5202 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
5203 AC_LANG_CONFTEST macros.
5204
5205 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5206
5207 Add grub-fstest option to uncompress data for commands.
5208
5209 * util/grub-fstest.c (uncompress): New var.
5210 (options): New option -u.
5211
5212 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5213
5214 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
5215 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
5216
5217 2011-08-20 Szymon Janc <szymon@janc.net.pl>
5218
5219 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
5220 file type was not recognized correctly (not gzip or corrupted).
5221
5222 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
5225 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
5226
5227 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
5230 loongson.
5231 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5232 video_radeon_fuloong2e.
5233 * grub-core/video/radeon_fuloong2e.c: New file.
5234 * include/grub/video.h (grub_video_id_t): Add new ID
5235 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
5236
5237 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
5240 define.
5241 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
5242 that PRID matches the detected subplatform and reset the subplatform
5243 if it doesn't.
5244
5245 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
5248
5249 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 Fix PCI iterating on functions >= 4.
5252
5253 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
5254 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
5255 Removed.
5256 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
5257 (grub_pci_read): Fix bitmask.
5258 (grub_pci_read_word): Likewise.
5259 (grub_pci_read_byte): Likewise.
5260 (grub_pci_write): Likewise.
5261 (grub_pci_write_word): Likewise.
5262 (grub_pci_write_byte): Likewise.
5263
5264 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
5267 can still be specified in TARGET_CFLAGS)
5268
5269 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
5272
5273 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
5274 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
5275 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
5276 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
5277 (FULOONG): Rename to ...
5278 (FULOONG2F): ... this. All users updated.
5279 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
5280 (machtype_fuloong2f_str): ... this.
5281 (machtype_fuloong2e_str): New string.
5282 Check for machtype_fuloong2e_str.
5283 * grub-core/loader/mips/linux.c (loongson_machtypes)
5284 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
5285 * grub-core/term/serial.c (loongson_defserial)
5286 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
5287 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5288 loongson_defserial.
5289 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5290 Rename to ...
5291 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5292 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5293 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5294 to IMAGE_FULOONG2F_FLASH. All users updated.
5295 (image_targets): Rename images.
5296 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5297
5298 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5299
5300 Make enable of disk cache statistics code configurable.
5301
5302 * configure.ac: --enable-cache-stats added.
5303 * config.h.in (DISK_CACHE_STATS): New define.
5304 * grub-core/Makefile.core.def (cacheinfo): New command.
5305 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5306 * grub-core/commands/cacheinfo.c: New file.
5307 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5308 moved to cacheinfo.c.
5309 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5310 debug code.
5311 * include/grub/disk.h: Likewise.
5312
5313 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5314
5315 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5316 * grub-core/Makefile.am: Likewise.
5317
5318 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5321 non-zero pull.
5322
5323 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5326 All users updated.
5327 (grub_jfs_lookup_symlink): Use correct starting inode.
5328
5329 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * util/grub-setup.c (main): Add missing gcry initialisation.
5332
5333 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 Don't accept text modes on EFI when booting Linux.
5336
5337 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5338 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5339
5340 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
5341 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5342
5343 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5344 use of "/path/.." as in grub-install for EFI as well as handling
5345 symlinks correctly.
5346 Fixes Debian bug #637768.
5347
5348 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5349
5350 * util/grub-probe.c: Remove duplicate #include.
5351
5352 2011-08-10 Robert Millan <rmh@gnu.org>
5353
5354 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5355
5356 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5357 function.
5358 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5359 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5360
5361 2011-08-03 Robert Millan <rmh@gnu.org>
5362
5363 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5364 la_array as packed.
5365 Reported by: Zachary Bedell
5366
5367 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5368
5369 * configure.ac: The Loongson port requires grub-mkfont due to its
5370 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5371 be built.
5372
5373 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5374
5375 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5376 processing arguments (otherwise help2man fails when GRUB has not yet
5377 been installed).
5378
5379 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5380
5381 New script grub-mkstandalone.
5382
5383 * Makefile.util.def (grub-mkstandalone): New script.
5384 * docs/man/grub-mkstandalone.h2m: New file.
5385 * util/grub-mkstandalone.in: Likewise.
5386
5387 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 Support ATA disks with 4K sectors.
5390
5391 * include/grub/ata.h (grub_ata): New member log_sector_size.
5392 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5393 (grub_ata_identify): Read sector size.
5394 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5395
5396 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * util/grub-install.in: Don't use uhci outside of x86.
5399
5400 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * util/grub-mkrescue.in: Add missing quotes.
5403
5404 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5407 dereference.
5408
5409 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5412
5413 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * include/grub/video.h: add missing EXPORT_FUND on
5416 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5417
5418 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * include/grub/mips/kernel.h: Fix define conflict.
5421
5422 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5425 all four ways.
5426
5427 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
5428
5429 Preferred resolution detection for VBE.
5430
5431 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5432 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5433 the Flat Panel extension, in line with the X.org VESA driver.
5434 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5435 New function.
5436 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5437 (grub_vbe_bios_read_edid): Likewise.
5438 (grub_vbe_get_preferred_mode): Likewise.
5439 (grub_video_vbe_setup): When the mode is "auto", try to get the
5440 preferred mode from VBE, and use the largest mode that is no larger
5441 than the preferred mode (some BIOSes expose a preferred mode that is
5442 not in their mode list!). If this fails, fall back to 640x480 as a
5443 safe conservative choice.
5444 (grub_video_vbe_get_edid): New function.
5445 (grub_video_vbe_adapter): Add get_edid.
5446 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5447 (struct grub_video_adapter): Add get_edid.
5448 (grub_video_edid_checksum): Add prototype.
5449 (grub_video_edid_preferred_mode): Likewise.
5450 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5451 structure.
5452
5453 * grub-core/commands/videoinfo.c (print_edid): New function.
5454 (grub_cmd_videoinfo): Print EDID if available.
5455
5456 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5457 is more appropriate on a wider range of platforms than 640x480.
5458 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5459 documentation.
5460
5461 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5462
5463 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5464
5465 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * po/POTFILES.in: Regenerate.
5468
5469 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5470
5471 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5472 incorrect memory usage.
5473
5474 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5475
5476 * util/grub-install.in: Source grub-mkconfig_lib.
5477
5478 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 Remove getroot.c from core on emu platform.
5481
5482 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5483 kern/emu/raid.c.
5484 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5485 useless.
5486 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5487 * util/getroot.c (get_win32_path): ... here.
5488 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5489 * util/getroot.c (fini_libzfs): ... here.
5490 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5491 * util/getroot.c (grub_get_libzfs_handle): ... here.
5492 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5493 Moved from here...
5494 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5495 * grub-core/kern/emu/misc.c
5496 (grub_make_system_path_relative_to_its_root): Moved from here...
5497 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5498 * grub-core/kern/emu/getroot.c: Moved from here ...
5499 * util/getroot.c: ... here. All users updated.
5500 * grub-core/kern/emu/raid.c: Moved from here ...
5501 * util/raid.c: ... here. All users updated.
5502
5503 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * po/POTFILES.in: Regenerate.
5506
5507 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 Fix compilation on GNU/Linux.
5510
5511 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5512 Disable geli.
5513 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5514 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5515 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5516
5517 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5518 2011-07-07 Michael Gorven <michael@gorven.za.net>
5519 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5520
5521 LUKS and GELI support.
5522
5523 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5524 grub-core/disk/luks.c, grub-core/disk/geli.c,
5525 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5526 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5527 grub-core/lib/arg.c.
5528 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5529 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5530 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5531 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5532 (grub-bin2h): Add libgcry.a.
5533 (grub-mkimage): Likewise.
5534 (grub-mkrelpath): Likewise.
5535 (grub-script-check): Likewise.
5536 (grub-editenv): Likewise.
5537 (grub-mkpasswd-pbkdf2): Likewise.
5538 (grub-pe2elf): Likewise.
5539 (grub-fstest): Likewise.
5540 (grub-mkfont): Likewise.
5541 (grub-mkdevicemap): Likewise.
5542 (grub-probe): Likewise.
5543 (grub-ofpath): Likewise.
5544 (grub-mklayout): Likewise.
5545 (example_unit_test): Likewise.
5546 (grub-menulst2cfg): Likewise.
5547 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5548 * grub-core/Makefile.core.def (cryptodisk): New module.
5549 (luks): Likewise.
5550 (geli): Likewise.
5551 * grub-core/disk/AFSplitter.c: New file.
5552 * grub-core/disk/cryptodisk.c: Likewise.
5553 * grub-core/disk/geli.c: Likewise.
5554 * grub-core/disk/luks.c: Likewise.
5555 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5556 grub_util_is_lvm.
5557 (grub_util_get_dm_abstraction): New function.
5558 (grub_util_follow_gpart_up): Likewise.
5559 (grub_util_get_geom_abstraction): Likewise.
5560 (grub_util_get_dev_abstraction): Use new functions.
5561 (grub_util_pull_device): Pull GELI and LUKS.
5562 (grub_util_get_grub_dev): Handle LUKS and GELI.
5563 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5564 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5565 (follow_geom_up): Removed.
5566 (grub_util_fd_seek): New function.
5567 (open_device): Use grub_util_fd_seek.
5568 (nread): Rename to ..
5569 (grub_util_fd_read): ... this. All users updated.
5570 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5571 (grub_crypto_cbc_decrypt): Likewise.
5572 (grub_crypto_hmac_write): Likewise.
5573 (grub_crypto_hmac_buffer): Likewise.
5574 (grub_password_get): Extend to util.
5575 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5576 New member modname.
5577 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5578 * include/grub/cryptodisk.h: New file.
5579 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5580 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5581 LUKS and GELI.
5582 (grub_util_follow_gpart_up): New proto.
5583 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5584 (grub_util_fd_read): Likewise.
5585 (grub_cryptodisk_cheat_mount): Likewise.
5586 (grub_util_cryptodisk_print_uuid): Likewise.
5587 (grub_util_get_fd_sectors): Likewise.
5588 * util/grub-fstest.c (mount_crypt): New var.
5589 (fstest): Mount crypto if requested.
5590 (options): New option -C.
5591 (argp_parser): Parse -C.
5592 (main): Init and fini gcry.
5593 * util/grub-install.in: Support cryptodisk install.
5594 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5595 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5596 cryptodisk.
5597 (prepare_grub_to_access_device): Likewise.
5598 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5599 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5600 (probe_cryptodisk_uuid): New function.
5601 (probe_abstraction): Likewise.
5602 (probe): Use new functions.
5603 * util/import_gcry.py: Create Makefile.utilgcry.def.
5604 Add modname member.
5605
5606 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5607
5608 Lazy device scanning.
5609
5610 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5611 (grub-setup): Remove util/raid.c.
5612 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5613 * grub-core/disk/lvm.c (scan_depth): New variable.
5614 (grub_lvm_iterate): Rescan if necessary.
5615 (find_lv): New function based on grub_lvm_open.
5616 (grub_lvm_open): Use find_lv. Rescan on error.
5617 (is_node_readable): New function.
5618 (is_lv_readable): Likewise.
5619 (grub_lvm_scan_device): Skip already found disks.
5620 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5621 Stop if searched device is found and readable.
5622 * grub-core/disk/raid.c (inscnt): New variable.
5623 (scan_depth): Likewise.
5624 (scan_devices): New function based on grub_raid_register. Abort if
5625 looked for device is found.
5626 (grub_raid_iterate): Rescan if needed.
5627 (find_array): NEw function based on -grub_raid_open.
5628 (grub_raid_open): Use find_array and rescan.
5629 (insert_array): Set became_readable_at.
5630 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5631 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5632 New function.
5633 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5634 (grub_util_pull_device): New function.
5635 (grub_util_get_grub_dev): Call grub_util_pull_device.
5636 * util/raid.c: Moved to ..
5637 * grub-core/kern/emu/raid.c: ... here.
5638 (grub_util_raid_getmembers): New parameter "bootable".
5639 All users updated. Support 1.x.
5640 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5641 All users updated.
5642 * include/grub/disk.h (grub_disk_pull_t): New enum.
5643 (grub_disk_dev): Change iterate prototype.
5644 All users updated.
5645 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5646 New proto.
5647 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5648 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5649 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5650 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5651 All users updated.
5652 * include/grub/util/raid.h: Removed.
5653
5654 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * po/POTFILES.in: Regenerate.
5657
5658 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 Unify sparc init with other ieee1275.
5661
5662 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5663 instead of kern/sparc64/ieee1275/init.c.
5664 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5665 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5666 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5667 grub/machine/kernel.h.
5668 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5669 (grub_claim_heap) [__sparc__]: Use sparc version.
5670 (grub_machine_init): Moved args parsing to
5671 (grub_parse_cmdline): ...this.
5672 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5673 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5674 New definition.
5675 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5676
5677 Move BOOTP to separate file.
5678
5679 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5680 * grub-core/net/net.c: Move all BOOTP functions to
5681 * grub-core/net/bootp.c: ... here.
5682
5683 Use frame interface on PXE.
5684
5685 * grub-core/Makefile.core.def (pxecmd): Removed.
5686 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5687 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5688 * grub-core/i386/pc/pxe.c: Moved from here ...
5689 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5690 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5691 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5692
5693 EFI network support.
5694
5695 * grub-core/Makefile.core.def (efinet): New module.
5696 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5697 here...
5698 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5699 All users updated.
5700 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5701 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5702 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5703 * grub-core/net/drivers/efi/efinet.c: New file.
5704 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5705 (grub_efi_net_config): New extern var.
5706
5707 Various cleanups and bugfixes.
5708
5709 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5710 error.
5711 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5712 disk declared as partition.
5713 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5714 leak on failure.
5715 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5716 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5717 (grub_debug_zalloc): Likewise.
5718 (grub_debug_realloc): Likewise.
5719 (grub_debug_memalign): Likewise.
5720 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5721 Check that target is IPv4.
5722 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5723 local-mac-address as fallback.
5724 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5725 memory leak.
5726 * grub-core/net/ip.c (ipchksum): Rename to ...
5727 (grub_net_ip_chksum): ... this. All users updated.
5728 (grub_net_recv_ip_packets): Special handling for DHCP.
5729 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5730
5731 Unify prefix handling
5732
5733 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5734 (grub_machine_get_bootlocation): ... this.
5735 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5736 (grub_machine_get_bootlocation): ... this.
5737 (grub_prefix): New variable.
5738 (prefix): Removed.
5739 (root_dev): New variable.
5740 (dir): Likewise.
5741 (main): Use new variables.
5742 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5743 Revamped into ...
5744 (grub_machine_get_bootlocation): ... this.
5745 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5746 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5747 (grub_machine_get_bootlocation): ... this.
5748 (grub_machine_set_prefix): Removed.
5749 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5750 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5751 Revamped into ...
5752 (grub_machine_get_bootlocation): ... this.
5753 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5754 (grub_set_prefix_and_root): ... this. All users updated.
5755 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5756 Revamped into ...
5757 (grub_machine_get_bootlocation): ... this.
5758 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5759 (grub_machine_get_bootlocation): New proto.
5760 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5761
5762 Less intrusive and more reliable seek on network implementation.
5763
5764 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5765 (grub_file_seek): Don't call grub_file_net_seek.
5766 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5767 (grub_net_fs_read_real): .. this.
5768 (grub_net_seek_real): Use net->offset.
5769 (grub_net_fs_read): Seek if necessary.
5770
5771 Unify IEEE1275 netwotk config with the other platforms.
5772
5773 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5774 New variable.
5775 (grub_machine_get_bootlocation): Support network.
5776 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5777 Support type and device parsing.
5778 (grub_ieee1275_get_device_type): New function.
5779 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5780 into ...
5781 (grub_ieee1275_net_config_real): ... this.
5782 (grub_ofnet_probecards): Removed.
5783 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5784 * include/grub/ieee1275/ofnet.h: Removed.
5785 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5786 extern var.
5787 (grub_ieee1275_get_device_type): New function.
5788
5789 Unify network device closing across platforms and make more robust.
5790
5791 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5792 grub_grubnet_fini.
5793 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5794 already.
5795 * grub-core/net/net.c (grub_net_network_level_interface_register):
5796 Update num_ifaces.
5797 (grub_net_card_unregister): Close all interfaces.
5798 (receive_packets): Don't poll if no iterfaces are registered.
5799 Open if necessary.
5800 (grub_net_fini_hw): New function.
5801 (grub_net_restore_hw): Likewise.
5802 (fini_hnd): New variable.
5803 (GRUB_MOD_INIT): Register preboot hook.
5804 (GRUB_MOD_FINI): Run and unregister preboot hook.
5805
5806 Poll network cards when idle.
5807
5808 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5809 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5810 * grub-core/net/net.c (receive_packets): Save last poll time.
5811 (grub_net_poll_cards_idle_real): New function.
5812 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5813 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5814 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5815
5816 Rename ofnet interfaces.
5817
5818 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5819 (grub_ofnet_findcards): Use ofnet_%s names.
5820
5821 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5822
5823 Cleanup socket opening.
5824
5825 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5826 (grub_net_fs_close): Likewise.
5827 (grub_net_fs_read_real): Use eof member.
5828 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5829 (+grub_net_udp_close): New inline function.
5830
5831 * include/grub/net/tftp.h: Moved to the top of ...
5832 * grub-core/net/tftp.c: ... here.
5833 * include/grub/net/ip.h: Moved mostly to the top of ...
5834 * grub-core/net/ip.c: ... here.
5835 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5836 * grub-core/net/ethernet.c: ... here.
5837
5838 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5839
5840 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5841 FS name.
5842
5843 * include/grub/net/ip.h (ipv4_ini): Removed.
5844 (ipv4_fini): Likewise.
5845
5846 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5847 (grub_net_send_ip_packets): Likewise.
5848
5849 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5852 grub_read_cmos prototype.
5853
5854 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 VGA text support in qemu-mips
5857
5858 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5859 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5860 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5861 text.
5862 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5863 * grub-core/kern/vga_init.c: ... this.
5864 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5865 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5866 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5867 Adjust.
5868 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5869 GRUB_MACHINE_PCI_IO_BASE.
5870
5871 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 MIPS qemu flash support.
5874
5875 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5876 magic.
5877 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5878 (grub_machine_init): Probe memory if its size isn't known.
5879 * util/grub-mkimage.c (image_targets): Add flash targets.
5880 (generate_image): Handle flash targets.
5881
5882 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 MIPS qemu at_keyboard support.
5885
5886 * gentpl.py (videoinkernel): Add qemu-mips.
5887 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5888 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5889 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5890 modules.
5891 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5892 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5893 * grub-core/term/serial.c (grub_serial_register)
5894 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5895
5896 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5897
5898 CMOS support on sparc.
5899
5900 * gentpl.py (cmos): Add powerpc and sparc.
5901 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5902 powerpc and sparc.
5903 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5904 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5905 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5906 grub_set_datetime_cmos.
5907 * grub-core/lib/ieee1275/cmos.c: New file.
5908 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
5909 (find_rtc): Set no_ieee1275_rtc on error.
5910 (grub_get_datetime): Call grub_get_datetime_cmos on error.
5911 (grub_set_datetime): Call grub_set_datetime_cmos on error.
5912 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
5913 fail. Move value to argument. All users updated
5914 (grub_cmos_write): Likewise.
5915 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
5916 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
5917 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
5918 grub_get_datetime_cmos and grub_set_datetime_cmos.
5919
5920 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5921
5922 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
5923 sourcing grub-mkconfig_lib.
5924 * util/update-grub_lib.in: Likewise.
5925 * util/grub.d/00_header.in: Likewise.
5926 * util/grub.d/10_hurd.in: Likewise.
5927 * util/grub.d/10_kfreebsd.in: Likewise.
5928 * util/grub.d/10_linux.in: Likewise.
5929 * util/grub.d/10_netbsd.in: Likewise.
5930 * util/grub.d/10_windows.in: Likewise.
5931 * util/grub.d/20_linux_xen.in: Likewise.
5932 * util/grub.d/30_os-prober.in: Likewise.
5933
5934 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
5935
5936 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5937 default_bg_color rather than black.
5938 (grub_gfxterm_fullscreen): Likewise.
5939 (grub_gfxterm_background_color_cmd): Save new background color in
5940 default_bg_color.
5941
5942 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
5945
5946 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
5949 mismerge.
5950
5951 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 Chainloading on coreboot support.
5954
5955 * grub-core/Makefile.core.def (chain): Add coreboot.
5956 * grub-core/loader/i386/coreboot/chainloader.c: New file.
5957
5958 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5959
5960 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
5961 if it happens.
5962
5963 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 Implement time command.
5966
5967 * grub-core/Makefile.core.def (time): New module.
5968 * grub-core/commands/time.c: New file.
5969 * grub-core/script/parser.y: Remove "time" keyword.
5970 * grub-core/script/yylex.l: Likewise.
5971
5972 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5973
5974 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
5975
5976 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5977
5978 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
5979 when handling leftovers.
5980
5981 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5982
5983 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
5984 so that help2man doesn't fail.
5985
5986 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
5989 type in pointers on sparc64.
5990 (get_card_packet): Likewise.
5991
5992 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
5993
5994 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
5995 with `*'.
5996 (grub_cmd_videoinfo): Fetch current video mode.
5997
5998 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
6001 because of underlying system restrictions.
6002
6003 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
6006 necessary.
6007
6008 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 Coreboot video support.
6011
6012 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
6013 (vbe): Likewise.
6014 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
6015 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
6016 here ...
6017 * grub-core/kern/i386/int.S: ... here.
6018 * grub-core/video/i386/pc/vbe.c: Updated includes.
6019 * grub-core/video/i386/pc/vga.c: Likewise.
6020 * include/grub/i386/coreboot/memory.h
6021 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
6022 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
6023 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
6024 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
6025 Disable interrupts.
6026 * include/grub/i386/pc/vga.h: Removed. All users updated.
6027
6028 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6029
6030 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
6031 definitions for dprintf.
6032 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
6033
6034 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
6037 prototype.
6038 (get_card_packet): Likewise.
6039
6040 2011-06-26 Yves Blusseau <blusseau@zetam.org>
6041
6042 Display the path of the file when file is not found
6043
6044 * grub-core/fs/fat.c: Display the filename when file is not found.
6045 * grub-core/fs/fshelp.c: Likewise.
6046 * grub-core/fs/hfs.c: Likewise.
6047 * grub-core/fs/jfs.c: Likewise.
6048 * grub-core/fs/minix.c: Likewise.
6049 * grub-core/fs/ufs.c: Likewise.
6050 * grub-core/fs/btrfs.c: Likewise.
6051 * grub-core/commands/i386/pc/play.c: Likewise.
6052
6053 2011-06-26 Szymon Janc <szymon@janc.net.pl>
6054
6055 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
6056 pointer checks before calling grub_free().
6057 * grub-core/commands/wildcard.c (match_devices): Likewise.
6058 * grub-core/commands/wildcard.c (match_files): Likewise.
6059 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
6060 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
6061 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
6062 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
6063 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
6064 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
6065 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
6066 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
6067 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
6068
6069 2011-06-25 Patrick <p55@mailinator.com>
6070
6071 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
6072
6073 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
6076 (grub_pxe_send): Likewise.
6077 (GRUB_MOD_INIT): Fix types.
6078
6079 2011-06-24 Szymon Janc <szymon@janc.net.pl>
6080
6081 * grub-core/io/xzio.c: Fix code style issues
6082
6083 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6084 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
6085
6086 Network infrastructure.
6087 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
6088
6089 * include/grub/net/arp.h: New file.
6090 * include/grub/net/device.h: Likewise.
6091 * include/grub/net/ethernet.h: Likewise.
6092 * include/grub/net/ip.h: Likewise.
6093 * include/grub/net/netbuff.h: Likewise.
6094 * include/grub/net/tftp.h: Likewise.
6095 * include/grub/net/udp.h: Likewise.
6096 * include/grub/ieee1275/ofnet.h: Likewise.
6097 * include/grub/emu/export.h: Likewise.
6098 * include/grub/net.h: Likewise.
6099 * grub-core/net/arp.c: Likewise.
6100 * grub-core/net/ethernet.c: Likewise.
6101 * grub-core/net/ip.c: Likewise.
6102 * grub-core/net/udp.c: Likewise.
6103 * grub-core/net/tftp.c: Likewise.
6104 * grub-core/net/netbuff.c: Likewise.
6105 * grub-core/net/net.c: Likewise.
6106 * grub-core/net/drivers/emu/emunet.c: Likewise.
6107 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
6108 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
6109 export.h.
6110 * grub-core/Makefile.core.def (net): New module.
6111 (tftp): Likewise.
6112 (ofnet): Likewise.
6113 (emunet): Likewise.
6114 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
6115 network protocols.
6116 * grub-core/kern/device.c (grub_net_open) : New variable.
6117 (grub_device_open): Handle network device.
6118 (grub_device_close): Likewise.
6119 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
6120 (grub_grubnet_fini): Likewise.
6121 (grub_file_seek): Seek in network device.
6122 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
6123 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
6124 network root.
6125 (grub_machine_fini): Call grub_grubnet_fini.
6126 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
6127 network.
6128 (grub_ieee1275_get_aliasdevname): New function.
6129 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6130 Add unofficial Solaris network info.
6131 (grub_multiboot_make_mbi): Likewise.
6132 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
6133 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
6134 * include/grub/device.h (grub_fs): Removed.
6135 * include/grub/err.h (grub_err_t): Add network-related values.
6136 * include/grub/i386/pc/pxe.h: Removed bootp parts.
6137 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
6138 (grub_ieee1275_get_aliasdevname): New proto.
6139 * include/grub/net.h: Rewritten.
6140
6141 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6142
6143 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
6144 names.
6145
6146 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
6149 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
6150 it truncates the output.
6151 Reported by: Ximin Luo.
6152
6153 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
6156
6157 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6160 partmap before abstraction.
6161
6162 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
6163
6164 * util/grub-mkconfig_lib.in: Add missing quotes.
6165
6166 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
6169 old method if mountinfo would return /dev/root and /dev/root doesn't
6170 exist.
6171
6172 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6173
6174 ZFS zlib support
6175
6176 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
6177 (decomp_table): Add zlib entries.
6178 (zio_read): USe 8 bits for compression function rather than 3.
6179 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
6180
6181 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * grub-core/disk/ahci.c: Add missing license statements.
6184 * grub-core/fs/romfs.c: Likewise.
6185 * grub-core/lib/ia64/setjmp.S: Likewise.
6186 * grub-core/loader/i386/pc/freedos.c: Likewise.
6187 * grub-core/loader/ia64/efi/linux.c: Likewise.
6188 * grub-core/video/colors.c: Likewise.
6189 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
6190
6191 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6192
6193 AHCI support.
6194
6195 * grub-core/Makefile.core.def (ata_pthru): Removed.
6196 (ahci): New module.
6197 (pata): Likewise.
6198 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
6199 on unload.
6200 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
6201 readwrite.
6202 (grub_hdparm_do_check_powermode_cmd): Likewise.
6203 (grub_hdparm_do_smart_cmd): Likewise.
6204 (grub_hdparm_set_val_cmd): Likewise.
6205 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
6206 * grub-core/disk/ahci.c: New file.
6207 * grub-core/disk/ata.c: Factor out the low-level part into ...
6208 * grub-core/disk/pata.c: ... here.
6209 * grub-core/disk/ata_pthru.c: Contents moved to ...
6210 * grub-core/disk/pata.c: ... here.
6211 * grub-core/disk/scsi.c (grub_scsi_names): New array.
6212 (grub_scsi_iterate): Use grub_scsi_names.
6213 (grub_scsi_open): Likewise.
6214 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
6215 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
6216 (grub_ata_regs_t): New struct.
6217 (grub_disk_ata_pass_through_parms): Likewise.
6218 (grub_ata_device): Renamed to ...
6219 (grub_ata): ... this.
6220 (grub_ata_dev): New struct.
6221 Removed all low-level inline functions.
6222 * include/grub/scsi.h: Add PATA and AHCI subsystems.
6223 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
6224 iterate hooks and open. All users updated.
6225 * util/grub-install.in: Handle AHCI disk module.
6226
6227 2011-06-23 Szymon Janc <szymon@janc.net.pl>
6228
6229 Add support for DRI and RSTn markers in JPEG files.
6230
6231 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
6232 (JPEG_MARKER_RST0): Likewise.
6233 (JPEG_MARKER_RST1): Likewise.
6234 (JPEG_MARKER_RST2): Likewise.
6235 (JPEG_MARKER_RST3): Likewise.
6236 (JPEG_MARKER_RST4): Likewise.
6237 (JPEG_MARKER_RST5): Likewise.
6238 (JPEG_MARKER_RST6): Likewise.
6239 (JPEG_MARKER_RST7): Likewise.
6240 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
6241 (grub_jpeg_decode_dri): New function.
6242 (grub_jpeg_decode_sos): Move image data related part into
6243 grub_jpeg_decode_data function.
6244 (grub_jpeg_decode_data): New function.
6245 (grub_jpeg_reset): New function.
6246 (grub_jpeg_decode_jpeg): Handle new markers.
6247
6248 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * util/ieee1275/ofpath.c (check_sas): Close fd.
6251 (main): Free of_path.
6252 Reported by: David Volgyes <dvolgyes>.
6253
6254 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
6257 Reported by: David Volgyes <dvolgyes>.
6258
6259 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6260
6261 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
6262 file after stat.
6263 Reported by: David Volgyes <dvolgyes>.
6264
6265 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
6268
6269 Reported by: David Volgyes <dvolgyes>.
6270
6271 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
6274 Prevent memory leak.
6275
6276 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
6279 (main): Close file.
6280 Reported by: David Volgyes <dvolgyes>.
6281
6282 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
6285 to continue if allocation is failed.
6286
6287 Reported by: David Volgyes <dvolgyes>.
6288
6289 2011-06-23 David Volgyes <dvolgyes>
6290
6291 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6292 dereference.
6293
6294 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6295
6296 Fix spurious warning.
6297
6298 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6299 (acorn_partition_map_find): Use .bin member.
6300
6301 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6304 /dev/root as a valid device.
6305
6306 2011-06-23 Jim Meyering <meyering@redhat.com>
6307
6308 Avoid NULL deref in grub_device_open.
6309
6310 * grub-core/kern/device.c (grub_device_open): Don't dereference
6311 a NULL pointer upon failed grub_env_get.
6312
6313 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 Support non-512B sectors and agglomerate reads.
6316
6317 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6318 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6319 (disk_io_guid): Removed.
6320 (make_devices): Locate solely by BlockIO.
6321 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6322 (grub_efidisk_read): Use read_blocks.
6323 (grub_efidisk_write): Use write_blocks.
6324 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6325 log_sector_size.
6326 (get_safe_sectors): Handle non-512B sectors.
6327 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6328 sectors.
6329 (grub_biosdisk_write): Handle non-512B sectors.
6330 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6331 (grub_scsi_read): Remove special non-512B block handling (now handled
6332 one level up).
6333 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6334 and do sanity checks.
6335 (grub_disk_adjust_range): Handle non-512B sectors.
6336 (transform_sector): New function.
6337 (grub_disk_read_small): Likewise.
6338 (grub_disk_read): Rewritten.
6339 (grub_disk_write): Handle non-512B sectors.
6340 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6341 log_sector_size.
6342 (open_device): Use log_sector_size.
6343 (grub_util_biosdisk_read): Likewise.
6344 (grub_util_biosdisk_write): Likewise.
6345 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6346 non-512B sectors.
6347 (pc_partition_map_embed): Likewise.
6348 * include/grub/disk.h (grub_disk): New field log_sector_size.
6349 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6350 (GRUB_DISK_CACHE_BITS): Increased to 6.
6351 * util/grub-fstest.c (fstest): New command testload.
6352 (argp_parser): Likewise.
6353
6354 2011-06-16 Robert Millan <rmh@gnu.org>
6355
6356 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6357 `ata' driver on kernel of FreeBSD 9.
6358
6359 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6360 (get_ataraid_disk_name): New functions.
6361 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6362 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6363 get_ataraid_disk_name() and get_ada_disk_name().
6364
6365 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
6366
6367 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6368 input format.
6369
6370 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
6371
6372 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6373 `ftp.gnu.org' for `alpha.gnu.org'.
6374
6375 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6376
6377 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6378 partitions under /dev/disk/by-id/.
6379
6380 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6381
6382 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6383 after ten consecutive open failures. Scanning all the way up to
6384 10000 is excessive and can cause serious performance problems in
6385 some configurations.
6386 Fixes Ubuntu bug #787461.
6387
6388 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6391 opening new one.
6392
6393 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
6394 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Don't stat devices unless we have to.
6397
6398 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6399 dir == /dev/mapper.
6400 (grub_guess_root_device): Use already known os_dev if possible.
6401 * grub-core/kern/emu/hostdisk.c
6402 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6403 if device is known to be a dm one.
6404
6405 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
6406
6407 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6408 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6409 Reported by: Pawel Tecza.
6410
6411 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6414 (lsefisystab): Likewise.
6415 (lssal): Likewise.
6416 (lsefimmap): Likewise.
6417 (hdparm): Enable on qemu-mips.
6418 (setjmp): Add ia64 nodist.
6419 (serial): Simplify tags.
6420
6421 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6422
6423 * Makefile.util.def (grub-ofpathname): Install manual page.
6424
6425 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6426
6427 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6428
6429 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6430
6431 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6432
6433 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6436 into dprintf.
6437
6438 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 Use full 64-bit division.
6441
6442 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6443 (grub_divmod64): ... this.
6444 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6445 version.
6446
6447 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6448
6449 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6450 `source'.
6451
6452 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6453
6454 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6455 to avoid accidents when debugging with 'sh -x'.
6456 * grub-core/gensyminfo.sh.in: Likewise.
6457 * tests/example_scripted_test.in: Likewise.
6458 * tests/grub_cmd_regexp.in: Likewise.
6459 * tests/grub_script_blanklines.in: Likewise.
6460 * tests/grub_script_dollar.in: Likewise.
6461 * tests/grub_script_expansion.in: Likewise.
6462 * tests/grub_script_final_semicolon.in: Likewise.
6463 * tests/partmap_test.in: Likewise.
6464 * tests/util/grub-shell-tester.in: Likewise.
6465 * tests/util/grub-shell.in: Likewise.
6466
6467 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6468
6469 Move gfxmenu color handling to video, so that gfxterm can use it
6470 too.
6471
6472 * grub-core/gfxmenu/named_colors.c: Move to ...
6473 * grub-core/video/colors.c: ... here. Rename
6474 grub_gui_get_named_color to grub_video_get_named_color.
6475 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6476 * grub-core/video/colors.c (my_isxdigit): ... here.
6477 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6478 Move to ...
6479 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6480 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6481 to ...
6482 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6483
6484 * include/grub/gui.h (grub_gui_color_t): Move to ...
6485 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6486 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6487 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6488 * include/grub/gui.h (grub_gui_map_color): Move to ...
6489 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6490 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6491 to ...
6492 * include/grub/video.h (grub_video_get_named_color): ... here.
6493 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6494 * include/grub/video.h (grub_video_parse_color): ... here.
6495
6496 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6497 video/colors.c.
6498 (gfxmenu): Remove gfxmenu/named_colors.c.
6499 (video) [videomodules]: Add video/colors.c.
6500
6501 Add a background_color command.
6502
6503 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6504 function.
6505 (GRUB_MOD_INIT): Register background_color command.
6506 (GRUB_MOD_FINI): Unregister background_color command.
6507 (redraw_screen_rect): Allow blend/replace of text layer to be
6508 controlled independently from whether there is a background bitmap.
6509 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6510 changing bitmap.
6511
6512 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 Patch BPB in ntldr and chainloader --bpb.
6515
6516 * grub-core/fs/fat.c: Include grub/fat.h.
6517 (grub_fat_bpb): Moved to ...
6518 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6519 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6520 grub/ntfs.h.
6521 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6522 Moved from here...
6523 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6524 here.
6525 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6526 New function.
6527 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6528 (GRUB_MOD_INIT): Show --bpb.
6529 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6530 * grub-core/normal/main.c (features): New variable.
6531 (GRUB_MOD_INIT): Set feature_* variables.
6532 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6533 proto.
6534 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6535
6536 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6539 for cleanness.
6540
6541 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6542
6543 FreeDOS direct loading support.
6544
6545 * docs/grub.texi (Supported OS): Add FreeDOS.
6546 * grub-core/Makefile.core.def (freedos): New module.
6547 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6548 variable.
6549 (grub_relocator16_boot): Handle %ebx.
6550 * grub-core/lib/i386/relocator16.S: Likewise.
6551 * grub-core/loader/i386/pc/freedos.c: New file.
6552
6553 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 Long Linux command line support.
6556
6557 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6558 (maximal_cmdline_size): New variable.
6559 (allocate_pages): Use maximal_cmdline_size.
6560 (grub_cmd_linux): Set and use maximal_cmdline_size.
6561 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6562 (allocate_pages): Use maximal_cmdline_size.
6563 (grub_cmd_linux): Set and use maximal_cmdline_size.
6564 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6565 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6566 and cmdline_size.
6567
6568 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6569 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6570
6571 Improve devmapper support
6572
6573 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6574 (grub_util_is_lvm): New function.
6575 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6576 than lvm if not dmraid.
6577 Handle mapped md nodes.
6578 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6579 (grub_util_device_is_mapped): ... this. Make always available. All users
6580 updated.
6581 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6582 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6583 dmraid nodes.
6584 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6585
6586 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6589
6590 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6591 * grub-core/modinfo.sh.in: New file.
6592 * grub-core/Makefile.core.def (modinfo.sh): New script.
6593 * util/grub-mknetdir.in: Use modinfo.sh.
6594 * util/grub-mkrescue.in: Likewise.
6595
6596 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6599 Fix potential usage of Elf32 instead of Elf64 when compiling on
6600 32-bit architecture. Add endianness macros while on it.
6601
6602 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Use mipsel- rather than mips- in directories involving mipsel ports to
6605 allow both endiannesses coexist.
6606
6607 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6608 mips. All conditions adjusted.
6609 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6610 variable.
6611 * util/grub-install.in: Adjust conditions to take renaming into account.
6612 * util/grub-mkimage.c (image_targets): Likewise. New target
6613 mips-qemu_mips-elf for bigendian mips.
6614
6615 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 Avoid unnecessary copying on MIPS.
6618
6619 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6620 early if src == dest.
6621 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6622 compression is none.
6623
6624 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 Reduce memory footprint on SGI by putting modules before the kernel
6627 as opposed to after.
6628
6629 * grub-core/Makefile.core.def (kernel): Increase linking address.
6630 (none_decompress): Likewise.
6631 (xz_decompress): Likewise.
6632 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6633 address.
6634 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6635 layout change.
6636 (grub_arch_modules_addr): New function.
6637 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6638 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6639 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6640 here.
6641 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6642 (grub_total_modules_size): ... this. Make global.
6643 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6644 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6645 New definition.
6646 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6647 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6648 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6649 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6650 * util/grub-mkimage.c (image_target_desc): New flag
6651 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6652 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6653 (generate_image): Handle images with modules before kernel.
6654
6655 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 Prevent potential loss of memory map by overwrite on qemu-mips.
6658
6659 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6660 Save ram size in $s4.
6661 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6662 All users changed to grub_arch_memsize.
6663 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6664 Loongson.
6665 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6666 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6667 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6668 external variable.
6669
6670 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6671
6672 * .bzrignore: Remove grub-dumpbios.
6673
6674 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6675
6676 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6677 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6678 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6679 existing options which append).
6680 * docs/grub.texi (Simple configuration): Document new options.
6681 Reported by: Ian Jackson. Fixes Debian bug #617538.
6682
6683 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6684
6685 * util/grub-fstest.c (cmd_cat): New function.
6686 (fstest): Handle CMD_CAT.
6687 (options): Add cat.
6688 (argp_parser): Handle cat.
6689
6690 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6691
6692 * Makefile.util.def (grub-bin2h): Don't install.
6693 * docs/man/grub-bin2h.h2m: Remove.
6694
6695 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6698 place.
6699
6700 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 Reenable qemu-mips port.
6703
6704 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6705 Fix small arc bug while on it.
6706 * gentpl.py: Handle qemu_mips.
6707 * grub-core/Makefile.am: Likewise.
6708 * grub-core/Makefile.core.def: Likewise.
6709 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6710 inappropriate includes.
6711 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6712 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6713 * grub-core/kern/main.c (grub_modules_get_end)
6714 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6715 * grub-core/kern/mips/qemu-mips: Moved to ..
6716 * grub-core/kern/mips/qemu_mips: ... this.
6717 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6718 (grub_machine_init): Call terminfo_init and serial_init.
6719 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6720 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6721 New variable.
6722 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6723 parameter passing.
6724 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6725 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6726 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6727 * include/grub/mips/qemu_mips/cmos.h: New file.
6728 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6729 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6730 Removed.
6731 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6732 Use correct mips-style address.
6733 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6734 (GRUB_TICKS_PER_SECOND): Removed.
6735 (grub_get_rtc): Likewise.
6736 (grub_cpu_idle): Likewise.
6737 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6738 New definition.
6739 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6740 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6741 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6742 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6743 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6744 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6745 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6746 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6747
6748 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6749
6750 SGI ARCS port.
6751
6752 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6753 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6754 platforms.
6755 * configure.ac: New target mips-arc.
6756 * gentpl.py: Likewise.
6757 * grub-core/Makefile.am: Likewise.
6758 * grub-core/Makefile.core.def: Likewise.
6759 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6760 (none_decompress): Likewise.
6761 (lsdev): New module.
6762 (datetime): Use lib/arc/datetime.c on ARC.
6763 (part_dvh): New module.
6764 * grub-core/commands/arc/lsdev.c: New file.
6765 * grub-core/disk/arc/arcdisk.c: Likewise.
6766 * grub-core/kern/mips/arc/init.c: Likewise.
6767 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6768 aligned addresses.
6769 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6770 support.
6771 (grub_arch_dl_relocate_symbols): Likewise.
6772 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6773 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6774 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6775 platforms.
6776 * grub-core/lib/arc/datetime.c: New file.
6777 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6778 pci.h on non-loongson.
6779 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6780 (grub_linux_boot): Set unused registers to 0.
6781 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6782 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6783 * grub-core/mmap/mips/uppermem.c: ...here.
6784 * grub-core/partmap/dvh.c: New file.
6785 * grub-core/term/arc/console.c: Likewise.
6786 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6787 (grub_terminfo_set_current): Add terminal "arc".
6788 (grub_terminfo_readkey): Support ARC sequences.
6789 * include/grub/arc/arc.h: New file.
6790 * include/grub/arc/console.h: Likewise.
6791 * include/grub/disk.h (grub_disk_dev_id): Add
6792 GRUB_DISK_DEVICE_ARCDISK_ID.
6793 * include/grub/mips/arc/kernel.h: New file.
6794 * include/grub/mips/arc/memory.h: Likewise.
6795 * include/grub/mips/arc/time.h: Likewise.
6796 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6797 * include/grub/mips/kernel.h (grub_halt): ... here.
6798 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6799 here...
6800 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6801 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6802 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6803 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6804 proto.
6805 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6806 from here ...
6807 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6808 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6809 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6810 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6811 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6812 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6813 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6814 (grub_phys_addr_t): Moved from here ...
6815 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6816 (grub_vtop): Moved from here ...
6817 * include/grub/mips/memory.h (grub_vtop): ... here.
6818 (grub_map_memory): Moved from here ...
6819 * include/grub/mips/memory.h (grub_map_memory): ... here.
6820 (grub_unmap_memory): Moved from here ...
6821 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6822 (grub_machine_mmap_iterate): Moved from here ...
6823 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6824 (grub_mmap_get_lower): Moved from here ...
6825 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6826 (grub_mmap_get_upper): Moved from here ...
6827 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6828 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6829 here ...
6830 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6831 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6832 here ...
6833 * include/grub/mips/time.h (grub_get_rtc): ... here.
6834 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6835 here ...
6836 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6837 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6838 here ...
6839 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6840 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6841 definition.
6842 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6843 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6844 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6845 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6846 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6847 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6848 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6849 (GRUB_MACHINE_LINK_ADDR): Likewise.
6850 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6851 to 6.
6852 * util/grub-install.in: Run dvhtool on ARC.
6853 * util/grub-mkimage.c (image_targets): Add mips-arc.
6854 (generate_image): Handle ECOFF output for mips-arc.
6855
6856 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6859 blocks.
6860
6861 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6864 after enabling port.
6865
6866 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 Skip incorrect USB devices.
6869
6870 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6871 configcnt == 0.
6872 * include/grub/usb.h (grub_usb_err_t): New enum value
6873 GRUB_USB_ERR_BADDEVICE.
6874
6875 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 Fuloong video init support.
6878
6879 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6880 well.
6881 (grub_vga_read_arx): New function.
6882 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6883 definition.
6884 (framebuffer): New members io, mmioptr and mmiobase.
6885 (read_sis_cmd): New function.
6886 (write_sis_cmd): Likewise.
6887 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6888 rather than 640x400.
6889 * grub-core/video/sis315_init.c: New file.
6890
6891 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6892
6893 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6894 non-loongson.
6895 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6896 to grub_dl_register_symbol.
6897
6898 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 Fix compilation errors.
6901
6902 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6903 potentially unused.
6904 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6905 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6906 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6907 to loongson machines.
6908
6909 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 Several FS mtime support.
6912
6913 * grub-core/fs/affs.c (grub_affs_time): New struct.
6914 (grub_affs_file): New field mtime.
6915 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
6916 type. Removed 'size'. New field 'di'. All users updated.
6917 (grub_affs_mount): Simplify checsum checking.
6918 (grub_affs_iterate_dir): New helper grub_affs_create_node.
6919 (grub_affs_dir): Handle mtime.
6920 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
6921 (grub_cpio_dir): Likewise.
6922 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
6923 (grub_hfs_filerec): New field mtime.
6924 (grub_hfs_dir): Handle mtime.
6925 (grub_hfs_mtime): New function.
6926 (grub_hfs_fs): Register grub_hfs_mtime.
6927 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
6928 (grub_iso9660_dir): New field mtime.
6929 (grub_fshelp_node): New field dirent.
6930 (iso9660_to_unixtime): New function.
6931 (iso9660_to_unixtime2): Likewise.
6932 (grub_iso9660_read_symlink): Use node->dirent.
6933 (grub_iso9660_iterate_dir): Likewise.
6934 (grub_iso9660_dir): Set mtime.
6935 (grub_iso9660_mtime): New function.
6936 (grub_iso9660_fs): Register grub_iso9660_mtime.
6937 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
6938 (grub_jfs_inode): New fields atime, ctime and mtime.
6939 (grub_jfs_dir): Set mtime.
6940 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6941 * grub-core/fs/ntfs.c (list_file): Set mtime.
6942 (grub_ntfs_dir): Likewise.
6943 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
6944 (grub_reiserfs_iterate_dir): Set mtime.
6945 (grub_reiserfs_dir): Likewise.
6946 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
6947 (grub_fshelp_node): Likewise.
6948 (grub_sfs_iterate_dir): Set mtime.
6949 (grub_sfs_dir): Likewise.
6950 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
6951 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
6952 (grub_xfs_inode): New fields atime, mtime, ctime.
6953 (grub_xfs_dir): Set mtime.
6954 * include/grub/datetime.h (grub_datetime2unixtime): New function.
6955 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
6956 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
6957
6958 Support UDF symlinks.
6959
6960 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
6961 (grub_ufs_read_symlink): New function. All users updated.
6962
6963 Check amiga partmap checksum.
6964
6965 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
6966 (grub_amiga_partition): Likewise.
6967 (amiga_partition_map_checksum): New function.
6968 (amiga_partition_map_iterate): Check checksum.
6969
6970 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6971
6972 ROMFS support.
6973
6974 * Makefile.util.def (libgrubmods.a): Add romfs.
6975 * grub-core/Makefile.core.def (romfs): New module.
6976 * grub-core/fs/romfs.c: New file.
6977
6978 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 Squashfs v4 support.
6981
6982 * Makefile.util.def (libgrubmods.a): Add squash4.
6983 * grub-core/Makefile.core.def (squash4): New module.
6984 * grub-core/fs/squash4.c: New file.
6985 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
6986 disk_input_start, disk_input.
6987 (get_byte): Handle disk_input.
6988 (grub_zlib_disk_read): New function.
6989 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
6990
6991 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6992 2011-05-15 Feiran Zheng <famcool@gmail.com>
6993
6994 * Makefile.util.def (libgrubmods.a): Add minix3.
6995 * grub-core/Makefile.core.def (minix3): New module.
6996 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
6997 (GRUB_MINIX_BSIZE): Removed.
6998 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
6999 (grub_minix_ino_t): New type.
7000 (grub_minix_le_to_cpu_ino): New macro.
7001 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
7002 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
7003 (grub_minix_data): New field block_size.
7004 (grub_minix_read_file): Handle 64-bit correctly.
7005 * grub-core/fs/minix3.c: New file.
7006
7007 2011-05-15 Tristan Gingold <gingold@free.fr>
7008 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
7009 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 IA64 support.
7012
7013 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
7014 * configure.ac: Add ia64-efi target.
7015 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
7016 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
7017 * gentpl.py: Add ia64_efi platform.
7018 Rename x86_efi to efi and Add ia64-efi. All users updated.
7019 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
7020 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
7021 Remove kern/generic/rtc_get_time_ms.c on EFI.
7022 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
7023 kern/ia64/dl_helper.c on ia64-efi.
7024 Add kern/emu/cache.c on emu.
7025 (linux): Use on loader/ia64/efi/linux.c on ia64.
7026 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
7027 whether symbol is a function.
7028 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
7029 (grub_symbol): New field 'isfunc'.
7030 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
7031 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
7032 (grub_dl_load_segments): Place all sections into the same region.
7033 [__ia64__]: Create trampolines and got.
7034 [GRUB_MACHINE_EMU]: Call mprotect.
7035 (grub_dl_resolve_symbols): Resolve symbol type as well.
7036 [__ia64__]: Create function descriptors.
7037 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
7038 (grub_rtc_get_time_ms): ... this. Expressions simplified.
7039 (grub_get_rtc): New function.
7040 * grub-core/kern/emu/cache.c [__ia64__]: New file.
7041 * grub-core/kern/emu/cache.S: Renamed to ...
7042 * grub-core/kern/emu/cache_s.S: ... this.
7043 [__ia64__]: Add a nop.
7044 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
7045 [__ia64__]: New function.
7046 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
7047 * grub-core/kern/ia64/dl.c: New file.
7048 * grub-core/kern/ia64/dl_helper.c: Likewise.
7049 * grub-core/kern/ia64/efi/init.c: New file.
7050 * grub-core/kern/ia64/efi/startup.S: Likewise.
7051 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
7052 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
7053 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
7054 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
7055 * grub-core/loader/ia64/efi/linux.c: New file.
7056 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
7057 (GRUB_MOD_DEP): Likewise.
7058 (grub_dl) [__ia64__]: New fields got and tramp.
7059 (grub_dl): New field 'base'.
7060 (grub_dl_register_symbol): New argument isfunc. All users updated.
7061 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
7062 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
7063 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
7064 (grub_ia64_dl_get_tramp_got_size): New proto.
7065 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
7066 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
7067 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
7068 * include/grub/efi/api.h: Skip call wrappers on ia64.
7069 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
7070 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
7071 * include/grub/elf.h (ELF_ST_INFO): New definition.
7072 * include/grub/ia64/efi/kernel.h: New file.
7073 * include/grub/ia64/efi/memory.h: Likewise.
7074 * include/grub/ia64/efi/time.h: Likewise.
7075 * include/grub/ia64/kernel.h: Likewise.
7076 * include/grub/ia64/setjmp.h: Likewise (from glibc).
7077 * include/grub/ia64/time.h: New file.
7078 * include/grub/ia64/types.h: Likewise.
7079 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
7080 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
7081 New protos.
7082 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
7083 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
7084 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
7085 * util/grub-mkimage.c (image_target_desc): New field pe_target.
7086 All users updated.
7087 (EFI64_HEADER_SIZE): New definition. All users updated.
7088 (image_targets): Add ia64-efi.
7089 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
7090 jumpers_addr. All users updated.
7091 Create function descriptors.
7092 (count_funcs): New function.
7093 (unaligned_uint32): New struct.
7094 (MASK20): New definition.
7095 (MASK19): Likewise.
7096 (MASKF21): Likewise.
7097 (add_value_to_slot_20b): New function.
7098 (add_value_to_slot_21_real): Likewise.
7099 (add_value_to_slot_21): Likewise.
7100 (ia64_kernel_trampoline): New struct.
7101 (nopm): New variable.
7102 (jump): Likewise.
7103 (make_trampoline): New function.
7104 (relocate_addresses): Handle ia64.
7105 (make_reloc_section): Likewise.
7106 (load_image): Likewise.
7107
7108 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
7111 warning. Move variables before code while on it.
7112
7113 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 Fuloong support.
7116
7117 * configure.ac: Rename yeeloong platform to loongson. All users updated.
7118 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
7119 * grub-core/boot/mips/loongson/fuloong.S: New file.
7120 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
7121 Explicitly init CS5536.
7122 [FULOONG]: Don't use serial until CS5536 is available.
7123 Set GPIO based on dumps.
7124 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
7125 [FULOONG]: Handle GPIO and memory controller differences.
7126 Parse machine type in $a2.
7127 * grub-core/boot/mips/startup_raw.S: Determine and save the
7128 architecture.
7129 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
7130 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
7131 init on architecture type.
7132 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
7133 SIS315E. Don't init at_keyboard on fuloong.
7134 (grub_halt): Support Fuloong.
7135 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
7136 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
7137 (loongson_machtypes): New array.
7138 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
7139 type.
7140 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
7141 config. All users updated. Handle CS5536 serial.
7142 * grub-core/term/serial.c (grub_serial_register): Conditionalise
7143 default port on machine type. Register serial as inactive.
7144 * grub-core/video/sis315pro.c: New file.
7145 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
7146 definition.
7147 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
7148 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
7149 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
7150 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
7151 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
7152 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
7153 to ...
7154 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
7155 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
7156 definition.
7157 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
7158 (grub_arch_machine): New extern var.
7159 * include/grub/mips/loongson/serial.h
7160 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
7161 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
7162 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
7163 (GRUB_MACHINE_SERIAL_PORT0): ... this.
7164 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
7165 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
7166 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
7167 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
7168 * include/grub/term.h (grub_term_register_input_inactive): New inline
7169 function.
7170 (grub_term_register_output_inactive): Likewise.
7171 * include/grub/video.h (grub_video_driver_id): New value
7172 GRUB_VIDEO_DRIVER_SIS315PRO.
7173 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
7174 New field "names". All users updated.
7175 New field value IMAGE_FULOONG_FLASH.
7176 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
7177
7178 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
7179
7180 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
7181 and add some clarification.
7182
7183 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
7186 platforms if kernel is compressed.
7187
7188 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
7191 unused modules since currently referrence counter isn't reliable and
7192 there isn't much memory to recover there anyway.
7193
7194 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
7197 rather than resetting it to allow modules to reference themselves
7198 in init.
7199
7200 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
7203 counter on dependencies since grub_dl_unref already handles this.
7204
7205 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
7208 on error if not already done.
7209
7210 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 Fix few potential memory misusage.
7213
7214 * grub-core/font/font.c (load_font_index): Don't free char_index to
7215 avoid double free.
7216 (grub_font_load): Zero-fill font at alloc for safety.
7217 Close file on error.
7218 (free_font): Free bmp_idx.
7219
7220 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * docs/grub.texi (Installation): Fix several outdated claims.
7223
7224 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Handle module_license on windows.
7227
7228 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
7229 sections shifted.
7230 (insert_string): Make argument const char * instead of char *.
7231 (write_section_data): Handle long section names.
7232 Handle module_license.
7233
7234 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
7237 handle class-free menuentries.
7238 (grub_normal_add_menu_entry): Add a check to be sure.
7239
7240 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
7241
7242 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
7243 PgUp and PgDown.
7244
7245 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * configure.ac: Bump version to 1.99.
7248
7249 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Give ATA device a bit more time on first try in order to allow disks
7252 to spin up.
7253
7254 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
7255 if dev->present is 1. Reset dev->present on failure.
7256 (grub_ata_device_initialize): Set dev->present to 1.
7257 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
7258 (grub_ata_device): New member 'present'.
7259
7260 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * util/grub-mkimage.c (generate_image): Update hash.
7263
7264 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Flush caches on DMA memory.
7267
7268 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
7269 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
7270 (grub_dma_free): Likewise.
7271 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
7272
7273 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
7276 to avoid asm treating ld and sd as macros.
7277
7278 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
7281 decompressor.
7282
7283 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
7286 grub_decompress_core since later would fail if grub_decompress_core
7287 is too far.
7288
7289 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7292 R_MIPS_JALR since it's used by newer compiler.
7293
7294 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7297
7298 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7301 file_path to 0 for surety.
7302 (grub_chainloader_boot): Set exit_data to NULL.
7303 Unset the loader once done.
7304 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7305
7306 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7307
7308 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7309 unknown key into a dprintf.
7310
7311 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7314 on first non-existant partition.
7315
7316 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7319 openning fails.
7320 Reported by: Mark Korenberg.
7321
7322 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7325 overflow.
7326
7327 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7330 before closing to ensure that it will be readable by grub-setup.
7331
7332 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7335 (devpath_1): Use MAKE_PIWG_PATH.
7336 (devpath_2): Likewise.
7337 (devpath_3): Likewise.
7338 (devpath_4): Likewise.
7339 (devpath_5): Likewise.
7340 (devpath_6): Likewise.
7341
7342 The appleldr.mod was checked that to be binary identical to previous
7343 version.
7344
7345 2011-05-05 Zach <mikezackles>
7346
7347 Support 2010 Macbooks.
7348
7349 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7350 (devs): Add devpath_6.
7351
7352 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7355 /dev/random. /dev/urandom is good enough for our purposes (salting).
7356
7357 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7358
7359 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7360
7361 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7364 hexadecimal.
7365
7366 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7369 and not 0 on failure.
7370
7371 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7372
7373 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7374 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7375 disk; otherwise grub_fs_probe will not fall back to the next
7376 filesystem.
7377 (grub_pxefs_open): Likewise, for consistency.
7378 Reported and tested by: Ezekiel Grave.
7379
7380 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7381
7382 * tests/partmap_test.in: Don't hardcode path to parted.
7383 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7384
7385 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
7386
7387 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7388 of `ls' to find out which devices are available.
7389
7390 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7393 than source address for efi mmap buffer.
7394
7395 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7398 wrong action on non-detecting the magic.
7399
7400 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7403 already supplied by another part of the module (fixes compilation on
7404 FreeBSD).
7405
7406 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7409 match the one used by mdadm.
7410
7411 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7412
7413 * po/README: Add instructions for creating po/LINGUAS.
7414
7415 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7416
7417 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7418 #551428.
7419
7420 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7421 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7422 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7423 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7424 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7425 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7426 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7427 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7428 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7429 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7430 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7431 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7432 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7433 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7434 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7435 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7436 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7437 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7438 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7439 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7440 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7441 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7442
7443 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7444
7445 * grub-core/kern/emu/getroot.c
7446 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7447 test that was incorrectly reintroduced in r3214.
7448 Reported by: Ian Dall. Fixes Savannah bug #33133.
7449
7450 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7451
7452 Fix stack pointer handling in 16-bit relocator.
7453
7454 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7455 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7456 Fixes Ubuntu bug #683904.
7457
7458 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7459
7460 * configure.ac: Bump version to 1.99~rc2.
7461
7462 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7465 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7466 * grub-core/lib/x86_64/setjmp.S: Likewise.
7467 * grub-core/lib/mips/setjmp.S: Likewise.
7468 * grub-core/lib/powerpc/setjmp.S: Likewise.
7469 * grub-core/lib/sparc64/setjmp.S: Likewise.
7470
7471 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7474 * grub-core/lib/efi/datetime.c: Likewise.
7475
7476 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7479 New function.
7480 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7481 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7482 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7483
7484 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7487 bitmap.
7488 (grub_gfxterm_term_init): Likewise.
7489
7490 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 Take into account the decorations the computing menu entry width.
7493
7494 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7495 (grub_gfxmenu_create_box): Register get_border_width.
7496 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7497 if available.
7498 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7499 get_border_width.
7500
7501 2011-04-18 Endres Puschner <code@e7p.de>
7502
7503 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7504 Don't skip first class.
7505
7506 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7509 chunks.
7510 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7511
7512 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 Complete 64-bit division support.
7515
7516 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7517 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7518 * include/grub/misc.h (grub_divmod64): Rename to ...
7519 (grub_divmod64_full): ... this.
7520 (grub_divmod64): New inline function.
7521
7522 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7525
7526 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7527
7528 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7529 performing the necessary test.
7530
7531 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7534 (kfreebsd.elf): Likewise.
7535 (pc-chainloader.elf): Likewise.
7536 (ntldr.elf): Likewise.
7537
7538 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 Identify RAID by its UUID rather than (guessed) name.
7541
7542 * grub-core/disk/raid.c (ascii2hex): New function.
7543 (grub_raid_open): Accept mduuid/%s specification.
7544 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7545 (get_mdadm_uuid): ... this.
7546 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7547
7548 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7551 to negative size.
7552
7553 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7554
7555 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7556 btrfs subvolume.
7557 * util/grub.d/20_linux_xen.in: Likewise.
7558
7559 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7560
7561 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7562 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7563
7564 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7565 Build a list of relevant visible mounts using the mnt_id and
7566 parent_mnt_id fields, and then scan that list at the end.
7567
7568 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7569
7570 * docs/grub.texi (normal): New section.
7571 (normal_exit): New section.
7572 (Embedded configuration): Add reference to normal.
7573 (GRUB only offers a rescue shell): Likewise.
7574 * docs/grub-dev.texi (Error Handling): Fix typo.
7575
7576 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7577
7578 * NEWS: Drop obsolete entry about probe-only btrfs support.
7579
7580 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7581
7582 * util/import_gcry.py: Fix typo.
7583
7584 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * NEWS: Add btrfs support.
7587
7588 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7589 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7590
7591 BtrFS support. Written by me (Vladimir) with important bugfixes and
7592 even more important testing by Colin.
7593
7594 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7595 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7596 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7597 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7598 mem_input_off and mem_input. All users updated to accept in-RAM input.
7599 (gzio_seek): New function.
7600 (test_zlib_header): Likewise.
7601 (grub_gzio_read): Likewise.
7602 (grub_zlib_decompress): Likewise.
7603 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7604 Accept partial and non-virtual mounts.
7605 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7606 avoid receiving /dev/dm-X as device.
7607 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7608 Handle bind and partial mounts.
7609 * grub-core/lib/crc.c: New file.
7610 * include/grub/deflate.h: Likewise.
7611 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7612 proto.
7613 * include/grub/lib/crc.h: New file.
7614
7615 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7616
7617 Implement automatic module license checking according to new GNU
7618 guidelines.
7619
7620 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7621 (grub_dl_load_core): Use grub_dl_check_license.
7622 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7623 (GRUB_MOD_LICENSE): Likewise.
7624 (GRUB_MOD_DUAL_LICENSE): Likewise.
7625 All modules updated.
7626
7627 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7628
7629 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7630 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7631 loaders.
7632 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7633
7634 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7637
7638 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7639
7640 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7641 failed.
7642
7643 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7644
7645 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7646 parenthesis in the middle of the filename.
7647
7648 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7651 rather than trying to put initrd way too high.
7652 Reported by: Ryan Lortie <desrt@desrt.ca>
7653
7654 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7657 improperly removed string.
7658
7659 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7662 is_disk.
7663 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7664 (open_device) Likewise.
7665 (grub_util_biosdisk_close): Likewise.
7666 Reported by: Mark Korenberg.
7667
7668 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7669
7670 * util/grub-mkconfig_lib.in: Add missing quotes.
7671
7672 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
7673
7674 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7675 is NULL.
7676
7677 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 Dynamically count the number of lines for the lower banner.
7680
7681 * grub-core/normal/menu_entry.c (per_term_screen): New member
7682 num_entries.
7683 (print_down): Use num_entries.
7684 (update_screen): Likewise.
7685 (grub_menu_entry_run): Set num_entries.
7686 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7687 num_entries.
7688 (grub_print_message_indented): Move real part to ...
7689 (grub_print_message_indented_real): ... here. Additional argument
7690 dry_run.
7691 (draw_border): Additional argument num_entries.
7692 (print_message): Additional argument dry_run.
7693 (print_entries): Receive menu viewer data.
7694 (grub_menu_init_page): New argment num_entries.
7695 (menu_text_set_chosen_entry): Use num_entries.
7696 (grub_menu_try_text): Likewise.
7697 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7698 All users updated.
7699 (grub_ucs4_count_lines): New function.
7700 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7701 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7702 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7703 (grub_term_border_height): Likewise.
7704 (grub_term_num_entries): Likewise.
7705
7706 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7709 Remove now unused string.
7710
7711 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7712
7713 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7714 build system.
7715 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7716
7717 (Comment): Fix typo.
7718 (Getting started): General copy-editing.
7719 (Typical Development Experience): Likewise.
7720 (Error Handling): Likewise.
7721 (Video API): Likewise.
7722
7723 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7724
7725 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7726 throughout.
7727
7728 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7729
7730 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7731 directory.
7732
7733 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7734
7735 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7736 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7737 "development".
7738
7739 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7740
7741 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7742 grub_strcpy since the lines aren't necessarily 0-terminated.
7743
7744 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7745
7746 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7747 root on legacy.
7748
7749 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7752 (GRUB_MOD_INIT): DEVICE isn't optional.
7753
7754 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7757 word on new line if it's too long anyway. Fixes a hang.
7758
7759 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7760
7761 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7762 const.
7763 * util/grub-setup.c (main): Reuse md device name if available.
7764 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7765 not GRUB name as argument.
7766 Based on patch by: Florian Wagner <fwagner>.
7767
7768 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7771 Place mbi on low memory for better compatibility.
7772
7773 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7776
7777 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7778 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7779
7780 * autogen.sh: Ensure that collate and ctype locale is C.
7781 * conf/Makefile.common: Likewise.
7782
7783 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7784
7785 * grub-core/normal/menu.c: Add missing include.
7786
7787 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
7790
7791 2011-04-08 Martin Zuther <mzuther@mzuther.de>
7792
7793 * util/grub-mkconfig.in: Ignore emacsen backup.
7794
7795 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7798 on open.
7799 (grub_util_biosdisk_close): Likewise.
7800
7801 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7804 const attribute and use grub_isdigit.
7805
7806 2011-04-06 Andrey <dev_null@ukr.net>
7807
7808 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7809 gcc warning.
7810
7811 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7812
7813 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7814 useful grub_dprintf's.
7815
7816 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7819
7820 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7823
7824 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7825
7826 Output errors if theme loading failed.
7827
7828 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7829 grub_gfxterm_fullscreen on error paths to ...
7830 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7831 theme loading error.
7832
7833 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7836 space for older compilers.
7837 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7838
7839 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7842 and report them as not RAID members since they are useless for GRUB.
7843 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7844
7845 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 Increase LVM implementation robustness in order not to crash on
7848 configurations like pvmove. Previously code assumed that in some places
7849 only lvs or only pvs are used whereas it seems that they are used
7850 interchangeably.
7851
7852 * grub-core/disk/lvm.c (read_node): New function.
7853 (read_lv): Use read_node.
7854 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7855 Match volumes only at the end when all lvs are found. Take both
7856 pvs (first) and lvs (second) into account.
7857 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7858 mirror_* into node_*. All users updated.
7859 (grub_lvm_stripe): Merge this ...
7860 (grub_lvm_mirror): ... and this ...
7861 (grub_lvm_node): ... into this. All users updated.
7862
7863 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7866 of function to allow further scanning for LVMs.
7867
7868 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7869
7870 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7871 on failed seek as it breaks open fd reusage.
7872
7873 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7874
7875 * util/grub-install.in: Add a recommendation to use --recheck before
7876 reporting bugs.
7877
7878 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7881 are obtained.
7882
7883 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 GRUB developper manual based on existing Internals section and
7886 contributions by the various authors with active copyright assignment.
7887
7888 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7889 * docs/font_char_metrics.png: New file.
7890 * docs/font_char_metrics.txt: Likewise.
7891 * docs/grub-dev.texi: Likewise.
7892 * docs/grub.texi (Internals): Move from here ...
7893 * docs/grub-dev.texi: ... here.
7894
7895 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7896
7897 Store the loopback device as data on loopback grub_disk structures,
7898 rather than the file it points to. This fixes use of freed memory
7899 if an existing loopback device is replaced.
7900
7901 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7902 disk->data, not dev->file.
7903 (grub_loopback_read): Adjust file assignment to match.
7904 Fixes Ubuntu bug #742967.
7905
7906 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7907
7908 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
7909 when replacing an existing device.
7910
7911 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
7914 memory corruptions.
7915
7916 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
7917 unsigned.
7918 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
7919 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
7920 (grub_jfs_read_inode): Likewise.
7921 (grub_jfs_opendir): Likewise. Remove now useless casts.
7922 (grub_jfs_getent): Likewise.
7923 Make ino a grub_uint32_t rather than int.
7924 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
7925 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
7926 division and module with bit operations.
7927 (grub_jfs_find_file): Make ino a grub_uint32_t.
7928 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
7929
7930 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7931
7932 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
7933 warning. (This was in fact always initialised before use, but GCC
7934 wasn't smart enough to prove that.)
7935 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7936
7937 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
7940 stack alignment.
7941 (efi_wrap_1): Likewise.
7942 (efi_wrap_2): Likewise.
7943 (efi_wrap_3): Likewise.
7944 (efi_wrap_4): Likewise.
7945 (efi_wrap_5): Likewise.
7946 (efi_wrap_6): Likewise.
7947 (efi_wrap_10): Likewise.
7948 Based on information by: Red Hat/Peter Jones.
7949
7950 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
7951
7952 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
7953 set-but-not-used variable.
7954
7955 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
7956
7957 * docs/grub.texi (Simple configuration): Be more explicit about
7958 GRUB_DEFAULT, and add an example.
7959 Reported by: Leslie Rhorer.
7960
7961 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7962
7963 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
7964 shell".
7965
7966 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7967
7968 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
7969 * util/grub.d/20_linux_xen.in: Likewise.
7970
7971 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7972
7973 * util/grub.d/10_linux.in: Try alternative config filenames where
7974 we parse config file.
7975 * util/grub.d/20_linux_xen.in: Likewise.
7976
7977 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7978
7979 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
7980 * util/grub.d/20_linux_xen.in: Likewise.
7981
7982 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * grub-core/disk/raid.c (insert_array): Add few potentially
7985 useful grub_util_info.
7986 (grub_raid_register): Likewise.
7987
7988 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7989
7990 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
7991 Preserve partition number in mdadm code path.
7992
7993 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7994
7995 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
7996 few potentially useful grub_util_info.
7997
7998 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
8001
8002 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8003
8004 * docs/grub.texi (default): Use @example rather than nested
8005 itemized lists to avoid breaking gendocs.
8006
8007 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8008
8009 * docs/grub.texi (Future): Update.
8010
8011 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8012
8013 * docs/grub.texi (Environment): New chapter.
8014 (Changes from GRUB Legacy): Link to "Environment block" section for
8015 details of limitations.
8016 (Simple configuration): Likewise. Link to documentation of gfxmode
8017 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
8018 respectively.
8019 (Shell-like scripting): Note that normal variables are stored in the
8020 environment.
8021 (gettext): Link to documentation of lang and locale_dir.
8022 (list_env): New section.
8023 (load_env): New section.
8024 (save_env): New section.
8025
8026 (Reporting bugs): Fix typo.
8027
8028 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
8031 the example.
8032
8033 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
8034
8035 * grub-core/term/at_keyboard.c (set_scancodes)
8036 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
8037
8038 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8039
8040 * docs/grub.texi (Menu-specific commands): Remove some semantics
8041 that were true in GRUB Legacy but not in GRUB 2.
8042 (submenu): New section.
8043 (false): New section.
8044 (read): New section.
8045 (true): New section.
8046
8047 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8048
8049 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
8050
8051 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
8052
8053 * docs/grub.texi (Simple configuration): Explain some of the
8054 current limitations of grub-mkconfig.
8055 Reported by: Leslie Rhorer.
8056
8057 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 Old macs search for boot.efi rather than for bootia32.efi.
8060
8061 * util/grub-install.in: Copy bootia32.efi to boot.efi.
8062 * util/grub-mkrescue.in: Likewise.
8063 Suggested by: Peter Jones.
8064
8065 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
8068
8069 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8070
8071 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
8072 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
8073 (grub_lvm_mirror): New struct.
8074 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
8075 (grub_lvm_iterate): Iterate only visible volumes.
8076 (grub_lvm_read): Factor out to ..
8077 (read_lv): ... this. Support mirrors.
8078 (grub_lvm_read): New wrapper function.
8079 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
8080 stripped or mirrored.
8081
8082 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
8085
8086 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8087
8088 * docs/grub.texi (loopback): New section.
8089
8090 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8091
8092 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
8093 removed -p option.
8094
8095 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8096
8097 * docs/grub.texi (BIOS installation): New section, partly based on
8098 previous text in other sections.
8099 (Installing GRUB using grub-install): Replace BIOS discussion with a
8100 cross-reference.
8101 (Images): Likewise.
8102
8103 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/kern/emu/hostdisk.c (find_partition_start)
8106 [HAVE_DIOCGDINFO]: Add safety checks.
8107
8108 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
8111 per default compiled in kernel and prior to 8.0 isn't shipped at all.
8112
8113 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
8114
8115 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
8116 real_sb->size is zero (e.g. RAID-0), get the disk size from
8117 real_sb->data_size instead.
8118 Fixes Ubuntu bug #743136.
8119
8120 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
8123 printf clauses for printing size and start.
8124
8125 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
8128 Reported and tested by: Timothy Nikkel.
8129
8130 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8131
8132 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
8133 (dirty_region_add_real): ... this.
8134 (dirty_region_add): Don't discard margin refresh when performing
8135 scheduled repaint.
8136
8137 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * grub-core/lib/relocator.c (allocate_regstart)
8140 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
8141 terminals are capabple of malloc-free operation.
8142 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8143 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
8144
8145 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
8146
8147 * util/grub-setup.c: Copy the partition table zone if floppy support
8148 is disabled, even if no partition table is found.
8149
8150 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
8151 during POST if an invalid partition table is contained in the PBR
8152 of the active partition when GRUB is installed to a partition.
8153
8154 2011-03-28 Colin Watson <cjwatson@debian.org>
8155
8156 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
8157 comment.
8158
8159 2011-03-28 Colin Watson <cjwatson@debian.org>
8160
8161 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
8162 to be specific about what kind of RAID device we're scanning for.
8163
8164 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
8165
8166 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
8167 return freed string.
8168
8169 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8170
8171 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
8172
8173 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 Use libgeom on FreeBSD to detect partitions.
8176
8177 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
8178 (grub-mkrelpath): Likewise.
8179 (grub-script-check): Likewise.
8180 (grub-editenv): Likewise.
8181 (grub-mkpasswd-pbkdf2): Likewise.
8182 (grub-fstest): Likewise.
8183 (grub-mkfont): Likewise.
8184 (grub-mkdevicemap): Likewise.
8185 (grub-probe): Likewise.
8186 (grub-setup): Likewise.
8187 (grub-ofpathname): Likewise.
8188 (grub-mklayout): Likewise.
8189 (example_unit_test): Likewise.
8190 (grub-menulst2cfg): Likewise.
8191 * grub-core/Makefile.core.def (grub-emu): Likewise.
8192 (grub-emu-lite): Likewise.
8193 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
8194 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
8195 define HAVE_DIOCGDINFO.
8196 (follow_geom_up) [FreeBSD]: New function.
8197 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
8198 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
8199 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
8200 unconditionally of HAVE_DIOCGDINFO.
8201
8202 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 Fix FreeBSD compilation problem.
8205
8206 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
8207 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
8208
8209 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
8210
8211 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
8212 Switch back to page zero before loading a kernel, since some kernel
8213 drivers expect that.
8214 Thanks to: Felix Kuehling.
8215
8216 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
8219 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
8220 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
8221
8222 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
8225 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
8226
8227 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
8230 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
8231 malloc is disabled.
8232
8233 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
8236 for modules headers when counting the needed allocation size.
8237
8238 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8239
8240 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
8241 if no ASCII character is found to prevent crash.
8242
8243 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
8244
8245 * grub-core/video/bitmap.c (match_extension): Ignore case.
8246
8247 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
8250
8251 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8252
8253 * grub-core/script/parser.y: Declare "time" as valid argument.
8254
8255 2011-03-23 Peter Jones <pjones@redhat.com>
8256
8257 Fix incorrect assert failure reporting.
8258
8259 * grub-core/tests/example_functional_test.c (example_test): Add
8260 a failure comment.
8261 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
8262 (failure_start): ...this. Check that malloc succeeded.
8263 Don't call xvasprintf. Return failure struct.
8264 (failure_append_vtext): New function.
8265 (failure_append_text): Likewise.
8266 (add_failure): Likewise.
8267 (grub_test_assert_helper): Likewise.
8268 * include/grub/test.h (grub_test_assert_helper): New declaration.
8269 (grub_test_assert): Macro rewritten.
8270
8271 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
8274
8275 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8276
8277 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
8278
8279 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
8282 into GRUB-style one.
8283
8284 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
8287 error and not grub_errno.
8288 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8289
8290 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8293 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8294
8295 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8296
8297 * grub-core/efiemu/i386/pc/cfgtables.c
8298 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8299 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8300 (grub_xnu_unlock): Likewise.
8301 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8302
8303 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8304
8305 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8306 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8307 * grub-core/commands/hashsum.c (aliases): Likewise.
8308 * grub-core/commands/setpci.c (pci_registers): Likewise.
8309 * grub-core/disk/usbms.c (attach_hook): Likewise.
8310 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8311 (zio_checksum_table): Likewise.
8312 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8313 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8314 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8315 * grub-core/lib/relocator.c (leftovers): Likewise.
8316 (extra_blocks): Likewise.
8317 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8318 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8319 (modules_last): Likewise.
8320 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8321 (devices): Likewise.
8322 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8323 (modules_last): Likewise.
8324 * grub-core/normal/auth.c (users): Likewise.
8325 * grub-core/normal/context.c (initial_menu): Likewise.
8326 (current_menu): Likewise.
8327 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8328 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8329 (grub_serial_terminfo_input_template): Likewise.
8330 (grub_serial_terminfo_output_template): Likewise.
8331 (grub_serial_terminfo_input): Likewise.
8332 (grub_serial_terminfo_output): Likewise.
8333 (registered): Likewise.
8334 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8335
8336 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8339 grub_video_mode_type_t.
8340 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8341 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8342 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8343
8344 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * util/grub-install.in: Correct the x86-64 name as x86_64.
8347
8348 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
8349
8350 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8351 initial chunk read from the kernel always includes GRUB's multiboot
8352 header, which is now outside the first sector.
8353
8354 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8355
8356 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8357 cached mmap_size, so that this works correctly when called multiple
8358 times.
8359 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8360
8361 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8362
8363 * docs/grub.texi (Simple configuration): Tidy up formatting.
8364
8365 2011-03-07 Szymon Janc <szymon@janc.net.pl>
8366
8367 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8368 Set-but-not-used variable removed.
8369
8370 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 Workaround yet another IEEE1275 bug.
8373
8374 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8375 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8376 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8377 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8378 is set.
8379 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8380 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8381
8382 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8385 error.
8386
8387 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
8388
8389 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8390 empty, since in that case we can only generate either nothing or a
8391 syntactically invalid configuration file.
8392 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8393
8394 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8395
8396 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8397 (Making a GRUB bootable CD-ROM): Likewise.
8398 (Invoking grub-mkrescue): New section.
8399 Reported by: Yann Dirson. Fixes Debian bug #612585.
8400
8401 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8402
8403 * util/grub-install.in: Remove unnecessary brackets from tr
8404 arguments.
8405 * util/grub.d/10_hurd.in: Likewise.
8406 * util/grub.d/10_kfreebsd.in: Likewise.
8407 * util/grub.d/10_linux.in: Likewise.
8408 * util/grub.d/20_linux_xen.in: Likewise.
8409 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8410
8411 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
8412
8413 * include/grub/file.h (not_easly_seekable): Rename to ...
8414 (not_easily_seekable): ... this. Update all users.
8415
8416 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
8417
8418 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8419 grub-mkrescue.
8420
8421 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8422
8423 * util/grub-mkimage.c (generate_image): Refuse to create the images
8424 bigger than the actual flash (512K) in Loongson machines. 512K is also
8425 the biggest chip supported by them.
8426
8427 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8430
8431 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
8432
8433 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8434 super_offset field.
8435
8436 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * util/grub-install.in: Ignore install device on platforms
8439 where it doesn't make sense. Always use UUIDs except on pc, efi and
8440 sparc64.
8441 Reported by: Daniel Kahn Gillmor.
8442
8443 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8446
8447 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8450 (iterate_real): Don't rely on partition being non-NULL.
8451
8452 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8455 supported platforms. Put a compile time assert for this rather than
8456 generate a warning with 32-bit shift.
8457
8458 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8461 logical expression more readable.
8462
8463 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8464
8465 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8466 even if some elements have a name.
8467 Reported by: Alexander GQ Gerasiov.
8468
8469 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8470
8471 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8472 path unreadable if `grub-probe -t abstraction' fails, for example if
8473 memberlist fails on an LVM volume group.
8474 Reported by: Darius Jahandarie.
8475
8476 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8477
8478 * docs/grub.texi (Simple configuration): Document
8479 GRUB_PRELOAD_MODULES.
8480
8481 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
8482
8483 * .bzrignore: Remove nonexistent grub-pbkdf2.
8484
8485 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 * configure.ac: Bump version to 1.99~rc1.
8488
8489 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8492 for safety.
8493
8494 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8497 module.
8498
8499 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8502
8503 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8506 diskdevid.
8507
8508 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8509
8510 Fix compilation on cygwin.
8511
8512 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8513 -R .drectve on cygwin.
8514 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8515 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8516 (COND_CYGWIN): New condition.
8517 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8518 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8519 not @TARGET_OBJ2ELF@.
8520 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8521 type to determine whether aux is to be used.
8522
8523 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8526 realpath'ed device string.
8527 Handle floppy (somewhat).
8528 Issue error in unknown case rather than garbage.
8529 Reported by: Axel Beckert.
8530
8531 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 * util/grub.d/00_header.in (load_video): Handle the case when no video
8534 drivers available.
8535 Thanks to: Axel Beckert.
8536
8537 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8540 variable. Fixes problem on big endian platforms.
8541
8542 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8543
8544 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8545 It doesn't work well there.
8546
8547 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8550 warning.
8551 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8552 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8553 counter.
8554
8555 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8556
8557 Use alias->path rather than buggy "canon".
8558
8559 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8560 (ofdisk_hash_add): New argument curcan. All users updated.
8561
8562 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8563
8564 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8565
8566 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8569 loadmask before doing any calculations. Use correct type for offset.
8570 (grub_linux_load64): Likewise.
8571
8572 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8573
8574 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8575 with NULL.
8576 (console_grub_equivalences_unshift): Likewise.
8577 Reported by: Daniel Dehennin.
8578
8579 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8582 (set_env_limn_ro): Likewise.
8583 (GRUB_MOD_INIT): Likewise.
8584 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8585 ARRAY_SIZE while on it.
8586 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8587 * grub-core/normal/context.c (grub_env_export): Move from here ...
8588 * grub-core/kern/env.c (grub_env_export): ... here.
8589 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8590 prefix.
8591 * grub-core/kern/main.c (grub_main): Export root and prefix.
8592 * include/grub/env.h (grub_env_export): Export.
8593 Reported by: Seth Goldberg.
8594
8595 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8598 Take into account space used by ELF sections and multiboot palette.
8599 Reported by: Grégoire Sutre.
8600
8601 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8602
8603 * BUGS: New file.
8604
8605 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8606
8607 Pass more appropriate video id to Linux.
8608
8609 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8610 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8611 fill have_vga.
8612 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8613 shift params->lfb_size.
8614 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8615
8616 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8619
8620 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8623 separator and pass bootpath/devid even if only one of them is available.
8624 Reported by: Seth Goldberg.
8625
8626 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8629 implementations bug on them.
8630
8631 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8632 memory.
8633 (filter_memory_map): Likewise.
8634
8635 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8638 Reported by: nebuchadnezzar.
8639
8640 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8643 Reported by: nebuchadnezzar.
8644
8645 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 Submenu default support.
8648
8649 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8650 auto_boot. All users updated.
8651 Declared static.
8652 Handle chosen and default with submenus.
8653 (grub_menu_execute_with_fallback): Declared static.
8654 Don't notify failure if autobooted. Upper level does it.
8655 (menuentry_eq): New function.
8656 (get_entry_number): Use menuentry_eq.
8657 (show_menu): New parameter "autobooted". All users updated.
8658 (grub_show_menu): Likewise.
8659 * include/grub/normal.h (grub_show_menu): Likewise.
8660 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8661 (grub_menu_execute_with_fallback): Likewise.
8662
8663 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * util/grub-mklayout.c (usage): Update help text.
8666
8667 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8670
8671 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8672
8673 * util/grub-menulst2cfg.c (main): Trim the line.
8674
8675 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8678 (grub_machine_init): Don't check amount of low memory as reportedly
8679 INT 12h can be broken and if low memory is too low we wouldn't have
8680 gotten into grub_machine_init anyway.
8681
8682 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8685 (grub_machine_mmap_iterate): Take low memory into account
8686
8687 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8690 badfs.
8691 Reported by: TiCPU.
8692
8693 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8696 members errors.
8697
8698 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8699
8700 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8701 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8702
8703 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8704
8705 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8706 openbsd and netbsd types being in part_bsd module.
8707
8708 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8711 (_FILE_OFFSET_BITS): Likewise.
8712 Reported by: Seth Goldberg.
8713
8714 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8715
8716 * configure.ac: Check for libdevmapper header.
8717
8718 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8721 avoid aliasing.
8722 (fzap_lookup): Likewise.
8723 (dnode_get): Likewise.
8724 (make_mdn): Likewise.
8725 (zfs_mount): Likewise.
8726 (fzap_iterate): Use temporary pointer to avoid aliasing.
8727 (grub_zfs_read): Likewise.
8728 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8729 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8730 pointers to avoid aliasing.
8731 (grub_cmd_xnu_kernel64): Likewise.
8732 (grub_xnu_load_driver): Likewise.
8733
8734 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8737 aliasing warning.
8738 (grub_cmd_terminal_output): Likewise.
8739 Reported and tested by: Grégoire Sutre.
8740
8741 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8744 warning.
8745 Reported and tested by: Grégoire Sutre.
8746
8747 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 * configure.ac: Do CPU substitution even if it's specified explicitly.
8750 Reported and tested by: Alain Greppin.
8751
8752 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8755 Reported and tested by: Alain Greppin.
8756
8757 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Satisfy some bison versions need for inttypes.h.
8760
8761 * grub-core/lib/posix_wrap/inttypes.h: New file.
8762 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8763 (int16_t): Likewise.
8764 (int32_t): Likewise.
8765 (int64_t): Likewise.
8766 Reported and tested by: Alain Greppin.
8767
8768 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8771 Silence spurious warning.
8772 Reported and tested by: Alain Greppin.
8773
8774 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8775
8776 * docs/grub.texi (Support automatic decompression): Update with xz
8777 decompression support.
8778
8779 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8780
8781 Improve loaders' kernel command line handling.
8782
8783 * grub-core/lib/cmdline.c: New file.
8784 * include/grub/lib/cmdline.h: Likewise.
8785 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8786 grub_create_loader_cmdline to create kernel command line.
8787 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8788 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8789 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8790 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8791 (linux): Add lib/cmdline.c on common.
8792
8793 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8796 inopos might be unaligned.
8797
8798 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8799
8800 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8801 endian transformations.
8802 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8803 Based on report by: Doug Nazar.
8804
8805 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
8806
8807 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8808 array->members[i].start_sector.
8809 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8810
8811 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8814 Reported and tested by: Grégoire Sutre.
8815
8816 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8817
8818 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8819 avoid causing test failures by clearing the screen.
8820
8821 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8822
8823 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8824 Fix prefix check to handle the case where dir ends with a slash
8825 (most significantly, "/" itself).
8826 Reported by: Michael Vogt.
8827
8828 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8829
8830 Run terminfo_cls on initing terminfo output to clear the screen and
8831 move the cursor to (0,0).
8832
8833 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8834 Call grub_terminfo_output_init.
8835 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8836 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8837 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8838
8839 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8842 only when needed.
8843
8844 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8845
8846 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8847 CTRL.
8848
8849 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 The E820 type 5 is BADRAM, not EXEC_CODE.
8852
8853 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8854 (GRUB_E820_BADRAM): New define.
8855 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8856 into reserved. Propagate BADRAM.
8857 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8858 (GRUB_E820_BADRAM): New define.
8859
8860 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8863 Ignore the memory post-4G.
8864 (grub_relocator_firmware_alloc_region): Additional debug statement.
8865
8866 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8867
8868 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8869 names.
8870 Reported by: David Pravec.
8871
8872 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8875 BIOSes.
8876
8877 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8880 Prevent overflow.
8881 (grub_reed_solomon_recover): Likewise.
8882
8883 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8886
8887 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8890 variable.
8891
8892 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
8893
8894 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8895 descriptions of extract_legacy_entries_source and
8896 extract_legacy_entries_configfile.
8897 Reported by: Seung Soo, Ha.
8898
8899 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
8900
8901 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8902 on devices that do not implement function 0.
8903
8904 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8905
8906 * grub-core/fs/hfsplus.c: Make parent unsigned.
8907 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8908 overflows.
8909 (grub_hfsplus_cmp_extkey): Likewise
8910
8911 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * util/grub-install.in: Correctly use bootloader_id and not
8914 GRUB_DISTRIBUTOR on efibootmgr line.
8915
8916 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
8919
8920 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
8921
8922 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
8923 Xen and reorder menu item wording to make it clearer that this entry
8924 will launch Xen. Print separate messages when loading Xen and
8925 Linux.
8926
8927 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
8930 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
8931 loop in case of incorrect amiga partmap.
8932
8933 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8934
8935 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
8936 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
8937 Reported by:EHeM.
8938
8939 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8940
8941 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
8942 spurious warning.
8943 Reported by: crocket
8944
8945 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8946
8947 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
8948 Preload EFIemu.
8949 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
8950
8951 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
8954 is loaded
8955 (grub_cmd_xnu_kextdir): Likewise.
8956 (grub_cmd_xnu_splash): Likewise.
8957
8958 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 Avoid using Reed-Solomon with 0 redundancy.
8961
8962 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
8963 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
8964 or 0 redundancy.
8965 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
8966 (grub_reed_solomon_recover): Likewise.
8967
8968 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 Don't use disk subsystem in freebsd_boot.
8971
8972 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
8973 (freebsd_biosdev): Likewise.
8974 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
8975 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
8976
8977 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8978
8979 Handling of files of unknown size is currently limited. They can't be
8980 used e.g. for initrd or modules. Moreover gzip handling of not
8981 easily seekable files is buggy. Disable unknown file size for now. May
8982 be inefficient but works.
8983
8984 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
8985 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8986
8987 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
8988
8989 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
8990 floppy probe.
8991
8992 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
8993
8994 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
8995
8996 2010-12-25 Shea Levy <shlevy>
8997
8998 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
8999
9000 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9001
9002 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
9003 Windows Server 2008.
9004 Reported by: Devin Giddings.
9005
9006 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
9009 writing an error message because of async power management.
9010 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
9011 (grub_reboot): Likewise.
9012
9013 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
9014
9015 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
9016 keep unit tests from failing when they shouldn't.
9017
9018 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9019
9020 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
9021 previous patch increased the size of the RS code by 20 bytes (at
9022 least with gcc-4.4), so increase this by 20 bytes to match.
9023 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9024
9025 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9026
9027 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
9028 scratch area. Make sure to initialise chosen in standalone mode as
9029 well as non-standalone.
9030 Reported by: Robert Hooker and Andy Whitcroft.
9031 Tested by: Andy Whitcroft.
9032
9033 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9034
9035 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
9036 constructing a new unescaped string and passing it to grub_xputs in
9037 one go, rather than passing characters to grub_printf one at a time.
9038
9039 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9040
9041 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
9042 initialising utf16.
9043
9044 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
9045
9046 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
9047 comment. Add an extra layer of quotation, requiring the output of
9048 this function to be used in a printf format string.
9049 (gettext_printf): New function.
9050 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
9051 Extract translatable strings from here-documents and use a temporary
9052 variable instead, so that xgettext can find them.
9053 * util/grub.d/10_kfreebsd.in: Likewise.
9054 * util/grub.d/10_linux.in: Likewise.
9055 * util/grub.d/20_linux_xen.in: Likewise.
9056
9057 * po/grub.d.sed: New file.
9058 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
9059 arguments. Set c-format flags on all strings extracted from
9060 util/grub.d/ (xgettext refuses to include these itself for strings
9061 it extracted from a shell file, but these really are c-format).
9062
9063 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
9066 Avoid next pointing to nowhere.
9067
9068 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
9071 rather than assuming than rootblock is exactly in the middle.
9072 (grub_affs_label): Likewise.
9073
9074 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
9077 reserved_first_sector to 0.
9078 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
9079 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
9080 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
9081
9082 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
9083
9084 Fix handling of UTF-16 UDF labels.
9085
9086 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
9087 (read_string): .. here.
9088 (grub_udf_label): Use read_string.
9089
9090 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
9091
9092 * grub-core/normal/menu_entry.c (run): Execute commands from menu
9093 editor under argument scope.
9094 Reported by: Jordan Uggla
9095
9096 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
9099
9100 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
9101
9102 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
9103 line, and other keys scroll an entire page (previous handling was
9104 for \r and \n to scroll a page and other keys to scroll two lines).
9105
9106 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
9109 Set ptrdest to correct get_physical_target_address rather than
9110 incorrect get_virtual_current_address.
9111
9112 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
9113
9114 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
9115 correct cat to grub_uint8_t * rather than grub_uint32_t *.
9116
9117 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
9118
9119 * .bzrignore: Ignore grub-core/rs_decoder.S.
9120
9121 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
9122
9123 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
9124 .mo/.mo.gz opening sequence to ...
9125 (grub_mofile_open_lang): ... here.
9126 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
9127 * util/grub.d/00_header.in (grub_lang): Include country part of
9128 locale.
9129 Reported by: Mario Limonciello.
9130
9131 2010-12-09 Robert Millan <rmh@gnu.org>
9132
9133 * NEWS: Document addition of ZFS support.
9134
9135 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
9136
9137 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
9138 rather than `/ 2', as the latter requires -Wa,--divide which would
9139 require bumping our minimum binutils version.
9140
9141 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
9142
9143 * util/grub-script-check.c (main): Print script line number on
9144 error.
9145
9146 2010-12-01 Robert Millan <rmh@gnu.org>
9147
9148 * grub-core/fs/zfs/zfs.c: New file.
9149 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
9150 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
9151 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
9152 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9153
9154 * include/grub/zfs/dmu.h: Likewise.
9155 * include/grub/zfs/dmu_objset.h: Likewise.
9156 * include/grub/zfs/dnode.h: Likewise.
9157 * include/grub/zfs/dsl_dataset.h: Likewise.
9158 * include/grub/zfs/dsl_dir.h: Likewise.
9159 * include/grub/zfs/sa_impl.h: Likewise.
9160 * include/grub/zfs/spa.h: Likewise.
9161 * include/grub/zfs/uberblock_impl.h: Likewise.
9162 * include/grub/zfs/vdev_impl.h: Likewise.
9163 * include/grub/zfs/zap_impl.h: Likewise.
9164 * include/grub/zfs/zap_leaf.h: Likewise.
9165 * include/grub/zfs/zfs.h: Likewise.
9166 * include/grub/zfs/zfs_acl.h: Likewise.
9167 * include/grub/zfs/zfs_znode.h: Likewise.
9168 * include/grub/zfs/zil.h: Likewise.
9169 * include/grub/zfs/zio.h: Likewise.
9170 * include/grub/zfs/zio_checksum.h: Likewise.
9171
9172 * Makefile.util.def: Build ZFS into libgrubmods.
9173 * grub-core/Makefile.core.def: Build zfs.mod.
9174
9175 2010-11-30 Szymon Janc <szymon@janc.net.pl>
9176
9177 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
9178 variable.
9179 * grub-core/commands/wildcard.c (match_files): Likewise.
9180
9181 2010-11-30 Robert Millan <rmh@gnu.org>
9182
9183 * grub-core/loader/i386/bsd.c
9184 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
9185 whether kernel is loaded using grub_loader_is_loaded(), rather
9186 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
9187 certain error conditions.
9188
9189 2010-11-30 Robert Millan <rmh@gnu.org>
9190
9191 * grub-core/commands/echo.c: Include `<grub/term.h>'.
9192 (grub_cmd_echo): Call grub_refresh() after printing a message.
9193
9194 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9195
9196 Avoid using tricks for initialising endian variables.
9197
9198 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
9199 Make const.
9200 (GRUB_MOD_INIT): Don't byte-swap.
9201 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9202 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
9203 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
9204 (grub_swap_bytes32_compile_time): Likewise.
9205 (grub_cpu_to_le32_compile_time): Likewise.
9206 (grub_cpu_to_le16_compile_time): Likewise.
9207
9208 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
9209
9210 * util/grub-setup.c (setup): Stop recommending --force. People who
9211 understand the dangers of blocklists are able to find this option
9212 anyway and the ones who don't shouldn't use it anyway.
9213
9214 2010-11-26 Robert Millan <rmh@gnu.org>
9215
9216 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
9217 Update all users.
9218
9219 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
9220
9221 Fix LVM-on-RAID probing.
9222
9223 * util/grub-probe.c (probe): Remember which disk was detected as
9224 RAID (perhaps an LVM physical volume). Use that disk's raidname
9225 rather than that of the top-level disk.
9226
9227 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
9228
9229 Fix cmdline argument quotes for setparams command of menuentry
9230 definitions.
9231
9232 * grub-core/commands/menuentry.c (setparams_prefix): Use single
9233 quotes for arguments.
9234 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
9235 grub_strchrsub function instead.
9236
9237 * include/grub/misc.h (grub_strchrsub): New function.
9238
9239 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9240
9241 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
9242 effort by skipping "." and ".." entries up-front.
9243 Suggested by: Michael Lazarev.
9244
9245 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9246
9247 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
9248 ldflags to ldadd, to fix link line ordering.
9249 (none_decompress): Likewise.
9250
9251 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
9252
9253 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
9254 platforms.
9255 (grub-emu-lite): Remove kern/emu/cache.S.
9256
9257 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9258
9259 * util/deviceiter.c (compare_devices): If the by-id link for a
9260 device couldn't be resolved, fall back to sorting by the by-id link
9261 rather than segfaulting.
9262 Reported and tested by: Daniel Mierswa.
9263
9264 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9265
9266 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
9267 ldflags, to fix link line ordering.
9268
9269 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9270
9271 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
9272 linkers are picky about this.
9273
9274 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9275
9276 * grub-core/Makefile.am (command.lst): Adjust sed expression
9277 ordering so that extended and priority commands aren't treated as
9278 ordinary commands.
9279
9280 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
9281
9282 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
9283 Remove byte-swapping function calls, which are not valid in
9284 structure initialisers.
9285 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
9286 non-const.
9287 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9288 grub_gpt_partition_type_bios_boot.
9289
9290 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9291
9292 Fix test program build on GNU/kFreeBSD.
9293
9294 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9295 $(LIBNVPAIR)' library dependencies.
9296
9297 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9298
9299 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9300
9301 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9302
9303 * util/grub-install.in: Remove excessive quoting that broke
9304 installations to RAID devices.
9305
9306 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9309 bootloader version instead of 0.
9310
9311 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9314 warning.
9315
9316 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9317
9318 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9319 retrieve the metadat sector if size isn't known.
9320 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9321
9322 2010-11-18 Robert Millan <rmh@gnu.org>
9323
9324 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9325 with grub_memcmp().
9326
9327 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9328
9329 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9330 arrow.
9331 Reported by: Jordan Uggla.
9332
9333 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9334
9335 Make better UTF compliant.
9336
9337 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9338 sequences as incorrect.
9339 (grub_is_valid_utf8): Likewise.
9340 (grub_utf8_to_ucs4): Likewise.
9341 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9342 (grub_ucs4_to_utf8_alloc): Likewise.
9343 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9344
9345 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 Make legacy_source behave like source.
9348
9349 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9350 grub_show_menu.
9351 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9352
9353 2010-11-16 Colin Watson <cjwatson@debian.org>
9354
9355 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9356 (-Wunused implies -Wunused-parameter, but not vice versa).
9357
9358 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
9359
9360 * configure.ac: Make error messages less confusing by testing for
9361 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9362 accepted, but produces a diagnostic if something else is wrong).
9363
9364 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9367 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9368 (now unused).
9369 (grub_keyboard_controller_init)
9370 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9371 read the initial state since controller isn't inited yet.
9372
9373 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9374
9375 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9376 allocate_regbeg may need to create new chunk header.
9377
9378 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9379
9380 Fix quoting in legacy parser.
9381
9382 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9383 single quotes.
9384 (grub_legacy_parse): Likewise.
9385 Reported by: Jordan Uggla.
9386 Tested by: Jordan Uggla.
9387
9388 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9389
9390 Don't add -lgcc on i386 and x86_64.
9391
9392 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9393 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9394 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9395
9396 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9397
9398 * configure.ac: Add -Wno-trampolines when supported.
9399
9400 2010-11-14 Modestas Vainius <modax@debian.org>
9401
9402 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9403 fakeraid.
9404
9405 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9406
9407 Add generic logical block size support for UDF.
9408
9409 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9410 (GRUB_UDF_BLKSZ): Removed.
9411 (struct grub_udf_data): New field "lbshift" to hold the logical block
9412 size of the file system in log2 format. All users updated.
9413 (sblocklist): Change type to unsigned.
9414 (grub_udf_mount): Change type of "sblklist" to unsigned.
9415 Move AVDP search before VRS recognition, because the latter requires
9416 knowledge of the logical block size, which is detected during the
9417 former.
9418 Detect and validate logical block size during AVDP search, adding
9419 support for block sizes 512, 1024 and 4096.
9420 Make VRS recognition independent of block size.
9421
9422 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9423
9424 Properly handle deleted files on UDF.
9425
9426 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9427 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9428 set.
9429
9430 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9431
9432 Support reading files larger than 2 GiB.
9433
9434 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9435 "offset" to grub_off_t.
9436 (grub_udf_read_file): Likewise for parameter "pos".
9437
9438 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9441 unavailable.
9442 (Simple configuration): Refer to Changes from GRUB Legacy about
9443 save_env availability.
9444
9445 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * util/grub-install.in: Ignore empty partition table detection
9448 instead of trying to include part_ module.
9449
9450 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9453 LVM on RAID support.
9454
9455 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 Properly define WORDS_BIGENDIAN in wrapped environments.
9458
9459 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9460 definition.
9461 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9462
9463 Reported by: Manoel Rebelo Abranches.
9464 Tested by: Manoel Rebelo Abranches.
9465
9466 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * util/grub-mkconfig.in: Fix quoting.
9469
9470 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 Support big ext2 files.
9473
9474 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9475 (grub_ext2_read_block): Support triple indirect blocks.
9476 (grub_ext2_read_file): Use 64-bit types and read size_high.
9477 (grub_ext2_open): Read size_high.
9478 Reported by: Ximin Luo.
9479 Tested by: Manoel Rebelo Abranches.
9480
9481 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 * util/grub-install.in: Handle filenames containing spaces.
9484 Reported by: Jordan Uggla.
9485 Tested by: Jordan Uggla.
9486
9487 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9488
9489 * util/grub-mkconfig.in (grub_script_check): New variable.
9490 Use grub_script_check instead of grub-script-check.
9491 Reported by: Barry Jackson.
9492
9493 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 * docs/grub.texi (menu): Correct the order.
9496 Reported by: D. Hugh Redelmeier.
9497
9498 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9501 jump.
9502
9503 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9504
9505 * include/grub/elfload.h (grub_elf32_size): New parameter.
9506 All users updated.
9507 Return maximum segments alignment.
9508 (grub_elf64_size): Likewise.
9509 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9510 Return maximum segments alignment.
9511 (grub_elf64_size): Likewise.
9512 * grub-core/loader/powerpc/ieee1275/linux.c:
9513 (grub_linux_claimmap_iterate): New function. Uses the
9514 "available" property in the "memory" node for memory allocation
9515 for kernel in the PowerPC loader.
9516 (grub_linux_load32): Correctly find linux entry point offset.
9517 (grub_linux_load64): Likewise.
9518
9519 2010-11-07 Robert Millan <rmh@gnu.org>
9520
9521 On mips-yeeloong, build with -march=loongson2f when this flag is
9522 available (GCC >= 4.4).
9523 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9524 `-march=mips3'.
9525 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9526 or otherwise add -march=mips3.
9527
9528 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9529
9530 Suppress shell expansion on echo '*' and echo "*" like cases.
9531 Reported by: Jordan Uggla.
9532
9533 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9534 string arguments before shell expansion.
9535 * tests/grub_cmd_echo.in: New testcases.
9536
9537 2010-11-07 Robert Millan <rmh@gnu.org>
9538
9539 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9540 transition.
9541
9542 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * grub-core/kern/emu/hostdisk.c
9545 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9546
9547 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9548
9549 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9550 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9551 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9552
9553 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9554
9555 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9556
9557 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 * util/grub-install.in: Replace useless recomendation to pass
9560 --modules with a recomendation to report a bug.
9561
9562 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 Properly register serial terminfo.
9565 Reported by: Jordan Uggla
9566
9567 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9568 const.
9569 (grub_serial_terminfo_output_template): Likewise.
9570 (grub_cmd_serial): Register "serial" with terminfo.
9571 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9572 grub_serial_terminfo_output.
9573
9574 2010-11-05 Robert Millan <rmh@gnu.org>
9575
9576 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9577 needed).
9578
9579 2010-11-05 Robert Millan <rmh@gnu.org>
9580
9581 On Yeeloong, pass machine type information to Linux.
9582
9583 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9584 (LOONGSON_MACHTYPE): New macro, set to
9585 "machtype=lemote-yeeloong-2f-8.9inches".
9586 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9587 additional argument to Linux.
9588
9589 2010-11-04 Robert Millan <rmh@gnu.org>
9590
9591 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9592 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9593 (its SATA disks are detected as slaveless IDE master drives on
9594 kFreeBSD).
9595 Reported by Carsten Aulbert.
9596
9597 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
9598
9599 * util/bin2h.c (main): Fix spelling error in generated output.
9600
9601 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9602
9603 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9604
9605 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9608 vga= option is supplied.
9609
9610 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9613 * util/grub.d/10_kfreebsd.in: Likewise.
9614 * util/grub.d/10_linux.in: Likewise.
9615 * util/grub.d/20_linux_xen.in: Likewise.
9616
9617 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9618
9619 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9620 argument as an argument to no-argument option.
9621
9622 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 * util/grub.d/10_linux.in: Add missing load_video with explicit
9625 GRUB_GFXPAYLOAD_LINUX.
9626
9627 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9630
9631 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9632
9633 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9634 elements with invlid index.
9635 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9636 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9637 members.
9638 * include/grub/raid.h (grub_raid_member): New struct.
9639 (grub_raid_array): Transform devices and start_sector into usage of
9640 grub_raid_member. All users updated
9641 (allocated_devs): New member.
9642
9643 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9646 is modified
9647
9648 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9649
9650 NetBSD build fix for getline function conflict from gnulib.
9651
9652 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9653 components that depend on gnulib headers.
9654 (libgrubmods.a): Renamed from earlier libgrub.a.
9655 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9656
9657 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9658
9659 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9660 install rather than creating a broken install.
9661
9662 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * util/grub-setup.c (argp): Remove misleading example of installing to
9665 a partition.
9666
9667 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 * util/grub-setup.c (setup): Clarify the error message.
9670
9671 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9674
9675 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/kern/emu/misc.c
9678 (grub_make_system_path_relative_to_its_root)
9679 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9680
9681 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/kern/emu/misc.c
9684 (grub_make_system_path_relative_to_its_root): Revert r2882.
9685
9686 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9689 useless field head. All users updated.
9690 (free_subchunk): Correct handling of IN_REGION subchunk.
9691
9692 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
9693
9694 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9695 (Supported kernels): Likewise.
9696
9697 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9698
9699 Make mktemp invocations portable.
9700
9701 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9702 exit if mktemp fails.
9703 * tests/grub_script_blockarg.in: Likewise.
9704 * tests/partmap_test.in: Likewise.
9705 * tests/util/grub-shell-tester.in: Likewise.
9706 * tests/util/grub-shell.in: Likewise.
9707 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9708 * Makefile.am: Likewise, and chain shell commands with `&&'
9709 instead of ';'.
9710 * util/grub-mkrescue.in: Use the same explicit template as above, and
9711 exit if mktemp fails.
9712
9713 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9714
9715 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9716 Linux kernel, reported by Dennis Schridde.
9717
9718 2010-10-17 Szymon Janc <szymon@janc.net.pl>
9719
9720 * grub-core/normal/auth.c (grub_auth_check_authentication):
9721 Set-but-not-used variable removed.
9722
9723 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9724
9725 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9726 32-bit linux protocol.
9727
9728 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9729
9730 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9731 cursor shape for sanity.
9732
9733 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 * docs/grub.texi (Installation): Document buggy BIOS install.
9736
9737 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9738
9739 * docs/grub.texi (Installation): Indent.
9740
9741 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 * util/grub-setup.c (setup): New parameter allow_floppy.
9744 (arguments): New member allow_floppy.
9745 (argp_parser): Handle --allow-floppy.
9746 (main): Pass allow_floppy.
9747 * util/grub-install.in: New option --allow-floppy passed though to
9748 grub-setup.
9749
9750 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9751
9752 * util/grub-install.in: Handle partitionless disks.
9753
9754 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 * util/grub-setup.c (setup): Don't clean blocklists before readability
9757 verfification.
9758
9759 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9760
9761 * docs/grub.texi (Installation): Document embedding zone. Remove
9762 obsolete grub-install example.
9763
9764 2010-10-16 Szymon Janc <szymon@janc.net.pl>
9765
9766 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9767 Set-but-not-used variable ifdef'ed.
9768 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9769 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9770 variable removed.
9771 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9772 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9773 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9774 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9775 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9776 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9777 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9778 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9779 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9780 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9781 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9782 Likewise.
9783
9784 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9787 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9788 enum value.
9789
9790 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9791
9792 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9793 synonym to _S5_. Needed for some DSDTs.
9794
9795 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9796
9797 Userspace ACPI parser debugging.
9798
9799 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9800 headers and add relevant defines. Don't include standard headers.
9801 (main) [GRUB_DSDT_TEST]: New function.
9802 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9803 Don't declare functions.
9804
9805 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9806
9807 Remove dead grub_efi_mm_fini.
9808
9809 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9810 (ALLOCATED_PAGES_SIZE): Likewise.
9811 (MAX_ALLOCATED_PAGES): Likewise.
9812 (allocated_pages): Likewise.
9813 (grub_efi_allocate_pages): Don't record allocated pages.
9814 (grub_efi_free_pages): Likewise.
9815 (grub_efi_mm_init): Likewise.
9816 (grub_efi_mm_fini): Removed.
9817
9818 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9819
9820 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9821 (grub_efi_mm_init): Take into account the memory map size increase.
9822
9823 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9824
9825 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9826 (serial_hw_put): Wait based on real time rather than port reads. Don't
9827 roken ports.
9828 * include/grub/serial.h (grub_serial_port): New field broken.
9829
9830 2010-10-16 Robert Millan <rmh@gnu.org>
9831
9832 * grub-core/kern/emu/misc.c
9833 (grub_make_system_path_relative_to_its_root): Fix premature return
9834 when processing non-root ZFS filesystems.
9835 Reported by Sergio Talens-Oliag.
9836
9837 2010-10-15 Robert Millan <rmh@gnu.org>
9838
9839 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9840 guarantee compressed ones are processed first.
9841
9842 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9845 grub_efiemu_autocore.
9846
9847 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9848
9849 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9850 rather than 0x1b.
9851 (grub_console_getkey): Use correct jae opcode rather than ja.
9852
9853 2010-10-12 Robert Millan <rmh@gnu.org>
9854
9855 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9856 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9857 variable. All references updated.
9858
9859 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9860
9861 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 Correctly distinguish mdraid flavours.
9864
9865 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9866 (insert_array): New argument raid.
9867 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9868 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9869 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9870
9871 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9874 handling of special keys.
9875
9876 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9877
9878 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9879 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
9880
9881 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9882
9883 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9884 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9885 users updated.
9886 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
9887 Use right endpoint when querying descriptor.
9888
9889 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9890
9891 Clear out 0x80 color bit on EFI.
9892 Tested by: decoder
9893 Reported by: decoder and meta tech.
9894
9895 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9896 (grub_console_setcolorstate): Clear out 0x80 bit.
9897 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9898 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9899 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9900
9901 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9902
9903 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9904 Set to "auto".
9905
9906 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
9909 mo_file after freeing.
9910
9911 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
9914
9915 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
9918 flags.
9919
9920 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
9923 usage.
9924
9925 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 Put terminfo into core on ieee1275 and yeeloong (needed for console).
9928
9929 * gentpl.py: New groups terminfoinkernel and terminfomodule.
9930 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
9931 and terminfo.h when needed.
9932 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
9933 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
9934 (terminfo): Enable only on terminfokernel.
9935 (extcmd): Likewise.
9936 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
9937 * include/grub/lib/arg.h: Likewise.
9938 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
9939 incorrect usage of ->.
9940
9941 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9942
9943 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
9944 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
9945
9946 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Fix coreboot compilation.
9949
9950 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9951 Take VBE info into account even if only text is supported.
9952 (fill_vbe_info): Take into account the case when only VGA text
9953 is supported.
9954 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
9955 on coreboot, multiboot and qemu.
9956
9957 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
9960 debug messages.
9961 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
9962
9963 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
9966 parameters.
9967
9968 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9969
9970 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
9971 if they were BSD-style.
9972
9973 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * grub-core/boot/i386/pc/lnxboot.S: Replace
9976 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
9977 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
9978
9979 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9980
9981 Write embedding zone using Reed-Solomon.
9982
9983 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
9984 * grub-core/Makefile.am (rs_decoder.S): New target.
9985 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
9986 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
9987 (multiboot): Move to RS part.
9988 (post_reed_solomon): New label.
9989 (grub_boot_drive): Move to non-RS part since it's modified in memory
9990 on boot.
9991 Include rs_decoder.S.
9992 * grub-core/lib/reed_solomon.c: New file.
9993 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
9994 New definition.
9995 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
9996 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
9997 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
9998 * include/grub/partition.h (grub_partition_map): Change prototype of
9999 embed to allow returning additional sectors.
10000 * include/grub/reed_solomon.h: New file.
10001 * util/grub-setup.c (setup): Handle Reed-Solomon.
10002
10003 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
10004
10005 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10006 i386 and x86-64 definedness tests.
10007
10008 2010-09-27 Yves Blusseau <blusseau@zetam.org>
10009
10010 Fix generation of kernel_syms.lst
10011
10012 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
10013 ASM_PREFIX
10014
10015 2010-09-26 Robert Millan <rmh@gnu.org>
10016
10017 Support degraded ZFS arrays in "grub-probe -t device" resolution.
10018
10019 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
10020 the pool is an array of devices, iterate through it and return the
10021 first device that passes a stat() test (instead of blindly returning
10022 the first one).
10023
10024 2010-09-26 Robert Millan <rmh@gnu.org>
10025
10026 Build fixes for GNU/kFreeBSD.
10027
10028 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
10029 to programs that require ZFS conversion.
10030 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
10031 kernels that don't have FLOPPY_MAJOR.
10032
10033 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10034
10035 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
10036
10037 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
10038
10039 Fix grub-emu build.
10040
10041 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
10042 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
10043 mdraid09 and mdraid1x.
10044
10045 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
10046
10047 Re-enable grub-extras.
10048
10049 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
10050 avoid confusing Automake. Run autogen only twice, once for the top
10051 level and once for grub-core. Add Makefile.util.def and
10052 Makefile.core.def from extra modules to the appropriate autogen
10053 invocations. If Makefile.common exists in an extra module, include
10054 it in both Makefile.util.am and grub-core/Makefile.core.am;
10055 similarly, include any Makefile.util.common file in Makefile.util.am
10056 and any Makefile.core.common file in grub-core/Makefile.core.am.
10057 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
10058 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
10059 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
10060 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
10061
10062 * gentpl.py (gvar_add): Turn GVARS into a set.
10063 (global_variable_initializers): Sort global variables on output.
10064 (vars_init): New function.
10065 (first_time): Likewise.
10066 (library): Ensure that non-global variable initialisations are
10067 emitted before the first time we emit code for a library block.
10068 Append to variables rather than setting them. Only emit
10069 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
10070 each conditional path.
10071 (program): installdir() emits an Autogen macro, so must be passed to
10072 var_add rather than gvar_add.
10073 (data): Likewise.
10074 (script): Likewise.
10075 (rules): New function, centralising handling for different target
10076 types. Set up Guile association lists for first_time and vars_init,
10077 and send most output to a diversion so that variable initialisations
10078 can be emitted first.
10079 (module_rules): Use new rules function.
10080 (kernel_rules): Likewise.
10081 (image_rules): Likewise.
10082 (library_rules): Likewise.
10083 (program_rules): Likewise.
10084 (script_rules): Likewise.
10085 (data_rules): Likewise.
10086
10087 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
10088
10089 * .bzrignore: Add contrib and grub-core/contrib. Remove
10090 grub-core/Makefile.gcry.am.
10091
10092 2010-09-24 Yves Blusseau <blusseau@zetam.org>
10093
10094 * grub-core/lib/LzFind.c: Add missing include.
10095 * grub-core/lib/LzmaEnc.c: Likewise.
10096 * grub-core/script/lexer.c: Likewise.
10097 * grub-core/script/yylex.l: Likewise.
10098 * util/grub-macho2img.c: Likewise.
10099 * util/grub-menulst2cfg.c: Likewise.
10100 * util/grub-mklayout.c: Likewise.
10101 * util/grub-mkpasswd-pbkdf2.c
10102 * util/grub-mkrelpath.c: Likewise.
10103 * util/resolve.c: Likewise.
10104
10105 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
10106
10107 * Makefile.util.def (example_unit_test): Add
10108 grub-core/gnulib/libgnu.a.
10109
10110 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
10111
10112 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
10113
10114 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
10115
10116 Support xz compression on yeeloong.
10117
10118 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
10119 * configure.ac: Check for LZMA.
10120 * grub-core/Makefile.core.def (xz_decompress): New target.
10121 (none_decompress): Likewise.
10122 * grub-core/boot/decompressor/minilib.c: New file.
10123 * grub-core/boot/decompressor/none.c: Likewise.
10124 * grub-core/boot/decompressor/xz.c: Likewise.
10125 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
10126 * grub-core/kern/mips/cache_flush.S: Likewise.
10127 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
10128 * grub-core/kern/mips/startup.S: Move first stage to ...
10129 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
10130 nomacro.
10131 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
10132 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
10133 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
10134 Allocate statically.
10135 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
10136 Allocate statically or use scratch. Don't check CRC32.
10137 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
10138 Allocate statically. Don't check CRC32.
10139 * include/grub/decompressor.h: New file.
10140 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
10141 Removed.
10142 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
10143 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
10144 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
10145 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
10146 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
10147 * util/grub-mkimage.c (grub_compression_t): New type.
10148 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
10149 (image_target_desc): New field default_compression.
10150 (image_targets): Adjust yeeloong targets.
10151 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
10152 (compress_kernel): New parameter comp.
10153 (generate_image): Likewise. Handle new compression case.
10154 (options): New option --compression
10155 (help): Likewise.
10156 (main): Handle new option.
10157
10158 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
10159
10160 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
10161
10162 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
10163
10164 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
10165 typo in __i386__ conditional.
10166
10167 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10168
10169 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
10170 include.
10171
10172 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
10173
10174 Implement EFI and ACPI multiboot2 extensions.
10175
10176 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
10177 new tags as supported.
10178 (acpiv2_size): New function.
10179 (grub_multiboot_get_mbi_size): Take new tags into account.
10180 (grub_multiboot_make_mbi): Add new tags.
10181 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
10182
10183 2010-09-21 Aleš Nesrsta <starous@volny.cz>
10184
10185 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
10186 Added missing configuration of USB device.
10187
10188 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10189
10190 * grub-core/normal/menu_entry.c (run): Make sure we always return
10191 a value.
10192
10193 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10194
10195 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
10196 NumberOfPages is UINT64 according to the UEFI specification, not
10197 UINTN. Fix printf format.
10198
10199 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10200
10201 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
10202 `err' to grub_usb_err_t.
10203 Reported and tested by: KESHAV P.R.
10204
10205 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10206
10207 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
10208 tpart non-const, so that we can assign to it. (Since this is a
10209 typedef, the constness refers to the pointer rather than what it
10210 points to.)
10211
10212 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10213
10214 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
10215 $(top_srcdir)/grub-core/gnulib as well as
10216 $(top_builddir)/grub-core/gnulib.
10217 Reported by: KESHAV P.R.
10218
10219 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10220
10221 * util/grub-install.in: Fix the bootloader ID option to be
10222 consistently --bootloader-id, not --bootloader_id.
10223 Reported by: KESHAV P.R.
10224
10225 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10226
10227 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
10228 check hash checksum." consistently translatable.
10229
10230 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10231
10232 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
10233 $(top_builddir).
10234
10235 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10236
10237 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
10238 (GRUB_MOD_INIT): Register sha1sum command.
10239 (GRUB_MOD_FINI): Unregister sha1sum command.
10240
10241 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10242
10243 Keep boot and grub directory names in sync with utils scripts
10244
10245 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
10246 * config.h.in: Add previous macros.
10247 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
10248 * util/grub-install.in: Use $bootdir and $grubdir variables.
10249
10250 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10251
10252 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
10253 convert partition names to disk names if the new `convert' parameter
10254 is set.
10255 (grub_util_biosdisk_get_grub_dev): If opening the disk device
10256 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
10257 disk in its own right. This can happen with Xen disk images.
10258
10259 2010-09-21 Yves Blusseau <blusseau@zetam.org>
10260
10261 * util/grub-editenv.c: Update strings to avoid warnings when generating
10262 grub.pot file.
10263 * util/grub-setup.c: Likewise.
10264
10265 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * configure.ac: Change version to 1.99~beta0.
10268
10269 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
10270
10271 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
10272 Add BADRAM.
10273 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
10274 Likewise.
10275 * include/multiboot.h: Resynced with specification.
10276 * include/multiboot2.h: Likewise.
10277
10278 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
10279
10280 Fix po directory handling.
10281
10282 * configure.ac: Create po/Makefile.in rather than po/Makefile.
10283 * grub-core/gnulib/Makefile.am: Import gettext module.
10284 * m4/gnulib-cache.m4: Likewise.
10285 * m4/gnulib-comp.m4: Likewise.
10286 * m4/gettext.m4: New file, from gnulib.
10287 * m4/glibc2.m4: Likewise.
10288 * m4/iconv.m4: Likewise.
10289 * m4/intdiv0.m4: Likewise.
10290 * m4/intl.m4: Likewise.
10291 * m4/intldir.m4: Likewise.
10292 * m4/intlmacosx.m4: Likewise.
10293 * m4/intmax.m4: Likewise.
10294 * m4/inttypes-pri.m4: Likewise.
10295 * m4/lcmessage.m4: Likewise.
10296 * m4/lib-ld.m4: Likewise.
10297 * m4/lib-link.m4: Likewise.
10298 * m4/lib-prefix.m4: Likewise.
10299 * m4/lock.m4: Likewise.
10300 * m4/nls.m4: Likewise.
10301 * m4/po.m4: Likewise.
10302 * m4/printf-posix.m4: Likewise.
10303 * m4/progtest.m4: Likewise.
10304 * m4/threadlib.m4: Likewise.
10305 * m4/uintmax_t.m4: Likewise.
10306 * m4/visibility.m4: Likewise.
10307 * po/Makefile.am: Remove.
10308 * po/Makefile.in.in: New file, from gettext.
10309 ($(DOMAIN).pot-update): Support POTFILES-shell.
10310 * po/Makevars: New file.
10311 * po/POTFILES-shell: Rename to ...
10312 * po/POTFILES-shell.in: ... this. Update.
10313 * po/POTFILES: Rename to ...
10314 * po/POTFILES.in: ... this. Update.
10315 * po/Rules-quot: New file, from gettext.
10316 * po/boldquot.sed: Likewise.
10317 * po/en@boldquot.header: Likewise.
10318 * po/en@quot.header: Likewise.
10319 * po/insert-header.sin: Likewise.
10320 * po/quot.sed: Likewise.
10321 * po/remove-potcdate.sin: Likewise.
10322
10323 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10326
10327 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10328
10329 * util/grub.d/20_linux_xen.in: Use submenus.
10330
10331 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10332
10333 Support submenus.
10334
10335 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10336 parameter submenu. All users updated.
10337 * grub-core/normal/main.c (free_menu): Rename to ...
10338 (grub_normal_free_menu): ... this. Made global.
10339 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10340 if requested.
10341 * grub-core/normal/menu_entry.c (screen): New field submenu.
10342 (make_screen): Set submenu.
10343 (run): Open new context if requested.
10344 * include/grub/menu.h (grub_menu_entry): New field submenu.
10345 * include/grub/normal.h (grub_normal_free_menu): New proto.
10346
10347 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10348
10349 Menu entries extractor.
10350
10351 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10352 variants.
10353 (GRUB_MOD_INIT): Register new variants.
10354 (GRUB_MOD_FINI): Unregister new variants.
10355 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10356 into grub_cmd_legacy_source.
10357 (grub_cmd_legacy_source): Implement extractor variants.
10358 (GRUB_MOD_INIT): Register new variants.
10359 (GRUB_MOD_FINI): Unregister new variants.
10360 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10361 as an extractor.
10362 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10363 search as an extractor.
10364 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10365 test as an extractor.
10366 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10367 as an extractor.
10368 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10369 (grub_env_new_context): New function.
10370 (grub_env_context_open): Likewise.
10371 (grub_env_extractor_open): Likewise.
10372 (grub_env_extractor_close): Likewise.
10373 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10374 grub_extractor_level.
10375 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10376 * include/grub/env.h (grub_env_extractor_open): New proto.
10377 (grub_env_extractor_close): Likewise.
10378 * include/grub/normal.h (grub_extractor_level): New external variable.
10379
10380 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 Make cutmem accept a region specification.
10383 Suggested by: Samuel Thibault
10384
10385 * grub-core/mmap/mmap.c (parsemem): New function.
10386 (grub_cmd_cutmem): Handle new arguments.
10387
10388 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 New command cutmem.
10391
10392 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10393 (GRUB_MOD_INIT): Register new command.
10394 (GRUB_MOD_FINI): Unregister new command.
10395
10396 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 Support some annoying BSD and Minix subpartitions.
10399
10400 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10401 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10402 Properly handle concatenation.
10403 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10404 * grub-core/normal/completion.c (iterate_partition): Likewise.
10405 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10406 contain partition. All users updated.
10407 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10408 struct.
10409 (grub_openbsdlabel_partition_map): Likewise.
10410 (bsdlabel_partition_map_iterate): Rename to ..
10411 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10412 (bsdlabel_partition_map_iterate): New function.
10413 (netopenbsdlabel_partition_map_iterate): Likewise.
10414 (netbsdlabel_partition_map_iterate): Likewise.
10415 (openbsdlabel_partition_map_iterate): Likewise.
10416 (GRUB_MOD_INIT): Register new partmaps.
10417 (GRUB_MOD_FINI): Unregister new partmaps.
10418 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10419 (grub_partition_msdos_iterate): ... this. All users updated.
10420 Don't support embedding other than in a minix partition.
10421 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10422 proto.
10423 * include/grub/partition.h (grub_partition): New field msdostype.
10424 * util/grub-install.in: Handle openbsd and netbsd types being in
10425 part_bsd module.
10426
10427 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10430
10431 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10432 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10433 (mdraid09): ... this.
10434 (mdraid1x): New module.
10435 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10436 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10437
10438 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10441 vsprintf.
10442
10443 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10444
10445 * grub-core/commands/efi/lsefimmap.c: Correct header.
10446 * NEWS: Update.
10447
10448 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10449
10450 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10451 as printf format strings; the translations might contain '%' which
10452 could cause a crash.
10453 (main): Likewise.
10454 * util/grub-fstest.c (argp_parser): Likewise.
10455 * util/grub-setup.c (argp_parser): Likewise.
10456 (main): Likewise.
10457
10458 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 Use argp in grub-fstest.
10461
10462 * util/grub-fstest.c: Don't include getopt.h.
10463 Include argp.h.
10464 (root): New variable.
10465 (args_count): Likewise.
10466 (nparm): Likewise.
10467 (num_disks): Likewise.
10468 (images): Likewise.
10469 (cmd): Likewise.
10470 (debug_str): Likewise.
10471 (args): Likewise.
10472 (options): Transformed to argp.
10473 (usage): Removed.
10474 (main): Split argument parsing into ...
10475 (argp_parser): ... this. Changed to argp format.
10476 (argp): New variable.
10477 (main): Use argp_parse.
10478
10479 2010-09-20 Tristan Gingold <gingold@free.fr>
10480 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
10481 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 * grub-core/commands/efi/lsefimmap.c: New file.
10484 * grub-core/Makefile.core.def (lsefimmap): New module.
10485 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10486
10487 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10488
10489 Pause the execution (10s max) if any errors are displayed so the user
10490 has a chance to see them.
10491
10492 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10493 (grub_print_error): Increment grub_err_printed_errors.
10494 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10495 execution if any errors were displayed.
10496 (show_menu): Remove old code for pause.
10497 * grub-core/normal/menu_entry.c (run): Likewise.
10498 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10499 users updated.
10500 (grub_normal_get_char_counter): Likewise.
10501 * include/grub/err.h (grub_err_printed_errors): New external variable.
10502 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10503
10504 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 Support multiboot VBE info.
10507
10508 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10509 Take VBE info into account.
10510 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10511 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10512 Call fill_vbe_info when appropriate.
10513 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10514 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10515 as supported.
10516 (grub_multiboot_get_mbi_size): Take new tags into account.
10517 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10518 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10519 Call fill_vbe_tag when appropriate.
10520 (grub_multiboot_make_mbi): Properly align tags.
10521 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10522 function.
10523 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10524 proto.
10525 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10526
10527 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10528
10529 Suport manual terminal geometry specification.
10530
10531 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10532 Save state in grub_ofconsole_terminfo_output.
10533 (grub_ofconsole_term): Use grub_terminfo_getwh.
10534 (grub_ofconsole_getwh): Removed.
10535 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10536 (grub_serial_term): Use grub_terminfo_getwh.
10537 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10538 (options): New struct.
10539 (OPTION_*): New enum.
10540 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10541 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10542 width and height.
10543 (grub_terminfo_getwh): New proto.
10544 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10545
10546 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 Handle legacy "terminal" command.
10549
10550 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10551 and FLAG_TERMINAL.
10552 (legacy_commands): Add terminal and title.
10553 (grub_legacy_parse): Handle terminal. Simplify title handling.
10554
10555 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10556
10557 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10558 parameters overflow.
10559
10560 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10561
10562 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10563 widthspec.h.
10564
10565 * docs/grub.texi (Shell-like scripting): Document `!'.
10566 (Network): Simplify using new i386-pc-pxe format. Mention
10567 grub-mknetdir.
10568
10569 * NEWS: Update.
10570
10571 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10572
10573 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10574 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10575 when needed.
10576
10577 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10578
10579 * grub-core/commands/efi/lsefisystab.c: Correct header.
10580 * grub-core/commands/efi/lssal.c: Likewise.
10581 * grub-core/commands/testload.c: Likewise.
10582
10583 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10584
10585 * util/grub-mkrescue.in: Add explicit root argument to --set to
10586 prevent the UUID being interpreted as an argument to --set (matches
10587 previous change to prepare_grub_to_access_device).
10588
10589 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10590
10591 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10592 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10593 the verbosity of later #ifs.
10594 (find_partition_start): Define this function on FreeBSD too.
10595 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10596 function.
10597 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10598 on FreeBSD.
10599
10600 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10601
10602 * util/grub-editenv.c: Use argp instead of getopt.
10603
10604 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10605
10606 * util/grub-setup.c: Use argp instead of getopt.
10607
10608 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10609
10610 Use gnulib-tool to create gnulib source files.
10611
10612 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10613 grub-core/gnulib directories
10614 * .bzignore: Add **/.deps and autogenerated gnulib files
10615 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10616 of gnulib macros, add grub-core/gnulib/Makefile
10617 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10618 include m4 directory to aclocal.
10619 * Makefile.util.def: Remove direct compilation of gnulib source files
10620 and use the new grub-core/gnulib/libgnu.a.
10621 * build-aux/config.rpath: move config.rpath from top directory to
10622 build-aux
10623 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10624 in gnulib headers
10625 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10626 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10627 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10628 header.
10629 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10630 string.
10631
10632 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10633
10634 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10635 grub-core/genmod.sh and grub-core/gensyminfo.sh
10636
10637 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10638
10639 Add a test for echo command options.
10640
10641 * tests/grub_cmd_echo.in: New test.
10642 * Makefile.util.def: Rules for new test.
10643
10644 2010-09-20 Szymon Janc <szymon@janc.net.pl>
10645
10646 Remove crc.mod and move crc command to hashsum.mod.
10647 Remove lib/crc.c - users updated to use gcrypt implementation.
10648
10649 * grub-core/commands/crc.c: Removed.
10650 * grub-core/Makefile.core.def (crc): Module removed.
10651 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10652 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10653 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10654 * grub-core/lib/crc.c: Removed.
10655 * include/grub/lib/crc.h: Removed.
10656 * Makefile.util.def (crc): Remove lib/crc.c
10657 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10658 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10659 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10660 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10661 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10662 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10663
10664 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10665
10666 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10667
10668 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 Split config.h for util and core.
10671
10672 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10673 (ADDR32): Likewise.
10674 (DATA32): Likewise.
10675 (BSS_START_SYMBOL): Likewise.
10676 (END_SYMBOL): Likewise.
10677 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10678 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10679 * config.h.in: New file.
10680 * configure.ac: Use config-util.h as config define file.
10681 Rename MACHINE into GRUB_MACHINE. All users updated.
10682 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10683 updated.
10684 (NESTED_FUNC_ATTR): Likewise.
10685 Substitue new variables.
10686 (COND_HAVE_ASM_USCORE): New conditional.
10687 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10688 (kernel_syms.lst): Use ASM_PREFIX.
10689 * grub-core/kern/emu/console.c: Include config-util.h.
10690 * grub-core/kern/emu/misc.c: Likewise.
10691 * grub-core/kern/emu/mm.c: Likewise.
10692 * include/grub/emu/misc.h: Likewise.
10693 * include/grub/libgcc.h: Likewise.
10694
10695 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10696
10697 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10698 constants usage.
10699 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10700 Fix GRUB_TERM_KEY_* constants usage.
10701 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10702
10703 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10706 print pointer.
10707 * grub-core/bus/usb/uhci.c: Remove empty define.
10708 (grub_uhci_check_transfer): Add missing cast.
10709 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10710 print pointer.
10711 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10712 PRIuGRUB_SIZE.
10713 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10714
10715 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10716
10717 * grub-core/Makefile.core.def (legacycfg): Add
10718 lib/i386/pc/vesa_modes_table.c on emu.
10719
10720 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10721
10722 Reduce number of temporary files generated by build system.
10723
10724 * grub-core/gencmdlist.sh: Removed.
10725 * grub-core/genfslist.sh: Removed.
10726 * grub-core/genhandlerlist.sh: Removed.
10727 * grub-core/genmodsrc.sh: Removed.
10728 * grub-core/genpartmaplist.sh: Removed.
10729 * grub-core/genparttoollist.sh: Removed.
10730 * grub-core/gentermiinallist.sh: Removed.
10731 * grub-core/genvideolist.sh: Removed.
10732
10733 * grub-core/genmod.sh.in: New file.
10734 * grub-core/gensyminfo.sh.in: New file.
10735
10736 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10737 * conf/Makefile.extra-dist: Update with new files.
10738 * gentpl.py: Remove rules related to unnecessary temporary files.
10739 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10740 and und-* files.
10741 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10742 genmod.sh scripts.
10743 * grub-core/bus/usb/uhci.c: Remove empty #define.
10744 * grub-core/genmoddep.awk: Updated with new syminfo format.
10745 * util/bash-completion.d/Makefile.am: Add config.log to
10746 CLEANFILES.
10747
10748 2010-09-19 Yves Blusseau <blusseau@zetam.org>
10749
10750 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10751
10752 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10753
10754 * util/grub-mkconfig.in: Check the config script for syntax errors
10755 before saving.
10756
10757 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
10758 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10761 platforms.
10762 * util/grub-install.in: Add EFI and IEEE1275 support.
10763 * util/i386/efi/grub-install.in: Removed.
10764 * util/ieee1275/grub-install.in: Likewise.
10765
10766 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10769 (grub_cmd_cmosclean): Likewise.
10770 (GRUB_MOD_INIT): Register command cmosclean.
10771 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10772 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10773
10774 2010-09-18 Carles Pina i Estany <carles@pina.cat>
10775 2010-09-18 Aleš Nesrsta <starous@volny.cz>
10776 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 Add keyboard layouts support.
10779
10780 * Makefile.util.def (grub-mklayout): New file.
10781 (grub-kbdcomp): New script.
10782 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10783 Add keyboard_layouts.h.
10784 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10785 commands/boot.c on yeeloong.
10786 (keylayouts): New module.
10787 * grub-core/bus/usb/ohci.c
10788 * grub-core/bus/usb/uhci.c
10789 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10790 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10791 (attach_root_port): Likewise.
10792 (poll_nonroot_hub): Likewise.
10793 (grub_usb_poll_devices): Likewise.
10794 (detach_device): Close transfer.
10795 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10796 function.
10797 (grub_usb_bulk_setup_readwrite): Likewise.
10798 (grub_usb_bulk_finish_readwrite): Likewise.
10799 * grub-core/commands/keylayouts.c: New file.
10800 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10801 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10802 aliases.
10803 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10804 support scancode 2.
10805 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10806 * include/grub/keyboard_layouts.h: New file.
10807 * util/grub-mklayout.c: New file.
10808 * util/grub-kbdcomp.in: Likewise.
10809
10810 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 Unify memory types.
10813
10814 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10815 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10816 types.
10817 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10818 (grub_upper_mem): Likewise.
10819 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10820 * include/grub/memory.h (grub_memory_type_t): New enum.
10821 All users updated.
10822
10823 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 * grub-core/Makefile.core.def (lsapm): New module.
10826 * grub-core/commands/i386/pc/lsapm.c: New file.
10827 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10828 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10829 Likewise.
10830 * include/grub/i386/pc/apm.h: New file.
10831 * include/multiboot.h (multiboot_apm_info): New struct.
10832
10833 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10834
10835 GRUB-legacy configuration file support.
10836
10837 * Makefile.util.def (grub-menulst2cfg): New util.
10838 * docs/man/grub-menulst2cfg.h2m: New file.
10839 * grub-core/Makefile.core.def (legacycfg): New module.
10840 * grub-core/commands/legacycfg.c: New file.
10841 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10842 (grub_normal_add_menu_entry): ... this.
10843 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10844 (grub_normal_set_password): ...this.
10845 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10846 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10847 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10848 * grub-core/lib/legacy_parse.c: New file.
10849 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10850 * include/grub/i386/pc/vesa_modes_table.h: New file.
10851 * include/grub/legacy_parse.h: Likewise.
10852 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10853 * util/grub-menulst2cfg.c: New file.
10854
10855 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10856
10857 * grub-core/kern/emu/hostdisk.c
10858 (convert_system_partition_to_system_disk): Initialise node.
10859
10860 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10861
10862 * grub-core/kern/emu/hostdisk.c
10863 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10864 leak.
10865 Reported and based on patch by: Modestas Vainius.
10866
10867 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10868
10869 Fix DM-RAID probing with recent versions of device-mapper udev
10870 rules.
10871
10872 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10873 canonicalise device paths under /dev/mapper/.
10874 (convert_system_partition_to_system_disk): Compare the
10875 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10876 path, since device nodes under /dev/mapper/ are often symlinks.
10877
10878 2010-09-17 Yves Blusseau <blusseau@zetam.org>
10879
10880 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10881
10882 2010-09-16 Yves Blusseau <blusseau@zetam.org>
10883
10884 * configure.ac: Avoid some annoying error messages if freetype-config
10885 program is not found.
10886
10887 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10888
10889 Support RAID on virtio devices, and others.
10890
10891 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10892 Rename to ...
10893 [__MINGW32__] (grub_find_device): ... this.
10894 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10895 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10896 reasonable default if dir is NULL.
10897 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10898 ...
10899 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10900 (grub_guess_root_device): Update callers.
10901 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10902
10903 * util/raid.c (grub_util_getdiskname): Remove.
10904 (grub_util_raid_getmembers): Use grub_find_device rather than
10905 grub_util_getdiskname.
10906
10907 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10908
10909 * docs/grub.texi (serial): Remove obsolete comment about GRUB
10910 needing to be compiled with serial support.
10911 (ls): Indicate that multiple files are accepted.
10912 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
10913 indicate that multiple files are accepted.
10914
10915 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10916
10917 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
10918 libgrub_a_init.c, and util/bash-completion.d/grub.
10919
10920 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 * util/grub-setup.c (setup): Fix incorrect container semantics.
10923
10924 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10925
10926 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
10927 misusage.
10928 Reported by: J. Nick Terry
10929
10930 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 Move embedding routines to partmap sources files.
10933
10934 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
10935 [GRUB_UTIL]: New variable.
10936 (gpt_partition_map_iterate): Set part.parent.
10937 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
10938 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
10939 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
10940 New function.
10941 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
10942 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
10943 (grub_partition_map) [GRUB_UTIL]: New field embed.
10944 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
10945 (setup): Use ->embed.
10946
10947 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
10950 function.
10951 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
10952 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
10953
10954 2010-09-15 Yves Blusseau <blusseau@zetam.org>
10955
10956 Add function to get completions from usage.
10957
10958 * util/bash-completion.d/grub-completion.bash.in: Add function to get
10959 completions from usage. Use LC_ALL=C to get options properly.
10960
10961 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/gnulib/basename-lgpl.c: Imported.
10964 * grub-core/gnulib/basename.c: Likewise.
10965 * grub-core/gnulib/dirname-lgpl.c: Likewise.
10966 * grub-core/gnulib/dirname.c: Likewise.
10967 * grub-core/gnulib/dirname.h: Likewise.
10968 * grub-core/gnulib/stripslash.c: Likewise.
10969
10970 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10971
10972 * grub-core/gnulib/error.c: Resynced.
10973 * grub-core/gnulib/getopt.c: Likewise.
10974 * grub-core/gnulib/getopt_int.h: Likewise.
10975 * grub-core/gnulib/regex.h: Likewise.
10976 * grub-core/gnulib/regex_internal.c: Likewise.
10977 * grub-core/gnulib/regex_internal.h: Likewise.
10978
10979 2010-09-15 Szymon Janc <szymon@janc.net.pl>
10980
10981 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
10982 CRC calculations and validity checks.
10983 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
10984 calculations.
10985
10986 2010-09-15 Szymon Janc <szymon@janc.net.pl>
10987
10988 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
10989
10990 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 Fix incorrect echo options handling.
10993 Reported by: Yves Blusseau.
10994
10995 * include/grub/command.h (grub_command_flags_t): New flags
10996 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
10997 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
10998 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
10999
11000 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11001
11002 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
11003 users updated.
11004 (GRUB_COMMAND_FLAG_MENU): Likewise.
11005 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11006 (GRUB_COMMAND_FLAG_TITLE): Removed.
11007 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11008 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
11009 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
11010 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
11011 (grub_command_flags_t): New enum. All users updated.
11012
11013 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
11014
11015 Fix solaris compilation.
11016
11017 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
11018 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
11019 (grub-emu-list): Likewise.
11020
11021 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11022
11023 Remove deprecated root command.
11024
11025 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
11026 updated.
11027
11028 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11029
11030 * util/i386/pc/grub-setup.c: Merge this ...
11031 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
11032 * util/grub-setup.c: ... into this.
11033 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
11034 New struct.
11035
11036 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
11039 possible.
11040
11041 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11042
11043 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
11044 allocate p.
11045
11046 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
11049 explicit root argument to set to prevent UUID to be interpreted as
11050 argument to set.
11051
11052 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11053
11054 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
11055
11056 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11057
11058 Don't export grub_gate_a20.
11059
11060 * grub-core/kern/i386/pc/init.c: Remove leftovers.
11061 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
11062 to ...
11063 (grub_gate_a20): ... this. All users updated.
11064 * include/grub/i386/pc/init.h: Removed. All users updated.
11065
11066 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 Create euro.pf2 which supports most European languages.
11069
11070 * Makefile.am (grubdata_DATA): Add euro.pf2.
11071 (euro.pf2): New target.
11072 (CLEANFILES): Add euro.pf2.
11073
11074 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * configure.ac: Disable emu-usb by default to prevent inadvertent
11077 device takeover.
11078
11079 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11080
11081 Disable usbserial on grub-emu since our libusb code isn't good enough
11082 yet.
11083
11084 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
11085 (usbserial_pl2303): Likewise.
11086 (usbserial_ftdi): Likewise.
11087
11088 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * include/grub/disk.h (grub_disk): Remove has_partitions.
11091 All users updated.
11092 * disk/loopback.c (grub_loopback): Remove has_partitions.
11093 All users updated.
11094 (options): Remove partitions. All users updated.
11095 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
11096 * util/i386/pc/grub-setup.c (setup): copy partition table only when
11097 actual partition table is found.
11098
11099 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11100
11101 Remove readability checks (too many false negatives).
11102
11103 * util/grub-install.in: Remove readability checks.
11104 * util/grub-mkconfig.in: Likewise.
11105 * util/grub.d/10_hurd.in: Likewise.
11106 * util/grub.d/10_kfreebsd.in: Likewise.
11107 * util/grub.d/10_linux.in: Likewise.
11108 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
11109 way.
11110
11111 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 Enable acpi shutdown on all ACPI platforms.
11114
11115 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
11116 on coreboo, multiboot and EFI.
11117 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
11118 (grub_acpi_halt): Likewise.
11119 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
11120 (grub_cmd_halt): Don't call grub_acpi_halt directly.
11121 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
11122 * grub-core/lib/i386/halt.c (grub_halt)
11123 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
11124
11125 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11126
11127 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
11128 context.
11129
11130 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 * grub-core/video/efi_gop.c: Fix over-80-chars line.
11133 * grub-core/video/efi_uga.c: Likewise.
11134
11135 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11136
11137 Filter devaliases and never open same device twice.
11138
11139 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
11140 (last_ihandle): Likewise.
11141 (ofdisk_hash_ent): New member shortest.
11142 (ofdisk_hash_add): Add canonical path too.
11143 (scan): New function.
11144 (grub_ofdisk_iterate): Iterate over hashed entries.
11145 (compute_dev_path): Don't add :0.
11146 (grub_ofdisk_open): Don't really open the disk.
11147 (grub_ofdisk_close): Avoid closing unrelated disk.
11148 (grub_ofdisk_read): Implement reopen logic.
11149 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
11150 New function.
11151 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
11152 New proto.
11153
11154 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11155
11156 Fix sparc64.
11157
11158 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
11159 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
11160 right address. Add sparc64_ieee1275_ldflags.
11161 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
11162 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
11163 to grub_host_to_target_addr
11164 (load_image): Likewise.
11165
11166 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11167
11168 * grub-core/normal/completion.c (complete_file): Handle device
11169 containing slash.
11170 Fix based on patch by Doug Nazar.
11171
11172 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 grub-mknetdir script.
11175
11176 * Makefile.util.def (grub-mknetdir): New module.
11177 * tests/util/grub-shell.in: Support boot=net
11178 * util/grub-mknetdir.in: New file.
11179
11180 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11181
11182 videoinfo on non-vbe.
11183
11184 * grub-core/Makefile.core.def (vbeinfo): Removed.
11185 (vbetest): Removed.
11186 (videoinfo): New module.
11187 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
11188 * grub-core/commands/i386/pc/vbetest.c: Removed.
11189 * grub-core/commands/videoinfo.c: New file.
11190 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
11191 specification.
11192 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
11193 as vbetest.
11194 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
11195 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
11196 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
11197 mode_number. New parameter mode. All users updated.
11198 (grub_video_gop_iterate): New function.
11199 (grub_video_efi_gop): New member iterate.
11200 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
11201 (grub_vbe_set_video_mode): Remove setting useless fields.
11202 (vbe2videoinfo): New function.
11203 (grub_video_vbe_iterate): Likewise.
11204 (grub_video_vbe_setup): Use vbe2videoinfo.
11205 (grub_video_vbe_print_adapter_specific_info): New function.
11206 (grub_video_vbe_adapter): New fields iterate and
11207 print_adapter_specific_info.
11208 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
11209 All users updated.
11210 (grub_video_mode_info): New field mode_number.
11211 (grub_video_adapter): New fields iterate and
11212 print_adapter_specific_info.
11213
11214 2010-09-13 Tristan Gingold <gingold@free.fr>
11215 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
11216 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11217
11218 * grub-core/commands/efi/lsefisystab.c: New file.
11219 * grub-core/commands/efi/lssal.c: Likewise.
11220 * grub-core/Makefile.core.def (lsacpi): New module.
11221 (lsefisystab): Likewise.
11222 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
11223 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
11224 (grub_efi_sal_system_table): New struct.
11225 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
11226 (grub_efi_sal_system_table_memory_descriptor): Likewise.
11227 (grub_efi_sal_system_table_platform_features): Likewise.
11228 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
11229 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
11230 (grub_efi_sal_system_table_ap_wakeup): Likewise.
11231 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
11232
11233 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Support explicit user claim that a device is BIOS-visible.
11236
11237 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
11238 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
11239 * grub-core/kern/emu/hostdisk.c
11240 (convert_system_partition_to_system_disk): Support mdX.
11241 (find_system_device): New parameter add. All users updated.
11242 (grub_util_biosdisk_is_present): New function.
11243 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
11244 proto.
11245
11246 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 Search hints support.
11249
11250 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
11251 All users updated.
11252
11253 2010-09-13 Yves Blusseau <blusseau@zetam.org>
11254
11255 Bash completion script for util commands
11256
11257 * Makefile.am: Add util/bash-completion.d directory
11258 * configure.ac: Likewise.
11259 * util/bash-completion.d/Makefile.am: New file.
11260 * util/bash-completion.d/grub-completion.bash.in: Likewise.
11261
11262 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
11265 (print_backlog): set backlog_ucs4 and backlog_glyphs.
11266 Reported by: Yves Blusseau.
11267
11268 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
11271 partition size and offset.
11272
11273 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
11276
11277 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
11280
11281 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11282
11283 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
11284 (grub_xvasprintf): Likewise.
11285
11286 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11289
11290 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11293 args ending with NULL.
11294
11295 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11296
11297 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11298 pointer.
11299
11300 2010-09-11 Szymon Janc <szymon@janc.net.pl>
11301
11302 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11303
11304 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11305
11306 Shutdown using ACPI.
11307
11308 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11309 * grub-core/commands/acpihalt.c: New file.
11310 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11311 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11312 (grub_acpi_halt): New proto.
11313 (GRUB_ACPI_SLP_EN): New const.
11314 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11315 (GRUB_ACPI_OPCODE_*): New enum.
11316 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11317
11318 2010-09-11 Tristan Gingold <gingold@free.fr>
11319 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
11320 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * commands/lsacpi.c: New file.
11323 * grub-core/Makefile.core.def (lsacpi): New module.
11324 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11325 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11326 (grub_acpi_madt_entry_header): New struct.
11327 (grub_acpi_madt): Likewise.
11328 (grub_acpi_madt_entry_interrupt_override): Likewise.
11329 (grub_acpi_madt_entry_sapic): Likewise.
11330 (grub_acpi_madt_entry_lsapic): Likewise.
11331 (grub_acpi_madt_entry_platform_int_source): Likewise.
11332 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11333 (PRIuGRUB_UINT32_T): Likewise.
11334 (PRIxGRUB_UINT64_T): Likewise.
11335
11336 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11337
11338 Implement loading palette on ieee1275_fb.
11339
11340 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11341 (have_setcolors): Likewise.
11342 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11343 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11344 (grub_video_ieee1275_set_palette): Implement.
11345
11346 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11347 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
11348
11349 * util/grub-install.in (grub_partition): New variable.
11350 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11351 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11352 Fixes a bug reported by Yves Blusseau.
11353
11354 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11355
11356 Fix emu on mipsel.
11357
11358 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11359 =grub_cpu_flush_cache on all mips and not only yeeloong.
11360 * configure.ac (COND_mips): New conditional.
11361 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11362 platforms.
11363 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11364 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11365 [GRUB_LINKER_HAVE_INIT]: New function.
11366 (grub_emu_post_init): Likewise.
11367 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11368 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11369 * include/grub/cache.h (_mips): Include mips/cache.h.
11370 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11371 LVM and RAID prototypes.
11372 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11373 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11374 function.
11375
11376 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11377
11378 * util/grub-install.in: Don't try to verify core.img until after
11379 running grub-mkimage to create it.
11380
11381 2010-09-10 Robert Millan <rmh@gnu.org>
11382
11383 * util/grub.d/10_hurd.in: Add misc readability checks.
11384 * util/grub.d/10_kfreebsd.in: Likewise.
11385 * util/grub.d/10_linux.in: Likewise.
11386
11387 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11388
11389 * util/grub-install.in: ${imgext} won't be defined here until the
11390 install branch is merged. For the meantime, only verify core.img on
11391 i386-pc and sparc64-ieee1275 platforms.
11392
11393 2010-09-10 Robert Millan <rmh@gnu.org>
11394
11395 Solaris support in grub_find_zpool_from_dir(). Thanks
11396 Seth Goldberg for referring to getextmntent() facility.
11397
11398 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11399 `sys/mkdev.h'.
11400 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11401 `<sys/mnttab.h>'.
11402 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11403 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11404 method for finding zpool name.
11405
11406 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11407
11408 grub-fstest needs the host and hostfs modules while other utilities
11409 actively require those modules to be absent, so grub-fstest needs
11410 its own initialisation and finalisation code.
11411
11412 * Makefile.am (grub_fstest.pp): New target.
11413 (grub_fstest_init.lst): Likewise.
11414 (grub_fstest_init.c): Likewise.
11415 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11416
11417 2010-09-10 Robert Millan <rmh@gnu.org>
11418
11419 * configure.ac: Check for `struct statfs.f_fstypename' and
11420 `struct statfs.f_mntfromname'.
11421
11422 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11423 kFreeBSD-specific code.
11424
11425 2010-09-10 Robert Millan <rmh@gnu.org>
11426
11427 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11428 on ZFS. Now non-main filesystems are supported as / too.
11429
11430 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
11431
11432 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11433 and grub-core/disk/host.c to ...
11434 (grub-fstest): ... here. Having the host disk implementation
11435 present confuses grub-probe and other utility programs.
11436
11437 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11438 when writing to a file, not when writing to stdout.
11439
11440 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11441
11442 * tests/partmap_test.in: New test for partitions.
11443 * Makefile.util.def: Rules for new test.
11444
11445 2010-09-09 Robert Millan <rmh@gnu.org>
11446
11447 * util/grub-probe.c (probe): Fix a pair of unhandled error
11448 conditions.
11449
11450 2010-09-09 Robert Millan <rmh@gnu.org>
11451
11452 Basic Btrfs support (detection and UUID).
11453
11454 * grub-core/fs/btrfs.c: New file.
11455 * Makefile.util.def (library): Register btrfs.c.
11456 * grub-core/Makefile.core.def: Likewise.
11457
11458 2010-09-08 Robert Millan <rmh@gnu.org>
11459
11460 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11461 with (optional) parameters to specify device and relative path.
11462 * util/grub-install.in: Use is_path_readable_by_grub() to
11463 verify readability of a few critical files.
11464 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11465 verify readability of grub.cfg.new.
11466
11467 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11468
11469 Split minix.mod into minix.mod and minix2.mod.
11470
11471 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11472 * grub-core/Makefile.core.def (minix2): New module.
11473 * grub-core/fs/minix.c: Use definitions instead of runtime version
11474 checking.
11475 * grub-core/fs/minix2.c: New file.
11476
11477 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11478
11479 Add new --boot-directory option to replace --root-directory
11480
11481 * util/grub-install.in: Add new --boot-directory option
11482 * util/grub-reboot.in: Likewise.
11483 * util/grub-set-default.in: Likewise.
11484
11485 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11486
11487 * util/grub-mkconfig.in: Use new variable.
11488
11489 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11490
11491 * configure.ac: Define some useful variables.
11492
11493 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11494
11495 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11496 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11497 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11498 Use terminfo and don't use cursor-on/cursor-off unless it's known
11499 to work.
11500 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11501 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11502
11503 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
11504
11505 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11506 starts with "(,", fill the drive containing the loaded image in
11507 between those two characters, but expect that a full partition
11508 specification including partition map names will follow.
11509
11510 2010-09-08 Robert Millan <rmh@gnu.org>
11511
11512 * configure.ac: Remove `--enable-grub-fstest' option.
11513 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11514
11515 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11516 `grub-fstest' instead of `grub-probe' for readability verification.
11517 * util/grub-probe.c (probe): Remove readability verification kludge.
11518
11519 2010-09-08 Robert Millan <rmh@gnu.org>
11520
11521 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11522 initializing `GRUB_FS'.
11523
11524 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11525
11526 Not command (!) support to GRUB script.
11527
11528 * tests/grub_script_not.in: New test.
11529 * Makefile.util.def: Rules for new test.
11530
11531 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11532 ! command as a special case.
11533 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11534
11535 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11536
11537 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11538 grub_free.
11539
11540 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11541
11542 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11543
11544 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11545
11546 * docs/grub.texi (Shell-like scripting): Documentation for break,
11547 continue, shift and return commands.
11548
11549 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 Rename CD-ROM to cd on BIOS.
11552
11553 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11554 "cd".
11555 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11556
11557 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11560 * util/grub-probe.c (main): Likewise.
11561 * util/i386/pc/grub-setup.c (main): Likewise.
11562 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11563 Reported and debugged by: alexxy
11564
11565 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11566
11567 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11568 diagnostic info.
11569
11570 2010-09-05 Jo Shields <directhex@apebox.org>
11571
11572 * util/grub.d/30_os-prober.in: Add missing classes.
11573
11574 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 * docs/grub.texi (Theme file format): Document new position format.
11577
11578 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11579
11580 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11581 a table. Use @code instead of @verbatim.
11582
11583 2010-09-05 Colin D Bennett <colin@gibibit.com>
11584
11585 Gfxmenu documentation.
11586
11587 * docs/grub.texi (Theme file format): New chapter.
11588
11589 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11590
11591 * grub-core/Makefile.core.def (xzio): New module.
11592 * grub-core/io/xzio.c: New file.
11593 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11594 * grub-core/lib/xzembed/xz_config.h: Likewise.
11595 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11596 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11597 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11598 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11599 * grub-core/lib/xzembed/xz_private.h: Likewise.
11600 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11601 * include/grub/file.h (grub_file_filter_id): New compression filter
11602 GRUB_FILE_FILTER_XZIO.
11603
11604 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11607 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11608 size.
11609
11610 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11611
11612 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11613 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11614
11615 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11616
11617 Uncompressed checksum support.
11618
11619 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11620 (check_list): New parameter uncompress.
11621 (grub_cmd_hashsum): Handle --uncompress.
11622
11623 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11624
11625 Reintroduce testload.
11626
11627 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11628 from here ...
11629 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11630 (GRUB_MOD_INIT): New function.
11631 (GRUB_MOD_FINI): Likewise.
11632 * grub-core/Makefile.core.def (testload): New module.
11633
11634 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11635
11636 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11637 (uint8_t): New type.
11638 (uint16_t): Likewise.
11639 (uint32_t): Likewise.
11640 (uint64_t): Likewise.
11641
11642 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11643
11644 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11645
11646 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11649 Made static.
11650 (grub_gzfile_open): Removed. All users updated.
11651 (GRUB_MOD_INIT): New function.
11652 (GRUB_MOD_FINI): Likewise.
11653 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11654 (grub_file_filters_enabled): Likewise.
11655 (grub_file_open): Handle filters.
11656 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11657 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11658 * include/grub/file.h (grub_file_filter_id_t): New type.
11659 (grub_file_filter_t): Likewise.
11660 (grub_file_filters_all): New extern variable.
11661 (grub_file_filters_enabled): Likewise.
11662 (grub_file_filter_register): New inline function.
11663 (grub_file_filter_unregister): Likewise.
11664 (grub_file_filter_disable): Likewise.
11665 (grub_file_filter_disable_compression): Likewise.
11666 * include/grub/gzio.h: Removed.
11667
11668 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11669
11670 Filename expansion support for wildcards in GRUB script.
11671
11672 * tests/grub_script_expansion.in: New test.
11673 * Makefile.util.def: Rule for new test.
11674
11675 * grub-core/commands/wildcard.c: New file, implements filename
11676 expansion support for GRUB script.
11677 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11678 * grub-core/script/argv.c: Cosmetic changes.
11679 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11680 Refactored to perform wildcard expansion on arguments.
11681 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11682 struct.
11683
11684 * tests/util/grub-shell.in: Fix quoting for read input.
11685
11686 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11687
11688 Support for updating environment variables with matched substrings
11689 of regexp.
11690
11691 * tests/grub_cmd_regexp.in: New test.
11692 * Makefile.util.def: Rule for new test.
11693
11694 * grub-core/commands/regexp.c: New option -s to update environment
11695 variables with regexp matches.
11696
11697 2010-09-04 Szymon Janc <szymon@janc.net.pl>
11698
11699 * include/grub/file.h (grub_file): New member not_easly_seekable.
11700 (grub_file_seekable): New inline function.
11701 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11702 easily seekable.
11703 (grub_gzio_open): Set not_easly_seekable.
11704 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11705 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11706
11707 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11708
11709 Support for options to appear multiple times on cmdline.
11710
11711 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11712 * grub-core/commands/extcmd.c: Support for repeatable option.
11713 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11714 repeatable option support.
11715
11716 Refactor menuentry into a regular command.
11717
11718 * grub-core/commands/menuentry.c: New file, menuentry command
11719 implementation.
11720 * grub-core/Makefile.core.def: Rule update for normal.mod.
11721 * grub-core/normal/main.c: Moved menuentry creation to
11722 grub-core/commands/menuentry.c.
11723 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11724 (grub_menu_execute_entry_real): Removed.
11725 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11726 function.
11727 (grub_script_execute_menuentry): Removed.
11728 * grub-core/script/parser.y (menuentry): Removed.
11729 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11730 * grub-core/script/yylex.l (menuentry): Removed.
11731 * include/grub/menu.h (grub_menu_init): New prototype.
11732 (grub_menu_fini): New prototype.
11733 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11734 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11735 (grub_script_execute_sourcecode): New prototype.
11736
11737 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11738
11739 "return" command for GRUB script functions.
11740
11741 * tests/grub_script_return.in: New test.
11742 * Makefile.util.def: Rules for new test.
11743
11744 * grub-core/script/execute.c (grub_script_return): New function.
11745 * grub-core/script/main.c: Register/unregister return commaond.
11746 * include/grub/script_sh.h (grub_script_return): New prototype.
11747
11748 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11749
11750 "setparams" command to update positional parameters.
11751
11752 * tests/grub_script_setparams.in: New test.
11753 * Makefile.util.def: Rules for new test.
11754
11755 * grub-core/script/argv.c (grub_script_argv_make): New function.
11756 * grub-core/script/execute.c (replace_scope): New function.
11757 (grub_script_setparams): New function.
11758 * grub-core/script/lexer.c: Remove unused variables.
11759 * grub-core/script/main.c: Register/unregister setparams command.
11760 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11761 (grub_script_setparams): New prototype.
11762
11763 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11764
11765 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11766 grub_free order.
11767
11768 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11769
11770 Support for passing block of commands as an argument to extcmds.
11771
11772 * Makefile.util.def: Rules for new test.
11773 * tests/grub_script_blockarg.in: New test.
11774 * grub-core/tests/test_blockarg.c: New file, block argument
11775 command used in the test.
11776
11777 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11778 (grub_register_extcmd_prio): New function prototype.
11779 (grub_extcmd_dispatcher): New function prototype.
11780 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11781 type.
11782 * include/grub/script_sh.h (struct grub_script): New members
11783 `children', `next_siblings' and `refcnt' for block arguments and
11784 reference counting.
11785 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11786 (grub_script_arg): New member `script' for block argument.
11787 (grub_script_argv): New member `script' for block argument.
11788 (grub_parser_param): New member `scripts' for block argument.
11789 (grub_script_mem_free): New extern function prototype.
11790 (grub_script_ref): New function prototype.
11791 (grub_script_unref): New function prototype.
11792
11793 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11794 extcmd form to support block arguments.
11795 * grub-core/script/argv.c: Block arguments support.
11796 * grub-core/script/execute.c: Likewise.
11797 * grub-core/script/lexer.c: Likewise.
11798 * grub-core/script/main.c: Likewise.
11799 * grub-core/script/script.c: Likewise.
11800 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11801 non-terminals.
11802
11803 * grub-core/commands/acpi.c: Update extcmd implementations with
11804 grub_extcmd_context_t.
11805 * grub-core/commands/cat.c: Likewise.
11806 * grub-core/commands/echo.c: Likewise.
11807 * grub-core/commands/extcmd.c: Likewise.
11808 * grub-core/commands/hashsum.c: Likewise.
11809 * grub-core/commands/hdparm.c: Likewise.
11810 * grub-core/commands/help.c: Likewise.
11811 * grub-core/commands/hexdump.c: Likewise.
11812 * grub-core/commands/i386/cpuid.c: Likewise.
11813 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11814 * grub-core/commands/i386/pc/halt.c: Likewise.
11815 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11816 * grub-core/commands/iorw.c: Likewise.
11817 * grub-core/commands/keystatus.c: Likewise.
11818 * grub-core/commands/loadenv.c: Likewise.
11819 * grub-core/commands/ls.c: Likewise.
11820 * grub-core/commands/lspci.c: Likewise.
11821 * grub-core/commands/memrw.c: Likewise.
11822 * grub-core/commands/probe.c: Likewise.
11823 * grub-core/commands/search_wrap.c: Likewise.
11824 * grub-core/commands/setpci.c: Likewise.
11825 * grub-core/commands/sleep.c: Likewise.
11826 * grub-core/disk/loopback.c: Likewise.
11827 * grub-core/hello/hello.c: Likewise.
11828 * grub-core/loader/i386/bsd.c: Likewise.
11829 * grub-core/loader/xnu.c: Likewise.
11830 * grub-core/term/gfxterm.c: Likewise.
11831 * grub-core/term/serial.c: Likewise.
11832 * grub-core/tests/lib/functional_test.c: Likewise.
11833
11834 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11835
11836 Multi-line quoted strings support.
11837
11838 * grub-core/script/lexer.c (append_newline): Removed.
11839 (grub_script_lexer_yywrap): Refactored.
11840 (grub_script_lexer_init): Refactored.
11841 * grub-core/script/yylex.l (yywrap): New function.
11842 (grub_lexer_resplit): New function.
11843 (grub_lexer_unput): New function.
11844 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11845 and resplit.
11846 * tests/grub_script_echo1.in: Added few more testcases.
11847
11848 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * grub-core/kern/misc.c: Don't add abort alias in utils.
11851 Reported by: echoline.
11852
11853 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11854
11855 Add missing files into "make dist" tarball for other platforms.
11856
11857 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11858 * conf/Makefile.common (dist_noinst_DATA): New variable.
11859 * conf/Makefile.extra-dist: Added missing make dist files.
11860 * grub-core/Makefile.core.def: Likewise.
11861
11862 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11863
11864 Compress grub_prefix.
11865
11866 * grub-core/boot/i386/pc/lnxboot.S: Use
11867 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11868 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11869 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11870 GRUB_MACHINE_PREFIX_END. All users updated.
11871 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11872 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11873 + 0x40.
11874 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11875 * util/grub-mkimage.c (image_target_desc): Change data_end to
11876 prefix_end. All users updated.
11877
11878 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11881 value.
11882 (grub_openbsd_boot): Likewise.
11883 (grub_netbsd_boot): Likewise.
11884 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11885 (grub_xnu_boot): Likewise.
11886
11887 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 * configure.ac: Clean LIBS variable after tests.
11890
11891 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11892
11893 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11894
11895 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11896
11897 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11898 echo if libdevmapper will be used.
11899
11900 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11901
11902 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11903 constant for the same file.
11904
11905 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11906
11907 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11908
11909 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11910
11911 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
11912 grub-core/*.pp.
11913
11914 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11915
11916 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
11917 required by the boot protocol.
11918
11919 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
11920 ebp and edi members.
11921 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
11922 state.ebp and state.edi.
11923 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
11924 %ebp and %edi according to grub_relocator32_ebp and
11925 grub_relocator32_edi respectively.
11926 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
11927 and state.edi.
11928
11929 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 Add i386-pc-pxe image target.
11932
11933 * util/grub-mkimage.c (image_target_desc): New enum value
11934 IMAGE_I386_PC_PXE.
11935 (image_targets): New target i386-pc-pxe.
11936 (generate_image): Handle i386-pc-pxe image.
11937
11938 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 Fix grub_pxe_scan.
11941
11942 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
11943 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
11944 All users updated.
11945 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
11946 (grub_pxe_pxenv): Correct type.
11947
11948 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11949
11950 * NEWS: Document most of the important changes since 1.98.
11951
11952 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
11955 generated manual page) a little.
11956
11957 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11958
11959 * docs/grub.texi: Add myself as an author.
11960
11961 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * Makefile.util.def (libgrub.a): Add missing sunpc.
11964 Reported by: Seth Goldberg.
11965
11966 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 Interrupt wrapping and code simplifications.
11969
11970 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
11971 x86_noieee1275 which are functionaly equivalent in this case.
11972 (grub-install): Make source on each platform explicit. Enable on
11973 all noemu.
11974 * gentpl.py (x86_efi_pc): Removed group.
11975 (x86_noefi): Likewise.
11976 (i386_noefi): Likewise.
11977 (x86_noieee1275): Likewise.
11978 (i386_noieee1275): Likewise.
11979 (i386_noefi_noieee1275): Likewise.
11980 (i386_pc_qemu_coreboot): Likewise.
11981 (i386_coreboot_multiboot): Likewise.
11982 (i386_pc_coreboot_multiboot_qemu): Likewise.
11983 (x86_noefi_mips): Likewise.
11984 (noieee1275): Likewise.
11985 (ieee1275_mips): Likewise.
11986 (noemu_noieee1275): Likewise.
11987 (cmos): New group.
11988 (usb): Likewise.
11989 (videoinkernel): Likewise.
11990 (videomodules): Likewise.
11991 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
11992 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
11993 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
11994 include/grub/loader.h, include/grub/msdos_partition.h,
11995 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
11996 include/grub/machine/console.h, include/grub/machine/vga.h,
11997 include/grub/machine/vbe.h, include/grub/machine/init.h,
11998 include/grub/machine/kernel.h, include/grub/cpu/time.h,
11999 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
12000 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
12001 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
12002 * grub-core/Makefile.core.def (kernel): Explicit the source for
12003 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
12004 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
12005 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
12006 Use videoinkernel tag.
12007 (usb): Enable on all usb.
12008 (usbserial_common): Likewise.
12009 (usbserial_pl2303): Likewise.
12010 (usbserial_ftdi): Likewise.
12011 (uhci): Enable on all x86.
12012 (ohci): Enable on all pci.
12013 (cmostest): Enable on all CMOS.
12014 (acpi): Include commands/acpi.c on all platforms.
12015 (halt): Add relevant lib/*/halt.c.
12016 (hdparm): Enable on all pci.
12017 (lspci): Likewise.
12018 (usbtest): Enable on all usb.
12019 (ata): Enable on all pci.
12020 (ata_pthru): Likewise.
12021 (usbms): Enable on all usb.
12022 (usb_keyboard): Likewise.
12023 (font): Use tag videomodules.
12024 (bufio): Likewise.
12025 (datetime): Use tag cmos. Enable on all noemu.
12026 (mmap): Use tags common and x86.
12027 (gfxterm): Use tag videomodules.
12028 (bitmap): Likewise.
12029 (bitmap_scale): Likewise.
12030 (video_fb): Likewise.
12031 (video): Likewise.
12032 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
12033 adjust padding accordingly. All users updated.
12034 (grub_ohci_transaction): Fix bad format specification.
12035 (GRUB_MOD_INIT): Add asserts for struct size.
12036 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
12037 (grub_alloc_td): Likewise.
12038 (grub_free_queue): Likewise.
12039 (grub_uhci_transfer): Likewise.
12040 (grub_uhci_transaction): Fix bad format specification.
12041 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
12042 (grub_usb_bulk_readwrite): Likewise.
12043 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
12044 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
12045 Made static.
12046 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
12047 Made static.
12048 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
12049 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
12050 Transformed into C.
12051 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
12052 Moved from here ...
12053 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
12054 ... here. Transformed into C. Made static.
12055 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
12056 Moved from here ...
12057 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
12058 ... here. Transformed into C. Made static.
12059 * grub-core/kern/i386/pc/startup.S
12060 (grub_biosdisk_check_int13_extensions): Moved from here ...
12061 * grub-core/disk/i386/pc/biosdisk.c
12062 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
12063 Made static.
12064 * grub-core/kern/i386/pc/startup.S
12065 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
12066 * grub-core/disk/i386/pc/biosdisk.c
12067 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
12068 Transformed into C. Made static.
12069 * grub-core/kern/i386/pc/startup.S
12070 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
12071 * grub-core/disk/i386/pc/biosdisk.c
12072 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
12073 Transformed into C. Made static.
12074 * grub-core/kern/i386/pc/startup.S
12075 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
12076 * grub-core/disk/i386/pc/biosdisk.c
12077 (grub_biosdisk_get_diskinfo_standard): ... here.
12078 Transformed into C. Made static.
12079 * grub-core/kern/i386/pc/startup.S
12080 (grub_biosdisk_get_num_floppies): Moved from here ...
12081 * grub-core/disk/i386/pc/biosdisk.c
12082 (grub_biosdisk_get_num_floppies): ... here.
12083 Transformed into C. Made static.
12084 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
12085 New function.
12086 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
12087 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
12088 Transformed into C. Made static.
12089 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
12090 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
12091 Transformed into C. Made static.
12092 * grub-core/kern/i386/ieee1275/init.c: Removed.
12093 * grub-core/kern/i386/misc.S: Likewise.
12094 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
12095 Splitted from here ...
12096 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
12097 Transformed into C. Made static. All users updated.
12098 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
12099 Transformed into C. Made static. All users updated.
12100 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
12101 Moved from here...
12102 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
12103 Transformed into C. Made static. All users updated.
12104 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
12105 Moved from here...
12106 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
12107 Transformed into C. Made static. All users updated.
12108 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
12109 Removed (replaced by C version).
12110 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
12111 Moved from here...
12112 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
12113 Transformed into C. Made static.
12114 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
12115 Moved from here...
12116 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
12117 ... here. Transformed into C.
12118 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
12119 Moved from here...
12120 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
12121 ... here. Transformed into C.
12122 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
12123 Moved from here...
12124 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
12125 ... here. Transformed into C. Made static.
12126 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
12127 Moved from here...
12128 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
12129 ... here. Transformed into C.
12130 * grub-core/kern/i386/pc/startup.S
12131 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
12132 * grub-core/video/i386/pc/vbe.c
12133 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
12134 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
12135 Moved from here...
12136 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
12137 ... here. Transformed into C.
12138 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
12139 Moved from here...
12140 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
12141 ... here. Transformed into C.
12142 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
12143 Moved from here...
12144 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
12145 ... here. Transformed into C.
12146 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
12147 Moved from here...
12148 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
12149 ... here. Transformed into C.
12150 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
12151 Moved from here...
12152 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
12153 ... here. Transformed into C. Made static.
12154 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
12155 Moved from here...
12156 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
12157 ... here. Transformed into C. Made static.
12158 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
12159 Moved from here...
12160 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
12161 ... here. Transformed into C. Made static.
12162 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
12163 pxe_rm_entry as third argument.
12164 (grub_bios_interrupt): New function.
12165 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
12166 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
12167 of calling grub_stop.
12168 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
12169 * grub-core/lib/efi/halt.c (grub_halt): ...here.
12170 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
12171 * grub-core/lib/emu/halt.c (grub_halt): ... here.
12172 * grub-core/lib/i386/halt.c: Moved from here ...
12173 * grub-core/lib/i386/halt.c: ... here.
12174 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
12175 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
12176 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
12177 grub_stop_floppy.
12178 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
12179 * include/grub/i386/coreboot/init.h: Removed.
12180 * include/grub/i386/multiboot/init.h: Likewise.
12181 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
12182 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
12183 * include/grub/i386/pc/int.h: New file.
12184 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
12185 (grub_pxe_scan): Removed.
12186 (grub_pxe_call): Update prototype.
12187 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
12188 prototypes.
12189 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
12190 * include/grub/i386/qemu/init.h: Removed.
12191 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
12192 noreturn.
12193 (grub_halt): Likewise.
12194 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
12195 (grub_reboot): Likewise.
12196 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
12197 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
12198 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
12199
12200 2010-08-30 Robert Millan <rmh@gnu.org>
12201
12202 * NEWS: Document addition of ZFS support in `grub-install' and
12203 `grub-mkconfig'.
12204
12205 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
12206
12207 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
12208 dprintf output.
12209
12210 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12211
12212 Remove leftover embedding of font objects.
12213
12214 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12215 * util/grub-install.in (font): Removed.
12216 * util/grub-mkimage.c (generate_image): Remove font support. All users
12217 updated.
12218
12219 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12220
12221 Remove leftover embedding of font objects.
12222
12223 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
12224 * util/grub-install.in (font): Removed.
12225 * util/grub-mkimage.c (generate_image): Remove font support. All users
12226 updated.
12227
12228 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12229
12230 * docs/grub.texi (Network): Fix reference to pxe_blksize.
12231 Reported by: Ian Turner
12232
12233 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12234
12235 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
12236 timeout to avoid indefinite boot stalling.
12237
12238 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12239
12240 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
12241 (grub_env_write_color_highlight): Likewise.
12242
12243 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * grub-core/normal/term.c (print_more): Return to normal and not
12246 to standard state after printing "---MORE---".
12247
12248 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
12249
12250 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
12251 Mask out the bit 0x80 since it has other meaning that specifiing color.
12252
12253 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 New relocator. Allows for more kernel support and more straightforward
12256 loader writing.
12257
12258 * Makefile.am (BOOTTARGET): New variable.
12259 (QEMU32): Likewise.
12260 (linux.init.x86_64): New target.
12261 (linux.init.i386): Likewise.
12262 (multiboot.elf): Likewise.
12263 (kfreebsd.elf): Likewise.
12264 (kfreebsd.aout): Likewise.
12265 (pc-chainloader.elf): Likewise.
12266 (pc-chainloader.bin): Likewise.
12267 (ntldr.elf): Likewise.
12268 (ntldr.bin): Likewise.
12269 (multiboot2.elf): Likewise.
12270 (kfreebsd.init.x86_64): Likewise.
12271 (kfreebsd.init.i386): Likewise.
12272 (knetbsd.init.i386): Likewise.
12273 (kopenbsd.init.i386): Likewise.
12274 (knetbsd.init.x86_64): Likewise.
12275 (kopenbsd.init.x86_64): Likewise.
12276 (linux-initramfs.i386): Likewise.
12277 (linux-initramfs.x86_64): Likewise.
12278 (kfreebsd-mfsroot.i386.img): Likewise.
12279 (knetbsd.image.i386): Likewise.
12280 (kopenbsd.image.i386): Likewise.
12281 (kopenbsd.image.x86_64): Likewise.
12282 (knetbsd.miniroot-image.i386.img): Likewise.
12283 (kfreebsd-mfsroot.x86_64.img): Likewise.
12284 (knetbsd.image.x86_64): Likewise.
12285 (knetbsd.miniroot-image.x86_64.img): Likewise.
12286 (kfreebsd-mfsroot.i386.gz): Likewise.
12287 (bootcheck-kfreebsd-i386): Likewise.
12288 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12289 (bootcheck-kfreebsd-x86_64): Likewise.
12290 (knetbsd.miniroot-image.i386.gz): Likewise.
12291 (bootcheck-knetbsd-i386): Likewise.
12292 (bootcheck-kopenbsd-i386): Likewise.
12293 (bootcheck-kopenbsd-x86_64): Likewise.
12294 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12295 (bootcheck-knetbsd-x86_64): Likewise.
12296 (bootcheck-linux-i386): Likewise.
12297 (bootcheck-linux-x86_64): Likewise.
12298 (bootcheck-linux16-i386): Likewise.
12299 (bootcheck-linux16-x86_64): Likewise.
12300 (bootcheck-multiboot): Likewise.
12301 (bootcheck-multiboot2): Likewise.
12302 (bootcheck-kfreebsd-aout): Likewise.
12303 (bootcheck-pc-chainloader): Likewise.
12304 (bootcheck-ntldr): Likewise.
12305 (CLEANFILES): Add new targets.
12306 (BOOTCHECKS): New variable.
12307 (.PHONY): Add bootchecks.
12308 (SUCCESSFUL_BOOT_STRING): New variable.
12309 (BOOTCHECK_TIMEOUT): Likewise.
12310 (bootcheck): New target
12311 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12312 * configure.ac: Correct efiemu excuse.
12313 * docs/grub.texi (Supported kernels): New chapter.
12314 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12315 include/grub/mm_private.h. Simplify inclusion of
12316 include/grub/boot.h, include/grub/loader.h
12317 and include/grub/msdos_partition.h
12318 (KERNEL_HEADER_FILES) [i386_coreboot]:
12319 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12320 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12321 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12322 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12323 include/grub/machine/loader.h.
12324 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12325 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12326 extra_dist.
12327 (pci.mod): Enable on i386-multiboot.
12328 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12329 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12330 i386-qemu.
12331 (relocator.mod): Rewritten.
12332 (aout.mod): Enable on all x86.
12333 (bsd.mod): Likewise.
12334 (ntldr.mod): New module.
12335 (linux.mod): Use loader/i386/linux.c on all x86.
12336 (xnu.mod): Enable on all x86.
12337 (vga_text.mod): disable on EFI and QEMU.
12338 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12339 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12340 * grub-core/efiemu/loadcore.c: Likewise.
12341 * grub-core/efiemu/main.c: Likewise.
12342 (grub_efiemu_exit_boot_services): Removed.
12343 (grub_efiemu_finish_boot_services): Likewise.
12344 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12345 function.
12346 * grub-core/efiemu/i386/nocfgtables.c: New file.
12347 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12348 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12349 (grub_efi_finish_boot_services): Moved from here ...
12350 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12351 Fille finish memory map and related data.
12352 (finish_mmap_buf): New variable.
12353 (grub_efi_uintn_t finish_mmap_size): Likewise.
12354 (grub_efi_uintn_t finish_key): Likewise.
12355 (grub_efi_uintn_t finish_desc_size): Likewise.
12356 (grub_efi_uint32_t finish_desc_version): Likewise.
12357 (grub_efi_is_finished): Likewise.
12358 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12359 finished.
12360 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12361 (grub_elf64_phdr_iterate): Likewise.
12362 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12363 (grub_os_area_size): Likewise.
12364 (grub_machine_init): Don't reserve os area.
12365 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12366 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12367 * grub-core/kern/i386/loader.S: Removed.
12368 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12369 (grub_os_area_size): Likewise.
12370 (grub_machine_init): Don't reserve os area.
12371 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12372 Don't call grub_dl_unload_all.
12373 Don't include loader.S.
12374 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12375 Declare the memory after _end as available.
12376 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
12377 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
12378 (GRUB_MM_ALLOC_MAGIC): Moved from here...
12379 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12380 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12381 * include/grub/mm_private.h (grub_mm_header): ... here.
12382 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12383 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
12384 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12385 (grub_mm_region): ..here. Removed addr. Added pre_size.
12386 All users updated.
12387 * grub-core/kern/mm.c (base): Renamed to ...
12388 (grub_mm_base): ... this. Made global.
12389 (grub_real_malloc): Alloc from end of region.
12390 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12391 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12392 * grub-core/kern/powerpc/cache_flush.S: ... here.
12393 * grub-core/lib/efi/relocator.c: New file.
12394 * grub-core/lib/i386/relocator.c: Rewritten.
12395 * grub-core/lib/i386/relocator16.S: New file.
12396 * grub-core/lib/i386/relocator32.S: Likewise.
12397 * grub-core/lib/i386/relocator64.S: Likewise.
12398 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12399 * grub-core/lib/i386/relocator_common.S: New file.
12400 * grub-core/lib/ieee1275/relocator.c: Likewise.
12401 * grub-core/lib/mips/relocator.c: Rewritten.
12402 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12403 stylistic adjustments.
12404 * grub-core/lib/powerpc/relocator.c: New file.
12405 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12406 * grub-core/lib/relocator.c: Rewritten.
12407 * grub-core/lib/x86_64/relocator_asm.S: New file.
12408 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12409 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12410 (bsd_tag): New struct.
12411 (tags): New variable.
12412 (tags_last): Likewise.
12413 (netbsd_module): New struct.
12414 (netbsd_mods): New variable.
12415 (netbsd_mods_last): Likewise.
12416 (openbsd_opts): New parameter "serial".
12417 (OPENBSD_SERIAL_ARG): New definition.
12418 (netbsd_opts): New parameter "serial".
12419 (NETBSD_SERIAL_ARG): New definition.
12420 (grub_freebsd_add_meta): Reorganised into ...
12421 (grub_bsd_add_meta): ...this. All users updated.
12422 (grub_freebsd_add_mmap): Reorganised into ...
12423 (generate_e820_mmap): ...this...
12424 (grub_bsd_add_mmap): ...and this. All users updated.
12425 (grub_freebsd_list_modules): Use tags.
12426 (grub_netbsd_add_meta_module): New function.
12427 (grub_netbsd_list_modules): Likewise.
12428 (grub_freebsd_boot): Use relocator and finish EFI.
12429 (grub_openbsd_boot): Likewise.
12430 (grub_netbsd_setup_video): New function.
12431 (grub_netbsd_add_modules): Likewise.
12432 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12433 and finish EFI.
12434 (grub_bsd_unload): Unload tags.
12435 (grub_bsd_load_aout): Use relocator.
12436 (grub_bsd_elf32_size_hook): New function.
12437 (grub_bsd_elf32_hook): Use relocator.
12438 (grub_bsd_elf64_size_hook): New function.
12439 (grub_bsd_elf64_hook): Use relocator.
12440 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12441 (grub_bsd_load): Zero-out openbsd_ramdisk.
12442 (grub_bsd_load): Use relocator.
12443 (grub_cmd_openbsd): Support serial.
12444 (grub_cmd_netbsd): Support modules.
12445 (grub_cmd_freebsd_module): Use relocator.
12446 (grub_netbsd_module_load): New function.
12447 (grub_cmd_netbsd_module): Likewise.
12448 (grub_cmd_openbsd_ramdisk): Likewise.
12449 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12450 kopenbsd_ramdisk.
12451 (GRUB_MOD_FINI): Unregister new commands.
12452 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12453 (grub_freebsd_load_elfmodule_obj): Use relocator.
12454 (grub_freebsd_load_elfmodule): Likewise.
12455 (grub_freebsd_load_elf_meta): Likewise.
12456 (grub_netbsd_load_elf_meta): New function.
12457 (grub_openbsd_find_ramdisk): Likewise.
12458 * grub-core/loader/i386/bsd_helper.S: Removed.
12459 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12460 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12461 * grub-core/loader/i386/efi/linux.c: Likewise.
12462 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12463 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12464 (DEFAULT_VIDEO_MODE): Likewise.
12465 (real_mode_target): New variable.
12466 (prot_mode_target): Likewise.
12467 (initrd_mem_target): Likewise.
12468 (relocator): Likewise.
12469 (efi_mmap_buf): Likewise.
12470 (efi_mmap_size): Likewise.
12471 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12472 (free_pages): Use relocator.
12473 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12474 (grub_linux_setup_video): Return error.
12475 (grub_linux_trampoline_start): Removed.
12476 (grub_linux_trampoline_end): Likewise.
12477 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12478 andd video parameters depending on firmware.
12479 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12480 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12481 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12482 (grub_cmd_initrd): Use relocator.
12483 * grub-core/loader/i386/linux_trampoline.S: Removed.
12484 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12485 (elf_sec_entsize): Likewise.
12486 (elf_sec_shstrndx): Likewise.
12487 (elf_sections): Likewise.
12488 (grub_multiboot_load): Use relocator.
12489 (grub_multiboot_get_mbi_size): Account for sections.
12490 (grub_multiboot_make_mbi): Use relocator and support sections.
12491 (grub_multiboot_add_elfsyms): New function.
12492 (grub_multiboot_free_mbi): Free sections.
12493 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12494 (grub_linux_real_target): Likewise.
12495 (grub_linux_real_chunk): Likewise.
12496 (grub_linux16_prot_size): Likewise.
12497 (grub_linux16_boot): Use relocator.
12498 (grub_linux_unload): Unload relocator.
12499 (grub_cmd_linux): Use relocator.
12500 (grub_cmd_initrd): Likewise.
12501 * grub-core/loader/i386/pc/ntldr.c: New file.
12502 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12503 Don't try to guess CPU frequency.
12504 (grub_xnu_set_video): Stretch bitmap.
12505 (grub_xnu_boot): Use relocator.
12506 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12507 (grub_linux_unload): Free relocator.
12508 (grub_linux_load32): Use relocator.
12509 (grub_linux_load64): Likewise.
12510 (grub_cmd_initrd): Likewise.
12511 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12512 (grub_multiboot_unload): Unload relocator.
12513 (grub_cmd_multiboot): Use relocator.
12514 (grub_cmd_module): Likewise.
12515 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12516 Use relocator and support sections.
12517 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12518 (elf_sec_entsize): Likewise.
12519 (elf_sec_shstrndx): Likewise.
12520 (elf_sections): Likewise.
12521 (grub_multiboot_load): Use relocator.
12522 (grub_multiboot_get_mbi_size): Account for sections.
12523 (grub_multiboot_make_mbi): Use relocator and support sections.
12524 (grub_multiboot_add_elfsyms): New function.
12525 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12526 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12527 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12528 Prototype changed. All users updated.
12529 (grub_xnu_align_heap): Simplified.
12530 (grub_xnu_writetree_toheap): Likewise.
12531 (grub_xnu_unload): Unload relocator.
12532 (grub_cmd_xnu_kernel): Use relocator.
12533 (grub_cmd_xnu_kernel64): Likewise.
12534 (grub_xnu_register_memory): Simplified.
12535 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
12536 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12537 EFI is finished.
12538 (grub_console_checkkey): Likewise.
12539 (grub_console_getkey): Likewise.
12540 (grub_console_getwh): Likewise.
12541 (grub_console_getxy): Likewise.
12542 (grub_console_gotoxy): Likewise.
12543 (grub_console_cls): Likewise.
12544 (grub_console_setcolorstate): Likewise.
12545 (grub_console_setcursor): Likewise.
12546 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12547 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12548 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12549 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12550 * grub-core/tests/boot/kernel-8086.S: Likewise.
12551 * grub-core/tests/boot/kernel-i386.S: Likewise.
12552 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12553 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12554 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12555 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12556 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12557 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12558 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12559 * grub-core/tests/boot/linux.cfg: Likewise.
12560 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12561 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12562 * grub-core/tests/boot/linux16.cfg: Likewise.
12563 * grub-core/tests/boot/multiboot.cfg: Likewise.
12564 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12565 * grub-core/tests/boot/ntldr.cfg: Likewise.
12566 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12567 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12568 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12569 New definition.
12570 * include/grub/dl.h (grub_dl_unload_all): Removed.
12571 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12572 (grub_efi_finish_boot_services): Change prototype.
12573 (grub_efi_is_finished): New variable.
12574 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12575 Changed prototype.
12576 (grub_efiemu_finish_boot_services): Removed.
12577 (grub_machine_efiemu_init_tables): New prototype.
12578 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12579 (grub_elf64_phdr_iterate): Likewise.
12580 * include/grub/i386/bsd.h: Include relocator.h.
12581 (freebsd_tag_header): New struct.
12582 (grub_openbsd_bios_mmap): Removed.
12583 (grub_unix_real_boot): Removed.
12584 (grub_freebsd_load_elfmodule32): Changed prototype.
12585 (grub_freebsd_load_elfmodule_obj64): Likewise.
12586 (grub_freebsd_load_elf_meta32): Likewise.
12587 (grub_freebsd_load_elf_meta64): Likewise.
12588 (grub_freebsd_add_meta): Removed.
12589 (grub_netbsd_load_elf_meta32): New prototype.
12590 (grub_netbsd_load_elf_meta64): Likewise.
12591 (grub_bsd_add_meta): Likewise.
12592 (grub_openbsd_ramdisk_descriptor): New struct.
12593 (grub_openbsd_find_ramdisk32): New prototype.
12594 (grub_openbsd_find_ramdisk64): Likewise.
12595 * include/grub/i386/coreboot/loader.h: Removed.
12596 * include/grub/i386/efi/loader.h: Likewise.
12597 * include/grub/i386/ieee1275/loader.h: Likewise.
12598 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12599 to grub_uint32_t.
12600 * include/grub/i386/loader.h: Removed.
12601 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12602 value.
12603 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12604 (grub_phys_addr_t): New type.
12605 (grub_vtop): New inline function.
12606 (grub_map_memory): Likewise.
12607 (grub_unmap_memory): Likewise.
12608 * include/grub/i386/multiboot/loader.h: Removed.
12609 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12610 (NETBSD_BTINFO_CONSOLE): New definition.
12611 (NETBSD_BTINFO_SYMTAB): Likewise.
12612 (NETBSD_BTINFO_MODULES): Likewise.
12613 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12614 (grub_netbsd_bootinfo): New struct.
12615 (grub_netbsd_btinfo_common): Use explicit bitsize.
12616 (grub_netbsd_btinfo_mmap_entry): Removed.
12617 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12618 (grub_netbsd_btinfo_bootdisk): New struct.
12619 (grub_netbsd_btinfo_symtab): Likewise.
12620 (grub_netbsd_btinfo_serial): Likewise.
12621 (grub_netbsd_btinfo_modules): Likewise.
12622 (grub_netbsd_btinfo_framebuf): Likewise.
12623 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12624 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12625 Likewise.
12626 (grub_openbsd_bootargs): Use explicit bitsize.
12627 (grub_openbsd_bootarg_console): New struct.
12628 (GRUB_OPENBSD_COM_MAJOR): New definition.
12629 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12630 * include/grub/i386/pc/efiemu.h: Removed.
12631 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12632 * include/grub/i386/qemu/loader.h: Removed.
12633 * include/grub/i386/relocator.h: Rewritten.
12634 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12635 * include/grub/mips/memory.h: New file.
12636 * include/grub/mips/multiboot.h: Rewritten.
12637 * include/grub/mips/relocator.h: Rewritten.
12638 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12639 (grub_vtop): New function.
12640 (grub_map_memory): Likewise.
12641 (grub_unmap_memory): Likewise.
12642 * include/grub/misc.h (ALIGN_DOWN): New definition.
12643 * include/grub/mm.h (grub_mm_check_real): New proto.
12644 (GRUB_MM_CHECK): New definition.
12645 * include/grub/mm_private.h: New file.
12646 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12647 (grub_multiboot_get_mbi_size): Removed.
12648 (grub_multiboot_make_mbi): Change prottype.
12649 (grub_multiboot_set_accepts_video): New proto.
12650 (grub_multiboot_add_elfsyms): Likewise.
12651 (grub_multiboot_payload_eip): New variable.
12652 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12653 New prototype.
12654 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12655 New definition.
12656 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12657 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12658 * include/grub/powerpc/ieee1275/loader.h: Removed.
12659 * include/grub/powerpc/memory.h: New file.
12660 * include/grub/powerpc/relocator.h: Likewise.
12661 * include/grub/relocator.h: Likewise.
12662 * include/grub/relocator_private.h: Likewise.
12663 * include/grub/sparc64/ieee1275/loader.h: Removed.
12664 * include/grub/x86_64/memory.h: New file.
12665 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12666 (grub_xnu_heap_malloc): Likewise.
12667 (grub_xnu_heap_real_start): Removed.
12668 (grub_xnu_heap_start): Likewise.
12669 (grub_xnu_relocator): New variable.
12670 (grub_xnu_heap_target_start): Likewise.
12671 * tests/util/grub-shell.in: Support non-pc.
12672 * util/grub-mkimage.c (image_targets): Fix multiboot target.
12673
12674 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12675
12676 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12677 on malloc error.
12678 (grub_bidi_logical_to_visual): Check that malloc succeded.
12679 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12680 puts.
12681 (grub_xputs_normal): Likewise.
12682
12683 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12684
12685 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12686 extra_dist.
12687
12688 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12689
12690 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12691
12692 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12693
12694 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12695
12696 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12697
12698 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12699 dprintf.
12700
12701 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12702
12703 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12704
12705 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * grub-core/normal/term.c (print_more): Fix a memory leak.
12708 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12709 (grub_xputs_normal): Likewise.
12710
12711 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12712
12713 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12714 the begining of the string
12715
12716 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12717
12718 * grub-core/script/script.c (grub_script_parse): Free parsed on
12719 failure.
12720
12721 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12722
12723 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12724 on failure.
12725
12726 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12729 return.
12730
12731 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12732
12733 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12734 (scroll_up): Fix a memory leak.
12735
12736 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12739 errors.
12740
12741 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12742
12743 Handle USB pendrives exposed as floppies.
12744
12745 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12746 floppy.
12747 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12748 Check for partitions on all devices.
12749
12750 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12753 (readkey): Likewise.
12754
12755 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12756
12757 Multiple variable names support to "export" command.
12758
12759 * normal/context.c (grub_cmd_export): "export" command supports
12760 multiple variable names.
12761
12762 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12763
12764 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12765 --target=drive output to Mach device name.
12766
12767 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12768
12769 New Automake based build system for GRUB.
12770
12771 * ABOUT-NLS: New file.
12772 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12773 in Makefile.util.def file.
12774 * Makefile.util.def: New file. Autogen build definitions file for
12775 GRUB host utils.
12776 * conf/Makefile.common: New file. Common variables for GRUB host
12777 utils and target modules.
12778 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12779 * docs/Makefile.am: New file. Automake file for docs.
12780 * gentpl.py: New file. Python script to generate Autogen
12781 template.
12782 * grub-core/Makefile.am: New file. GRUB target modules' rules
12783 that doesn't fit in Makefile.core.def file.
12784 * grub-core/Makefile.core.def: New file. Autogen build
12785 definitions file for GRUB target modules.
12786 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12787 specific setjmp.S file.
12788 * po/Makefile.am: New file.
12789
12790 * .bzrignore: New ignores.
12791 * INSTALL: New requirements, without Ruby.
12792 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12793 * autogen.sh: Updated to invoke autogen as necessary.
12794 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12795 and defines for Automake conditionals.
12796 * geninit.sh: Refactoring.
12797
12798 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12799 necessary.
12800 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12801 New prototype.
12802
12803 * include/grub/test.h: Fix functional test modules' naming.
12804 * grub-core/tests/example_functional_test.c: Fix test module name.
12805
12806 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12807 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12808 * util/grub-editenv.c: Likewise.
12809 * util/grub-fstest.c: Likewise.
12810 * util/grub-mkdevicemap.c: Likewise.
12811 * util/grub-mkfont.c: Likewise.
12812 * util/grub-mkimage.c: Likewise.
12813 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12814 * util/grub-probe.c: Likewise.
12815 * util/grub-script-check.c: Likewise.
12816 * util/i386/pc/grub-setup.c: Likewise.
12817 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12818
12819 * tests/util/grub-shell.in: Fix override directory path.
12820 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12821 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12822
12823 * util/lvm.c: Update #includes.
12824 * util/raid.c: Likewise.
12825 * util/resolve.c: Likewise.
12826 * grub-core/bus/emu/pci.c: Likewise.
12827 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12828 * grub-core/lib/posix_wrap/string.h: Likewise.
12829 * grub-core/kern/emu/main.c: Likewise.
12830
12831 * grub-core/gensymlist.sh: New file. Script for generating kernel
12832 symbols file.
12833 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12834
12835 * grub-core/gentrigtables.c: Fix unused variable warnings.
12836
12837 * Makefile.in: Removed.
12838 * conf/any-emu.rmk: Removed.
12839 * conf/common.rmk: Removed.
12840 * conf/i386-coreboot.rmk: Removed.
12841 * conf/i386-efi.rmk: Removed.
12842 * conf/i386-ieee1275.rmk: Removed.
12843 * conf/i386-multiboot.rmk: Removed.
12844 * conf/i386-pc.rmk: Removed.
12845 * conf/i386-qemu.rmk: Removed.
12846 * conf/i386.rmk: Removed.
12847 * conf/mips-yeeloong.rmk: Removed.
12848 * conf/mips.rmk: Removed.
12849 * conf/powerpc-ieee1275.rmk: Removed.
12850 * conf/sparc64-ieee1275.rmk: Removed.
12851 * conf/tests.rmk: Removed.
12852 * conf/x86-efi.rmk: Removed.
12853 * conf/x86_64-efi.rmk: Removed.
12854 * gendistlist.sh: Removed.
12855 * geninitheader.sh: Removed.
12856 * genkernsyms.sh.in: Removed.
12857 * genmk.rb: Removed.
12858 * gensymlist.sh.in: Removed.
12859 * mkinstalldirs: Removed.
12860 * boot: Moved ...
12861 * grub-core/boot: ... to here.
12862 * bus: Moved ...
12863 * grub-core/bus: ... to here.
12864 * commands: Moved ...
12865 * grub-core/commands: ... to here.
12866 * disk: Moved ...
12867 * grub-core/disk: ... to here.
12868 * efiemu: Moved ...
12869 * grub-core/efiemu: ... to here.
12870 * font: Moved ...
12871 * grub-core/font: ... to here.
12872 * fs: Moved ...
12873 * grub-core/fs: ... to here.
12874 * gencmdlist.sh: Moved ...
12875 * grub-core/gencmdlist.sh: ... to here.
12876 * genemuinit.sh: Moved ...
12877 * grub-core/genemuinit.sh: ... to here.
12878 * genemuinitheader.sh: Moved ...
12879 * grub-core/genemuinitheader.sh: ... to here.
12880 * genfslist.sh: Moved ...
12881 * grub-core/genfslist.sh: ... to here.
12882 * genhandlerlist.sh: Moved ...
12883 * grub-core/genhandlerlist.sh: ... to here.
12884 * genmoddep.awk: Moved ...
12885 * grub-core/genmoddep.awk: ... to here.
12886 * genmodsrc.sh: Moved ...
12887 * grub-core/genmodsrc.sh: ... to here.
12888 * genpartmaplist.sh: Moved ...
12889 * grub-core/genpartmaplist.sh: ... to here.
12890 * genparttoollist.sh: Moved ...
12891 * grub-core/genparttoollist.sh: ... to here.
12892 * genterminallist.sh: Moved ...
12893 * grub-core/genterminallist.sh: ... to here.
12894 * gentrigtables.c: Moved ...
12895 * grub-core/gentrigtables.c: ... to here.
12896 * genvideolist.sh: Moved ...
12897 * grub-core/genvideolist.sh: ... to here.
12898 * gettext: Moved ...
12899 * grub-core/gettext: ... to here.
12900 * gfxmenu: Moved ...
12901 * grub-core/gfxmenu: ... to here.
12902 * gnulib: Moved ...
12903 * grub-core/gnulib: ... to here.
12904 * hello: Moved ...
12905 * grub-core/hello: ... to here.
12906 * hook: Moved ...
12907 * grub-core/hook: ... to here.
12908 * io: Moved ...
12909 * grub-core/io: ... to here.
12910 * kern: Moved ...
12911 * grub-core/kern: ... to here.
12912 * lib: Moved ...
12913 * grub-core/lib: ... to here.
12914 * loader: Moved ...
12915 * grub-core/loader: ... to here.
12916 * mmap: Moved ...
12917 * grub-core/mmap: ... to here.
12918 * normal: Moved ...
12919 * grub-core/normal: ... to here.
12920 * partmap: Moved ...
12921 * grub-core/partmap: ... to here.
12922 * parttool: Moved ...
12923 * grub-core/parttool: ... to here.
12924 * script: Moved ...
12925 * grub-core/script: ... to here.
12926 * term: Moved ...
12927 * grub-core/term: ... to here
12928 * tests/example_functional_test.c: Moved ...
12929 * grub-core/tests/example_functional_test.c: ... to here.
12930 * tests/lib/functional_test.c: Moved ...
12931 * grub-core/tests/lib/functional_test.c: ... to here.
12932 * tests/lib/test.c: Moved ...
12933 * grub-core/tests/lib/test.c: ... to here.
12934 * video: Moved ...
12935 * grub-core/video: ... to here.
12936
12937 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12938
12939 Replace --enable-grub-emu-modules with grub-emu-lite.
12940
12941 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
12942 cache.S.
12943
12944 * include/grub/emu/misc.h (grub_emu_init): New prototype.
12945 * kern/emu/full.c: New file. For grub-emu specific initialization.
12946 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
12947 * kern/emu/main.c: Call initialization function grub_emu_init.
12948
12949 * Makefile.in: Include grub-emu-lite in install.
12950 * commands/parttool.c: Use grub_no_autoload to differentiate
12951 between grub-emu and grub-emu-lite.
12952 * include/grub/misc.h: New variable grub_no_autoload.
12953
12954 * conf/any-emu.rmk: New rules for grub-emu-lite.
12955 * configure.ac: Remove --enable-grub-emu-modules.
12956 * genmk.rb: Cleanup unnecessary rules.
12957 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
12958
12959 * normal/main.c: Don't load list files on grub-emu-lite.
12960 * util/misc.c (grub_arch_sync_caches): Removed.
12961
12962 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
12963
12964 * kern/mips/startup.S (grub_prefix): Update comment to refer to
12965 grub-mkimage rather than grub-mkelfimage.
12966 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12967
12968 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12969
12970 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
12971 a key after CapsLock or NumLock. It's just a qemu bug.
12972
12973 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
12976 needed by libusb wrapper.
12977
12978 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12979
12980 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
12981
12982 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
12985 --nounzip is passed.
12986
12987 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 USB hotunplugging and USB serial support.
12990
12991 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
12992 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
12993 (grub_uhci_transfer): Respect timeout and set *actual.
12994 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
12995 non-standard length.
12996 (grub_usb_device_attach): Autoload modules.
12997 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12998 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
12999 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
13000 users updated.
13001 (grub_usb_add_hub): Fill nports and children.
13002 (attach_root_port): Receive hub instead of controller.
13003 All users updated. Fill hub->devices.
13004 (grub_usb_root_hub): Allocate hub->devices.
13005 (detach_device): New function.
13006 (poll_nonroot_hub): Fill children and detach devices.
13007 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
13008 actual arguments. All users updated.
13009 (grub_usb_bulk_read_extended): New function.
13010 * bus/usb/serial/common.c: New file.
13011 * bus/usb/serial/ftdi.c: Likewise.
13012 * bus/usb/serial/pl2303.c: Likewise.
13013 * commands/terminal.c (handle_command): Support wildcard.
13014 * commands/usbtest.c: Output "Unknown" instead of empty string.
13015 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
13016 (usbserial_common_mod_SOURCES): New variable.
13017 (usbserial_common_mod_CFLAGS): Likewise.
13018 (usbserial_common_mod_LDFLAGS): Likewise.
13019 (pkglib_MODULES): Add usbserial_pl2303.mod.
13020 (usbserial_pl2303_mod_SOURCES): New variable.
13021 (usbserial_pl2303_mod_CFLAGS): Likewise.
13022 (usbserial_pl2303_mod_LDFLAGS): Likewise.
13023 (pkglib_MODULES): Add usbserial_ftdi.mod.
13024 (usbserial_ftdi_mod_SOURCES): New variable.
13025 (usbserial_ftdi_mod_CFLAGS): Likewise.
13026 (usbserial_ftdi_mod_LDFLAGS): Likewise.
13027 (pkglib_MODULES): Add serial.mod.
13028 (serial_mod_SOURCES): New variable.
13029 (serial_mod_CFLAGS): Likewise.
13030 (serial_mod_LDFLAGS): Likewise.
13031 * conf/i386-pc.rmk: Likewise.
13032 * conf/mips-yeeloong.rmk: Likewise.
13033 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
13034 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13035 * disk/usbms.c (first_available_slot): New variable.
13036 (grub_usbms_attach): Don't reuse free slots due to potential cache
13037 problems.
13038 * include/grub/serial.h: Moved to ..
13039 * include/grub/ns8250.h: ...this.
13040 * include/grub/serial.h: New file.
13041 * include/grub/term.h (grub_term_poll_usb): New variable.
13042 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
13043 readkey. All users updated.
13044 (grub_terminfo_output_state): Pass term to put.
13045 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
13046 (grub_usb_controller_dev): Add timeout and actual arguments to
13047 transfer. All users updated.
13048 (grub_usb_interface): New field detach_data.
13049 (grub_usb_device): New fields children and nports.
13050 (grub_usb_ep_type_t): New type.
13051 (grub_usb_get_ep_type): New function.
13052 (grub_usb_bulk_read_extended): Likewise.
13053 * include/grub/usbdesc.h (grub_usb_desc): New type.
13054 * include/grub/usbserial.h: New file.
13055 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
13056 * kern/term.c (grub_term_poll_usb): New variable.
13057 (grub_getkey): Call grub_term_poll_usb if set.
13058 (grub_checkkey): Likewise.
13059 (grub_getkeystatus): Likewise.
13060 * term/serial.c: Moved controller-specific parts to ...
13061 * term/ns8250.c: ... here.
13062 * term/serial.c: Mostly rewritten.
13063 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
13064 according to spec.
13065
13066 2010-08-20 Robert Millan <rmh@gnu.org>
13067
13068 Make kFreeBSD code more generic to support ext2fs as root, ufs as
13069 a separate module and maybe other interesting combinations.
13070
13071 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
13072 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
13073 (kfreebsd_entry): Add generic filesystem module load routine.
13074 Map GRUB `ext2' to kFreeBSD `ext2fs'.
13075
13076 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
13077
13078 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
13079 "numcenter" (I misunderstood the purpose of this entry).
13080 * docs/grub.texi (sendkey): Likewise.
13081
13082 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
13083
13084 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
13085 status flag options; simply omitting the option is equivalent and
13086 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
13087 (keysym_table): Rename "num5numlock" to "numlock".
13088 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
13089 can uniformly say that only the last of multiple `sendkey'
13090 invocations has any effect.
13091 * docs/grub.texi (sendkey): New section.
13092
13093 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
13094
13095 * commands/i386/pc/sendkey.c (options): Fix three typos.
13096
13097 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 Implement sendkey support.
13100
13101 * commands/i386/pc/sendkey.c: New file.
13102 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
13103 (sendkey_mod_SOURCES): New variable.
13104 (sendkey_mod_CFLAGS): Likewise.
13105 (sendkey_mod_LDFLAGS): Likewise.
13106
13107 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
13108
13109 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
13110 fix warnings from Autoconf.
13111
13112 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
13113
13114 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
13115 to avoid false positives with some assemblers that output things
13116 like "someprefix_func" as part of their output.
13117
13118 2010-08-15 Robert Millan <rmh@gnu.org>
13119
13120 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
13121 errors.
13122 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
13123 grub_get_libzfs_handle() errors.
13124
13125 2010-08-14 Robert Millan <rmh@gnu.org>
13126
13127 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
13128 filesystem is not ZFS.
13129
13130 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13131
13132 Fix for misspelled color names defaulting to black/black (bug
13133 reported by Doug Nazar)
13134
13135 * include/grub/normal.h (grub_parse_color_name_pair): Add return
13136 status to prototype.
13137 * normal/color.c (grub_parse_color_name_pair): Return failure
13138 status.
13139 (grub_env_write_color_normal): Ignore bad color names.
13140 (grub_env_write_color_highlight): Likewise.
13141 * normal/main.c (GRUB_MOD_INIT): Set default color names.
13142
13143 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13144
13145 "shift" command support to GRUB script.
13146
13147 * include/grub/script_sh.h (grub_script_shift): New prototype.
13148 * script/execute.c (grub_script_shift): New function.
13149 * script/main.c (grub_script_init): Register shift command.
13150 (grub_script_fini): Unregister shift command.
13151 * util/grub-script-check.c (grub_script_cmd_shift): New function.
13152
13153 * tests/grub_script_shift.in: New testcase.
13154 * conf/tests.rmk: Rules for new testcase.
13155
13156 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13157
13158 "continue" command support to GRUB script.
13159
13160 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
13161 (grub_script_break): Continue support.
13162 * script/main.c (grub_script_init): Register continue command.
13163 (grub_script_fini): Unregister continue command.
13164
13165 * tests/grub_script_continue.in: New testcase.
13166 * conf/tests.rmk: Rules for new testcase.
13167
13168 2010-08-12 BVK Chaitanya <bvk@dbook>
13169
13170 "break" command support to GRUB script.
13171
13172 * conf/common.rmk: Rule updates to grub-script-check.
13173 * include/grub/misc.h (grub_min): New function.
13174 * include/grub/script_sh.h (grub_script_init): New prototype.
13175 (grub_script_fini): New prototype.
13176 (grub_script_break): New prototype.
13177 * script/main.c (grub_script_init): New function.
13178 (grub_script_fini): New function.
13179 * script/execute.c (grub_script_break): New function.
13180 * normal/main.c: Calls to grub_script_{init,fini}.
13181 * util/grub-script-check.c (grub_script_break): New function.
13182
13183 * tests/grub_script_break.in: New testcase.
13184 * conf/tests.rmk: Rules for new test case.
13185
13186 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13187
13188 Function parameters support to GRUB script.
13189
13190 * script/yylex.l (VARIABLE): Regular expression update.
13191 * script/function.c (grub_script_function_call): Moved ...
13192 * script/execute.c (grub_script_function_call): ... to here.
13193 (grub_script_execute_arglist_to_argv): Removed.
13194 (grub_script_arglist_to_argv): New function.
13195 * script/argv.c: New file.
13196 (grub_script_argv_free): New function.
13197 (grub_script_argv_next): Likewise.
13198 (grub_script_argv_append): Likewise.
13199 (grub_script_argv_split_append): Likewise.
13200 * include/grub/script_sh.h (grub_script_argv): New struct.
13201 (grub_script_argv_free): New function.
13202 (grub_script_argv_next): Likewise.
13203 (grub_script_argv_append): Likewise.
13204 (grub_script_argv_split_append): Likewise.
13205
13206 * conf/common.rmk (normal.mod): New source script/argv.c.
13207
13208 * tests/grub_script_echo1.in: More tests.
13209 * tests/grub_script_vars1.in: Likewise.
13210 * tests/grub_script_functions.in: New test case.
13211 * conf/tests.rmk: Rules for new testcase.
13212
13213 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
13214
13215 Remove grub_script_cmdblock struct.
13216
13217 * include/grub/script_sh.h: Remove grub_script_cmdblock.
13218 * script/parser.y: Likewise.
13219 * script/execute.c: Rename cmdblock suffix to cmdlist.
13220 * script/script.c: Likewise.
13221 * util/grub-script-check.c: Likewise.
13222
13223 2010-08-11 Yves Blusseau <blusseau@zetam.org>
13224
13225 * .bzrignore: add grub-macho2img
13226
13227 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13228
13229 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
13230
13231 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
13232
13233 Remove the dump of sm712 initialisation sequence.
13234
13235 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
13236 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
13237 (GRUB_VGA_IO_MISC_WRITE): Likewise.
13238 (GRUB_VGA_CR_*): Added many registers.
13239 (GRUB_VGA_SR_*): Likewise.
13240 (GRUB_VGA_GR_*): Likewise.
13241 (grub_vga_write_arx): New function.
13242 (grub_video_hw_config): New struct.
13243 (grub_vga_set_geometry): New function.
13244 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
13245 GRUB_PCI_CLASS_SUBCLASS_VGA.
13246 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
13247 * video/sm712.c (grub_sm712_write_reg): New function
13248 (grub_sm712_read_reg): Likewise.
13249 (grub_sm712_sr_write): Likewise.
13250 (grub_sm712_gr_write): Likewise.
13251 (grub_sm712_cr_write): Likewise.
13252 (grub_sm712_write_arx): Likewise.
13253 (grub_sm712_cr_shadow_write): Likewise.
13254 (grub_sm712_write_dda_lookup): Likewise.
13255 (grub_video_sm712_setup): Initialise the video rather then
13256 blindly replay the dump.
13257 (main) [TEST]: Add a routine to be able to compile as standalone for
13258 tests.
13259 * video/sm712_init.c (sm712_init): Removed.
13260 (sm712_sr_seq1): New array.
13261 (sm712_sr_seq2): Likewise.
13262
13263 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * include/grub/vga.h: Add missing grub/pci.h include.
13266
13267 2010-08-10 Yves Blusseau <blusseau@zetam.org>
13268
13269 * util/grub-macho2img.c (main): fix typo
13270
13271 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
13274 (grub_vga_gr_read): Likewise.
13275 (grub_vga_cr_write): Likewise.
13276 (grub_vga_cr_read): Likewise.
13277 (grub_vga_sr_write): Likewise.
13278 (grub_vga_sr_read): Likewise.
13279 (grub_vga_palette_read): Likewise.
13280 (grub_vga_palette_write): Likewise.
13281 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
13282 (grub_sm712_sr_read): New function.
13283 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
13284 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
13285
13286 2010-08-09 Robert Millan <rmh@gnu.org>
13287
13288 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13289 out unused variables on non-ZFS build.
13290
13291 2010-08-08 Robert Millan <rmh@gnu.org>
13292
13293 Fix path generation for sub-filesystems in ZFS.
13294
13295 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13296 missing slash.
13297
13298 2010-08-08 Robert Millan <rmh@gnu.org>
13299
13300 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13301
13302 2010-08-08 Robert Millan <rmh@gnu.org>
13303
13304 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13305 exist, issue a proper error message (rely on `ls' for translated
13306 strings).
13307
13308 2010-08-08 Robert Millan <rmh@gnu.org>
13309
13310 Fix grub-probe invocation.
13311
13312 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13313
13314 2010-08-04 Robert Millan <rmh@gnu.org>
13315
13316 * configure.ac: Remove checks for getfsstat() and getmntany().
13317 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13318 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13319 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13320 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13321 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13322 function.
13323 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13324 via find_mount_point_from_dir() and getfsstat() / getmntany().
13325
13326 2010-08-04 Robert Millan <rmh@gnu.org>
13327
13328 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13329 (grub_find_zpool_from_mount_point): Merge into ...
13330 (grub_find_zpool_from_dir): ... this.
13331 * kern/emu/misc.c: Likewise.
13332
13333 * kern/emu/misc.c
13334 (grub_make_system_path_relative_to_its_root): Replace
13335 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13336 with grub_find_zpool_from_dir().
13337 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13338
13339 2010-08-04 Robert Millan <rmh@gnu.org>
13340
13341 Support OpenSolaris in ZFS device resolution.
13342
13343 * configure.ac: Check for getmntany().
13344 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13345 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13346 support.
13347
13348 2010-08-03 Robert Millan <rmh@gnu.org>
13349
13350 Fix grub-emu build.
13351
13352 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13353 * include/grub/emu/misc.h: ... here.
13354
13355 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13356 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13357
13358 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13359 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13360 (grub_get_libzfs_handle): Move to ...
13361 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13362 (grub_get_libzfs_handle): ... here.
13363
13364 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13365
13366 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13367 as command name case.
13368
13369 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
13370
13371 * disk/raid.c (insert_array): Select unique numbers for named arrays
13372 as well, for use as keys in the disk cache.
13373
13374 2010-08-01 Robert Millan <rmh@gnu.org>
13375
13376 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13377 kFreeBSD device name, except on ZFS where the filesystem label is
13378 used.
13379 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13380 `/boot/zfs/zpool.cache'.
13381 Set mountfrom kernel variable using ${kfreebsd_device}.
13382
13383 2010-08-01 Robert Millan <rmh@gnu.org>
13384
13385 Make it even harder to use uninitialized `libzfs_handle' (and
13386 make the interface a bit simpler).
13387
13388 * include/grub/util/misc.h (grub_util_init_libzfs)
13389 (libzfs_handle): Remove.
13390 (grub_get_libzfs_handle): New prototype.
13391
13392 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13393 attribute.
13394 (grub_util_init_libzfs): Remove.
13395 (grub_get_libzfs_handle): New function.
13396
13397 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13398 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13399 accessing `libzfs_handle' directly.
13400
13401 2010-08-01 Robert Millan <rmh@gnu.org>
13402
13403 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13404 (grub_find_zpool_from_mount_point): New function prototypes.
13405
13406 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13407 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13408
13409 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13410 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13411 `static' attribute.
13412
13413 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13414 finding zpool from mount point into ...
13415 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13416
13417 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13418 requested path is part of a ZFS pool, use
13419 grub_find_zpool_from_mount_point() to detect its filesystem name,
13420 and generate a path with `/fsname@path' syntax.
13421
13422 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13423
13424 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13425 (void) rather than () so that this is a proper prototype.
13426
13427 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13430
13431 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13432
13433 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13434 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13435
13436 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13437
13438 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13439
13440 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13443
13444 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13445
13446 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13447 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13448 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13449 disable gfxpayload.
13450 (Shell-like scripting): Add real content.
13451 (Serial terminal): Suggest `terminal_input serial; terminal_output
13452 serial' rather than putting the two commands on separate lines,
13453 since console input will be inoperative after the first command.
13454 (menuentry): Document --class, --users, and --hotkey options.
13455 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13456 Vladimir Serbinenko).
13457
13458 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13459 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13460
13461 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13462
13463 2010-08-01 Robert Millan <rmh@gnu.org>
13464
13465 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13466 (grub_find_zpool_from_mount_point): New function prototypes.
13467
13468 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13469 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13470
13471 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13472 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13473 `static' attribute.
13474
13475 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13476 finding zpool from mount point into ...
13477 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13478
13479 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13480 requested path is part of a ZFS pool, use
13481 grub_find_zpool_from_mount_point() to detect its filesystem name,
13482 and generate a path with `/fsname@path' syntax.
13483
13484 2010-08-01 Robert Millan <rmh@gnu.org>
13485
13486 Prevent accidental use of uninitialized libzfs_handle.
13487
13488 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13489 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13490 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13491
13492 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13493
13494 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13495 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13496
13497 2010-08-01 Robert Millan <rmh@gnu.org>
13498
13499 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
13500
13501 2010-07-31 Robert Millan <rmh@gnu.org>
13502
13503 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13504
13505 2010-07-31 Robert Millan <rmh@gnu.org>
13506
13507 * kern/emu/misc.c: Add missing license header.
13508
13509 2010-07-31 Robert Millan <rmh@gnu.org>
13510
13511 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13512
13513 * include/grub/util/libnvpair.h: Include `<config.h>'.
13514 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13515 declaring libnvpair prototypes ourselves.
13516 * include/grub/util/libzfs.h: Include `<config.h>'.
13517 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13518 declaring libzfs prototypes ourselves.
13519
13520 (libzfs_handle): Moved to ...
13521 * include/grub/util/misc.h (libzfs_handle): ... here.
13522 Include `<grub/util/libzfs.h>'.
13523
13524 2010-07-30 Robert Millan <rmh@gnu.org>
13525
13526 * include/grub/emu/misc.h: Add missing license header.
13527
13528 2010-07-30 Robert Millan <rmh@gnu.org>
13529
13530 Enable `grub-probe -t device' resolution on ZFS.
13531
13532 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13533 * include/grub/util/libnvpair.h: New file.
13534 * include/grub/util/libzfs.h: New file.
13535
13536 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13537 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13538 `<grub/util/libnvpair.h>'.
13539 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13540
13541 (find_mount_point_from_dir): New static function.
13542 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13543 function.
13544 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13545 find_root_device_from_libzfs() before ressorting to find_root_device().
13546
13547 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13548 prototype.
13549 * util/misc.c: Include `<grub/util/libzfs.h>'.
13550 (grub_util_init_libzfs): New function.
13551 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13552 [HAVE_LIBZFS] (fini_libzfs): New static function.
13553 (grub_util_init_libzfs): New function.
13554 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13555
13556 2010-07-30 Robert Millan <rmh@gnu.org>
13557
13558 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13559 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13560 `warn_unused_result' attribute.
13561 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13562 (grub_xasprintf, grub_xvasprintf): Likewise.
13563 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13564
13565 2010-07-29 Robert Millan <rmh@gnu.org>
13566
13567 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13568 (probe): Handle `PRINT_FS_LABEL'.
13569 (main): Handle `-t fs_label'.
13570
13571 2010-07-29 Robert Millan <rmh@gnu.org>
13572
13573 * configure.ac: Remove grub-mkisofs checks.
13574
13575 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13578 Reported by: Lennart Sorensen.
13579
13580 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13583 prior to terminal_input/terminal_output separation. It's been over 1.5
13584 years and those versions weren't widely deployed.
13585
13586 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
13587
13588 * disk/raid.c (insert_array): Don't count named arrays when looking
13589 for unused array numbers.
13590 Reported and tested by: Michael Guntsche.
13591
13592 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13593
13594 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13595 implementation of this so that grub-emu links again, with a note
13596 that this should support hotplugging in the future.
13597
13598 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13599
13600 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13601
13602 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13603
13604 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13605 handle on failure.
13606 (grub_loopback_close): Remove empty function.
13607 (grub_loopback_dev): Remove close method.
13608
13609 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13610
13611 Disable EFI cursor when the EFI console becomes inactive.
13612
13613 * term/efi/console.c (grub_efi_console_init): New function.
13614 (grub_efi_console_fini): New function.
13615 (grub_console_term_output): Register init and fini methods.
13616
13617 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13620 sh script.
13621
13622 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * disk/loopback.c (grub_loopback): Replace filename with file.
13625 (delete_loopback): Handle new semantics.
13626 (grub_cmd_loopback): Likewise.
13627 (grub_loopback_iterate): Likewise.
13628 (grub_loopback_close): Likewise.
13629
13630 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13631
13632 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13633 with -p "".
13634 Reported by: Tito Keitel.
13635
13636 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * docs/grub.texi (Naming convention): Document new naming convention.
13639
13640 2010-07-20 Vadim Solomin <vadic052@gmail.com>
13641 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13642
13643 Generate device.map in something closer to the old ordering.
13644
13645 * util/deviceiter.c (struct device): New declaration.
13646 (compare_file_names): Rename to ...
13647 (compare_devices): ... this. Sort by kernel name in preference to
13648 the stable by-id name, but keep the latter as a fallback comparison.
13649 Update header comment.
13650 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13651 of `struct device' rather than of plain file names.
13652
13653 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13654
13655 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13656 on i386.
13657
13658 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13661 hardcoding size.
13662 (setv1table): Likewise.
13663
13664 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13667 removing the homehost if present.
13668 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13669 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13670 removing the homehost if present.
13671 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13672 if possible.
13673 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13674
13675 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13676 parameter. Set its pointer target to 0.
13677 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13678 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13679 `data_offset' value from the superblock for 1.x metadata.
13680 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13681 data on the device.
13682 (insert_array): Record the start sector of data on the device.
13683 (grub_raid_register): Pass start_sector parameters to
13684 grub_raid_list->detect and insert_array.
13685 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13686 member.
13687 (struct grub_raid): Add start_sector parameter to `detect'.
13688
13689 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13690 __attribute__ ((packed)), leaving a comment.
13691 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13692 (grub_mdraid_detect_09): ... here and ...
13693 (grub_mdraid_detect_1x): ... here.
13694
13695 2010-07-20 Peter Henn <peter.henn@web.de>
13696
13697 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13698 chunk size and disk size, which are already given as sector counts
13699 as distinct from the 0.90 units. Fetch the correct device number
13700 from the role table instead of using the table index.
13701
13702 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
13703
13704 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13705 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13706 (WriteMostly1): New macro.
13707 Set array->name to NULL for metadata format 0.90. Add support for
13708 metadata 1.x. Fix some comments.
13709 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13710 few comments.
13711 * util/getroot.c (grub_util_get_grub_dev): Add support for
13712 /dev/md/name style devices.
13713
13714 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * .bzrignore: Ignore 20_linux_xen.
13717
13718 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
13719
13720 * util/import_unicode.py: Remove unnecessary imports.
13721
13722 2010-07-17 Aleš Nesrsta <starous@volny.cz>
13723
13724 Hotplugging and USB hub support.
13725
13726 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13727 (grub_ohci): Likewise.
13728 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13729 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13730 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13731 (GRUB_OHCI_CTRL_EDS): Likewise.
13732 (GRUB_OHCI_BULK_EDS): Likewise.
13733 (GRUB_OHCI_TDS): Likewise.
13734 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13735 (grub_ohci_ed_phys2virt): New function.
13736 (grub_ohci_virt_to_phys): Likewise.
13737 (grub_ohci_td_phys2virt): Likewise.
13738 (grub_ohci_td_virt2phys): Likewise.
13739 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13740 attachment.
13741 (grub_ohci_find_ed): New function.
13742 (grub_ohci_alloc_td): Likewise.
13743 (grub_ohci_free_td): Likewise.
13744 (grub_ohci_free_tds): Likewise.
13745 (grub_ohci_transfer): Use previously allocated memory.
13746 (grub_ohci_portstatus): Reset status changed bit.
13747 (grub_ohci_detect_dev): Supply status changed.
13748 (grub_ohci_fini_hw): Free memory.
13749 (grub_ohci_restore_hw): Reallocate memory.
13750 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13751 Reset status change.
13752 (grub_uhci_detect_dev): Supply status_change.
13753 * bus/usb/usb.c (attach_hooks): New var.
13754 (grub_usb_device_attach): New function.
13755 (grub_usb_register_attach_hook_class): Likewise.
13756 (grub_usb_unregister_attach_hook_class): Likewise.
13757 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13758 (grub_usb_add_hub): Reset connection changed bit.
13759 (attach_root_port): New function.
13760 (grub_usb_root_hub): Likewise.
13761 (poll_nonroot_hub): Likewise.
13762 (grub_usb_poll_devices): Likewise.
13763 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13764 * disk/usbms.c (grub_usbms_open): Use device hooks.
13765 (grub_usbms_iterate) :Poll devices.
13766 (grub_usbms_finddevs): Split into ...
13767 (grub_usbms_attach): ... this ...
13768 (grub_usbms_attach): ... and this.
13769 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13770 in detect_dev.
13771 (grub_usb_interface): New fields attached and detach_hook.
13772 (grub_usb_attach_hook_class): New type.
13773 (grub_usb_attach_desc): New struct.
13774 (grub_usb_register_attach_hook_class): New function.
13775 (grub_usb_unregister_attach_hook_class): Likewise.
13776 (grub_usb_poll_devices): Likewise.
13777 (grub_usb_device_attach): Likewise.
13778 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13779 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13780
13781 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13784 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13785 delta determination style. Works with most NetBSD partitions too.
13786
13787 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13788
13789 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13790 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13791
13792 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13793
13794 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13795
13796 2010-07-14 Anton Blanchard <anton@samba.org>
13797
13798 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13799 ET_DYN files.
13800
13801 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13802
13803 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13804
13805 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13806
13807 * kern/partition.c (grub_partition_check_containment): New function to
13808 check that a partition is physically contained in a parent. Since
13809 offsets are relative (and non-negative), this reduces to checking that
13810 the partition ends before its parent.
13811 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13812 (grub_partition_iterate): Likewise.
13813 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13814 comments.
13815 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13816 partitions that start before their parent, and add debug printfs.
13817
13818 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13819
13820 * Makefile.in (.SUFFIX): Spell correctly, as ...
13821 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13822 bare module name without `.mod', e.g. `test') tried to invoke a
13823 Modula-2 compiler.
13824
13825 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13826
13827 * README: Point to the Info manual.
13828
13829 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
13830
13831 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13832 2nd superblock position from partition size.
13833
13834 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
13835
13836 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13837 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13838 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13839 outputs.
13840
13841 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13842
13843 Restructure SCSI .id handling.
13844 Reported and tested by: Aleš Nesrsta.
13845
13846 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13847 (grub_atapi_dev): Changed .name to "ata". New field .id.
13848 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13849 (grub_usbms_dev): New field .id.
13850 * disk/scsi.c (grub_scsi_iterate): Generate name.
13851 (grub_scsi_open): Parse name.
13852 * include/grub/scsi.h (grub_make_scsi_id): New function.
13853 (grub_scsi_dev): Change iterate and open to number instead of naming
13854 busses. All users updated.
13855 (grub_scsi): Remove name. Add .bus.
13856
13857 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * commands/help.c (grub_cmd_help): Fix a typo.
13860
13861 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13864 Reported and tested by: Colin Watson.
13865
13866 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13869 in this context.
13870
13871 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13874
13875 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
13876
13877 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13878 indentation.
13879
13880 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13881
13882 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13883 and disk/raid6_recover.c.
13884 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13885 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13886
13887 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13888
13889 * term/gfxterm.c (repaint_schedulded): Rename to ...
13890 (repaint_scheduled): ... this. Update all callers.
13891 (repaint_was_schedulded): Rename to ...
13892 (repaint_was_scheduled): ... this. Update all callers.
13893
13894 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13895
13896 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13897 which we expect to be handled by upper layers.
13898
13899 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13900
13901 * bus/usb/usbhub.c: #include time.h header.
13902
13903 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13904
13905 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13906 entry_name also for entries without stat blocks (e.g. ".."); fixes
13907 corruption of the first entry in a directory.
13908
13909 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13910
13911 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
13912 after setting gfxterm as the active terminal. GRUB_BACKGROUND
13913 doesn't work otherwise.
13914
13915 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13916
13917 * docs/grub.texi (Features): Update list of supported file systems.
13918 (GNU/Linux): Update for GRUB 2.
13919 (Serial terminal): Remove mention of --disable-serial, which was a
13920 GRUB Legacy configure option. Update instructions to use
13921 `terminal_input' and `terminal_output' rather than `terminal'.
13922 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
13923 configuration' and `Installing GRUB using grub-install'.
13924 (Menu entry editor): Update for GRUB 2.
13925 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
13926 Document new -a, -u, and -v options.
13927 (initrd): New section.
13928 (initrd16): New section.
13929 (linux): New section.
13930 (linux16): New section.
13931 (search): The `var' argument to `--set' is optional.
13932 (GRUB only offers a rescue shell): Go into a little more detail on
13933 drive ordering.
13934
13935 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13936
13937 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
13938
13939 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13940
13941 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
13942 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
13943
13944 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13945
13946 * util/i386/pc/grub-setup.c (setup): Rename prefix to
13947 install_prefix, in line with install_dos_part and install_bsd_part.
13948 Add new prefix variable, which is copied to install_prefix after
13949 comparing core.img in memory with the one read from disk in the
13950 no-embedding case, and use that rather than overwriting
13951 install_prefix immediately when installing to a partition.
13952 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
13953 Bicakci.
13954
13955 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13956
13957 * configure.ac: Avoid == in test command, it's not portable.
13958 * util/grub.d/30_os-prober.in: Likewise.
13959
13960 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
13961
13962 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
13963
13964 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13965
13966 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
13967 multiple (top-level) partmaps.
13968
13969 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 * util/i386/efi/grub-install.in: Don't use empty grub_device.
13972 Reported by: Tino Keitel.
13973
13974 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 Bidi and diacritics support.
13977
13978 * Makefile.in (widthspec.bin): New target.
13979 (widthspec.h): Likewise.
13980 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
13981 * autogen.sh: Generate unidata.c.
13982 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
13983 * commands/ls.c (grub_ls_list_devices): Likewise.
13984 (grub_ls_list_files): Likewise.
13985 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
13986 (grub_mini_cmd_lsmod): Likewise.
13987 * commands/read.c: Likewise.
13988 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
13989 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
13990 * lib/arg.c (grub_arg_show_help): Likewise.
13991 * lib/crypto.c (grub_password_get): Likewise.
13992 * normal/auth.c (grub_username_get): Likewise.
13993 * normal/misc.c (grub_normal_print_device_info): Likewise.
13994 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
13995 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
13996 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
13997 (normal/charset.c_DEPENDENCIES): New variable.
13998 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
13999 (pkglib_MODULES): Remove charset.mod.
14000 (charset_mod_SOURCES): Removed.
14001 (charset_mod_CFLAGS): Likewise.
14002 (charset_mod_LDFLAGS): Likewise.
14003 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
14004 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
14005 and term/tparm.c.
14006 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14007 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14008 (kernel_img_HEADERS): Add terminfo.h.
14009 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
14010 Fill ->font. Reverse ascii bitmaps.
14011 (grub_font_get_xheight): New function.
14012 * font/font.c (grub_font_get_string_width): Moved from here ...
14013 * gfxmenu/font.c (grub_font_get_string_width): ... here.
14014 * font/font.c (grub_font_draw_string): Moved from here ...
14015 * gfxmenu/font.c (grub_font_draw_string): ... here.
14016 * font/font.c (grub_font_dup_glyph): New function.
14017 (grub_font_blit_glyph): Likewise.
14018 (grub_font_blit_glyph_mirror): Likewise.
14019 (blit_comb): Likewise.
14020 (grub_font_construct_dry_run): Likewise.
14021 (grub_font_get_constructed_device_width): Likewise.
14022 (grub_font_construct_glyph): Likewise.
14023 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
14024 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
14025 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
14026 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
14027 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
14028 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
14029 (grub_font_get_xheight): New proto.
14030 (grub_font_get_constructed_device_width): Likewise.
14031 (grub_font_construct_glyph): Likewise.
14032 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
14033 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
14034 * include/grub/font.h (grub_font_draw_string): Moved from here ...
14035 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
14036 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
14037 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
14038 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
14039 (grub_console_getcharwidth): Likewise.
14040 * include/grub/misc.h (grub_xputs): New proto.
14041 (grub_puts): Inlined.
14042 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
14043 (grub_normal_get_line_counter): Removed.
14044 (grub_install_newline_hook): Likewise.
14045 (grub_normal_get_char_counter): New proto.
14046 (grub_normal_reset_more): Likewise.
14047 (grub_xputs_normal): Likewise.
14048 * include/grub/powerpc/ieee1275/console.h: Removed.
14049 * include/grub/sparc64/ieee1275/console.h: Likewise.
14050 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
14051 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
14052 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
14053 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
14054 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
14055 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
14056 (grub_term_input): Pass reference to self. All users updated.
14057 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
14058 Pass reference to self. New fields normal_color, highlight_color and
14059 data. All users updated.
14060 (grub_putchar): Removed.
14061 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
14062 (grub_unicode_estimate_width): New function.
14063 (grub_term_getcharwidth): Add defaults.
14064 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
14065 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
14066 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
14067 (grub_cls): Remove EXPORT_FUNC.
14068 (grub_setcolorstate): Inline.
14069 (grub_newline_hook): Removed.
14070 * include/grub/terminfo.h: Rewritten. All users updated.
14071 * include/grub/unicode.h: New file.
14072 * include/grub/video.h (grub_video_signed_rect): New type.
14073 * kern/emu/console.c (grub_console_highlight_color): Removed.
14074 (grub_console_normal_color): Likewise.
14075 (grub_console_standard_color): Made static.
14076 (grub_ncurses_putchar): Remove mapping.
14077 (grub_ncurses_getcharwidth): Removed.
14078 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14079 (grub_ncurses_setcolor): Removed.
14080 (grub_ncurses_getcolor): Likewise.
14081 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
14082 (grub_console_putchar): ... this.
14083 (grub_console_putchar): Handle argument difference.
14084 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
14085 console_init_early and console_init_lately.
14086 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
14087 * kern/misc.c (grub_puts): Removed.
14088 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
14089 (grub_vsnprintf_real): Remove str = NULL support.
14090 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
14091 * normal/charset.c (grub_utf8_to_ucs4): ... here.
14092 * kern/term.c (grub_putcode): Renamed to ...
14093 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
14094 (grub_putchar): Removed.
14095 (grub_xputs_dumb): New function.
14096 (grub_xputs): New variable.
14097 * lib/charset.c: Move from here ...
14098 * normal/charset.c: ... to here.
14099 (grub_ucs4_to_utf8): New function.
14100 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
14101 (join_types): New variable.
14102 (unpack_join): New function.
14103 (bidi_types): New variable.
14104 (unpack_bidi): New function.
14105 (get_bidi_type): Likewise.
14106 (get_join_type): Likewise.
14107 (is_mirrored): Likewise.
14108 (grub_unicode_get_comb_type): Likewise.
14109 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
14110 (is_type_after): Likewise.
14111 (grub_unicode_aglomerate_comb): Likewise.
14112 (bidi_line_wrap): Likewise.
14113 (grub_bidi_line_logical_to_visual): Likewise.
14114 (grub_bidi_logical_to_visual): Likewise.
14115 (grub_unicode_mirror_code): Likewise.
14116 (grub_unicode_shape_code): Likewise.
14117 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
14118 Don't use grub_putchar.
14119 * normal/main.c (grub_normal_init_page): Use grub_putcode.
14120 (grub_normal_reader_init): Likewise.
14121 (grub_xputs_saved): New variable.
14122 (GRUB_MOD_INIT): Set grub_xputs.
14123 (GRUB_MOD_FINI): Restore grub_xputs.
14124 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
14125 (menu_init): Avoid printing gfxmenu error.
14126 (show_menu): Use grub_normal_get_char_counter.
14127 * normal/menu_entry.c (update_screen): Fix out-of-array.
14128 (complete): Avoid NULL dereferencing.
14129 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
14130 * normal/menu_text.c (print_spaces): Removed.
14131 (grub_print_ucs4): Likewise.
14132 (grub_print_message_indented): Use grub_print_ucs4.
14133 (print_message): Use grub_putcode.
14134 (print_entry): Hanlde diacritics.
14135 * normal/term.c (term_state): New type.
14136 (grub_more_lines): Removed.
14137 (term_states): New variable.
14138 (grub_normal_line_counter): Renamed to ..
14139 (grub_normal_char_counter): ...this. All users updated.
14140 (grub_normal_get_line_counter): Renamed to ...
14141 (grub_normal_get_char_counter): ... this.
14142 (grub_normal_reset_more): New function.
14143 (process_newline): Removed.
14144 (print_more): New function.
14145 (grub_install_newline_hook): Removed.
14146 (map_code): New function.
14147 (grub_puts_terminal): Use grub_print_ucs4.
14148 (putglyph): New function.
14149 (putcode_real): Likewise.
14150 (grub_putcode): Use putcode_real.
14151 (get_maxwidth): New function.
14152 (get_startwidth): Likewise.
14153 (print_ucs4_terminal): Likewise.
14154 (find_term_state): Likewise.
14155 (put_glyphs_terminal): Likewise.
14156 (print_backlog): Likewise.
14157 (print_ucs4_real): Likewise.
14158 (grub_print_ucs4): Likewise.
14159 (grub_xputs_normal): Likewise.
14160 * term/efi/console.c (grub_console_putchar): Output diacritics.
14161 (grub_console_getcharwidth): Removed.
14162 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14163 * term/gfxterm.c (clear_char): Free chars.
14164 (scroll_up): Avoid leaking memory.
14165 (grub_gfxterm_putchar): Support diacritics.
14166 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
14167 * term/i386/pc/console.c (grub_console_term_output): Declare as
14168 GRUB_TERM_CODE_TYPE_VGA.
14169 * term/i386/pc/vga.c (grub_vga_term): Declare as
14170 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
14171 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
14172 GRUB_TERM_CODE_TYPE_VGA.
14173 * term/i386/vga_common.c (map_char): Removed.
14174 (grub_console_putchar): Likewise.
14175 (grub_console_getcharwidth): Likewise.
14176 * term/ieee1275/ofconsole.c: Simplify using terminfo.
14177 (colors): Reordered to match terminfo.
14178 (grub_ofconsole_normal_color): Removed.
14179 (grub_ofconsole_writeesc): Likewise.
14180 (grub_ofconsole_highlight_color): Likewise.
14181 (grub_ofconsole_getcharwidth): Likewise.
14182 (grub_ofconsole_setcolorstate): Likewise.
14183 (grub_ofconsole_setcolor): Likewise.
14184 (grub_ofconsole_getcolor): Likewise.
14185 (grub_ofconsole_readkey): Renamed to ...
14186 (readkey): ... this. Remove escape sequence handling. Return -1 on no
14187 key.
14188 (grub_ofconsole_checkkey): Removed.
14189 (grub_ofconsole_getkey): Likewise.
14190 (grub_ofconsole_getxy): Likewise.
14191 (grub_ofconsole_gotoxy): Likewise.
14192 (grub_ofconsole_cls): Likewise.
14193 (grub_ofconsole_refresh): Likewise.
14194 (grub_ofconsole_terminfo_input): New struct.
14195 (grub_ofconsole_terminfo_output): Likewise.
14196 (grub_ofconsole_term_input): Use terminfo.
14197 (grub_ofconsole_term_output): Likewise.
14198 (grub_console_init): Split into ...
14199 (grub_console_init_early): ...this and ...
14200 (grub_console_init_lately): ...this. Use terminfo.
14201 (grub_ofconsole_putchar): Renamed to ...
14202 (put): ... this. Remove mapping.
14203 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
14204 * term/serial.c: Simplify using terminfo.
14205 (xpos): Removed.
14206 (ypos): Likewise.
14207 (keep_track): Likewise.
14208 (registered): Likewise.
14209 (input_buf): Likewise.
14210 (npending): Likewise.
14211 (serial_translate_key_sequence): Likewise.
14212 (fill_input_buf): Likewise.
14213 (grub_serial_checkkey): Likewise.
14214 (grub_serial_getkey): Likewise.
14215 (grub_serial_getxy): Likewise.
14216 (grub_serial_gotoxy): Likewise.
14217 (grub_serial_putchar): Likewise.
14218 (grub_serial_cls): Likewise.
14219 (grub_serial_setcolorstate): Likewise.
14220 (grub_serial_setcursor): Likewise.
14221 (serial_hw_init): Use serial_hw_fetch.
14222 (grub_serial_terminfo_input): New variable.
14223 (grub_serial_terminfo_output): Likewise.
14224 (grub_serial_term_input): Use terminfo.
14225 (grub_serial_term_output): Likewise.
14226 * term/terminfo.c (putstr): Use put.
14227 (grub_terminfo_all_free): New function
14228 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
14229 (grub_terminfo_output_register): New function.
14230 (grub_terminfo_output_unregister): Likewise.
14231 (grub_terminfo_getxy): Likewise.
14232 (grub_terminfo_readkey): Likewise.
14233 (grub_terminfo_checkkey): Likewise.
14234 (grub_terminfo_getkey): Likewise.
14235 (grub_terminfo_input_init): Likewise.
14236 (print_terminfo): Likewise.
14237 (grub_cmd_terminfo): Handle encoding.
14238 (grub_terminfo_gotoxy): Track position.
14239 (grub_terminfo_cls): Likewise.
14240 (grub_terminfo_putchar): Likewise.
14241 (grub_terminfo_setcolorstate): Handle colors
14242 (grub_terminfo_cursor_on): This ...
14243 (grub_terminfo_cursor_off): ... and this merged into ...
14244 (grub_terminfo_setcursor): ... this.
14245 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
14246 * unicode/ArabicShaping.txt: New file (imported from Unicode).
14247 * unicode/BidiMirroring.txt: Likewise.
14248 * unicode/UnicodeData.txt: Likewise.
14249 * unicode/COPYING: Likewise.
14250 * util/grub-editenv.c (grub_putchar): Removed.
14251 (grub_xputs_real): New function.
14252 (grub_xputs): New variable.
14253 * util/grub-fstest.c (grub_putchar): Removed.
14254 (grub_xputs_real): New function.
14255 (grub_xputs): New variable.
14256 * util/grub-mkdevicemap.c (grub_putchar): Removed.
14257 (grub_xputs_real): New function.
14258 (grub_xputs): New variable.
14259 * util/grub-probe.c (grub_putchar): Removed.
14260 (grub_xputs_real): New function.
14261 (grub_xputs): New variable.
14262 * util/grub-script-check.c (grub_putchar): Removed.
14263 (grub_xputs_real): New function.
14264 (grub_xputs): New variable.
14265 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
14266 (grub_xputs_real): New function.
14267 (grub_xputs): New variable.
14268 * util/import_unicode.py: New file.
14269 * util/grub-mkfont.c (ft_errmsgs): New array.
14270 (grub_glyph_info): Make bitmap a pointer.
14271 (file_formats): New type WIDTH_SPEC.
14272 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
14273 (options): Add width-spec.
14274 (help): Likewise.
14275 (add_char): Renamed to ...
14276 (add_glyph): ... this.
14277 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
14278 (glyph_replace): New type.
14279 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
14280 (add_char): New function.
14281 (add_subst): Likewise.
14282 (process_cursive): Likewise.
14283 (add_font): Handle GSUB.
14284 (write_font_width_spec): New function.
14285 (main): Sort glyphs.
14286 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
14287 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14288 * kern/term.c (grub_cls): Moved from here...
14289 * normal/term.c (grub_cls): ... here.
14290
14291 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14292
14293 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14294 suitable for using within the format argument of printf when
14295 converting grub_size_t.
14296 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14297 "x" to convert grub_size_t arguments.
14298
14299 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14302 too long captions.
14303 (list_get_minimal_size): Take selection box into account.
14304
14305 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14306
14307 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14308 NULL font.
14309
14310 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14311
14312 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14313 devices when iterating over /dev/disk/by-id; they will be handled
14314 later if appropriate, which they aren't always (e.g. LVM).
14315
14316 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14317
14318 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14319 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14320 fails.
14321 (grub_halt): Likewise.
14322 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14323 reset-all fails.
14324 (grub_halt): Don't return, even if all of shut-down, power-off, and
14325 poweroff fail.
14326
14327 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14328
14329 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14330 arguments, not three.
14331
14332 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14333
14334 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14335 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14336 LVM-on-RAID is handled correctly.
14337
14338 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14339
14340 * docs/grub.texi (Changes from GRUB Legacy): New section.
14341 (Future): Fix typo.
14342
14343 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14344
14345 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14346 grub.d/README accidentally ends up executable for one reason or
14347 another. Ignore it.
14348
14349 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14352 (gpt_partition_map_iterate): Support non-512B sectors.
14353
14354 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14357 Tested by: Seth Goldberg.
14358
14359 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14362 Properly align mbi.
14363 Reported by: Seth Goldberg.
14364
14365 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14366
14367 * util/grub-mkrescue.in: Avoid module duplication.
14368
14369 2010-07-01 Sean Finney <seanius@seanius.net>
14370
14371 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14372
14373 2010-07-01 Sean Finney <seanius@seanius.net>
14374
14375 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14376
14377 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * disk/lvm.c (grub_lvm_checkvalue): New function.
14380 (grub_lvm_check_flag): Likewise.
14381
14382 2010-07-01 Robert Millan <rmh@gnu.org>
14383
14384 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14385 Support 'p' as partition separator on kernel of FreeBSD (used
14386 with GPT labels).
14387 (grub_util_biosdisk_get_grub_dev): Likewise.
14388
14389 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14390
14391 Yeeloong firmware port.
14392
14393 * boot/mips/yeeloong/fwstart.S: New file.
14394 * bus/cs5536.c (gpiodump): New const.
14395 (set_io_space): New function.
14396 (set_iod): Likewise.
14397 (set_p2d): Likewise.
14398 (grub_cs5536_init_geode): Likewise.
14399 * commands/mips/yeeloong/lsspd.c: New file.
14400 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14401 (serial_mod_SOURCES): New variable.
14402 (serial_mod_CFLAGS): Likewise.
14403 (serial_mod_LDFLAGS): Likewise.
14404 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14405 term/terminfo.c and term/tparm.c.
14406 (pkglib_IMAGES): Add fwstart.img.
14407 (fwstart_img_SOURCES): New variable.
14408 (fwstart_img_CFLAGS): Likewise.
14409 (fwstart_img_ASFLAGS): Likewise.
14410 (fwstart_img_LDFLAGS): Likewise.
14411 (fwstart_img_FORMAT): Likewise.
14412 (pkglib_MODULES): Add lsspd.mod.
14413 (lsspd_mod_SOURCES): New variable.
14414 (lsspd_mod_CFLAGS): Likewise.
14415 (lsspd_mod_LDFLAGS): Likewise.
14416 (pkglib_MODULES): Add halt.mod.
14417 (halt_mod_SOURCES): New variable.
14418 (halt_mod_CFLAGS): Likewise.
14419 (halt_mod_LDFLAGS): Likewise.
14420 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14421 (serial_mod_SOURCES): Removed.
14422 (serial_mod_CFLAGS): Likewise.
14423 (serial_mod_LDFLAGS): Likewise.
14424 * disk/ata.c (check_device): New function.
14425 (grub_ata_device_initialize): Use check_device.
14426 (grub_ata_iterate): Recheck devices.
14427 (grub_ata_open): Likewise.
14428 (grub_atapi_iterate): Likewise.
14429 (grub_atapi_open): Likewise.
14430 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14431 (GRUB_ATA_CH1_PORT1): Likewise.
14432 (GRUB_ATA_CH0_PORT2): Likewise.
14433 (GRUB_ATA_CH1_PORT2): Likewise.
14434 * include/grub/mips/loongson.h: New file.
14435 * include/grub/mips/yeeloong/ec.h: Likewise.
14436 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14437 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14438 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14439 * include/grub/misc.h (grub_halt): Declare as noreturn.
14440 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14441 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14442 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14443 (UART_ENABLE_DTRRTS): Likewise.
14444 (UART_ENABLE_MODEM): Removed.
14445 (UART_ENABLE_OUT2): New const.
14446 * include/grub/term.h (grub_term_register_input_active): New function.
14447 (grub_term_register_output_active): Likewise.
14448 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14449 argument.
14450 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14451 (init_pci): New function.
14452 (grub_machine_init): Execute platform init when firmware. Init serial.
14453 (grub_halt): Implement.
14454 (grub_exit): Likewise.
14455 (grub_reboot): Likewise.
14456 * term/serial.c (serial_hw_init): Update macros.
14457 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14458 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14459 (image_targets): New target mipsel-yeeloong-flash.
14460 (generate_image): Support IMAGE_YEELOONG_FLASH.
14461 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14462 (grub_video_sm712_setup): Init card.
14463 (grub_video_sm712_set_palette): Removed.
14464 * video/sm712_init.c: New file.
14465
14466 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
14467
14468 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14469 PATH when running help2man and then run it on the unadorned
14470 executable names, rather than passing $(builddir)/* paths to
14471 help2man. This avoids the build directory ending up in generated
14472 manual pages.
14473
14474 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14475
14476 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14477 to avoid accidents when debugging with 'sh -x'.
14478 * util/grub-mkrescue.in: Likewise.
14479 * util/grub.d/00_header.in: Likewise.
14480 * util/grub.d/10_hurd.in: Likewise.
14481 * util/grub.d/10_kfreebsd.in: Likewise.
14482 * util/grub.d/10_linux.in: Likewise.
14483 * util/grub.d/10_netbsd.in: Likewise.
14484 * util/grub.d/10_windows.in: Likewise.
14485 * util/grub.d/20_linux_xen.in: Likewise.
14486 * util/grub.d/30_os-prober.in: Likewise.
14487 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14488
14489 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14490
14491 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14492 last character in the buffer.
14493 Reported by: Vladimir Serbinenko.
14494
14495 2010-06-29 Robert Millan <rmh@gnu.org>
14496
14497 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14498 (Command-line and menu entry commands): Document `badram' command.
14499
14500 2010-06-28 Robert Millan <rmh@gnu.org>
14501
14502 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14503 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14504 command using ${GRUB_BADRAM} as parameter.
14505
14506 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14507
14508 * docs/grub.texi (Device map): New section.
14509 (Themes): New section (stub).
14510 * Makefile.in (docs/grub.info): The info documentation now builds
14511 without errors. Make sure it stays that way.
14512
14513 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 Use normal parser for menu entries.
14516 Reported by: Thomas Frauendorfer
14517
14518 * include/grub/parser.h (grub_parser_execute): Don't export.
14519 * normal/menu.c (grub_menu_execute_entry_real): New function.
14520 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14521
14522 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * docs/grub.texi (Embedded configuration): New section (replacing
14525 old "Preset Menu" stub).
14526 (Images): New section.
14527 (configfile): Note that any menu entries defined in `file' are shown
14528 immediately.
14529
14530 2010-06-28 Josh Triplett <josh@joshtriplett.org>
14531
14532 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14533
14534 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14535
14536 * util/grub-install.in: Add --debug-image= option.
14537
14538 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14539
14540 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14541 possible on Linux.
14542
14543 * util/deviceiter.c (check_device): Rename to ...
14544 (check_device_readable_unique): ... this. Update all callers.
14545 Maintain and check a list of which devices (by canonicalized name)
14546 have already been seen.
14547 (clear_seen_devices): New function.
14548 (compare_file_names) [__linux__]: New function.
14549 (grub_util_iterate_devices): Clear the list of seen devices on exit
14550 and (just in case) on entry.
14551 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14552 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14553 seen-devices list, superseded by general code in check_device.
14554
14555 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14556
14557 * commands/cat.c (options): New variable.
14558 (grub_cmd_cat): Parse options. If the --dos option is given, print
14559 DOS-style "\r\n" line endings as simple newlines (Debian bug
14560 #586358).
14561 (GRUB_MOD_INIT): Use extcmd.
14562 (GRUB_MOD_FINI): Likewise.
14563 * docs/grub.texi (cat): Document --dos.
14564
14565 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 XEN with Linux grub-mkconfig support.
14568
14569 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14570 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14571 GRUB_CMDLINE_XEN_DEFAULT.
14572 * util/grub.d/20_linux_xen.in: New file.
14573
14574 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 Initialise VGA video on qemu ourselves.
14577
14578 * boot/i386/qemu/boot.S: Don't call 0xc000.
14579 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14580 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14581 (kernel_img_HEADERS): Add pci.h.
14582 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14583 * configure.ac: Force unifont on qemu and yeeloong.
14584 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14585 (grub_vga_palette_write): Use correct register.
14586 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14587 Call grub_qemu_init_cirrus.
14588 * kern/i386/qemu/init.c: New file.
14589 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14590
14591 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14592
14593 2010-06-26 Pavel Roskin <proski@gnu.org>
14594
14595 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14596 13.
14597
14598 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14599
14600 * docs/grub.texi (Simple configuration): Explain that
14601 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14602 set to `true' to disable their respective recovery entries, not
14603 merely set.
14604
14605 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14606
14607 Make the `source' command slightly faster.
14608
14609 * normal/main.c (grub_normal_execute): Don't re-read list files when
14610 nested.
14611
14612 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14613
14614 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14615 field position and mask size to red fields from mode_info, not
14616 green.
14617 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14618 Remove redundant tag->common.framebuffer_type assignment.
14619 Reported by: Seth Goldberg.
14620
14621 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14622
14623 Sync up other versions of the Linux loader with Robert Millan's
14624 change of 2010-01-09, "Make loader output a bit more user-friendly".
14625
14626 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14627 grub_dprintf().
14628 (grub_cmd_linux): Likewise.
14629 (grub_cmd_initrd): Likewise.
14630 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14631 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14632
14633 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
14634
14635 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14636 larger than MEMORY_MAP_SIZE.
14637
14638 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14639
14640 Fix parallel build.
14641
14642 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14643 dependency.
14644 * script/parser.y: #include grub_script.tab.h header.
14645
14646 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14647
14648 Support >3GiB and <16MiB RAM in i386-qemu.
14649
14650 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14651 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14652 (grub_lower_mem): Removed.
14653 (grub_upper_mem): Likewise.
14654 (mem_size): Made static.
14655 (above_4g): New variable.
14656 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14657 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14658 support.
14659
14660 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 Cirrus 5446 and Bochs video cards support.
14663
14664 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14665 video_bochs.mod
14666 (video_cirrus_mod_SOURCES): New variable.
14667 (video_cirrus_mod_CFLAGS): Likewise.
14668 (video_cirrus_mod_LDFLAGS): Likewise.
14669 (video_bochs_mod_SOURCES): Likewise.
14670 (video_bochs_mod_CFLAGS): Likewise.
14671 (video_bochs_mod_LDFLAGS): Likewise.
14672 * include/grub/vga.h: New file.
14673 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14674 (grub_video_fb_set_page_t): New type.
14675 (grub_video_fb_setup): New prototype.
14676 (grub_video_fb_swap_buffers): Likewise.
14677 (grub_video_fb_get_info_and_fini): Likewise.
14678 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14679 (CRTC_DATA_PORT): Likewise.
14680 (CRTC_CURSOR): Likewise.
14681 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14682 (CRTC_CURSOR_ADDR_LOW): Likewise.
14683 (CRTC_CURSOR_DISABLE): Likewise.
14684 (update_cursor): Use grub_vga_cr_write.
14685 (grub_vga_text_setcursor): Likewise.
14686 * video/bochs.c: New file.
14687 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14688 (palette): Likewise.
14689 (palette_size): Likewise.
14690 (framebuffer): New variable.
14691 (grub_video_fb_init): Use 'framebuffer'.
14692 (grub_video_fb_fini): Likewise.
14693 (grub_video_fb_get_info): Likewise.
14694 (grub_video_fb_get_palette): Likewise.
14695 (grub_video_fb_set_palette): Likewise.
14696 (grub_video_fb_set_viewport): Likewise.
14697 (grub_video_fb_get_viewport): Likewise.
14698 (grub_video_fb_map_color): Likewise.
14699 (grub_video_fb_map_rgb): Likewise.
14700 (grub_video_fb_map_rgba): Likewise.
14701 (grub_video_fb_unmap_color): Likewise.
14702 (grub_video_fb_unmap_color_int): Likewise.
14703 (grub_video_fb_fill_rect): Likewise.
14704 (grub_video_fb_blit_bitmap): Likewise.
14705 (grub_video_fb_blit_render_target): Likewise.
14706 (grub_video_fb_scroll): Likewise.
14707 (grub_video_fb_create_render_target): Likewise.
14708 (grub_video_fb_doublebuf_blit_init): Likewise.
14709 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14710 (doublebuf_pageflipping_update_screen): New function.
14711 (doublebuf_pageflipping_init): Likewise.
14712 (grub_video_fb_setup): Likewise.
14713 (grub_video_fb_swap_buffers): Likewise.
14714 (grub_video_fb_get_info_and_fini): Likewise.
14715 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14716 All users updated.
14717 (doublebuf_pageflipping_commit): Restructured into ...
14718 (doublebuf_pageflipping_set_page): ... this.
14719 (doublebuf_pageflipping_update_screen): Removed.
14720 (doublebuf_pageflipping_init): Likewise.
14721 (double_buffering_init): Likewise.
14722 (grub_video_vbe_setup): Use grub_video_fb_setup.
14723 (grub_video_vbe_swap_buffers): Removed.
14724 (grub_video_vbe_set_active_render_target): Likewise.
14725 (grub_video_vbe_get_active_render_target): Likewise.
14726 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14727 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14728 grub_video_fb_set_active_render_target and
14729 grub_video_fb_get_active_render_target.
14730 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14731 (SEQUENCER_DATA_PORT): Likewise.
14732 (MAP_MASK_REGISTER): Likewise.
14733 (CRTC_ADDR_PORT): Likewise.
14734 (CRTC_DATA_PORT): Likewise.
14735 (START_ADDR_HIGH_REGISTER): Likewise.
14736 (START_ADDR_LOW_REGISTER): Likewise.
14737 (GRAPHICS_ADDR_PORT): Likewise.
14738 (GRAPHICS_DATA_PORT): Likewise.
14739 (READ_MAP_REGISTER): Likewise.
14740 (INPUT_STATUS1_REGISTER): Likewise.
14741 (INPUT_STATUS1_VERTR_BIT): Likewise.
14742 (get_map_mask): Use grub_vga_sr_read.
14743 (set_map_mask): Use grub_vga_sr_write.
14744 (set_read_map): Use grub_vga_gr_write.
14745 (set_start_address): Use grub_vga_cr_write.
14746 * video/sm712.c (framebuffer): Remove leftover fields.
14747
14748 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
14749
14750 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14751 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14752 instead. Replace the gfxterm backend check with a check that
14753 ${GRUB_PREFIX}/video.lst is non-empty.
14754 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14755 again.
14756 (load_video): New generated function. Call it before loading
14757 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14758 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14759 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14760 * docs/grub.texi (Simple configuration): Document
14761 GRUB_VIDEO_BACKEND.
14762
14763 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 Use video functions in linux and xnu loaders.
14766
14767 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14768 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14769 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14770 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14771 loader/i386/pc/linux.c.
14772 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14773 (find_line_len): Removed.
14774 (find_framebuf): Likewise.
14775 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14776 * loader/i386/efi/xnu.c: Removed.
14777 * loader/i386/pc/xnu.c: Moved from here...
14778 * loader/i386/xnu.c: ...here.
14779
14780 Enable priorities in video drivers.
14781
14782 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14783 (grub_video_adapter): New field prio.
14784 (grub_video_register): Respect prio when inserting.
14785 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14786 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14787 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14788 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14789 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14790 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14791 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14792
14793 Fix SDL driver ID.
14794
14795 * include/grub/video.h (grub_video_driver_id_t): New value
14796 GRUB_VIDEO_DRIVER_SDL.
14797 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14798
14799 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14800
14801 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14802 argument to printf.
14803 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14804
14805 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14806
14807 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14808 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14809
14810 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14811
14812 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14813 directly, and recommend grub-install instead.
14814 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14815
14816 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14817
14818 Fix i386-pc prefix handling with nested partitions (Debian bug
14819 #585068). Note that the case where the core image is booted using
14820 multiboot and relocated from its original location still requires
14821 more work.
14822
14823 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14824 with "(,", fill the boot drive in between those two characters, but
14825 expect that a full partition specification including partition map
14826 names will follow.
14827 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14828 specified, write a prefix without the drive name but including a
14829 full partition specification.
14830
14831 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
14832
14833 * util/grub-mkconfig.in: Ignore non-option arguments, for
14834 compatibility with older versions (before 2010-06-12) which did the
14835 same. In particular, this makes it easier to ship an update-grub
14836 wrapper which is compatible with that used with GRUB Legacy (Debian
14837 bug #586056).
14838
14839 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14840
14841 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14842 for manual page generation.
14843
14844 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14845
14846 * po/POTFILES: Remove leftover commands/handler.c.
14847
14848 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14849
14850 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14851 left this script non-functional.
14852
14853 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14854
14855 * docs/man/grub-emu.h2m: New file.
14856
14857 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
14858
14859 * docs/grub.texi (Commands): Document reduced command set in rescue
14860 mode.
14861 (cpuid): New section.
14862
14863 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14864
14865 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14866 new partition naming style.
14867 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14868
14869 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14870
14871 Add "-o grub.iso" like cmdline options support.
14872
14873 * util/grub-install.in: Improve cmdline option parsing.
14874 * util/grub-mkconfig.in: Likewise.
14875 * util/grub-mkrescue.in: Likewise.
14876 * util/grub-reboot.in: Likewise.
14877 * util/grub-set-default.in: Likewise.
14878 * util/i386/efi/grub-install.in: Likewise.
14879 * util/ieee1275/grub-install.in: Likewise.
14880 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14881
14882 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14883
14884 * .bzrignore: Ignore 41_custom.
14885
14886 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14887
14888 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14889
14890 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14891
14892 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14893 prototype declarations.
14894
14895 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14896 generating fs, partmap, and video lists.
14897 * include/grub/fs.h (grub_fs_register): Omit prototype if
14898 GRUB_LST_GENERATOR is defined.
14899 * include/grub/partition.h (grub_partition_map_register): Likewise.
14900 * include/grub/video.h (grub_video_register): Likewise.
14901
14902 2010-06-12 Javier Martín <lordhabbit@gmail.com>
14903
14904 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14905
14906 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14907
14908 * util/grub-mkrescue.in: Support --xorriso argument.
14909
14910 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14911
14912 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
14913 Suggested by: Thomas Schmitt.
14914
14915 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14916
14917 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
14918 Suggested by: Thomas Schmitt.
14919
14920 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 custom.cfg support.
14923
14924 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
14925 * util/grub.d/41_custom.in: New file.
14926
14927 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14928
14929 * util/grub-mkrescue.in (make_image): Remove sh module, which has
14930 been merged back into normal.
14931
14932 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
14935 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
14936
14937 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
14940 when generating manual pages.
14941 * docs/man/grub-bin2h.h2m: New file.
14942 * docs/man/grub-editenv.h2m: New file.
14943 * docs/man/grub-fstest.h2m: New file.
14944 * docs/man/grub-install.h2m: New file.
14945 * docs/man/grub-macho2img.h2m: New file.
14946 * docs/man/grub-mkconfig.h2m: New file.
14947 * docs/man/grub-mkdevicemap.h2m: New file.
14948 * docs/man/grub-mkfont.h2m: New file.
14949 * docs/man/grub-mkimage.h2m: New file.
14950 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
14951 * docs/man/grub-mkrelpath.h2m: New file.
14952 * docs/man/grub-mkrescue.h2m: New file.
14953 * docs/man/grub-ofpathname.h2m: New file.
14954 * docs/man/grub-pe2elf.h2m: New file.
14955 * docs/man/grub-probe.h2m: New file.
14956 * docs/man/grub-reboot.h2m: New file.
14957 * docs/man/grub-script-check.h2m: New file.
14958 * docs/man/grub-set-default.h2m: New file.
14959 * docs/man/grub-setup.h2m: New file.
14960
14961 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
14962
14963 Use FOR_* macros instead of *_iterate whenever possible.
14964
14965 * commands/handler.c: Removed.
14966 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
14967 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
14968 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14969 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
14970 (grub_probe_SOURCES): Remove kern/parser.c.
14971 (util/grub-script-check.c_DEPENDENCIES): Removed.
14972 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
14973 and grub_script_check_init.c.
14974 (grub_script_check_init.lst): Removed.
14975 (grub_script_check_init.h): Likewise.
14976 (grub_script_check_init.c): Likewise.
14977 (pkglib_MODULES): Remove handler.mod and sh.mod.
14978 (handler_mod_SOURCES): Removed.
14979 (handler_mod_CFLAGS): Likewise.
14980 (handler_mod_LDFLAGS): Likewise.
14981 (normal_mod_SOURCES): Remove normal/handler.c.
14982 Add script/main.c, script/script.c, script/execute.c,
14983 script/function.c, script/lexer.c, grub_script.tab.c
14984 and grub_script.yy.c.
14985 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14986 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14987 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
14988 (grub_setup_SOURCES): Remove kern/parser.c.
14989 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14990 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
14991 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14992 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14993 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14994 (grub_setup_SOURCES): Remove kern/parser.c.
14995 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14996 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
14997 * include/grub/command.h (grub_command_iterate): Removed.
14998 (FOR_COMMANDS): New macro.
14999 * include/grub/dl.h (grub_dl): New member next.
15000 (grub_dl_iterate): Removed.
15001 (grub_dl_head): New variable declaration.
15002 (FOR_DL_MODULES): New macro.
15003 * include/grub/fs.h: Include list.h.
15004 (grub_fs): Make next first element.
15005 (grub_fs_list): New variable declaration.
15006 (grub_fs_register): Make inline.
15007 (grub_fs_unregister): Likewise.
15008 (grub_fs_iterate): Removed.
15009 (FOR_FILESYSTEMS): New macro.
15010 * include/grub/handler.h: Removed.
15011 * include/grub/list.h (grub_list_hook_t): Removed.
15012 (grub_list_test_t): Likewise.
15013 (grub_list_pop): Likewise.
15014 (grub_list_iterate): Likewise.
15015 (grub_list_insert): Likewise.
15016 (FOR_LIST_ELEMENTS): New macro.
15017 * include/grub/parser.h (grub_parser_class): Removed.
15018 (grub_parser_register): Likewise.
15019 (grub_parser_unregister): Likewise.
15020 (grub_parser_get_current): Likewise.
15021 (grub_parser_set_current): Likewise.
15022 (grub_register_rescue_parser): Likewise.
15023 (grub_rescue_parse_line): New function.
15024 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
15025 * include/grub/script_sh.h (grub_script_function_list): New variable
15026 declaration.
15027 (FOR_SCRIPT_FUNCTIONS): New macro.
15028 (grub_script_function_iterate): Removed.
15029 (grub_normal_parse_line): New prototype.
15030 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
15031 (FOR_DISABLED_TERM_INPUTS): Likewise.
15032 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15033 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15034 * include/grub/video.h (grub_video_adapter): Move 'next' to first
15035 element.
15036 (grub_video_register): Inline.
15037 (grub_video_unregister): Likewise.
15038 (grub_video_adapter_list): New variable declaration.
15039 (grub_video_iterate): Removed.
15040 (FOR_VIDEO_ADAPTERS): New macro.
15041 * kern/dl.c (grub_dl_list): Removed. All users updated.
15042 (grub_dl_iterate): Removed.
15043 * kern/fs.c (grub_fs_list): Make global.
15044 (grub_fs_register): Removed.
15045 (grub_fs_unregister): Likewise.
15046 (grub_fs_iterate): Likewise.
15047 * kern/handler.c: Removed.
15048 * kern/list.c (grub_list_pop): Removed.
15049 (grub_list_iterate): Likewise.
15050 (grub_list_insert): Likewise.
15051 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
15052 (grub_prio_list_insert): Don't use grub_list_insert.
15053 * kern/main.c (grub_register_rescue_parser): Don't call
15054 grub_register_rescue_parser.
15055 * kern/parser.c (grub_parser_class): Removed.
15056 (grub_parser_execute): Use grub_rescue_parse_line.
15057 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
15058 (grub_rescue_parser): Removed.
15059 (grub_register_rescue_parser): Likewise.
15060 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
15061 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
15062 (grub_auth_check_authentication): Likewise.
15063 * normal/completion.c (iterate_command): Removed.
15064 (grub_normal_do_completion): Use FOR_COMMANDS.
15065 * normal/handler.c: Removed.
15066 * normal/main.c (read_config_file): Remove parser changing.
15067 (grub_normal_execute): Don't call read_handler_list.
15068 (grub_normal_read_line_real): Statically allocate prompt.
15069 (grub_cmdline_run): Use grub_normal_parse_line.
15070 (GRUB_MOD_FINI): Don't call free_handler_list.
15071 * normal/menu_entry.c (run): Likewise.
15072 * script/function.c (grub_script_function_list): Make global.
15073 (grub_script_function_iterate): Removed.
15074 * script/main.c (grub_normal_parse_line): Make global.
15075 (grub_sh_parser): Removed.
15076 (GRUB_MOD_INIT): Likewise.
15077 (GRUB_MOD_FINI): Likewise.
15078 * tests/lib/functional_test.c (grub_functional_test): Use
15079 FOR_LIST_ELEMENTS.
15080 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
15081 (grub_test_run): Use FOR_LIST_ELEMENTS.
15082 * tests/lib/unit_test.c (main): Likewise.
15083 * util/deviceiter.c (grub_util_iterate_devices): Don't use
15084 grub_list_pop.
15085 * util/grub-fstest.c (grub_term_input_class): Removed.
15086 (grub_term_output_class): Likewise.
15087 * util/grub-probe.c: Likewise.
15088 * util/i386/pc/grub-setup.c: Likewise.
15089 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15090 * util/grub-script-check.c (main): Don't call grub_init_all and
15091 grub_fini_all.
15092 * video/video.c (grub_video_adapter_list): Make global.
15093 (grub_video_register): Removed.
15094 (grub_video_unregister): Likewise.
15095 (grub_video_iterate): Likewise.
15096
15097 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
15098
15099 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
15100 reported by Henrique Ferreiro.
15101
15102 2010-06-09 Robert Millan <rmh@gnu.org>
15103
15104 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
15105 ones, when both are available.
15106
15107 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15108
15109 Make --version uniform and avoid hard-coded program name.
15110
15111 * util/grub-mkimage.c (main): Use `program_name' instead of
15112 hard-coded string.
15113 * util/i386/pc/grub-setup.c (main): Likewise.
15114 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
15115 * util/grub-install.in: Save the basename of $0 in $self, and use the
15116 latter in informational messages. Use the same format for --version
15117 as the binary programs.
15118 * util/grub-mkconfig.in: Likewise.
15119 * util/grub-mkrescue.in: Likewise.
15120 * util/grub-reboot.in: Likewise.
15121 * util/grub-set-default.in: Likewise.
15122 * util/i386/efi/grub-install.in: Likewise.
15123 * util/ieee1275/grub-install.in: Likewise.
15124 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
15125
15126 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15127
15128 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
15129 embedding area. Use <= instead of == when checking for non-emptiness.
15130
15131 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
15132
15133 * configure.ac: Add `.' to the directories searched for unifont.
15134
15135 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15136
15137 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
15138 grub_script.yy.h.
15139
15140 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15141
15142 * docs/grub.texi (History): Expand to cover GRUB 2.
15143 (Serial terminal): Refer to `terminal_input' and `terminal_output'
15144 commands, not `terminal'.
15145 (serial): Likewise.
15146 (terminal_input): New section.
15147 (terminal_output): New section.
15148 (uppermem): New section (stub).
15149 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
15150
15151 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
15152
15153 * docs/grub.texi (Security): Menu entries are unrestricted by
15154 default, not restricted to superusers as I had previously thought.
15155 Reword to account for this.
15156
15157 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15158
15159 * kern/emu/misc.c (device_mapper_null_log): New function.
15160 (grub_device_mapper_supported): New function.
15161 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
15162 prototype.
15163 * kern/emu/hostdisk.c (find_partition_start): Check whether
15164 device-mapper is supported before trying to use it.
15165 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
15166
15167 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15168
15169 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
15170 (File name syntax): Likewise.
15171 (help): --all is no longer supported in GRUB 2. Be more precise
15172 about pattern matching.
15173
15174 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15175
15176 * normal/completion.c (grub_normal_do_completion): When completing
15177 arguments to "set" and the current word contains an equals sign,
15178 skip to after the equals sign before starting completion.
15179
15180 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15181
15182 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
15183
15184 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15185
15186 * docs/grub.texi (Network): New section.
15187 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
15188 `(nd)' as in GRUB Legacy.
15189 (pxe_unload): New section.
15190
15191 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15192
15193 * docs/grub.texi (Troubleshooting): `echo' is not usually available
15194 in the rescue shell, so recommend using `set' instead. Thanks,
15195 Jordan Uggla.
15196
15197 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15198
15199 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
15200 (password): New section.
15201 (password_pbkdf2): New section.
15202 (search): New section.
15203 (Security): New section.
15204 (Troubleshooting): New section, currently very incomplete.
15205 (Invoking grub-mkpasswd-pbkdf2): New section.
15206 (Internals): New section, currently very incomplete.
15207
15208 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15209
15210 * util/grub.d/00_header.in: Add some more quoting (of
15211 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
15212 work again.
15213 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
15214
15215 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
15216
15217 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
15218 to `count', fixing variable shadowing that broke the -c option.
15219
15220 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
15221
15222 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
15223 in case they contain spaces.
15224
15225 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
15226
15227 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
15228 "part_" to partmap module names, in line with grub-install.
15229 Reported by: Jindřich Makovička (Debian bug #584426).
15230
15231 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
15232
15233 * util/grub-mkimage.c: Make target-related error messages slightly
15234 more helpful; -O talks about "format". Explicitly point to the use
15235 of -O if no target is specified.
15236 Reported by: Didier Raboud (Debian bug #584415).
15237
15238 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
15239
15240 * INSTALL: Document several build requirements for optional features
15241 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
15242
15243 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
15244
15245 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
15246 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
15247 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
15248
15249 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15250
15251 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
15252 Thanks to Jordan Uggla for spotting this.
15253
15254 2010-06-02 Aleš Nesrsta <starous@volny.cz>
15255
15256 Finally make USB usable.
15257
15258 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
15259 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
15260 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
15261 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
15262 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
15263 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
15264 (GRUB_OHCI_FSMPS): Likewise.
15265 (GRUB_OHCI_PERIODIC_START): Likewise.
15266 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
15267 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
15268 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
15269 (GRUB_OHCI_SET_PORT_RESET): Likewise.
15270 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
15271 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
15272 (grub_ohci_transaction): Likewise.
15273 (grub_ohci_transfer): Improve condition detection algorithms.
15274 Handle toggle property. Program the transactions correctly.
15275 Improve error handling. Various important fixups.
15276 (grub_ohci_portstatus): Put register writes in right order.
15277 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
15278 (grub_uhci_transfer): Don't show "failed" message on success.
15279 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
15280 array.
15281 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
15282 determine its size.
15283 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
15284 before initialization is completed. Use IN direction for empty
15285 transfers. Use last_trans and compute toggle.
15286 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
15287 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15288 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15289 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15290 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15291 (grub_usb_device): Increase toggle to 256.
15292 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15293 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15294 GRUB_USBMS_SUBCLASS_SFF8070.
15295 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15296 (grub_scsi_inquiry): New member page and alloc_length.
15297 (grub_scsi_request_sense): New structure.
15298 (grub_scsi_request_sense_data): Likewise.
15299 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15300 control.
15301 * disk/scsi.c (grub_scsi_request_sense): New function.
15302 (grub_scsi_test_unit_ready): Likewise.
15303 (grub_scsi_inquiry): Fill new fields.
15304 (grub_scsi_read_capacity): Likewise.
15305 (grub_scsi_read10): Add request sense at the end.
15306 (grub_scsi_read12): Likewise.
15307 (grub_scsi_write10): Likewise.
15308 (grub_scsi_write12): Likewise.
15309 (grub_scsi_open): Add Test Unit Ready.
15310 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15311 Support additional subclasses. Con't clear halt yet. Activate the
15312 proper config. Calculate LUNs correctly.
15313 (grub_usbms_transfer): Various important fixups.
15314
15315 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15316
15317 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15318 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15319 (grub_ohci_fini_hw): New function.
15320 (grub_ohci_restore_hw): Likewise.
15321 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15322 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15323 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15324
15325 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15326
15327 Dedicated DMA allocations.
15328
15329 * bus/pci.c (grub_memalign_dma32): New function
15330 (grub_dma_free): Likewise.
15331 (grub_dma_get_virt): Likewise.
15332 (grub_dma_get_phys): Likewise.
15333 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15334 (grub_ohci_pci_iter): Use dma32_alloc.
15335 (grub_ohci_transfer): Likewise.
15336 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15337 (grub_usb_bulk_readwrite): Likewise.
15338 * include/grub/pci.h: Add declarations.
15339
15340 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15341
15342 CS5536 support.
15343
15344 * bus/cs5536.c: New file.
15345 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15346 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15347 (cs5536_mod_SOURCES): New variable.
15348 (cs5536_mod_CFLAGS): Likewise.
15349 (cs5536_mod_LDFLAGS): Likewise.
15350 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15351 machine/pci.h.
15352 (kernel_img_SOURCES): Add bus/cs5536.c.
15353 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15354 usb_keyboard.mod.
15355 (usb_mod_SOURCES): New variable.
15356 (usb_mod_CFLAGS): New variable.
15357 (usb_mod_LDFLAGS): New variable.
15358 (usbtest_mod_SOURCES): New variable.
15359 (usbtest_mod_CFLAGS): New variable.
15360 (usbtest_mod_LDFLAGS): New variable.
15361 (ohci_mod_SOURCES): New variable.
15362 (ohci_mod_CFLAGS): New variable.
15363 (ohci_mod_LDFLAGS): New variable.
15364 (usbms_mod_SOURCES): New variable.
15365 (usbms_mod_CFLAGS): New variable.
15366 (usbms_mod_LDFLAGS): New variable.
15367 (usb_keyboard_mod_SOURCES): New variable.
15368 (usb_keyboard_mod_CFLAGS): New variable.
15369 (usb_keyboard_mod_LDFLAGS): New variable.
15370 * include/grub/smbus.h: New file.
15371 * include/grub/cs5536.h: New file.
15372
15373 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15374
15375 * util/grub.d/00_header.in: Add safety check to make sure that
15376 ${locale_dir} exists before trying to probe it.
15377
15378 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15379
15380 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15381 per the GNU Coding Standards; this is now too obscure to be worth
15382 documenting.
15383 (QNX): Likewise.
15384 (chainloader): Remove cross-reference to `SCO UnixWare'.
15385
15386 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15387
15388 * docs/grub.texi (Chain-loading): New section.
15389 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15390 adjusted for GRUB 2.
15391 (SCO UnixWare): Likewise.
15392 (QNX): Likewise.
15393 (chainloader): Add reference to `Block list syntax'.
15394 (drivemap): New section.
15395 (parttool): New section.
15396
15397 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15398
15399 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15400 the grub shell'.
15401 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15402 (Installing GRUB using grub-install): Remove reference to the grub
15403 shell; mention `grub-mkimage' and `grub-setup' instead.
15404 (Invoking grub-install): Likewise.
15405 (Interface): Add reference to `Menu entry editor'.
15406 (serial): Remove `--device' option.
15407
15408 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15409
15410 * docs/grub.texi (Configuration): New section, documenting
15411 configuration file generation using grub-mkconfig. I've left a slot
15412 for documenting the full shell scripting format but have not yet
15413 started on writing that up.
15414 (Invoking grub-mkconfig): New section.
15415
15416 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15417
15418 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15419 (GNU GRUB manual): Likewise.
15420 (General commands): Update description of `terminfo' for GRUB 2.
15421
15422 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15423
15424 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15425 (GRUB_MOD_INIT): Fix capitalisation.
15426 * docs/grub.texi (Command-line and menu entry commands): Document
15427 gettext and gptsync commands.
15428
15429 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15430
15431 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15432 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15433
15434 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
15435
15436 Add btrfs probing support, currently only in the single-device case.
15437
15438 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15439 function.
15440 (grub_guess_root_device): Call find_root_device_from_mountinfo
15441 before looking in /dev.
15442
15443 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15446 GRUB_DISK_SIZE_UNKNOWN.
15447 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15448
15449 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
15450
15451 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15452 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15453 corrupted or not synced properly.
15454
15455 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15456
15457 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15458 Reported by: Seth Goldberg.
15459
15460 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15463 addition of dest.
15464 Reported by: Seth Goldberg.
15465
15466 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15467
15468 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15469 Reported by: Seth Goldberg.
15470
15471 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15474 64-bit address as signed on MIPS.
15475
15476 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15477
15478 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15479 to the empty string.
15480
15481 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15482
15483 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15484
15485 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15486 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15487 * kern/misc.c (__enable_execute_stack): Disable on
15488 GRUB_MACHINE_EMU.
15489
15490 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15491
15492 Make grub-probe work with symbolic links under /dev/mapper as well
15493 as with real block devices. The Linux world seems to be (at best)
15494 in transition here, and GRUB shouldn't get caught in the middle.
15495
15496 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15497 /dev/mapper.
15498
15499 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15500
15501 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15502 input files (in which case exit zero).
15503
15504 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15505
15506 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15507 return NULL for various reasons even if it has a maximum-length
15508 buffer: for example, there might be a symlink loop, or the path
15509 might exceed PATH_MAX. If this happens, return NULL.
15510
15511 2010-05-27 Robert Millan <rmh@gnu.org>
15512
15513 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15514 partmap module to handle cross-partmap setups.
15515 Reported by Orestes Mas. Gràcies!
15516
15517 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15518
15519 * util/grub-mkrescue.in: Initialise override_dir rather than
15520 assuming that it's unset or empty in the environment.
15521
15522 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15523
15524 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15525 variable index into p_index to suppress a warning with -Wshadow.
15526
15527 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15528
15529 * INSTALL: Added flex >= 2.5.35 requirement.
15530
15531 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15534
15535 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15536
15537 cmostest support.
15538
15539 * commands/i386/cmostest.c: New file.
15540 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15541 (cmostest_mod_SOURCES): New variable.
15542 (cmostest_mod_CFLAGS): Likewise.
15543 (cmostest_mod_LDFLAGS): Likewise.
15544 * conf/i386-pc.rmk: Likewise.
15545 * docs/grub.texi (Vendor power-on keys): New section.
15546 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15547 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15548 and GRUB_BUTTON_CMOS_ADDRESS.
15549 * util/grub.d/00_header.in: Handle powering-on by separate button.
15550
15551 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15552
15553 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15554 Removed drawing_scrollbar argument. All users updated
15555 Fixes #29792.
15556 Reported by Jo Shields
15557
15558 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15561 buffer since gfxterm handles double repaint.
15562
15563 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15566 * term/gfxterm.c (real_scroll): Likewise.
15567
15568 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15571 before calling BIOS.
15572
15573 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * include/grub/i18n.h: Always enable grub_gettext.
15576
15577 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15578
15579 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15580 partition naming style.
15581
15582 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
15583
15584 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15585 not the first option.
15586
15587 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15588
15589 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15590
15591 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15592
15593 * util/misc.c: Move inclusion of <limits.h> to ...
15594 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15595
15596 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15597
15598 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15599 Fix merge error in NetBSD code.
15600 (find_partition_start) [__NetBSD__]: Likewise.
15601
15602 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15603
15604 Fix grub-mkrescue usage unit testing.
15605
15606 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15607
15608 2010-05-18 Christian Franke <franke@computer.org>
15609
15610 * util/grub.d/10_windows.in: Use path names instead of
15611 drive letters to prevent warning from Cygwin 1.7.
15612 Add drivemap command to menuentry if needed.
15613
15614 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15615
15616 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15617 gnumach and gnumach.gz.
15618
15619 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15620
15621 * include/grub/i18n.h (gettext): Inline instead of using #define.
15622 (grub_gettext): Likewise.
15623 (_): Likewise.
15624
15625 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15626
15627 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15628 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15629 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15630 (main): Add a slash after pkglibdirroot.
15631
15632 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * util/grub-install.in: Add missing "in" keyword.
15635
15636 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15637
15638 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15639 Reported by: Seth Goldberg.
15640
15641 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15644
15645 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15646
15647 * configure.ac: Check for Linux device-mapper support.
15648
15649 * util/hostdisk.c (device_is_mapped): New function.
15650 (find_partition_start): New function, partly broken out from
15651 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15652 device-mapper support added.
15653 (linux_find_partition): Use find_partition_start.
15654 (convert_system_partition_to_system_disk): Add `st' argument.
15655 Support Linux /dev/mapper/* devices if device-mapper support is
15656 available; only DM-RAID devices are understood at present.
15657 (find_system_device): Add `st' argument. Pass it to
15658 convert_system_partition_to_system_disk.
15659 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15660 find_system_device and convert_system_partition_to_system_disk. Use
15661 find_partition_start.
15662
15663 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15664 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15665 * util/deviceiter.c [__linux__]: Define MINOR.
15666 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15667 * util/mkdevicemap.c (grub_putchar): New function.
15668 (grub_getkey): New function.
15669 (grub_refresh): New function.
15670 (main): Set debug=all if -v -v is used.
15671
15672 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15673
15674 Fix build with non-GNU libcs.
15675
15676 * util/misc.c (canonicalize_file_name): Move to ...
15677 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15678 grub_make_system_path_relative_to_its_root.
15679
15680 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15681
15682 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15683 we handle finding grub-mkimage. Default to finding grub-mkimage in
15684 ${bindir} with program_transform_name applied, and provide a
15685 --grub-mkimage option to override this.
15686
15687 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15688
15689 Remove grub-mkisofs.
15690
15691 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15692 (grub_mkisofs_SOURCES): Removed.
15693 (grub_mkisofs_CFLAGS): Removed.
15694 * util/mkisofs/defaults.h: Removed.
15695 * util/mkisofs/eltorito.c: Likewise.
15696 * util/mkisofs/exclude.h: Likewise.
15697 * util/mkisofs/hash.c: Likewise.
15698 * util/mkisofs/include/: Likewise.
15699 * util/mkisofs/include/fctldefs.h: Likewise.
15700 * util/mkisofs/include/mconfig.h: Likewise.
15701 * util/mkisofs/include/prototyp.h: Likewise.
15702 * util/mkisofs/include/statdefs.h: Likewise.
15703 * util/mkisofs/iso9660.h: Likewise.
15704 * util/mkisofs/joliet.c: Likewise.
15705 * util/mkisofs/match.c: Likewise.
15706 * util/mkisofs/match.h: Likewise.
15707 * util/mkisofs/mkisofs.c: Likewise.
15708 * util/mkisofs/mkisofs.h: Likewise.
15709 * util/mkisofs/msdos_partition.h: Likewise.
15710 * util/mkisofs/multi.c: Likewise.
15711 * util/mkisofs/name.c: Likewise.
15712 * util/mkisofs/rock.c: Likewise.
15713 * util/mkisofs/tree.c: Likewise.
15714 * util/mkisofs/write.c: Likewise.
15715
15716 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 Unify grub-mkimage accross platforms.
15719
15720 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15721 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15722 (grub_mkelfimage_SOURCES): Removed.
15723 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15724 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15725 (bin_UTILITIES): Add grub-mkimage.
15726 (grub_mkimage_SOURCES): New variable.
15727 (kernel_img_HEADERS): Remove machine/kernel.h.
15728 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15729 (pkglib_PROGRAMS): Add kernel.img.
15730 (kernel_img_HEADERS): Add machine/kernel.h.
15731 (kernel_img_FORMAT): Removed.
15732 (bin_UTILITIES): Remove grub-mkimage.
15733 (grub_mkimage_SOURCES): Removed.
15734 (grub_mkimage_CFLAGS): Likewise.
15735 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15736 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15737 (pkglib_PROGRAMS): Add kernel.img.
15738 (bin_UTILITIES): Remove grub-mkimage.
15739 (grub_mkimage_SOURCES): Removed.
15740 (grub_mkimage_CFLAGS): Likewise.
15741 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15742 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15743 (pkglib_PROGRAMS): Add kernel.img.
15744 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15745 (pkglib_PROGRAMS): Add kernel.img.
15746 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15747 (grub_mkimage_SOURCES): Removed.
15748 (grub_mkimage_CFLAGS): Likewise.
15749 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15750 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15751 (pkglib_PROGRAMS): Add kernel.img.
15752 (bin_UTILITIES): Remove grub-mkimage.
15753 (grub_mkimage_SOURCES): Removed.
15754 (grub_mkimage_CFLAGS): Likewise.
15755 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15756 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15757 (grub_mkimage_SOURCES): Removed.
15758 (grub_mkimage_CFLAGS): Likewise.
15759 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15760 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15761 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15762 (grub_pe32_optional_header): ... this.
15763 (grub_pe64_optional_header): ... and this. All users updated.
15764 (GRUB_PE32_PE32_MAGIC): Split into ..
15765 (GRUB_PE32_PE32_MAGIC): .. this.
15766 (GRUB_PE32_PE64_MAGIC): .. and this.
15767 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15768 * include/grub/elf.h (PT_GNU_STACK): New definition.
15769 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15770 * include/grub/i386/efi/kernel.h: Likewise.
15771 * include/grub/i386/kernel.h: Likewise.
15772 * include/grub/i386/pc/kernel.h: Likewise.
15773 * include/grub/i386/qemu/boot.h: Likewise.
15774 * include/grub/mips/kernel.h: Likewise.
15775 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15776 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15777 * include/grub/powerpc/kernel.h: Likewise.
15778 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15779 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15780 * include/grub/sparc64/kernel.h: Likewise.
15781 * include/grub/x86_64/efi/kernel.h: Likewise.
15782 * include/grub/x86_64/kernel.h: Likewise.
15783 * include/grub/offsets.h: New file.
15784 * include/grub/kernel.h (grub_module_info): Split into ...
15785 (grub_module_info32): ... this.
15786 (grub_module_info64): ... and this.
15787 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15788 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15789 (grub_boot_blocklist): Moved from here ...
15790 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15791 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15792 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15793 * include/grub/types.h (grub_target_to_host16): Removed.
15794 (grub_target_to_host32): Likewise.
15795 (grub_target_to_host64): Likewise.
15796 (grub_host_to_target16): Likewise.
15797 (grub_host_to_target32): Likewise.
15798 (grub_host_to_target64): Likewise.
15799 (grub_host_to_target_addr): Likewise.
15800
15801 Support grub-mkrescue for efi, coreboot and qemu.
15802
15803 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15804 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15805 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15806 * util/grub-mkrawimage.c: Moved from here ...
15807 * util/grub-mkimage.c: ... here. All users updated.
15808 (ALIGN_ADDR): Use image_target.
15809 (TARGET_NO_FIELD): New const.
15810 (image_target_desc): New type.
15811 (image_targets): New array.
15812 (grub_target_to_host64): Use image_target.
15813 (grub_target_to_host32): Likewise.
15814 (grub_target_to_host16): Likewise.
15815 (grub_host_to_target64): Likewise.
15816 (grub_host_to_target32): Likewise.
15817 (grub_host_to_target16): Likewise.
15818 (grub_host_to_target_addr): Likewise.
15819 (generate_image): Handle multiimage.
15820 (main): Require -O parameter. All users updated.
15821 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15822 util/efi/grub-mkimage.c
15823 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15824 New option --rom-directory.
15825 Use xorriso.
15826 * util/i386/efi/grub-mkimage.c: Removed.
15827 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15828 (grub_target_to_host32): Likewise.
15829 (grub_target_to_host64): Likewise.
15830 (grub_host_to_target16): Likewise.
15831 (grub_host_to_target32): Likewise.
15832 (grub_host_to_target64): Likewise.
15833 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15834 (grub_target_to_host32): Likewise.
15835 (grub_target_to_host64): Likewise.
15836 (grub_host_to_target16): Likewise.
15837 (grub_host_to_target32): Likewise.
15838 (grub_host_to_target64): Likewise.
15839
15840 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15841
15842 Source tree is reorganized for emu build.
15843
15844 * include/grub/util/console.h: Move from here...
15845 * include/grub/emu/console.h: ...to here.
15846 * include/grub/util/getroot.h: Move from here...
15847 * include/grub/emu/getroot.h: ...to here.
15848 * include/grub/util/hostdisk.h: Move from here...
15849 * include/grub/emu/hostdisk.h: ...to here.
15850 * util/console.c: Move from here...
15851 * kern/emu/console.c: ...to here.
15852 * util/getroot.c: Move from here...
15853 * kern/emu/getroot.c: ...to here.
15854 * util/grub-emu.c: Move from here...
15855 * kern/emu/main.c: ...to here.
15856 * util/hostdisk.c: Move from here...
15857 * kern/emu/hostdisk.c: ...to here.
15858 * util/hostfs.c: Move from here...
15859 * kern/emu/hostfs.c: ...to here.
15860 * util/mm.c: Move from here...
15861 * kern/emu/mm.c: ...to here.
15862 * util/pci.c: Move from here...
15863 * bus/emu/pci.c: ...to here.
15864 * util/sdl.c: Move from here...
15865 * video/emu/sdl.c: ...to here.
15866 * util/time.c: Move from here...
15867 * kern/emu/time.c: ...to here.
15868 * util/usb.c: Move from here...
15869 * bus/usb/emu/usb.c: ...to here.
15870
15871 * include/grub/emu/misc.h: New header for grub-emu functions.
15872 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15873
15874 * conf/any-emu.rmk: Rule updates for above renames.
15875 * conf/common.rmk: Likewise.
15876 * conf/i386-pc.rmk: Likewise.
15877 * conf/i386-qemu.rmk: Likewise.
15878 * conf/mips.rmk: Likewise.
15879 * conf/sparc64-ieee1275.rmk: Likewise.
15880 * conf/x86-efi.rmk: Likewise.
15881
15882 * disk/lvm.h: #include updates for above renames.
15883 * util/grub-mkrelpath.c: Likewise.
15884 * util/grub-probe.c: Likewise.
15885 * util/i386/pc/grub-setup.c: Likewise.
15886 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15887 * kern/emu/console.c: Likewise.
15888 * kern/emu/getroot.c: Likewise.
15889 * kern/emu/hostdisk.c: Likewise.
15890 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15891
15892 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15893 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15894 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15895 * util/misc.c: Remove grub-emu functions.
15896
15897 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 Fix gfxmenu crash.
15900 Reported by: Thorsten Grützmacher.
15901
15902 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15903 timeout hook.
15904 (circprog_set_property): Register and unregister timeout hook.
15905 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15906 (label_destroy): Free template. and unregister hook.
15907 (label_set_state): New function.
15908 (label_set_property): Handle templates and hooks.
15909 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
15910 timeout hook.
15911 (progress_bar_set_property): Register and unregister timeout hook.
15912 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
15913 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
15914 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
15915 (update_timeout_visit): Removed.
15916 (update_timeouts): New function.
15917 (redraw_timeouts): Likewise.
15918 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
15919 (grub_gfxmenu_clear_timeout): Likewise.
15920 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
15921 (grub_gfxmenu_timeout_notify): Likewise.
15922 (grub_gfxmenu_timeout_notifications): New external variable.
15923 (grub_gfxmenu_timeout_register): New function.
15924 (grub_gfxmenu_timeout_unregister): Likewise.
15925
15926 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 Transform (broken) vga terminal into (working) vga video driver.
15929
15930 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
15931 video/i386/pc/vga.c.
15932 * include/grub/video.h (grub_video_driver_id):
15933 Add GRUB_VIDEO_DRIVER_VGA.
15934 * term/i386/pc/vga.c: Renamed to ...
15935 * video/i386/pc/vga.c: ...this
15936 (DEBUG_VGA): Removed.
15937 (CHAR_WIDTH): Likewise.
15938 (CHAR_HEIGHT): Likewise.
15939 (TEXT_WIDTH): Likewise.
15940 (TEXT_HEIGHT): Likewise.
15941 (DEFAULT_FG_COLOR): Likewise.
15942 (DEFAULT_BG_COLOR): Likewise.
15943 (colored_char): Likewise.
15944 (xpos): Likewise.
15945 (ypos): Likewise.
15946 (cursor_state): Likewise.
15947 (fg_color): Likewise.
15948 (bg_color): Likewise.
15949 (text_buf): Likewise.
15950 (page): Likewise.
15951 (font): Likewise.
15952 (framebuffer): New variable.
15953 (set_read_map): Disabled.
15954 (setup): New variable.
15955 (is_target): Likewise.
15956 (grub_vga_mod_init): Likewise.
15957 (grub_vga_mod_fini): Likewise.
15958 (check_vga_mem): Likewise.
15959 (write_char): Likewise.
15960 (write_cursor): Likewise.
15961 (scroll_up): Likewise.
15962 (grub_vga_putchar): Likewise.
15963 (grub_vga_getcharwidth): Likewise.
15964 (grub_vga_getwh): Likewise.
15965 (grub_vga_getxy): Likewise.
15966 (grub_vga_gotoxy): Likewise.
15967 (grub_vga_cls): Likewise.
15968 (grub_vga_setcolorstate): Likewise.
15969 (grub_vga_setcursor): Likewise.
15970 (grub_video_vga_init): New function.
15971 (grub_video_vga_setup): Likewise.
15972 (grub_video_vga_fini): Likewise.
15973 (update_target): Likewise.
15974 (grub_video_vga_blit_bitmap): Likewise.
15975 (grub_video_vga_blit_render_target): Likewise.
15976 (grub_video_vga_set_active_render_target): Likewise.
15977 (grub_video_vga_get_active_render_target): Likewise.
15978 (grub_video_vga_swap_buffers): Likewise.
15979 (grub_video_vga_set_palette): Likewise.
15980 (grub_video_vga_get_info_and_fini): Likewise.
15981 (grub_vga_term): Removed.
15982 (grub_video_vga_adapter): New variable.
15983 (GRUB_MOD_INIT): Register a video driver instead of terminal.
15984 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
15985
15986 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * video/readers/jpeg.c: Indented.
15989
15990 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 Various jpeg cleanups.
15993
15994 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
15995 (grub_jpeg_decode_quan_table): Use sizeof.
15996 (grub_jpeg_decode_du): Use ARRAY_SIZE.
15997
15998 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
15999
16000 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
16001 tables. Ignore non-last ac bit.
16002 (grub_jpeg_decode_quan_table): Likewise.
16003
16004 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16005
16006 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
16007 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
16008 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16009 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
16010 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
16011 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
16012
16013 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16014
16015 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
16016 error.
16017
16018 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
16021
16022 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
16025 condition.
16026
16027 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
16030 part.
16031
16032 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
16035 pointers.
16036
16037 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
16040
16041 2010-05-01 Christian Franke <franke@computer.org>
16042
16043 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
16044 Remove broken Cygwin path conversion.
16045 * util/misc.c: [__CYGWIN__] Add include and define.
16046 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
16047 for Cygwin 1.7.
16048 (make_system_path_relative_to_its_root): Simplify loop, replace early
16049 return by break.
16050 [__CYGWIN__] Add conversion to win32 path.
16051 Include "/" case in trailing slash removal.
16052
16053 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * kern/main.c (grub_load_config): Fix copy-pasted comment.
16056 Reported by: Seth Goldberg
16057
16058 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16059
16060 * commands/help.c (grub_cmd_help): Fix a typo.
16061 Reported by: Seth Goldberg
16062
16063 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16064
16065 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
16066 name and add N_.
16067 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
16068 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
16069 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
16070 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
16071 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
16072 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
16073 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16074 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16075 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16076 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16077 * normal/context.c (GRUB_MOD_INIT): Likewise.
16078 * normal/main.c (GRUB_MOD_INIT): Likewise.
16079 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16080 * term/serial.c (GRUB_MOD_INIT): Likewise.
16081 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16082
16083 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
16086 extra == 0.
16087
16088 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 * commands/iorw.c: New file.
16091 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
16092 (iorw_mod_SOURCES): New variable.
16093 (iorw_mod_CFLAGS): Likewise.
16094 (iorw_mod_LDFLAGS): Likewise.
16095
16096 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16097
16098 Hotkey support
16099
16100 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
16101 * normal/main.c (hotkey_aliases): New variable.
16102 (grub_normal_add_menu_entry): Parse "--hotkey".
16103 * normal/menu_text.c (run_menu): Handle hotkeys.
16104
16105 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * kern/i386/coreboot/init.c (grub_machine_init): Call
16108 grub_machine_mmap_init on qemu.
16109
16110 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16111
16112 * boot/i386/qemu/boot.S: Add a missing .code16.
16113
16114 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 Use LBIO on coreboot.
16117
16118 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
16119 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
16120 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
16121 New declaration.
16122 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
16123 grub_machine_mmap_init on coreboot.
16124 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
16125 GRUB_LINUXBIOS_MEMBER_LINK.
16126 (grub_machine_mmap_iterate): Fix declaration.
16127 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
16128
16129 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 Split coreboot and multiboot ports.
16132
16133 * conf/i386-multiboot.rmk: New file.
16134 * configure.ac: Add multiboot port.
16135 * include/grub/i386/multiboot/boot.h: New file.
16136 * include/grub/i386/multiboot/console.h: Likewise.
16137 * include/grub/i386/multiboot/init.h: Likewise.
16138 * include/grub/i386/multiboot/kernel.h: Likewise.
16139 * include/grub/i386/multiboot/loader.h: Likewise.
16140 * include/grub/i386/multiboot/memory.h: Likewise.
16141 * include/grub/i386/multiboot/serial.h: Likewise.
16142 * include/grub/i386/multiboot/time.h: Likewise.
16143 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
16144 * loader/multiboot.c: Likewise.
16145 * loader/multiboot_mbi2.c: Likewise.
16146 * util/grub-mkrescue.in: Generate multiboot rescue.
16147
16148 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16149
16150 * kern/parser.c (grub_parser_execute): Cope with read-only config.
16151
16152 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
16153
16154 Merge handling of input and output terminals. Fix a hang.
16155
16156 * commands/terminal.c (abstract_terminal): New struct.
16157 (handle_command): New function. Based on grub_cmd_terminal_input.
16158 (grub_cmd_terminal_input): Use handle_command.
16159 (grub_cmd_terminal_output): Use handle_command.
16160
16161 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
16162
16163 Fix comment handling.
16164
16165 * tests/grub_script_comments.in: New testcase.
16166 * conf/tests.rmk: Rules for new testcase.
16167 * script/yylex.l: Updated flex rules.
16168
16169 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
16170
16171 * docs/grub.texi (play): Document that zero pitches produce rests.
16172 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
16173 if argc is 1.
16174
16175 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
16178 autogen issues.
16179
16180 2010-04-26 Christian Franke <franke@computer.org>
16181
16182 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
16183 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
16184 (grub_get_prefix): Remove function.
16185 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16186 make_system_path_relative_to_its_root ().
16187 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16188
16189 2010-04-24 Christian Franke <franke@computer.org>
16190
16191 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
16192 (kernel_img_LDFLAGS): Remove -static-libgcc.
16193
16194 2010-04-24 Christian Franke <franke@computer.org>
16195
16196 * configure.ac: Do not CHECK_BSS_START_SYMBOL
16197 and CHECK_END_SYMBOL if grub-emu is built.
16198 Unset TARGET_OBJ2ELF if grub-emu is built
16199 without module support.
16200
16201 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
16202
16203 Nilfs2 support.
16204
16205 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
16206 (grub_fstest_SOURCES): Likewise.
16207 (pkglib_MODULES): Add nilfs2.mod.
16208 (nilfs2_mod_SOURCES): New variable.
16209 (nilfs2_mod_CFLAGS): Likewise.
16210 (nilfs2_mod_LDFLAGS): Likewise.
16211 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16212 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
16213 * fs/nilfs2.c: New file.
16214
16215 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
16216
16217 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
16218 is not supported.
16219
16220 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
16221
16222 Add grub-mkconfig support for NetBSD.
16223
16224 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
16225 * util/grub-mkconfig.in: export new NetBSD specific variables.
16226 * po/POTFILES-shell: added 10_netbsd.in.
16227 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
16228
16229 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
16230
16231 Fix emu build with grub-emu-pci and grub-emu-modules.
16232
16233 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
16234 functions.
16235 * include/grub/libpciaccess.h: New file.
16236 * conf/any-emu.rmk: Update kernel headers for emu build.
16237
16238 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16239
16240 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
16241
16242 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
16243
16244 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
16245
16246 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
16249 Retrieve chosen/bootpath if bootpath isn't hardcoded.
16250 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
16251 util/ieee1275/ofpath.c.
16252 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
16253 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
16254 * include/grub/sparc64/ieee1275/boot.h
16255 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
16256 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
16257 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
16258 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
16259 const char *.
16260 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
16261 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
16262 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
16263 install.
16264
16265 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
16266
16267 * util/grub-mkconfig.in: Corrected two == equality tests.
16268 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
16269 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
16270 expect a number appended to it.
16271 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
16272 expects a number appended to it.
16273
16274 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16275
16276 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
16277
16278 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
16279
16280 * util/hostdisk.c (make_device_name): Change to new partition naming.
16281
16282 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
16285
16286 2010-04-17 Christian Franke <franke@computer.org>
16287
16288 * Makefile.in: Add missing localedir setting.
16289
16290 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
16291
16292 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16293 mistake in r2156. Noticed by Anthony Fok.
16294
16295 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16296 @localedir@.
16297 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16298
16299 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16300
16301 Fix a spurious, uninitialized variable warning.
16302
16303 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16304 Initialize variable, shdr.
16305 (grub_freebsd_load_elfmodule): Likewise.
16306 (grub_freebsd_load_elf_meta): Likewise.
16307
16308 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16309
16310 Fix for escaped dollar in double quoted strings.
16311
16312 * script/yylex.l: Updated flex rules.
16313 * conf/tests.rmk: Rule for new testcase.
16314 * tests/grub_script_dollar.in: New testcase.
16315
16316 2010-04-13 Carles Pina i Estany <carles@pina.cat>
16317 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
16318
16319 Enclose all translated strings in grub.cfg in single quotes, and
16320 escape them appropriately (Ubuntu bug #552921).
16321
16322 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16323 * util/grub.d/10_hurd.in: Use it.
16324 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16325 * util/grub.d/10_linux.in (linux_entry): Likewise.
16326
16327 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 Fix cygwin compilation.
16330
16331 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16332 * include/grub/misc.h (__register_frame_info)
16333 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16334 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16335 * kern/misc.c (__register_frame_info)
16336 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16337 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16338
16339 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16340
16341 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16342
16343 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16344
16345 Unify libgcc processing.
16346
16347 * Makefile.in (kernel_img_LDFLAGS): New variable.
16348 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16349 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16350 overwriting.
16351 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16352 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16353 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16354 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16355 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16356 overwriting. Remove -lgcc and -static-libgcc
16357 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16358 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16359 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16360 (kernel_img_LDFLAGS): Append instead of overwriting.
16361 Remove -lgcc and -static-libgcc
16362 * conf/sparc64-ieee1275.rmk: Likewise.
16363 * include/grub/powerpc/libgcc.h: Move to ...
16364 * include/grub/libgcc.h: .. this.
16365 * include/grub/libgcc.h: Don't export most of the function on x86.
16366 (__bswapsi2): New export.
16367 (__bswapdi2): Likewise.
16368 * include/grub/mips/libgcc.h: Removed.
16369 * include/grub/sparc64/libgcc.h: Likewise.
16370
16371 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16372
16373 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16374 disk_info_msg (conflicts with gettexting into languages with cases).
16375
16376 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16377
16378 Add grub-probe support for NetBSD.
16379
16380 * util/getroot.c (find_root_device): Convert block device to
16381 character device on NetBSD.
16382 * util/probe.c (probe): Require character device on NetBSD.
16383 * util/hostdisk.c: NetBSD specific headers.
16384 (configure_device_driver): new function to tune device driver
16385 parameters (currently only for NetBSD floppy driver).
16386 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16387 via disklabel ioctl).
16388 (open_device): call configure_device_driver on NetBSD.
16389 (convert_system_partition_to_system_disk): NetBSD specific code.
16390 (device_is_wholedisk): Likewise.
16391 (grub_util_biosdisk_get_grub_dev): Likewise.
16392 (make_device_name): Fixed a typo in bsd_part_str.
16393 * configure.ac: check for opendisk() and getrawpartition() on
16394 NetBSD and set LIBUTIL.
16395 * Makefile.in: add LIBUTIL to LIBS.
16396
16397 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16398
16399 Documentation fix.
16400
16401 * util/grub-script-check.c: Better help message.
16402
16403 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16404
16405 Fix FreeBSD build.
16406
16407 * configure.ac: Flex version check.
16408 * conf/common.rmk: Add -Wno-error to sh.mod.
16409 * script/yylex.l: Remove all #pragma.
16410
16411 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16412
16413 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16414 prototype.
16415 Reported by: Seth Goldberg.
16416
16417 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16420 Rename "module" to "module2".
16421 Reported by: Seth Goldberg.
16422
16423 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16424
16425 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16426 EXPORT_FUNC.
16427 Reported by: Seth Goldberg.
16428
16429 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * lib/posix_wrap/locale.h: Add missing file.
16432 Reported by: Seth Goldberg.
16433
16434 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16435
16436 grub-emu module load support.
16437
16438 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16439 NO_DYNAMIC_MODULES switched to this.
16440 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16441 (CFLAGS): Likewise.
16442 * conf/any-emu.rmk: Generate symlist.
16443 (kernel_img_HEADERS): Add util/datetime.h.
16444 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16445 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16446 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16447 kern/$(target_cpu)/cache.S.
16448 * configure.ac (grub-emu-modules): New option.
16449 * genmk.rb: Handle multiple source lists.
16450 * include/grub/sdl.h: New file.
16451 * include/grub/libusb.h: Likewise.
16452 * util/grub-emu.c (main): Hanle (host) root.
16453 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16454 GRUB_ERR_UNKNOWN_DEVICE.
16455 * util/misc.c: Move mm functions to ...
16456 * util/mm.c: ... here. All users updated.
16457
16458 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16461 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16462 missing files.
16463 (maintainer-clean): Remove libgcrypt-grub.
16464
16465 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16468
16469 2010-04-09 EFI Coder <eficoder@hotmail.com>
16470
16471 * normal/menu_text.c (print_message): Clean up the message and show
16472 the Fn information when on EFI
16473 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16474
16475 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16476
16477 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16478 All users updated.
16479 * normal/crypto.c (read_crypto_list): Likewise.
16480 * normal/dyncmd.c (read_command_list): Likewise.
16481 * normal/term.c (read_terminal_list): Likewise.
16482 * normal/main.c (read_lists): Use explicit prefix.
16483 (read_lists_hook): Use read_lists.
16484 (grub_normal_execute): Likewise.
16485
16486 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16487
16488 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16489 Reported by: Thomas Schmitt.
16490 Add -no-emul-boot to grub-mkisofs parameters.
16491
16492 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16493
16494 * font/font.c: Indented.
16495
16496 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16497
16498 Elif support to GRUB script (by Deepak Vankadaru).
16499
16500 * tests/grub_script_if.in: New testcase.
16501 * conf/tests.rmk: Rule for new testcase.
16502 * script/parser.y: Grammar rules for elif.
16503
16504 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16505
16506 While and until loops support to GRUB script.
16507
16508 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16509 (grub_script_create_cmdwhile): New function prototype.
16510 (grub_script_execute_cmdwhile): New function prototype.
16511 * script/execute.c (grub_script_execute_cmdwhile): New function.
16512 * script/parser.y (command): New commands.
16513 (whilecmd): New grammar rule.
16514 (untilcmd): New grammar rule.
16515 * script/script.c (grub_script_create_cmdwhile): New function.
16516 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16517 function.
16518
16519 * tests/grub_script_while1.in: New testcase.
16520 * conf/tests.rmk: Rule for new testcase.
16521
16522 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16523
16524 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16525 as *.jpg.
16526
16527 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
16528
16529 GRUB_BACKGROUND support.
16530
16531 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16532 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16533
16534 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16535
16536 Load fonts and modules for gfxmenu in grub-mkconfig.
16537 Idea by: Mario Vazquez
16538
16539 * util/grub.d/00_header.in: Load pf2 and image modules.
16540
16541 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 grub-mkconfig multiple terminal support.
16544
16545 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16546 * util/grub.d/00_header.in: Likewise.
16547
16548 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16551 we use cd $(srcdir).
16552
16553 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
16554
16555 * util/grub.d/10_linux.in: Only use the first word of
16556 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16557 spaces in GRUB_DISTRIBUTOR.
16558 * util/grub.d/10_kfreebsd.in: Likewise.
16559 * util/grub.d/10_hurd.in: Likewise.
16560
16561 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16562
16563 Fix unit testing framework for Qemu 0.12.
16564
16565 * tests/util/grub-shell.in: Remove -serial stdio option.
16566
16567 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 POSIX header file wrappers.
16570
16571 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16572 equivalents.
16573 * lib/posix_wrap/ctype.h: Likewise.
16574 * lib/posix_wrap/errno.h: Likewise.
16575 * lib/posix_wrap/langinfo.h: Likewise.
16576 * lib/posix_wrap/limits.h: Likewise.
16577 * lib/posix_wrap/localcharset.h: Likewise.
16578 * lib/posix_wrap/stdint.h: Likewise.
16579 * lib/posix_wrap/stdio.h: Likewise.
16580 * lib/posix_wrap/stdlib.h: Likewise.
16581 * lib/posix_wrap/string.h: Likewise.
16582 * lib/posix_wrap/sys/types.h: Likewise.
16583 * lib/posix_wrap/unistd.h: Likewise.
16584 * lib/posix_wrap/wchar.h: Likewise.
16585 * lib/posix_wrap/wctype.h: Likewise.
16586 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16587 (grub_script.yy.h): Likewise.
16588 * script/yylex.l: Remove POSIX emulation #defines.
16589 * Makefile.in (POSIX_CFLAGS): New variable.
16590 (GNULIB_UTIL_CFLAGS): Likewise.
16591
16592 Regexp support.
16593
16594 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16595 (regexp_mod_SOURCES): New variable.
16596 (regexp_mod_CFLAGS): Likewise.
16597 (regexp_mod_LDFLAGS): Likewise.
16598 * commands/regexp.c: New file.
16599 * gnulib/regcomp.c: New file. Imported from gnulib.
16600 * gnulib/regex.c: Likewise.
16601 * gnulib/regex_internal.c: Likewise.
16602 * gnulib/regex_internal.h: Likewise.
16603 * gnulib/regexec.c: Likewise.
16604 * gnulib/regex.h: Likewise.
16605
16606 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16607
16608 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16609 unsupported video mode types.
16610
16611 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16612
16613 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16614
16615 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16616
16617 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16618 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16619
16620 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16621
16622 Remove unused grub_vga_get_font.
16623
16624 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16625 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16626
16627 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16628
16629 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16630 * include/grub/misc.h: Likewise.
16631
16632 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16633
16634 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16635 for which failure is fatal.
16636
16637 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16638
16639 * util/grub-install.in: Use mkdir -p to create grub directory.
16640 * util/i386/efi/grub-install.in: Likewise.
16641 * util/ieee1275/grub-install.in: Likewise.
16642
16643 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16644
16645 * Makefile.in (LEX): new variable.
16646
16647 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16648
16649 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16650 `=' and added double quotes on operands of this equality test.
16651
16652 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16653
16654 * Makefile.in (uninstall): Remove a leftover debug echo.
16655 Reported by: Grégoire Sutre
16656
16657 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16658
16659 MIPS multiboot2 support.
16660
16661 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16662 (multiboot2_mod_SOURCES): New variable.
16663 (multiboot2_mod_CFLAGS): Likewise.
16664 (multiboot2_mod_LDFLAGS): Likewise.
16665 (multiboot2_mod_ASFLAGS): Likewise.
16666 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16667 definition.
16668 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16669 (MULTIBOOT_MBI_REGISTER): Likewise.
16670 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16671 (MULTIBOOT_ELF32_MACHINE): Likewise.
16672 (MULTIBOOT_ELF64_MACHINE): Likewise.
16673 * include/grub/mips/multiboot.h: New file.
16674 * include/grub/video.h (grub_video_driver_id): New type
16675 GRUB_VIDEO_DRIVER_SM712.
16676 (grub_video_get_info_and_fini): Export.
16677 (grub_video_get_palette): Likewise.
16678 (grub_video_get_driver_id): Likewise.
16679 * include/multiboot2.h: Resynced with spec.
16680 * loader/i386/multiboot.c: Moved from here ...
16681 * loader/multiboot.c: ... here. All users updated.
16682 (grub_multiboot_boot): Use platform-specific macros.
16683 * loader/i386/multiboot_elfxx.c: Moved from here ...
16684 * loader/multiboot_elfxx.c: ... here. All users updated.
16685 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16686 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16687 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16688
16689 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16690
16691 Import gnulib argp module.
16692
16693 * gnulib/argp-ba.c: New file.
16694 * gnulib/argp-eexst.c: Likewise.
16695 * gnulib/argp-fmtstream.c: Likewise.
16696 * gnulib/argp-fmtstream.h: Likewise.
16697 * gnulib/argp-fs-xinl.c: Likewise.
16698 * gnulib/argp-help.c: Likewise.
16699 * gnulib/argp-namefrob.h: Likewise.
16700 * gnulib/argp-parse.c: Likewise.
16701 * gnulib/argp-pin.c: Likewise.
16702 * gnulib/argp-pv.c: Likewise.
16703 * gnulib/argp-pvh.c: Likewise.
16704 * gnulib/argp-version-etc.c: Likewise.
16705 * gnulib/argp-version-etc.h: Likewise.
16706 * gnulib/argp-xinl.c: Likewise.
16707 * gnulib/argp.h: Likewise.
16708
16709 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16710
16711 * kern/device.c (grub_device_iterate): Clear errors after failed
16712 opening device.
16713
16714 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16715
16716 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16717 returned by firmware.
16718
16719 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16722 compilation on coreboot and qemu
16723
16724 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16725
16726 * include/multiboot2.h: Resync with spec.
16727
16728 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 Multiboot2 tag support
16731
16732 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16733 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16734 Remove loader/multiboot_loader.c.
16735 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16736 (grub_multiboot2_real_boot): Likewise.
16737 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16738 (grub_get_multiboot_mmap_count): New proto.
16739 (grub_fill_multiboot_mmap): Likewise.
16740 (grub_multiboot_set_video_mode): Likewise.
16741 (grub_multiboot_set_console): Likewise.
16742 (grub_multiboot_load): Likewise.
16743 (grub_multiboot_load_elf): Likewise.
16744 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16745 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16746 * include/multiboot.h: Resynced with specification.
16747 * include/multiboot2.h: Resynced with specification.
16748 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16749 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16750 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16751 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16752 users updated.
16753 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16754 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16755 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16756 Removed.
16757 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16758 Moved from here...
16759 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16760 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16761 Moved from here...
16762 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16763 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16764 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16765 All users updated.
16766 * loader/i386/multiboot_mbi2.c: New file.
16767
16768 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16769
16770 Resync with gnulib.
16771
16772 * Makefile.in (GNULIB_CFLAGS): New variable.
16773 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16774 (grub_script_check_CFLAGS): New variable.
16775 * gnulib/alloca.h: Resync with gnulib.
16776 * gnulib/error.c: Likewise.
16777 * gnulib/error.h: Likewise.
16778 * gnulib/fnmatch.c: Likewise.
16779 * gnulib/fnmatch_loop.c: Likewise.
16780 * gnulib/getdelim.c: Likewise.
16781 * gnulib/getline.c: Likewise.
16782 * gnulib/getopt.c: Likewise.
16783 * gnulib/getopt1.c: Likewise.
16784 * gnulib/getopt_int.h: Likewise.
16785 * gnulib/gettext.h: Likewise.
16786 * gnulib/progname.c: Likewise.
16787 * gnulib/progname.h: Likewise.
16788
16789 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16790
16791 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16792 which is the case with --disabled-nls.
16793
16794 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16795 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16796 * util/misc.c: Likewise.
16797 * util/mkisofs/mkisofs.c: Likewise.
16798 * util/mkisofs/mkisofs.h: Likewise.
16799
16800 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16801
16802 Simplify Apple CC support.
16803
16804 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16805 Add 0 byte at the end not to have a symbol with empty target.
16806 * mmap/i386/pc/mmap_helper.S: Likewise.
16807 * genmk.rb: Ignore errors 2030 and 2050.
16808 * kern/i386/pc/startup.S: Use LOCAL when possible.
16809
16810 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16811
16812 Testcase and the fix for final semicolon on cmdline.
16813
16814 * tests/grub_script_final_semicolon.in: New testcase.
16815 * conf/tests.rmk: Rules for the new testcase.
16816 * script/parser.y: Grammar fix.
16817
16818 2010-03-26 BVK Chaitanya <bvk@localhost>
16819
16820 Blank lines testcase for GRUB script.
16821
16822 * tests/grub_script_blanklines.in: New testcase.
16823 * conf/tests.rmk: Rules for the new testcase.
16824
16825 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16826
16827 Don't use __FILE__.
16828
16829 * genmk.rb: Add -DGRUB_FILE to all C targets.
16830 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16831 * include/grub/list.h: Likewise.
16832 * include/grub/misc.h: Likewise.
16833 * include/grub/mm.h: Likewise.
16834 * include/grub/test.h: Likewise.
16835 * kern/mm.c: Likewise.
16836 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16837
16838 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16839
16840 Sunpc partitions support.
16841
16842 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16843 (grub_fstest_SOURCES): Likewise.
16844 (pkglib_MODULES): Add part_sunpc.mod.
16845 (part_sunpc_mod_SOURCES): New variable.
16846 (part_sunpc_mod_CFLAGS): Likewise.
16847 (part_sunpc_mod_LDFLAGS): Likewise.
16848 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16849 * partmap/sunpc.c: New file.
16850
16851 2010-03-26 BVK Chaitanya <bvk@localhost>
16852
16853 For loop support to GRUB script.
16854
16855 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16856 (grub_script_create_cmdfor): New function prototype.
16857 (grub_script_execute_cmdfor): New function prototype.
16858 * script/execute.c (grub_script_execute_cmdfor): New function.
16859 * script/parser.y (command): New for command.
16860 (forcmd): New grammar rule.
16861 * script/script.c (grub_script_create_cmdfor): New function.
16862 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16863 function.
16864 * tests/grub_script_for1.in: New testcase.
16865 * conf/tests.rmk: Rules for new testcase.
16866
16867 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16868
16869 Nested partitions
16870
16871 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16872 'partition' is NULL, grub_partition_get_start already does that.
16873 * commands/loadenv.c (check_blocklists): Likewise.
16874 (write_blocklists): Likewise.
16875 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16876 (grub_fstest_SOURCES): Likewise.
16877 (pkglib_MODULES): Add part_bsd.mod.
16878 (part_bsd_mod_SOURCES): New variable.
16879 (part_bsd_mod_CFLAGS): Likewise.
16880 (part_bsd_mod_LDFLAGS): Likewise.
16881 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16882 (grub_emu_SOURCES): Likewise.
16883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16884 * include/grub/bsdlabel.h: New file.
16885 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16886 'get_name'.
16887 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16888 (grub_partition_map_list): New variable.
16889 (grub_partition_map_register): Inline.
16890 (grub_partition_map_unregister): Likewise.
16891 (FOR_PARTITION_MAPS): New macro.
16892 (grub_partition_map_iterate): Removed.
16893 (grub_partition_get_start): Handle nested partitions.
16894 * include/grub/msdos_partition.h: Remove bsd-related entries.
16895 (grub_pc_partition): Remove.
16896 * kern/disk.c (grub_disk_close): Free partition data.
16897 (grub_disk_adjust_range): Handle nested partitions.
16898 * kern/partition.c (grub_partition_map_probe): New function.
16899 (grub_partition_probe): Parse name to number, handle subpartitions.
16900 (get_partmap): New function.
16901 (grub_partition_iterate): Handle subpartitions.
16902 (grub_partition_get_name): Likewise.
16903 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16904 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16905 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16906 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16907 Set 'number'.
16908 (acorn_partition_map_probe): Remove.
16909 (acorn_partition_map_get_name): Likewise.
16910 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
16911 Set 'number'.
16912 Set 'index' to 0 since there can be only one partition entry per sector.
16913 (amiga_partition_map_probe): Remove.
16914 (amiga_partition_map_get_name): Likewise.
16915 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
16916 Set 'number'.
16917 Set 'offset' and 'index' to real positions of partitions.
16918 (apple_partition_map_probe): Remove.
16919 (apple_partition_map_get_name): Likewise.
16920 * partmap/bsdlabel.c: New file.
16921 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
16922 Set 'number'.
16923 Allocate 'data' so it can be correctly freed.
16924 Set 'index' to offset inside sector.
16925 (gpt_partition_map_probe): Remove.
16926 (gpt_partition_map_get_name): Likewise.
16927 * partmap/msdos.c (grub_partition_parse): Remove.
16928 (pc_partition_map_iterate): Don't force raw access.
16929 Set 'number'.
16930 Make 'ext_offset' a local variable.
16931 (pc_partition_map_probe): Remove.
16932 (pc_partition_map_get_name): Remove.
16933 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
16934 Set 'number'.
16935 (sun_partition_map_probe): Remove.
16936 (sun_partition_map_get_name): Likewise.
16937 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
16938 (grub_pcpart_type): Likewise.
16939 * util/hostdisk.c (open_device): Handle new numbering scheme.
16940 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
16941 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
16942 * util/grub-probe.c (probe_partmap): Handle nested paritions.
16943 * util/grub-install.in: Insert all subpartition modules.
16944 * util/ieee1275/grub-install.in: Likewise.
16945
16946 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
16947
16948 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
16949 grammar.
16950
16951 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
16952
16953 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
16954
16955 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
16956
16957 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
16958 match where 'make install' puts them.
16959 * util/i386/efi/grub-install.in: Likewise.
16960
16961 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
16962
16963 * .bzrignore: Add gentrigtables, grub-script-check,
16964 grub_script_check_init.c, grub_script_check_init.h, and
16965 trigtables.c.
16966
16967 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
16968
16969 * kern/parser.c: Indented.
16970
16971 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
16974
16975 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16976
16977 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
16978 alpha_mask_size == 0 case.
16979
16980 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
16981
16982 GRUB shell lexer and parser improvements.
16983
16984 * conf/any-emu.rmk: Build rule updates.
16985 * conf/common.rmk: Likewise.
16986 * conf/i386-coreboot.rmk: Likewise.
16987 * conf/i386-efi.rmk: Likewise.
16988 * conf/i386-ieee1275.rmk: Likewise.
16989 * conf/i386-pc.rmk: Likewise.
16990 * conf/powerpc-ieee1275.rmk: Likewise.
16991 * conf/x86_64-efi.rmk: Likewise.
16992
16993 * configure.ac: Configure check for flex.
16994
16995 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
16996 types.
16997 (grub_lexer_param): Struct member updates.
16998 (grub_parser_param): Likewise.
16999 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
17000 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
17001 (grub_script_lexer_init): Prototype update.
17002 (grub_script_lexer_record_start): Likewise.
17003 (grub_script_lexer_record_stop): Likewise.
17004 (grub_script_lexer_yywrap): New function prototype.
17005 (grub_script_lexer_fini): Likewise.
17006 (grub_script_execute_argument_to_string): Removed by...
17007 (grub_script_execute_argument_to_argv): ...better version.
17008
17009 * script/execute.c (ROUND_UPTO): New macro.
17010 (grub_script_execute_cmdline): Out of memory fixes.
17011 (grub_script_execute_menuentry): Likewise.
17012 (grub_script_execute_argument_to_string): Removed. Update all
17013 users by...
17014 (grub_script_execute_argument_to_argv): ...better version.
17015 * script/function.c (grub_script_function_create): Use
17016 grub_script_execute_argument_to_argv instead of
17017 grub_script_execute_argument_to_string.
17018
17019 * script/lexer.c (check_varstate): Removed.
17020 (check_textstate): Removed.
17021 (grub_script_lexer_record_start): Likewise.
17022 (grub_script_lexer_record_stop): Likewise.
17023 (recordchar): Replaced with...
17024 (grub_script_lexer_record): ...new function.
17025 (nextchar): Removed.
17026 (grub_script_lexer_init): Rewritten.
17027 (grub_script_yylex): Rewritten.
17028 (append_newline): New function.
17029 (grub_script_lexer_yywrap): New function.
17030 (grub_script_lexer_fini): New function.
17031 (grub_script_yyerror): Sets error flag.
17032
17033 * script/yylex.l: New file.
17034 (grub_lexer_yyfree): Wrapper for flex yyffre.
17035 (grub_lexer_yyalloc): Likewise.
17036 (grub_lexer_yyrealloc): Likewise.
17037 * script/parser.y: Refactored.
17038
17039 * script/script.c (grub_script_arg_add): Out of memory fixes.
17040 (grub_script_add_arglist): Likewise.
17041 (grub_script_create_cmdline): Likewise.
17042 (grub_script_create_cmdmenu): Likewise.
17043 (grub_script_add_cmd): Likewise.
17044 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
17045 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
17046 unnecessary code.
17047
17048 * tests/grub_script_echo1.in: New testcase.
17049 * tests/grub_script_vars1.in: New testcase.
17050 * tests/grub_script_echo_keywords.in: New testcase.
17051
17052 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 Remove some redundancy in build system.
17055
17056 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
17057 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
17058 (TARGET_LDFLAGS): Add -nostdlib.
17059 (TARGET_IMG_LDFLAGS): Likewise.
17060 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
17061 anything since mmap isn't available.
17062 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
17063 Add util/time.c.
17064 (pkglib_MODULES): Remove reboot.mod.
17065 (reboot_mod_SOURCES): Removed.
17066 (reboot_mod_CFLAGS): Likewise.
17067 (reboot_mod_LDFLAGS): Likewise.
17068 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
17069 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
17070 (DEFSYMFILES): Add kernel_syms.lst.
17071 (kernel_img_HEADERS): Add common headers.
17072 (symlist.c): New target.
17073 (kernel_syms.lst): Likewise.
17074 (pkglib_MODULES): Add memdisk.mod.
17075 (memdisk_mod_SOURCES): New variable.
17076 (memdisk_mod_CFLAGS): Likewise.
17077 (memdisk_mod_LDFLAGS): Likewise.
17078 (pkglib_MODULES): Add reboot.mod.
17079 (reboot_mod_SOURCES): New variable.
17080 (reboot_mod_CFLAGS): Likewise.
17081 (reboot_mod_LDFLAGS): Likewise.
17082 (pkglib_MODULES): Add date.mod.
17083 (date_mod_SOURCES): New variable.
17084 (date_mod_CFLAGS): Likewise.
17085 (date_mod_LDFLAGS): Likewise.
17086 (pkglib_MODULES): Add datehook.mod.
17087 (datehook_mod_SOURCES): New variable.
17088 (datehook_mod_CFLAGS): Likewise.
17089 (datehook_mod_LDFLAGS): Likewise.
17090 (pkglib_MODULES): Add lsmmap.mod.
17091 (lsmmap_mod_SOURCES): New variable.
17092 (lsmmap_mod_CFLAGS): Likewise.
17093 (lsmmap_mod_LDFLAGS): Likewise.
17094 (pkglib_MODULES): Add boot.mod.
17095 (boot_mod_SOURCES): New variable.
17096 (boot_mod_CFLAGS): Likewise.
17097 (boot_mod_LDFLAGS): Likewise.
17098 * conf/i386-coreboot.rmk: Removed redundant parts.
17099 * conf/i386-ieee1275.rmk: Likewise.
17100 * conf/i386-pc.rmk: Likewise.
17101 * conf/mips-yeeloong.rmk: Likewise.
17102 * conf/mips.rmk: Likewise.
17103 * conf/powerpc-ieee1275.rmk: Likewise.
17104 * conf/sparc64-ieee1275.rmk: Likewise.
17105 * conf/x86_64-efi.rmk: Likewise.
17106 * conf/i386-coreboot.rmk: Moved qemu parts ..
17107 * conf/i386-qemu.rmk: ... here
17108 * conf/i386-efi.rmk: Moved common parts to...
17109 * conf/x86-efi.rmk: ... here.
17110 * conf/i386.rmk: Added modules common to all x86 variants.
17111 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
17112 * disk/memdisk.c: Remove grub/machine/kernel.h.
17113 * gensymlist.sh.in: Include symbol.h.
17114 * hook/datehook.c: Correct module name.
17115 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
17116 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
17117 * include/grub/i386/efi/serial.h: New file.
17118 * include/grub/x86_64/efi/serial.h: Likewise.
17119 * util/time.c: Likewise.
17120 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
17121
17122 2010-03-14 Colin King <colin.king@ubuntu.com>
17123 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
17124
17125 Shrink the pre-partition-table part of boot.img by eight bytes.
17126
17127 * boot/i386/pc/boot.S (ERR): New macro.
17128 (chs_mode): Use ERR.
17129 (geometry_error): Likewise.
17130 (hd_probe_error): Remove. This is only used once, so we wrwite
17131 it inline instead.
17132 (read_error): Instead of printing read_error_string, just set up
17133 %si and fall through to ...
17134 (error_message): ... this new function, also used by ERR.
17135
17136 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
17137
17138 Speed up consecutive hostdisk operations on the same device.
17139
17140 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
17141 (grub_util_biosdisk_open): Initialise disk->data.
17142 (struct linux_partition_cache): New structure.
17143 (linux_find_partition): Cache partition start positions; these are
17144 expensive to compute on every read and write.
17145 (open_device): Cache open file descriptor in disk->data, so that we
17146 don't have to reopen it and flush the buffer cache for consecutive
17147 operations on the same device.
17148 (grub_util_biosdisk_close): New function.
17149 (grub_util_biosdisk_dev): Set `close' member.
17150
17151 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
17152 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
17153 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
17154 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
17155 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
17156
17157 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 Compile parts of grub-emu as modules.
17160
17161 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
17162 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
17163 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
17164 (all-local): Add $(GRUB_EMU).
17165 (install-local): Install $(GRUB_EMU).
17166 (uninstall): Uninstall $(GRUB_EMU).
17167 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
17168 * kern/dl.c: Likewise.
17169 * commands/sleep.c: Not include machine/time.h.
17170 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
17171 (COMMON_CFLAGS): Likewise.
17172 (sbin_UTILITIES): Remove grub-emu.
17173 (grub_emu_SOURCES): Removed.
17174 (kernel_img_RELOCATABLE): New variable.
17175 (pkglib_PROGRAMS): Add kernel.img.
17176 (kernel_img_SOURCES): New variable
17177 (kernel_img_CFLAGS): Likewise.
17178 (kernel_img_LDFLAGS): Likewise.
17179 (TARGET_NO_STRIP): Likewise.
17180 (TARGET_NO_DYNAMIC_MODULES): Likewise.
17181 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
17182 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
17183 (grub-emu): New target.
17184 (GRUB_EMU): New variable.
17185 * configure.ac: Whitelist -emu as possible x86_64 architecture.
17186 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
17187 * loader/xnu.c: Likewise.
17188 * include/grub/pci.h: Likewise.
17189 * genemuinit.sh: New file.
17190 * genemuinitheader.sh: Likewise.
17191 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
17192 Support TARGET_NO_DYNAMIC_MODULES.
17193 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
17194 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
17195 * disk/loopback.c: Likewise.
17196 * font/font_cmd.c: Likewise.
17197 * partmap/acorn.c: Likewise.
17198 * partmap/amiga.c: Likewise.
17199 * partmap/apple.c: Likewise.
17200 * partmap/gpt.c: Likewise.
17201 * partmap/msdos.c: Likewise.
17202 * partmap/sun.c: Likewise.
17203 * parttool/msdospart.c: Likewise.
17204 * term/gfxterm.c: Likewise.
17205 * video/bitmap.c: Likewise.
17206 * video/readers/jpeg.c: Likewise.
17207 * video/readers/png.c: Likewise.
17208 * video/readers/tga.c: Likewise.
17209 * video/video.c: Likewise.
17210 * util/grub-emu.c (read_command_list): Removed.
17211 (main): Don't call util_init_nls.
17212 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
17213 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
17214
17215 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
17218 date.mod, datehook.mod.
17219 (datetime_mod_SOURCES): New variable.
17220 (datetime_mod_CFLAGS): Likewise.
17221 (datetime_mod_LDFLAGS): Likewise.
17222 (date_mod_SOURCES): Likewise.
17223 (date_mod_CFLAGS): Likewise.
17224 (date_mod_LDFLAGS): Likewise.
17225 (datehook_mod_SOURCES): Likewise.
17226 (datehook_mod_CFLAGS): Likewise.
17227 (datehook_mod_LDFLAGS): Likewise.
17228 * conf/sparc64-ieee1275.rmk: Likewise.
17229 * lib/ieee1275/datetime.c: New file.
17230
17231 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
17234 (ieee1275_fb_mod_SOURCES): New variable.
17235 (ieee1275_fb_mod_CFLAGS): Likewise.
17236 (ieee1275_fb_mod_LDFLAGS): Likewise.
17237 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
17238 New proto.
17239 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
17240 (HEAP_MAX_ADDR): Likewise.
17241 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
17242 type.
17243 Correct stop condition.
17244 (grub_ieee1275_devices_iterate): New function.
17245 * video/ieee1275.c: New file.
17246
17247 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
17250
17251 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
17252 as scratch.
17253 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
17254 SCRATCH_PAD_DISKBOOT as scratch.
17255 (bootit): Pass Openfirmware pointer in %o4.
17256 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
17257 of 0x200000.
17258 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
17259 with util/grub-mkrawimage.c.
17260 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
17261 * include/grub/aout.h (AOUT_MID_SUN): New definition.
17262 (grub_aout_get_type) [GRUB_UTIL]: Removed.
17263 (grub_aout_load) [GRUB_UTIL]: Likewise.
17264 * include/grub/kernel.h (grub_modules_get_end): New proto.
17265 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
17266 (SCRATCH_PAD_BOOT): New definition.
17267 (SCRATCH_PAD_DISKBOOT): Likewise.
17268 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
17269 * include/grub/sparc64/ieee1275/ieee1275.h
17270 (grub_ieee1275_original_stack): New variable
17271 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17272 New definition
17273 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
17274 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
17275 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
17276 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
17277 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
17278 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
17279 (grub_platform_image_format_t): New type.
17280 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
17281 * kern/main.c (grub_modules_get_end)
17282 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
17283 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
17284 (codestart): Switch stacks.
17285 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
17286 variable.
17287 (grub_heap_init): Use grub_modules_get_end.
17288 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17289 stack.
17290 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17291 (main): Likewise.
17292 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17293
17294 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
17295
17296 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17297
17298 2010-03-08 Matt Kraai <kraai@ftbfs.org>
17299
17300 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17301 bug #559005).
17302
17303 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17304
17305 * genmoddep.awk: Output all missing symbols and not only first.
17306
17307 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17308
17309 * NEWS: Put the date of 1.98 release.
17310
17311 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17314 ft2build.h.
17315
17316 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17319 completition in the middle of string.
17320
17321 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17322
17323 * util/grub-mkrescue.in: Use mktemp with explicit template.
17324
17325 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17328
17329 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17330
17331 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17332 right pointer.
17333
17334 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 Fix FreeBSD compilation.
17337
17338 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17339 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17340
17341 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17342
17343 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17344
17345 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17346
17347 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17348
17349 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17352
17353 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17354
17355 Support relative image path in theme file.
17356
17357 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17358 (image_set_property): Handle theme_dir and relative path.
17359
17360 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 * configure.ac: Alias amd64 to x86_64.
17363
17364 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17365
17366 * NEWS: mention multiboot on EFI.
17367
17368 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17369
17370 * kern/main.c (grub_load_modules): Handle errors from init functions of
17371 embeded modules.
17372
17373 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * normal/autofs.c (autoload_fs_module): Handle errors.
17376
17377 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17378
17379 Disable linux.mod on qemu-mips since it's not functional and leads
17380 to compilation failure.
17381
17382 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17383 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17384 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17385 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17386 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17387 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17388 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17389 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17390 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17391 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17392 Reported by: BVK Chaitanya
17393
17394 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17395
17396 * INSTALL: Add gettext as a dependency and add qemu to a new section
17397 "Prerequisites for make-check".
17398
17399 2010-03-04 Christian Franke <franke@computer.org>
17400
17401 * util/grub-pe2elf.c: Add missing include "progname.h".
17402
17403 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17404
17405 * normal/crypto.c (read_crypto_list): Fix a typo.
17406 Reported by: Seth Goldberg.
17407
17408 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
17411 Reported by: Seth Goldberg.
17412
17413 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17414
17415 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17416 ascii.bitmaps.
17417
17418 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17419
17420 * genmk.rb: Remove terminal*.lst in make clean.
17421 Reported by: Seth Goldberg.
17422
17423 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17424
17425 * util/i386/efi/grub-install.in: Copy gettext files.
17426
17427 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17430
17431 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17432
17433 Wait for user entry basing on presence of output rather than on errors.
17434
17435 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17436 (grub_install_newline_hook): Likewise.
17437 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17438 * normal/menu.c (show_menu): Check line_counter to determine presence
17439 of output.
17440 * normal/term.c (grub_normal_line_counter): New variable.
17441 (grub_normal_get_line_counter): New function.
17442 (grub_install_newline_hook): Likewise.
17443
17444 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17445
17446 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17447
17448 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17449
17450 * configure.ac: Update version to 1.98.
17451
17452 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 * util/grub.d/10_linux.in (linux_entry): Don't default to
17455 gfxpayload=keep if Linux doesn't support video handover.
17456
17457 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17458
17459 Don't compile video modules on yeeloong since video subsystem is part
17460 of kernel.
17461
17462 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17463 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17464 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17465 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17466 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17467 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17468 * include/grub/bitmap_scale.h: Likewise.
17469 * include/grub/bufio.h: Likewise.
17470 * include/grub/font.h: Likewise.
17471 * include/grub/gfxterm.h: Likewise.
17472 * include/grub/video.h: Likewise.
17473 * include/grub/vbe.h: Don't include video_fb.h.
17474 * video/i386/pc/vbe.c: Include video_fb.h.
17475 * commands/i386/pc/vbetest.c: Include video.h.
17476
17477 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17478
17479 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17480 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17481 default entry if GRUB_SAVEDEFAULT=true. This allows using
17482 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17483 saving a new default on every boot.
17484
17485 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17488 * normal/term.c (read_terminal_list): Likewise.
17489 * normal/main.c (grub_normal_init_page): Likewise.
17490 (grub_normal_read_line_real): Likewise.
17491
17492 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17495 memory leak.
17496 Reported by: Seth Goldberg.
17497
17498 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17499
17500 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17501 duplicate declaration of `start'.
17502
17503 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17504
17505 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17506 filename.
17507 Reported by: Georgy Buranov
17508
17509 2010-02-20 Carles Pina i Estany <carles@pina.cat>
17510
17511 * util/grub-mkrawimage.c (usage): Change string formatting to
17512 improve gettext.
17513
17514 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17515
17516 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17517 backspace keys.
17518
17519 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17522 Reported by: Michael Suchanek.
17523
17524 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
17525
17526 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17527 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17528
17529 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17530
17531 Remove any reference to non-free fonts.
17532
17533 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17534 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17535 uses non-free components.
17536 * font/font.c (grub_font_get_name): Remove example name.
17537 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17538 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17539 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17540 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17541
17542 2010-02-16 Georgy Buranov <gburanov@gmail.com>
17543
17544 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17545
17546 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17547
17548 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17549 Double divisor.
17550 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17551 features.
17552 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17553
17554 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17555
17556 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17557
17558 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17559
17560 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17561 * docs/grub.texi (Command-line and menu entry commands): Document play
17562 command.
17563
17564 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17565
17566 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17567 parse arguments as inline tempo and notes. Move code for playing notes
17568 to...
17569 (play): ... new function.
17570
17571 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17572
17573 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17574 grub_uint16_t instead of short.
17575 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17576 disk from little endian to cpu endianness.
17577
17578 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17579
17580 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17581 GRUB_TICKS_PER_SECOND instead of 120.
17582
17583 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17584
17585 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17586 escape sequence after \e.
17587
17588 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17589
17590 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17591 non-ASCII characters.
17592
17593 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17594
17595 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17596 set root in single quotes to prevent \, from being unescaped.
17597
17598 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 Prevent unknown commands from stopping menuentry execution.
17601
17602 * script/execute.c (grub_script_execute_cmdline): Print error after
17603 unknown command.
17604
17605 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17606
17607 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17608 Reported by: Pavel Pisa.
17609
17610 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17611
17612 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17613
17614 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17615
17616 Merge grub_ieee1275_map_physical into grub_map and rename to
17617 grub_ieee1275_map
17618
17619 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17620 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17621 Remove.
17622 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17623 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17624 necessary.
17625 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17626
17627 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17628
17629 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17630 opening and not after.
17631
17632 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17633
17634 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17635 constants.
17636
17637 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17640 (alloc_phys): Use ALIGN_UP instead of align_addr.
17641
17642 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17643
17644 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17645
17646 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17649
17650 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17651
17652 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17653 verbose dprintf.
17654
17655 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17656
17657 Fix over-4GiB seek on sparc64.
17658
17659 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17660 Replace pos_i and pos_lo with pos. All users updated.
17661 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17662 New constant.
17663 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17664 Likewise.
17665 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17666 and pos_lo.
17667
17668 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17669
17670 * util/grub-mkrawimage.c (main): Call set_program_name.
17671
17672 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17673
17674 Properly align 64-bit targets.
17675
17676 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17677 (generate_image): Use ALIGN_ADDR.
17678
17679 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17680
17681 Properly create cross-endian images.
17682
17683 * include/grub/types.h (grub_host_to_target_addr): New macro
17684 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17685
17686 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17689
17690 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17691
17692 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17693
17694 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17695 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17696 (grub_linux_boot): Divide by 64K when on VESA.
17697
17698 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17699
17700 Support GRUB_GFXPAYLOAD_LINUX.
17701
17702 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17703 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17704
17705 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17706
17707 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17708 to show messages instead of discarding them.
17709 Process errors after executing command and not before. Keep old method
17710 too as precaution.
17711
17712 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17713
17714 * configure.ac: Check for ft2build.h.
17715
17716 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17717
17718 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17719
17720 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17721
17722 * genkernsyms.sh.in: Use TARGET_CC.
17723
17724 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
17725
17726 * NEWS: Update.
17727
17728 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * include/grub/multiboot2.h: Remove leftover file.
17731 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17732 * include/grub/partition.h [GRUB_UTIL]: Likewise.
17733
17734 2010-02-07 Yves Blusseau <blusseau@zetam.org>
17735
17736 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
17737
17738 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17739
17740 Fix warnings in grub-emu when compiling with maximum warning options.
17741
17742 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17743 (grub_arch_modules_addr): Return 0 and not NULL.
17744 * util/misc.c (ENABLE_RELOCATABLE): New definition.
17745 (xstrdup): Use newstr instead of dup.
17746 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17747 of disk to dsk to avoid shadowing.
17748 (find_free_slot): Fix prototype.
17749 * util/getroot.c (grub_util_is_dmraid): Make static.
17750 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17751 Add missing prototype.
17752 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
17753
17754 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17755
17756 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17757 appropriately.
17758
17759 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17760
17761 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17762 code out.
17763
17764 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17765
17766 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17767 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17768 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17769 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17770 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17771 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17772
17773 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17774
17775 * include/grub/err.h (grub_err_printf): Don't export.
17776
17777 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17780
17781 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17784 * kern/misc.c (grub_gettext_dummy): Make static.
17785
17786 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17787
17788 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17789 by non-valid ones.
17790 * kern/term.c (grub_putchar): Likewise.
17791
17792 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17793
17794 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17795 buggy hook call and memory leak.
17796
17797 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17798
17799 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17800
17801 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17802
17803 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17804
17805 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17806
17807 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17808 modevar.
17809 Return grub_errno on allocation error.
17810
17811 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17812
17813 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17814
17815 2010-02-06 Yves Blusseau <blusseau@zetam.org>
17816
17817 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17818 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17819
17820 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17821
17822 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17823 non-pxe disk.
17824 (grub_pxefs_open): Likewise.
17825
17826 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17827
17828 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17829 * util/grub.d/10_kfreebsd.in: Likewise.
17830 * util/grub.d/10_linux.in: Likewise.
17831
17832 2010-02-06 Colin D Bennett <colin@gibibit.com>
17833
17834 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17835 (gfxmenu_mod_SOURCES): New variable.
17836 (gfxmenu_mod_CFLAGS): Likewise.
17837 (gfxmenu_mod_LDFLAGS): Likewise.
17838 * include/grub/term.h (grub_term_set_current_output): Declare
17839 argument as const.
17840 * docs/gfxmenu-theme-example.txt: New file.
17841 * gfxmenu/gfxmenu.c: Likewise.
17842 * gfxmenu/gui_box.c: Likewise.
17843 * gfxmenu/gui_canvas.c: Likewise.
17844 * gfxmenu/gui_circular_progress.c: Likewise.
17845 * gfxmenu/gui_image.c: Likewise.
17846 * gfxmenu/gui_label.c: Likewise.
17847 * gfxmenu/gui_list.c: Likewise.
17848 * gfxmenu/gui_progress_bar.c: Likewise.
17849 * gfxmenu/gui_string_util.c: Likewise.
17850 * gfxmenu/gui_util.c: Likewise.
17851 * gfxmenu/icon_manager.c: Likewise.
17852 * gfxmenu/model.c: Likewise.
17853 * gfxmenu/named_colors.c: Likewise.
17854 * gfxmenu/theme_loader.c: Likewise.
17855 * gfxmenu/view.c: Likewise.
17856 * gfxmenu/widget-box.c: Likewise.
17857 * include/grub/gfxmenu_model.h: Likewise.
17858 * include/grub/gfxmenu_view.h: Likewise.
17859 * include/grub/gfxwidgets.h: Likewise.
17860 * include/grub/gui.h: Likewise.
17861 * include/grub/gui_string_util.h: Likewise.
17862 * include/grub/icon_manager.h: Likewise.
17863
17864 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17865
17866 Agglomerate scrolling in gfxterm.
17867
17868 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17869 (grub_virtual_screen_setup): Initialise 'total_screen'.
17870 (write_char): Split to ...
17871 (paint_char): ... this ...
17872 (write_char): ... and this.
17873 (paint_char): Handle delayed scrolling.
17874 (draw_cursor): Likewise.
17875 (scroll_up): Split to ...
17876 (real_scroll): ... this ...
17877 (scroll_up): ... and this.
17878 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17879 characters.
17880 (grub_gfxterm_refresh): Call real_scroll.
17881
17882 2010-02-06 Colin D Bennett <colin@gibibit.com>
17883
17884 * include/grub/misc.h (grub_iscntrl): New inline function.
17885 (grub_isalnum): Likewise.
17886 (grub_strtol): Likewise.
17887
17888 2010-02-06 Colin D Bennett <colin@gibibit.com>
17889
17890 * normal/menu_text.c (get_entry_number): Move from here ...
17891 * normal/menu.c (get_entry_number): ... moved here.
17892 * include/grub/menu.h (grub_menu_get_default_entry_index):
17893 New prototype.
17894 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17895 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17896 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17897 (grub_menu_viewer_should_return): Likewise.
17898 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17899 * normal/menu_text.c (run_menu): Enable menu switching.
17900 * normal/menu_viewer.c (should_return): New variable.
17901 (menu_viewer_changed): Likewise.
17902 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17903 (grub_menu_viewer_should_return): New function.
17904 (menuviewer_write_hook): Likewise.
17905 (grub_menu_viewer_init): Likewise.
17906
17907 2010-02-06 Colin D Bennet <colin@gibibit.com>
17908 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17909
17910 Support for gfxterm in a window.
17911
17912 * include/grub/gfxterm.h: New file.
17913 * include/grub/video.h (struct grub_video_rect): New declaration.
17914 (grub_video_rect_t): Likewise.
17915 * term/gfxterm.c (struct grub_gfxterm_window): New type.
17916 (refcount): New variable.
17917 (render_target): Likewise.
17918 (window): Likewise.
17919 (repaint_callback): Likewise.
17920 (grub_virtual_screen_setup): Use 'render_target'.
17921 (init_window): New function.
17922 (grub_gfxterm_init_window): Likewise.
17923 (grub_gfxterm_init): Check reference counter.
17924 Use init_window.
17925 (destroy_window): New function.
17926 (grub_gfxterm_destroy_window): Likewise.
17927 (grub_gfxterm_fini): Check reference counter.
17928 Use destroy_window.
17929 (redraw_screen_rect): Restore viewport.
17930 Use 'render_target' and 'window'.
17931 Call 'repaint_callback'.
17932 (write_char): Use 'render_target'.
17933 (draw_cursor): Likewise.
17934 (scroll_up): Restore viewport.
17935 Use 'render_target' and 'window'.
17936 Call 'repaint_callback'.
17937 (grub_gfxterm_cls): Likewise.
17938 (grub_gfxterm_refresh): Use 'window'.
17939 (grub_gfxterm_set_repaint_callback): New function.
17940 (grub_gfxterm_background_image_cmd): Use 'window'.
17941 (grub_gfxterm_get_term): New function.
17942 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
17943
17944 2010-02-06 Colin D Bennett <colin@gibibit.com>
17945
17946 Bitmap scaling support.
17947
17948 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
17949 (bitmap_scale_mod_SOURCES): New variable.
17950 (bitmap_scale_mod_CFLAGS): Likewise.
17951 (bitmap_scale_mod_LDFLAGS): Likewise.
17952 * include/grub/bitmap_scale.h: New file.
17953 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
17954 (background_image_cmd_options): New variable.
17955 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
17956 (cmd): Rename and change type to ...
17957 (background_image_cmd_handle): ... this. All users updated.
17958 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
17959 * video/bitmap_scale.c: New file.
17960
17961 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17962
17963 SDL support.
17964
17965 * Makefile.in (LIBSDL): New variable.
17966 (enable_grub_emu_sdl): Likewise.
17967 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
17968 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
17969 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
17970 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
17971 * util/sdl.c: New file.
17972
17973 2010-02-06 Colin D Bennett <colin@gibibit.com>
17974 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17975
17976 Double buffering support.
17977
17978 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
17979 * include/grub/video.h: Update comment.
17980 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
17981 New type.
17982 (grub_video_fb_doublebuf_blit_init): New prototype.
17983 * term/gfxterm.c (scroll_up): Support double buffering.
17984 (grub_gfxterm_refresh): Likewise.
17985 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
17986 (grub_video_fb_doublebuf_blit_init): Likewise.
17987 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
17988 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
17989 'displayed_page', 'render_page' and 'update_screen'.
17990 (grub_video_vbe_fini): Free offscreen buffer.
17991 (doublebuf_pageflipping_commit): New function.
17992 (doublebuf_pageflipping_update_screen): Likewise.
17993 (doublebuf_pageflipping_init): Likewise.
17994 (double_buffering_init): Likewise.
17995 (grub_video_vbe_setup): Enable doublebuffering.
17996 (grub_video_vbe_swap_buffers): Implement.
17997 (grub_video_vbe_set_active_render_target): Handle double buffering.
17998 (grub_video_vbe_get_active_render_target): Likewise.
17999 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
18000 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
18001 (grub_video_vbe_enable_double_buffering): Likewise.
18002 (grub_video_vbe_swap_buffers): Use update_screen.
18003 (grub_video_set_mode): Use double buffering.
18004
18005 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18006
18007 * maintainance/gentrigtables.py: Remove.
18008 * lib/trig.c: Likewise.
18009
18010 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
18011
18012 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
18013 `trigtables.c'.
18014 (trigtables.c): New rule.
18015 (gentrigtables): Likewise.
18016 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
18017
18018 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
18019
18020 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
18021 integer constants.
18022
18023 2010-02-06 Colin D Bennet <colin@gibibit.com>
18024
18025 Trigonometry support.
18026
18027 * include/grub/trig.h: New file.
18028 * lib/trig.c: Likewise.
18029 * maintainance/gentrigtables.py: Likewise.
18030 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
18031 (trig_mod_SOURCES): New variable.
18032 (trig_mod_CFLAGS): Likewise.
18033 (trig_mod_LDFLAGS): Likewise.
18034
18035 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18036
18037 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
18038 disk devices.
18039
18040 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
18043 error.
18044
18045 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18046
18047 * util/hostdisk.c (open_device): Don't use partition device when reading
18048 before the partition.
18049 (grub_util_biosdisk_read): Don't read from partition and before the
18050 partition in single operation.
18051 (grub_util_biosdisk_write): Don't write to partition and before the
18052 partition in single operation.
18053
18054 2010-02-03 Torsten Landschoff <torsten@debian.org>
18055
18056 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18057 last sectors.
18058
18059 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
18062 CDROM reads.
18063 (grub_biosdisk_write): Refuse to write to CDROM.
18064
18065 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
18068
18069 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
18070
18071 * font/font.c (find_glyph): Check that bmp_idx is available before
18072 using it.
18073 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
18074 with (font == NULL).
18075
18076 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
18077
18078 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
18079
18080 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
18081
18082 * include/grub/script_sh.h (sourcecode): Add const qualifier.
18083 * util/grub-script-check.c (getline): Fix empty lines case.
18084
18085 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
18086
18087 * Makefile.in (check): Exit with fail status when one of the tests
18088 fails.
18089 * tests/example_functional_test.c (example_test): Fix reversed assert.
18090 * tests/example_unit_test.c (example_test): Likewise.
18091
18092 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
18093
18094 * util/grub.d/10_linux.in: This script does not use any of the
18095 contents of gettext.sh, only the external command `gettext', so stop
18096 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
18097 the same prefix as GRUB.)
18098 * util/grub.d/10_kfreebsd.in: Likewise.
18099
18100 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18101
18102 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
18103 of the line.
18104
18105 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18106
18107 * kern/disk.c (grub_disk_read): Fix offset computation when reading
18108 last sectors.
18109
18110 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
18111
18112 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
18113 having a 4KiB and not 32KiB buffer size.
18114
18115 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18116
18117 * util/hostfs.c: Include `<errno.h>'.
18118 (grub_hostfs_read): Handle errors from fseeko() and fread().
18119
18120 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18121
18122 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
18123 loop when using read hooks on files whose size isn't sector-aligned.
18124
18125 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18126
18127 Remove unused parameter.
18128
18129 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
18130 (grub_iso9660_open): Remove initialization of `data->length'.
18131
18132 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
18133
18134 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
18135 memleak conditions.
18136
18137 2010-01-27 Carles Pina i Estany <carles@pina.cat>
18138
18139 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
18140 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
18141
18142 2010-01-26 Carles Pina i Estany <carles@pina.cat>
18143
18144 * util/bin2h.c (usage): Fix warning (space after backslash).
18145
18146 2010-01-26 Carles Pina i Estany <carles@pina.cat>
18147
18148 * font/font.c: Include `grub/fontformat.h.
18149 Remove font file format constants.
18150 (grub_font_load): Use the new macros.
18151 * include/grub/fontformat.h: New file.
18152 * util/grub-mkfont.c: Include `grub/fontformat.c'.
18153 (write_font_pf2): Use the new macros.
18154
18155 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18156
18157 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
18158 does.
18159
18160 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
18161
18162 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
18163
18164 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
18165 (_start): Macroify `0x7F'.
18166
18167 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
18168 (make_install_device): Use "(pxe)" as fallback prefix when booting
18169 via PXE.
18170
18171 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
18172
18173 * configure.ac: Reset LIBS after check for libgcc symbols.
18174
18175 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
18176
18177 * util/hostdisk.c (open_device): Add trailing newline to debug
18178 message.
18179
18180 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
18181
18182 * configure.ac: Check for `limits.h'.
18183 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
18184
18185 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
18186
18187 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
18188 capitalize error strings.
18189
18190 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
18191
18192 * util/grub.d/10_hurd.in: Add a recovery mode.
18193
18194 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * configure.ac: Check for libgcc symbols with -nostdlib.
18197
18198 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
18199
18200 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
18201
18202 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18203
18204 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
18205 stack since heap may be unavailable at that point.
18206 (grub_ofconsole_gotoxy): Likewise.
18207
18208 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18209
18210 * configure.ac: Check for _restgpr_14_x.
18211 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
18212 and _savegpr_* prototypes.
18213
18214 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
18215
18216 Use generic grub_reboot() for i386-efi.
18217
18218 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
18219 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
18220 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
18221
18222 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
18225 presence of "prefix" variable as it breaks when normal.mod is
18226 embedded.
18227
18228 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18229
18230 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
18231 stack since heap is unavailable at that point.
18232
18233 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
18236 (grub_freebsd_bootinfo): Rewritten.
18237 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
18238
18239 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
18240
18241 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
18242
18243 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
18244
18245 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
18246 domain now.
18247
18248 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
18249
18250 * util/misc.c (make_system_path_relative_to_its_root): Change the work
18251 around for handling "/" to the correct fix. Fix a memory leak. Use
18252 xstrdup instead of strdup.
18253
18254 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18255
18256 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
18257
18258 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18259
18260 Optimise glyph lookup by Basic Multilingual Plane lookup array.
18261
18262 * font/font.c (struct grub_font): New member 'bmp_idx'.
18263 (font_init): Initialise 'bmp_idx'.
18264 (load_font_index): Fill 'bmp_idx'.
18265 (find_glyph): Make inline. Use bmp_idx for BMP characters.
18266
18267 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18268
18269 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
18270 unnecessary calls.
18271
18272 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 Move context handling out of the kernel.
18275
18276 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
18277 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
18278 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
18279 * conf/i386-efi.rmk: Likewise.
18280 * conf/i386-ieee1275.rmk: Likewise.
18281 * conf/i386-pc.rmk: Likewise.
18282 * conf/powerpc-ieee1275.rmk: Likewise.
18283 * conf/sparc64-ieee1275.rmk: Likewise.
18284 * conf/x86_64-efi.rmk: Likewise.
18285 * include/grub/env.h: Include grub/menu.h.
18286 (grub_env_var_type): Removed.
18287 (grub_env_var): Replaced field 'type' with 'global'.
18288 (grub_env_find): New prototype.
18289 (grub_env_context_open): Remove EXPORT_FUNC.
18290 (grub_env_context_close): Likewise.
18291 (grub_env_export): Likewise.
18292 (grub_env_set_data_slot): Removed.
18293 (grub_env_get_data_slot): Likewise.
18294 (grub_env_unset_data_slot): Likewise.
18295 (grub_env_unset_menu): New prototype.
18296 (grub_env_set_menu): Likewise.
18297 (grub_env_get_menu): Likewise.
18298 * include/grub/env_private.h: New file.
18299 * include/grub/normal.h (grub_context_init): New prototype.
18300 (grub_context_fini): Likewise.
18301 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18302 * normal/context.c (grub_cmd_export): ... to here.
18303 * kern/env.c: Include env_private.h.
18304 (HASHSZ): Moved to include/grub/env_private.h.
18305 (grub_env_context): Likewise.
18306 (grub_env_sorted_var): Likewise.
18307 (current_context): Renamed from this ...
18308 (grub_current_context): ...to this. 'static' removed. All users updated.
18309 (grub_env_find): Removed 'static'.
18310 (grub_env_context_open): Moved to normal/context.c.
18311 (grub_env_context_close): Likewise.
18312 (grub_env_export): Likewise.
18313 (mangle_data_slot_name): Removed.
18314 (grub_env_set_data_slot): Likewise.
18315 (grub_env_get_data_slot): Likewise.
18316 (grub_env_unset_data_slot): Likewise.
18317 * kern/main.c (grub_set_root_dev): Don't export root.
18318 It will be done later.
18319 (grub_main): Don't export prefix.
18320 It will be done later.
18321 * normal/context.c: New file.
18322 * normal/main.c (free_menu): Use grub_env_unset_menu.
18323 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18324 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18325 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18326 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18327
18328 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 setpci support.
18331
18332 * commands/setpci.c: New file.
18333 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18334 (setpci_mod_SOURCES): New variable.
18335 (setpci_mod_CFLAGS): Likewise.
18336 (setpci_mod_LDFLAGS): Likewise.
18337
18338 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18339
18340 Byte-addressable PCI configuration space.
18341
18342 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18343 dword address.
18344 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18345 GRUB_PCI_REG_CACHELINE.
18346 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18347 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18348 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18349 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18350 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18351 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18352 grub_pci_make_address.
18353 (lock_rom_area): Likewise.
18354 * commands/lspci.c (grub_lspci_iter): Use macroses
18355 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18356 of grub_pci_make_address.
18357 * disk/ata.c (grub_ata_pciinit): Likewise.
18358 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18359 (GRUB_PCI_REG_VENDOR): Likewise.
18360 (GRUB_PCI_REG_DEVICE): Likewise.
18361 (GRUB_PCI_REG_COMMAND): Likewise.
18362 (GRUB_PCI_REG_STATUS): Likewise.
18363 (GRUB_PCI_REG_REVISION): Likewise.
18364 (GRUB_PCI_REG_CLASS): Likewise.
18365 (GRUB_PCI_REG_CACHELINE): Likewise.
18366 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18367 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18368 (GRUB_PCI_REG_BIST): Likewise.
18369 (GRUB_PCI_REG_ADDRESSES): Likewise.
18370 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18371 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18372 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18373 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18374 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18375 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18376 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18377 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18378 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18379 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18380 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18381 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18382 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18383 (GRUB_PCI_REG_MIN_GNT): Likewise.
18384 (GRUB_PCI_REG_MAX_LAT): Likewise.
18385 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18386 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18387 * video/efi_uga.c (find_framebuf): Likewise.
18388 * video/sm712.c (grub_video_sm712_setup): Likewise.
18389 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18390 space.
18391
18392 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18393
18394 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18395 can be reliably determined to be supported.
18396
18397 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18398
18399 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18400 that VESA is supported.
18401 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18402 supported.
18403
18404 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18407
18408 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18409
18410 * util/misc.c (make_system_path_relative_to_its_root): Work around
18411 special-casing of "/", as previous incarnation of this routine did.
18412
18413 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18414
18415 Fix any-emu compilation.
18416
18417 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18418 * grub_bin2h_SOURCES: New variable.
18419
18420 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18421
18422 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18423
18424 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18425
18426 * util/grub.d/00_header.in: Fix handling of locale_dir.
18427
18428 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18429
18430 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18431 as possible unifont location (Gentoo).
18432 Reported by: Alexander Brüning
18433
18434 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18435
18436 Don't try to generate lists for kernel.img.
18437
18438 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18439 (pkglib_MODULES): Remove kernel.img.
18440 (kernel_img_EXPORTS): Removed.
18441 (kernel_img_RELOCATABLE): New variable.
18442 * conf/x86_64-efi.rmk: Likewise.
18443 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18444
18445 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18446
18447 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18448 grub_xasprintf or grub_snprintf.
18449 (grub_vsprintf): Likewise.
18450 (grub_snprintf): New proto.
18451 (grub_vsnprintf): Likewise.
18452 (grub_xasprintf): Likewise.
18453 (grub_xvasprintf): Likewise.
18454 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18455 (grub_sprintf): Removed.
18456 (grub_vsnprintf): New function.
18457 (grub_snprintf): Likewise.
18458 (grub_xvasprintf): Likewise.
18459 (grub_xasprintf): Likewise.
18460 (grub_vsprintf): Renamed to ...
18461 (grub_vsnprintf_real): ...this. New argument max_len.
18462
18463 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18464
18465 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18466 fix grub-script-check warning.
18467
18468 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18469
18470 * include/grub/font.h (grub_font_load): Fix prototype.
18471
18472 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18473
18474 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18475
18476 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18477
18478 * include/grub/x86_64/at_keyboard.h: New file.
18479
18480 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18481
18482 * loader/mips/linux.c: Include missing grub/i18n.h.
18483
18484 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18485
18486 * normal/menu.c (notify_execution_failure): Clarify error message.
18487
18488 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18489
18490 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18491 return value (and revert all return statements). Update users.
18492
18493 2010-01-20 Dan Merillat <debian@dan.merillat.org>
18494
18495 * kern/device.c (grub_device_iterate): Allocate new part_ent
18496 structure based on sizeof (*p) rather than sizeof (p->next), to
18497 account for structure padding.
18498
18499 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18500 disk is NULL, which might happen for LVM physical volumes with no
18501 LVM signature.
18502
18503 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18504
18505 * loader/mips/linux.c (grub_cmd_initrd)
18506 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18507
18508 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18509
18510 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18511 (grub_video_video_init, grub_video_bitmap_init)
18512 (grub_font_manager_init, grub_term_gfxterm_init)
18513 (grub_at_keyboard_init): New extern declarations.
18514 (grub_machine_init): Initialize gfxterm and at_keyboard.
18515
18516 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18517
18518 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18519 `gfxterm.mod' into core image.
18520
18521 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18522 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18523 (kernel_img_FORMAT): Copy to ...
18524
18525 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18526 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18527 (kernel_img_FORMAT): ... here, and ...
18528
18529 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18530 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18531 (kernel_img_FORMAT): ... here.
18532
18533 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18534 and input (at_keyboard) terminals in kernel.
18535 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18536
18537 (pkglib_MODULES): Remove `pci.mod'.
18538 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18539 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18540 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18541 (at_keyboard_mod_LDFLAGS): Remove variables.
18542
18543 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
18544
18545 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18546
18547 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18548
18549 * include/grub/mips/libgcc.h: Only export symbols for functions
18550 that libgcc provides.
18551
18552 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18553
18554 MIPS support.
18555
18556 * bus/bonito.c: New file.
18557 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18558 GRUB_PCI_NUM_DEVICES.
18559 * term/i386/pc/serial.c: Move to ...
18560 * term/serial.c: ... here. All users updated.
18561 * util/i386/pc/grub-mkimage.c: Move to ...
18562 * util/grub-mkrawimage.c: ... here. All users updated.
18563 * term/i386/pc/at_keyboard.c: Move to ...
18564 * term/at_keyboard.c: ... here. All users updated.
18565 * conf/mips-qemu-mips.rmk: New file.
18566 * conf/mips-yeeloong.rmk: Likewise.
18567 * conf/mips.rmk: Likewise.
18568 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18569 mipsel-qemu-mips.
18570 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18571 to port addresses.
18572 (grub_ata_pciinit): Support CS5536.
18573 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18574 * font/font_cmd.c (loadfont_command): Open file before passing it to
18575 grub_font_load.
18576 (pseudo_file_read): New function.
18577 (pseudo_file_close): Likewise.
18578 (pseudo_fs): New structure.
18579 (load_font_module): New function.
18580 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18581 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18582 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18583 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18584 * include/grub/i386/at_keyboard.h: Split into ...
18585 * include/grub/at_keyboard.h: ... this ...
18586 * include/grub/i386/at_keyboard.h: ... and this.
18587 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18588 New prototype.
18589 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18590 updated.
18591 (grub_elf64_size): Likewise.
18592 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18593 filename.
18594 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18595 * include/grub/i386/coreboot/serial.h: Rewritten.
18596 * include/grub/i386/ieee1275/serial.h: Include
18597 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18598 * include/grub/i386/pc/serial.h: Moved from here ...
18599 * include/grub/serial.h: ... to here. All users updated.
18600 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18601 (GRUB_PCI_NUM_BUS): Likewise.
18602 (GRUB_PCI_NUM_DEVICES): Likewise.
18603 (grub_pci_device_map_range): Add missing volatile keyword.
18604 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18605 * include/grub/mips/at_keyboard.h: New file.
18606 * include/grub/mips/cache.h: Likewise.
18607 * include/grub/mips/io.h: Likewise.
18608 * include/grub/mips/kernel.h: Likewise.
18609 * include/grub/mips/libgcc.h: Likewise.
18610 * include/grub/mips/pci.h: Likewise.
18611 * include/grub/mips/qemu-mips/boot.h: Likewise.
18612 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18613 * include/grub/mips/qemu-mips/loader.h: Likewise.
18614 * include/grub/mips/qemu-mips/memory.h: Likewise.
18615 * include/grub/mips/qemu-mips/serial.h: Likewise.
18616 * include/grub/mips/qemu-mips/time.h: Likewise.
18617 * include/grub/mips/relocator.h: Likewise.
18618 * include/grub/mips/time.h: Likewise.
18619 * include/grub/mips/types.h: Likewise.
18620 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18621 * include/grub/mips/yeeloong/boot.h: Likewise.
18622 * include/grub/mips/yeeloong/kernel.h: Likewise.
18623 * include/grub/mips/yeeloong/loader.h: Likewise.
18624 * include/grub/mips/yeeloong/memory.h: Likewise.
18625 * include/grub/mips/yeeloong/pci.h: Likewise.
18626 * include/grub/mips/yeeloong/serial.h: Likewise.
18627 * include/grub/mips/yeeloong/time.h: Likewise.
18628 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18629 * kern/elf.c (grub_elf32_size): New parameter. All users
18630 updated.
18631 (grub_elf64_size): Likewise.
18632 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18633 Load modules before saying "Welcome to GRUB!".
18634 Call grub_refresh after saying "Welcome to GRUB!".
18635 * kern/mips/cache.S: New file.
18636 * kern/mips/cache_flush.S: Likewise.
18637 * kern/mips/dl.c: Likewise.
18638 * kern/mips/init.c: Likewise.
18639 * kern/mips/qemu-mips/init.c: Likewise.
18640 * kern/mips/startup.S: Likewise.
18641 * kern/mips/yeeloong/init.c: Likewise.
18642 * kern/term.c (grub_putcode): Handle NULL terminal.
18643 (grub_getcharwidth): Likewise.
18644 (grub_getkey): Likewise.
18645 (grub_checkkey): Likewise.
18646 (grub_getkeystatus): Likewise.
18647 (grub_getxy): Likewise.
18648 (grub_getwh): Likewise.
18649 (grub_gotoxy): Likewise.
18650 (grub_cls): Likewise.
18651 (grub_setcolorstate): Likewise.
18652 (grub_setcolor): Likewise.
18653 (grub_getcolor): Likewise.
18654 (grub_refresh): Likewise.
18655 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18656 (write_jump): Add hatch nop.
18657 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18658 * lib/mips/setjmp.S: New file.
18659 * loader/mips/linux.c: Likewise.
18660 * term/i386/pc/at_keyboard.c: Move from here ...
18661 * term/at_keyboard.c: ... to here.
18662 * term/i386/pc/serial.c: Moved from here ...
18663 * term/serial.c: ... to here. All users updated.
18664 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18665 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18666 (serial_translate_key_sequence): Avoid deadlock.
18667 (grub_serial_getkey): Handle backspace.
18668 (grub_serial_putchar): Fix newline handling.
18669 * util/i386/pc/grub-mkimage.c: Move from here ...
18670 * util/grub-mkrawimage.c: ... to here. All users updated.
18671 (generate_image): New parameters 'font_path' and 'format'.
18672 Support embedding font.
18673 Use grub_host_to_target* instead of grub_cpu_to_le*.
18674 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18675 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18676 (options): New option "--font".
18677 (usage): Likewise.
18678 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18679 (main): Handle "--font".
18680 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18681 (grub_virtual_screen_setup): Set bg_color_display.
18682 (redraw_screen_rect): Use bg_color_display instead of incorrect
18683 bg_color.
18684 (grub_gfxterm_cls): Likewise.
18685 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18686 Support embedding config file.
18687 (add_segments): Likewise.
18688 (options): New option "--config".
18689 (main): Handle "--config".
18690 * video/sm712.c: New file.
18691
18692 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18693
18694 Fix parallel builds.
18695
18696 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18697 font.c depend on ascii.h).
18698
18699 2010-01-12 Carles Pina i Estany <carles@pina.cat>
18700
18701 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18702
18703 2010-01-11 Carles Pina i Estany <carles@pina.cat>
18704
18705 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18706 By default: disabled.
18707 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18708 parameter.
18709
18710 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18711
18712 * font/font.c: Update copyright years.
18713 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18714
18715 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18716
18717 * font/font.c: Include `ascii.h'.
18718 (ASCII_BITMAP_SIZE): New macro.
18719 (ascii_font_glyph): Define.
18720 (ascii_glyph_lookup): New function.
18721 (grub_font_get_string_width): Change comment. If glyph not found, use
18722 ascii_glyph_lookup.
18723 (grub_font_get_glyph_with_fallback): If glyph not available returns
18724 ascii_glyph_lookup.
18725 * util/grub-mkfont.c (file_formats): New enum.
18726 (options): Add `ascii-bitmaps' new option.
18727 (usage): Add `asii-bitmaps' new option.
18728 (write_font_ascii_bitmap): New function.
18729 (write_font): Rename to ...
18730 (write_font_p2): ... this. Remove print_glyphs call.
18731 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18732 used. Call print_glyphs.
18733 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18734
18735 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18736
18737 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18738 (grub_bin2h_SOURCES): New variable.
18739 * util/bin2h.c: New file.
18740
18741 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18742
18743 * include/multiboot.h: Resynced with spec.
18744 * include/multiboot2.h: Likewise.
18745 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18746 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18747
18748 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18749
18750 * include/grub/term.h (grub_term_register_input,
18751 grub_term_register_output): Check return of terminal init()
18752 routines, and abort if errors are raised.
18753
18754 * commands/terminal.c: Update copyright year.
18755
18756 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18757
18758 * commands/terminal.c (grub_cmd_terminal_input)
18759 (grub_cmd_terminal_output): Check return of terminal init()
18760 routines, and abort if errors are raised.
18761
18762 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 * include/grub/i386/bsd.h: Fix include pathes.
18765
18766 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 Add missing *BSD copyright headers.
18769
18770 * include/grub/aout.h: Add BSD licence.
18771 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18772 * include/grub/i386/freebsd_linker.h: ... here,
18773 * include/grub/i386/freebsd_reboot.h: ... here,
18774 * include/grub/i386/netbsd_bootinfo.h: ... here,
18775 * include/grub/i386/netbsd_reboot.h: ... here,
18776 * include/grub/i386/openbsd_bootarg.h: ... here,
18777 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18778 licence to each file.
18779
18780 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18781
18782 * acinclude.m4: Remove `nop' assembly instruction; it's not
18783 implemented by all architectures.
18784
18785 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18786
18787 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18788 ELILO. This is no longer necessary.
18789
18790 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18791
18792 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18793
18794 * util/grub-script-check.c: grub-script-check tool.
18795 * conf/common.rmk: Make rules for grub-script-check.
18796
18797 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18798
18799 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18800 spotting it back in 2008. Shame on me for forgetting he did.
18801
18802 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18803
18804 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18805
18806 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18807 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18808 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18809 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18810 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18811 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18812
18813 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18814
18815 * include/grub/test.h: Add license header.
18816 * tests/example_functional_test.c: Likewise.
18817 * tests/example_unit_test.c: Likewise.
18818 * tests/lib/functional_test.c: Likewise.
18819 * tests/lib/test.c: Likewise.
18820 * tests/lib/unit_test.c: Likewise.
18821
18822 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18823
18824 Use flag-based instead of hook-based video mode selection and "auto"
18825 keyword.
18826
18827 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18828 (grub_video_set_mode): Changed prototype. All users updated.
18829 (grub_video_check_mode_flag): New inline function.
18830 * video/video.c (parse_modespec): New function.
18831 (grub_video_set_mode): Parse flags and keywords.
18832
18833 2010-01-17 Carles Pina i Estany <carles@pina.cat>
18834
18835 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18836 fprintf call.
18837
18838 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18839
18840 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18841
18842 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18843
18844 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18845 string.
18846 * util/grub-emu.c (usage): Likewise.
18847 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18848 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18849 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18850 * util/i386/pc/grub-setup.c (usage): Likewise.
18851
18852 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18853
18854 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18855 the message.
18856 (grub_util_info): Likewise.
18857 (grub_util_error): Likewise.
18858 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18859 and/or new lines in `grub_util_warna', `grub_util_info',
18860 `grub_util_error' calls.
18861 * util/getroot.c: Likewise.
18862 * util/grub-editenv.c: Likewise.
18863 * util/grub-emu.c: Likewise.
18864 * util/grub-fstest.c: Likewise.
18865 * util/grub-mkdevicemap.c: Likewise.
18866 * util/grub-mkfont.c: Likewise.
18867 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18868 * util/grub-mkrelpath.c: Likewise.
18869 * util/grub-pe2elf.c: Likewise.
18870 * util/grub-probe.c: Likewise.
18871 * util/hostdisk.c: Likewise.
18872 * util/i386/efi/grub-mkimage.c: Likewise.
18873 * util/i386/pc/grub-mkimage.c: Likewise.
18874 * util/i386/pc/grub-setup.c: Likewise.
18875 * util/ieee1275/ofpath.c: Likewise.
18876 * util/mkisofs/eltorito.c: Likewise.
18877 * util/mkisofs/rock.c: Likewise.
18878 * util/mkisofs/write.c: Likewise.
18879 * util/raid.c: Likewise.
18880 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18881 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18882
18883 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 Enable multiboot on non-pc.
18886
18887 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18888 multiboot.mod and multiboot2.mod to ...
18889 * conf/i386.rmk (pkglib_MODULES): ... here.
18890 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18891 Moved to ...
18892 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18893 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18894 Moved to ...
18895 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18896 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18897 Moved to ...
18898 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18899 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18900 Moved to ...
18901 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18902 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18903 relocator.mod.
18904 (ata_mod_SOURCES): Removed.
18905 (ata_mod_CFLAGS): Likewise.
18906 (ata_mod_LDFLAGS): Likewise.
18907 (relocator_mod_SOURCES): Removed.
18908 (relocator_mod_CFLAGS): Likewise.
18909 (relocator_mod_ASFLAGS): Likewise.
18910 (relocator_mod_LDFLAGS): Likewise.
18911 Include i386.mk.
18912 * include/grub/x86_64/multiboot.h: New file.
18913 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
18914 Terminate EFI.
18915
18916 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18917
18918 Video multiboot support.
18919
18920 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
18921 New prototype.
18922 * include/multiboot.h: Resynced with multiboot specification.
18923 * include/multiboot2.h: Likewise.
18924 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
18925 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
18926 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
18927 (HAS_VGA_TEXT): Likewise.
18928 (accepts_video): New variable.
18929 (grub_multiboot_set_accepts_video): New function.
18930 (grub_multiboot_get_mbi_size): Account for video structures.
18931 (set_video_mode): New function.
18932 (retrieve_video_parameters): Likewise.
18933 (grub_multiboot_make_mbi): Fill video fields.
18934
18935 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 Video driver ids.
18938
18939 * include/grub/video.h (grub_video_driver_id): New type.
18940 (grub_video_adapter): New member 'id'. All users updated.
18941 (grub_video_get_driver_id): New proto.
18942 * video/video.c (grub_video_get_driver_id): New function.
18943
18944 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18945
18946 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
18947 `var=val'.
18948
18949 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18950
18951 * normal/cmdline.c (print_completion): Gettextizze.
18952
18953 2001-01-14 Carles Pina i Estany <carles@pina.cat>
18954
18955 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
18956
18957 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18958
18959 * gettext/gettext.c (grub_gettext_translate): Push and pop
18960 grub_errno.
18961 (grub_gettext_delete_list): Change comment style.
18962 * kern/err.c (grub_error): Gettextizze.
18963 (grub_fatal): Gettextizze.
18964
18965 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18966
18967 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
18968 (grub_linux16_real_boot): ... this.
18969 * kern/i386/loader.S: Likewise.
18970 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
18971 (grub_linux16_boot): New function. Switches to text mode and calls
18972 grub_linux16_real_boot().
18973
18974 * loader/i386/bsd.c: Include `<grub/video.h>'.
18975 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
18976 text mode before calling grub_unix_real_boot().
18977
18978 * loader/i386/multiboot.c: Include `<grub/video.h>'.
18979 (grub_multiboot_boot): Switch to text mode before calling
18980 grub_relocator32_boot().
18981
18982 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
18983 (grub_chainloader_boot): Switch to text mode before calling
18984 grub_chainloader_real_boot().
18985
18986 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18987 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18988
18989 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
18990 non-empty value.
18991
18992 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18993 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18994
18995 * util/grub.d/00_header.in: Define a "savedefault" function for use
18996 in menu entries.
18997 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
18998
18999 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
19000 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19001
19002 * util/grub-mkconfig_lib.in (save_default_entry): Only set
19003 saved_entry if boot_once is unset.
19004 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
19005 previous saved entry (i.e. grub-reboot).
19006
19007 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19008
19009 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
19010
19011 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19012
19013 * util/grub.d/00_header.in: Use `set var=val' rather than plain
19014 `var=val'.
19015 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
19016
19017 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19018
19019 * util/grub-reboot.in: Fix --version output.
19020 * util/grub-set-default.in: Likewise.
19021
19022 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19023
19024 * util/grub.d/00_header.in: Silently ignore zero-sized environment
19025 blocks.
19026
19027 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19028
19029 * util/grub.d/00_header.in: Quote the value assigned to `default',
19030 in case it contains spaces.
19031
19032 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
19033
19034 * util/grub.d/30_os-prober.in: Fix merge error that moved a
19035 `save_default_entry' call from the macosx case to the linux case.
19036
19037 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
19038 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
19039
19040 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
19041 in `chosen' environment variable.
19042 * normal/menu_text.c (get_entry_number): Check if the variable
19043 matches the title of a menu entry.
19044 (run_menu): Pass menu to get_entry_number.
19045
19046 * util/grub-reboot.in: New file.
19047 * util/grub-set-default.in: New file.
19048 * conf/common.rmk (grub-reboot): New utility.
19049 (grub-set-default): New utility.
19050
19051 * util/grub-mkconfig_lib.in (save_default_entry): New function.
19052 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
19053 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
19054 move it to `saved_entry' for the next boot. Load environment on
19055 initialisation.
19056 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
19057 * util/grub.d/10_hurd.in: Likewise.
19058 * util/grub.d/10_linux.in (linux_entry): Likewise.
19059 * util/grub.d/10_windows.in: Likewise.
19060 * util/grub.d/30_os-prober.in: Likewise.
19061
19062 * util/grub-install.in: Create environment block.
19063 * util/i386/efi/grub-install.in: Likewise.
19064 * util/ieee1275/grub-install.in: Likewise.
19065 * util/sparc64/ieee1275/grub-install.in: Likewise.
19066
19067 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
19068
19069 Unit testing framework for GRUB.
19070
19071 * Makefile.in: Test framework build rules for 'make check'.
19072 * conf/tests.rmk: Build rules for individual tests and framework.
19073
19074 * include/grub/test.h: Header file for whitebox tests.
19075 * tests/lib/functional_test.c: Framework support for whitebox
19076 functional tests.
19077 * tests/lib/test.c: Common whitebox testing code for unit and
19078 functional tests.
19079 * tests/lib/unit_test.c: Framework support for whitebox unit
19080 tests.
19081
19082 * tests/util/grub-shell-tester.in: Support utility for grub-script
19083 tests.
19084 * tests/util/grub-shell.in: Utility to execute grub-script
19085 commands in a Qemu instance.
19086
19087 * tests/example_functional_test.c: Example whitebox functional
19088 test.
19089 * tests/example_grub_script_test.in: Example grub-script test.
19090 * tests/example_scripted_test.in: Example scripted test.
19091 * tests/example_unit_test.c: Example whitebox unit test.
19092
19093 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
19096 Add loader/i386/multiboot_mbi.c.
19097 (multiboot2_mod_SOURCES): Likewise.
19098 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
19099 (multiboot2_mod_SOURCES): Likewise.
19100 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
19101 (grub_multiboot_make_mbi): Likewise.
19102 (grub_multiboot_free_mbi): Likewise.
19103 (grub_multiboot_init_mbi): Likewise.
19104 (grub_multiboot_add_module): Likewise.
19105 (grub_multiboot_set_bootdev): Likewise.
19106 * loader/i386/multiboot.c (mbi): Removed.
19107 (mbi_dest): Likewise.
19108 (alloc_mbi): New variable.
19109 (grub_multiboot_payload_size): Removed. All users updated.
19110 (grub_multiboot_pure_size): New variable.
19111 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
19112 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
19113 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
19114 (grub_fill_multiboot_mmap): Likewise.
19115 (grub_multiboot_get_bootdev): Likewise.
19116 (grub_multiboot): Use multiboot_mbi functions.
19117 * loader/i386/multiboot_mbi.c: New file.
19118
19119 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19120
19121 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
19122 it would result in module crash.
19123
19124 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
19127 (grub_ofconsole_getwh): Split to ...
19128 (grub_ofconsole_getwh): ... this.
19129 (grub_ofconsole_dimensions): ...and this.
19130 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
19131
19132 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
19133
19134 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
19135
19136 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19137
19138 * loader/i386/pc/multiboot2.c: Removed stalled file.
19139
19140 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19141
19142 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
19143 Reported by: Grégoire Sutre
19144
19145 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
19146
19147 * util/misc.c (canonicalize_file_name): New function.
19148 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
19149 instead of realpath().
19150
19151 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
19152
19153 * util/grub-install.in (usage): Clarify meaning of --root-directory,
19154 and make it clearer that it's optional. Based on confusion
19155 witnessed on IRC.
19156
19157 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19158
19159 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
19160 in premature implicit newline.
19161
19162 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19163
19164 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
19165 which resulted in garbled command line at the end of screen.
19166
19167 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19168
19169 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
19170 initialization with similar approach as with other Linux loaders.
19171
19172 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19173
19174 Fix i386-ieee1275 build.
19175
19176 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
19177 and grub_term_height() for video_{width,height} initialization.
19178
19179 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
19180
19181 Fix grub-emu build.
19182
19183 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
19184
19185 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19186 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19187
19188 Support for multiple terminals.
19189
19190 * Makefile.in (pkglib_DATA): terminal.lst.
19191 (terminal.lst): New target.
19192 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
19193 (GRUB_MOD_INIT(handler)): Likewise.
19194 (GRUB_MOD_FINI(handler)): Likewise.
19195 * commands/help.c (grub_cmd_help): Handle multiple terminals.
19196 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
19197 * commands/sleep.c (do_print): Use grub_term_restore_pos.
19198 (grub_cmd_sleep): Use grub_term_save_pos.
19199 * commands/terminal.c: New file.
19200 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
19201 commands/terminal.c and lib/charset.c.
19202 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
19203 (pkglib_MODULES): Add terminal.mod.
19204 (terminal_mod_SOURCES): New variable.
19205 (terminal_mod_CFLAGS): Likewise.
19206 (terminal_mod_LDFLAGS): Likewise.
19207 * genhandlerlist.sh: Don't handle terminals.
19208 * genmk.rb: Generate terminal-*.lst.
19209 * genterminallist.sh: New file.
19210 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
19211 (grub_is_valid_utf8): Likewise.
19212 (grub_utf8_to_ucs4_alloc): Likewise.
19213 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
19214 (grub_menu_register_viewer): Changed argument.
19215 (grub_menu_try_text): New proto.
19216 (grub_gfxmenu_try_hook): New declaration.
19217 * include/grub/normal.h (grub_normal_exit_level): New declaration.
19218 (grub_menu_init_page): Additional argument term.
19219 (grub_normal_init_page): Likewise.
19220 (grub_cmdline_get): Arguments simplified.
19221 (grub_utf8_to_ucs4_alloc): Removed.
19222 (grub_print_ucs4): Additional argument term.
19223 (grub_getstringwidth): Likewise.
19224 (grub_print_message_indented): Likewise.
19225 (grub_menu_text_register_instances): New proto.
19226 (grub_show_menu): Likewise.
19227 (read_terminal_list): Likewise.
19228 (grub_set_more): Likewise.
19229 * include/grub/parser.h: Include handler.h.
19230 * include/grub/reader.h: Rewritten.
19231 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
19232 (GRUB_TERM_WIDTH): Changed to function.
19233 (GRUB_TERM_HEIGHT): Likewise.
19234 (GRUB_TERM_BORDER_WIDTH): Likewise.
19235 (GRUB_TERM_BORDER_HEIGHT): Likewise.
19236 (GRUB_TERM_NUM_ENTRIES): Likewise.
19237 (GRUB_TERM_ENTRY_WIDTH): Likewise.
19238 (GRUB_TERM_CURSOR_X): Likewise.
19239 (grub_term_input_class): Likewise.
19240 (grub_term_output_class): Likewise.
19241 (grub_term_outputs_disabled): New declaration.
19242 (grub_term_inputs_disabled): Likewise.
19243 (grub_term_outputs): Likewise.
19244 (grub_term_inputs): Likewise.
19245 (grub_term_register_input): Rewritten.
19246 (grub_term_register_output): Likewise.
19247 (grub_term_unregister_input): Likewise.
19248 (grub_term_unregister_output): Likewise.
19249 (FOR_ACTIVE_TERM_INPUTS): New macro.
19250 (FOR_DISABLED_TERM_INPUTS): Likewise.
19251 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19252 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19253 * include/grub/terminfo.h: Add oterm argument to all protypes.
19254 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
19255 Use grub_rescue_run.
19256 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
19257 All users updated.
19258 * kern/reader.c: Removed. All users updated.
19259 * kern/rescue_reader.c (grub_rescue_init): Removed.
19260 (grub_rescue_reader): Likewise.
19261 (grub_register_rescue_reader): Likewise.
19262 (grub_rescue_run): New function based on kern/reader.c.
19263 * kern/term.c: Adapted for multiterm.
19264 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
19265 (grub_is_valid_utf8): Likewise.
19266 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
19267 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
19268 right terminal.
19269 * loader/i386/linux.c (grub_linux_boot): Likewise.
19270 * normal/auth.c (grub_username_get): New function.
19271 (grub_auth_check_authentication): Use grub_username_get.
19272 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
19273 * normal/color.c: Adapt for multiterm.
19274 * normal/main.c (read_config_file): Don't use grub_reader_loop.
19275 (grub_normal_init_page): Additional argument term.
19276 (read_lists): Call read_terminal_lists.
19277 (grub_enter_normal_mode): Call grub_cmdline_run.
19278 Handle grub_normal_exit_level.
19279 (grub_cmd_normal): Make reentrant.
19280 (grub_cmd_normal_exit): New function.
19281 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
19282 * normal/menu.c: Adapt for multiterm.
19283 * normal/menu_entry.c: Likewise.
19284 * normal/menu_text.c: Likewise.
19285 * normal/menu_viewer.c: Removed. All users updated.
19286 * normal/term.c: New file.
19287 * util/console.c: Change order of includes to workaround a bug in
19288 ncurses headers.
19289 * term/terminfo.c: New argument oterm on all exported functions.
19290 All users updated.
19291 * util/grub-editenv.c (grub_term_input_class): Removed.
19292 (grub_term_output_class): Likewise.
19293
19294 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19295
19296 Make loader output a bit more user-friendly.
19297
19298 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19299 is being loaded. Likewise for the Hurd.
19300
19301 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19302 that kernel of FreeBSD ${version} is being loaded.
19303
19304 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19305 grub_dprintf().
19306 (grub_cmd_initrd): Likewise.
19307 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19308 that Linux ${version} is being loaded. Likewise for initrd.
19309
19310 2010-01-09 Carles Pina i Estany <carles@pina.cat>
19311
19312 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19313
19314 2010-01-08 Carles Pina i Estany <carles@pina.cat>
19315
19316 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19317 (GRUB_MOD_INIT): Gettextizze.
19318 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19319 (GRUB_MOD_INIT): Gettextizze.
19320 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19321 (grub_cmd_linux): Capitalise Linux.
19322 (GRUB_MOD_INIT): Gettextizze.
19323 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19324 (grub_cmd_linux): Capitalise Linux.
19325 (GRUB_MOD_INIT): Gettextizze.
19326 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19327 (grub_cmd_linux): Capitalise Linux.
19328 (GRUB_MOD_INIT): Gettextizze.
19329 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19330 (GRUB_MOD_INIT): Gettextizze.
19331 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19332 (grub_cmd_linux): Capitalise Linux.
19333 (GRUB_MOD_INIT): Gettextizze.
19334 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19335 (grub_cpu_xnu_init): Gettextizze.
19336 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19337 (GRUB_MOD_INIT): Gettextizze.
19338 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19339 (GRUB_MOD_INIT): Gettextizze.
19340 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19341 (grub_linux_load64): Capitalise Linux.
19342 (GRUB_MOD_INIT): Gettextizze.
19343 * loader/xnu.c: Include `<grub/i18n.h>'.
19344 (GRUB_MOD_INIT): Gettextizze.
19345 * po/POTFILES: Add `loader/efi/appleloader.c',
19346 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19347 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19348 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19349 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19350 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19351 and `loader/xnu.c'.
19352
19353 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19354
19355 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19356
19357 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19358
19359 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19360 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19361 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19362
19363 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19364
19365 Reset Multiboot 2 support. New loader implements the draft in
19366 /branches/multiboot2 and shares as much code as possible with the
19367 production Multiboot 1 implementation.
19368
19369 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19370 * loader/multiboot2.c: Likewise.
19371 * loader/i386/multiboot_helper.S: Likewise.
19372 * include/multiboot2.h: Replace with latest version from the draft
19373 in /branches/multiboot2.
19374
19375 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19376 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19377 and `loader/multiboot2.c'.
19378 (pkglib_MODULES): Add `multiboot2.mod'.
19379 (multiboot2_mod_SOURCES): New variable.
19380 (multiboot2_mod_LDFLAGS): Likewise.
19381 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19382
19383 * conf/i386-pc.rmk: Likewise.
19384
19385 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19386 (multiboot_mod_SOURCES): Remove variable.
19387 (multiboot_mod_LDFLAGS): Likewise.
19388 (multiboot_mod_CFLAGS): Likewise.
19389
19390 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19391 `<multiboot2.h>' instead of `<multiboot.h>'.
19392 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19393 (MULTIBOOT_HEADER_MAGIC): New macros.
19394
19395 * loader/multiboot_loader.c (module_version_status): Remove variable.
19396 (find_multi_boot2_header): Remove function.
19397 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19398 logic. Always check for the Multiboot version we're compiling for.
19399 (grub_cmd_module_loader): Likewise.
19400 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19401 command instead of `multiboot'.
19402
19403 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19404
19405 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19406 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19407 all users.
19408
19409 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19410 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19411
19412 Fix breakage introduced with previous commit.
19413
19414 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19415 commands.
19416 * normal/handler.c (read_handler_list): Revert part of previous commit
19417 affecting this file.
19418 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19419 (grub_normal_execute): ... here.
19420
19421 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19422
19423 Merge prefix-redefinition-fix branch.
19424
19425 * normal/autofs.c (read_fs_list): Make function capable of being
19426 run multiple times, gracefuly replacing the previous data
19427 structures.
19428 * normal/dyncmd.c (read_command_list): Likewise.
19429 * normal/handler.c (read_handler_list): Likewise.
19430 * normal/main.c (read_lists): New function. Calls all the
19431 list reading functions.
19432 (grub_normal_execute): Use read_lists() instead of calling all
19433 list reading functions explicitly. Register read_lists() as a
19434 variable hook attached to ${prefix}.
19435
19436 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19437
19438 Merge crypto branch.
19439
19440 * Makefile.in (pkglib_DATA): Add crypto.lst.
19441 (crypto.lst): New target.
19442 * commands/hashsum.c: New file.
19443 * commands/password.c (check_password): Use grub_crypto_memcmp.
19444 * commands/password_pbkdf2.c: New file.
19445 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19446 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19447 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19448 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19449 -I$(srcdir)/lib/libgcrypt_wrap.
19450 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19451 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19452 password_pbkdf2.mod.
19453 (crypto_mod_SOURCES): New variable.
19454 (crypto_mod_CFLAGS): Likewise.
19455 (crypto_mod_LDFLAGS): Likewise.
19456 (hashsum_mod_SOURCES): New variable.
19457 (hashsum_mod_CFLAGS): Likewise.
19458 (hashsum_mod_LDFLAGS): Likewise.
19459 (pbkdf2_mod_SOURCES): New variable.
19460 (pbkdf2_mod_CFLAGS): Likewise.
19461 (pbkdf2_mod_LDFLAGS): Likewise.
19462 (password_pbkdf2_mod_SOURCES): New variable.
19463 (password_pbkdf2_mod_CFLAGS): Likewise.
19464 (password_pbkdf2_mod_LDFLAGS): Likewise.
19465 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19466 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19467 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19468 Include conf/gcry.rmk.
19469 * include/grub/auth.h: Rewritten.
19470 * include/grub/crypto.h: New file.
19471 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19472 * include/grub/normal.h (read_crypto_list): New prototype.
19473 * lib/crypto.c: New file.
19474 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19475 * lib/pbkdf2.c: Likewise.
19476 * normal/auth.c (grub_auth_strcmp): Removed.
19477 (grub_iswordseparator): Likewise.
19478 (grub_auth_strword): Likewise.
19479 (is_authenticated): Use grub_strword.
19480 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19481 and grub_strword. Pass entered password to authentication callback.
19482 * normal/crypto.c: New file.
19483 * normal/main.c: Call read_crypto_list.
19484 * util/grub-mkpasswd-pbkdf2.c: New file.
19485 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19486
19487 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19488
19489 Fix descent and ascent calculation.
19490
19491 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19492 (options): New option "asce".
19493 (usage): Likewise.
19494 (add_char): Ignore invalid glyphs for descent calculation.
19495 Calculate ascent from actual content.
19496 (print_glyphs): Use 'asce'.
19497 (write_font): Likewise. Allow ascent override.
19498 (main): Handle "asce" option.
19499
19500 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19501
19502 * kern/err.c: Include `<grub/i18n.h>'.
19503 (grub_print_error): Add full stop. Gettextizze.
19504 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19505 (grub_bsd_load_elf): Capitalise ELF.
19506 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19507 (grub_cmd_freebsd_module): Likewise.
19508 (grub_cmd_freebsd_module_elf): Likewise.
19509 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19510
19511 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19512
19513 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19514 * commands/search_file.c (HELP_MESSAGE): New macro.
19515 * commands/search_label.c (HELP_MESSAGE): Likewise.
19516 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19517 * po/POTFILES: Add `commands/search_file.c',
19518 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19519 `commands/search.c'.
19520
19521 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19522
19523 * config.rpath: Update from Gnulib.
19524
19525 2010-01-05 Yves Blusseau <blusseau@zetam.org>
19526
19527 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19528
19529 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19530
19531 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19532
19533 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19534
19535 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19536 arguments to fread so that we get a return value in bytes, rather
19537 than something that will normally be rounded down to 0.
19538 Adjust error handling to avoid producing garbage when size_t is not
19539 the same size as long long.
19540
19541 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19542
19543 * util/mkisofs/write.c (padblock_write): Check return value of
19544 fread.
19545
19546 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19547
19548 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19549 floppy images now.
19550
19551 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19552
19553 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19554
19555 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19556 instead of manual alignment.
19557 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19558 verbose). Avoid attempts to read past end of the device
19559 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19560 but GRUB_DISK_CACHE_SIZE may exceed that).
19561
19562 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19563
19564 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19565 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19566 it to upper layer.
19567
19568 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19569
19570 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19571 New constant.
19572 (grub_efi_piwg_device_path): New structure
19573 (grub_efi_piwg_device_path_t): New type.
19574 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19575 (devpath_1): Transform to a structure. All users updated.
19576 (devpath_2): Likewise.
19577 (devpath_3): Likewise.
19578 (devpath_4): Likewise.
19579 (devpath_5): Likewise.
19580
19581 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19582
19583 * loader/efi/appleloader.c: Restored. Update all users.
19584
19585 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19586
19587 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19588
19589 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19590 (struct boot_blocklist): Move from here ...
19591 * include/grub/i386/pc/boot.h [ASM_FILE]
19592 (struct grub_boot_blocklist): ... to here. Update all users.
19593 (setup): Only initialize `start' member of `first_block'
19594 structure. Add assert() calls to verify the other members.
19595
19596 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19597 (generate_image): Fix broken blocklist length initialization.
19598 Add assert() call to verify blocklist `segment' field.
19599
19600 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19601
19602 * loader/efi/appleloader.c: Remove. Update all users.
19603
19604 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19605
19606 * boot/i386/pc/boot.S: Update copyright year.
19607 * boot/i386/pc/cdboot.S: Likewise.
19608 * boot/i386/pc/diskboot.S: Likewise.
19609 * boot/i386/pc/lnxboot.S: Likewise.
19610 * boot/i386/pc/pxeboot.S: Likewise.
19611 * bus/pci.c: Likewise.
19612 * commands/cmp.c: Likewise.
19613 * commands/help.c: Likewise.
19614 * commands/hexdump.c: Likewise.
19615 * commands/i386/pc/halt.c: Likewise.
19616 * commands/i386/pc/play.c: Likewise.
19617 * commands/i386/pc/vbeinfo.c: Likewise.
19618 * commands/ls.c: Likewise.
19619 * commands/test.c: Likewise.
19620 * disk/dmraid_nvidia.c: Likewise.
19621 * disk/i386/pc/biosdisk.c: Likewise.
19622 * disk/ieee1275/nand.c: Likewise.
19623 * disk/ieee1275/ofdisk.c: Likewise.
19624 * disk/lvm.c: Likewise.
19625 * disk/raid.c: Likewise.
19626 * disk/raid6_recover.c: Likewise.
19627 * disk/scsi.c: Likewise.
19628 * fs/affs.c: Likewise.
19629 * fs/cpio.c: Likewise.
19630 * fs/ext2.c: Likewise.
19631 * fs/hfs.c: Likewise.
19632 * fs/iso9660.c: Likewise.
19633 * fs/ntfs.c: Likewise.
19634 * fs/sfs.c: Likewise.
19635 * fs/udf.c: Likewise.
19636 * fs/ufs.c: Likewise.
19637 * fs/xfs.c: Likewise.
19638 * gencmdlist.sh: Likewise.
19639 * genmk.rb: Likewise.
19640 * include/grub/disk.h: Likewise.
19641 * include/grub/efi/api.h: Likewise.
19642 * include/grub/efi/efi.h: Likewise.
19643 * include/grub/efi/pe32.h: Likewise.
19644 * include/grub/elf.h: Likewise.
19645 * include/grub/fs.h: Likewise.
19646 * include/grub/i386/at_keyboard.h: Likewise.
19647 * include/grub/i386/pc/memory.h: Likewise.
19648 * include/grub/i386/pc/vbe.h: Likewise.
19649 * include/grub/i386/pci.h: Likewise.
19650 * include/grub/i386/tsc.h: Likewise.
19651 * include/grub/ieee1275/ieee1275.h: Likewise.
19652 * include/grub/ntfs.h: Likewise.
19653 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19654 * include/grub/sparc64/libgcc.h: Likewise.
19655 * include/grub/symbol.h: Likewise.
19656 * include/grub/types.h: Likewise.
19657 * include/multiboot2.h: Likewise.
19658 * io/gzio.c: Likewise.
19659 * kern/device.c: Likewise.
19660 * kern/disk.c: Likewise.
19661 * kern/efi/efi.c: Likewise.
19662 * kern/efi/mm.c: Likewise.
19663 * kern/elf.c: Likewise.
19664 * kern/file.c: Likewise.
19665 * kern/i386/dl.c: Likewise.
19666 * kern/i386/pc/init.c: Likewise.
19667 * kern/i386/pc/startup.S: Likewise.
19668 * kern/ieee1275/ieee1275.c: Likewise.
19669 * kern/ieee1275/init.c: Likewise.
19670 * kern/main.c: Likewise.
19671 * kern/mm.c: Likewise.
19672 * kern/powerpc/dl.c: Likewise.
19673 * kern/sparc64/dl.c: Likewise.
19674 * kern/x86_64/dl.c: Likewise.
19675 * lib/hexdump.c: Likewise.
19676 * loader/efi/appleloader.c: Likewise.
19677 * loader/i386/ieee1275/linux.c: Likewise.
19678 * loader/i386/pc/chainloader.c: Likewise.
19679 * loader/i386/pc/linux.c: Likewise.
19680 * loader/i386/pc/multiboot2.c: Likewise.
19681 * loader/ieee1275/multiboot2.c: Likewise.
19682 * loader/multiboot2.c: Likewise.
19683 * loader/multiboot_loader.c: Likewise.
19684 * loader/powerpc/ieee1275/linux.c: Likewise.
19685 * normal/completion.c: Likewise.
19686 * normal/menu_entry.c: Likewise.
19687 * partmap/apple.c: Likewise.
19688 * util/grub.d/10_hurd.in: Likewise.
19689 * util/hostfs.c: Likewise.
19690 * video/readers/png.c: Likewise.
19691
19692 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
19693
19694 * include/grub/misc.h (GNUC_PREREQ): New macro.
19695 (ATTRIBUTE_ERROR): New macro.
19696 * include/grub/list.h (grub_bad_type_cast_real): Use
19697 ATTRIBUTE_ERROR.
19698
19699 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19700
19701 * normal/menu_text.c (print_message): Change messages.
19702
19703 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19704
19705 * normal/menu_entry.c (store_completion): Gettextizze.
19706
19707 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19708
19709 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19710
19711 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19712
19713 * po/POTFILES: Sort correctly.
19714
19715 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19716
19717 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19718 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19719 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19720 full stop.
19721 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19722 summary. Gettextizze the strings.
19723 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19724 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19725 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19726 full stop.
19727 (GRUB_MOD_INIT): Remove command name from summary.
19728 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19729 summary.
19730 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19731 * term/i386/pc/serial.c (options): Add full stops.
19732 (GRUB_MOD_INIT): Remove command name from the summary.
19733
19734 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19735
19736 * commands/acpi.c: Gettextizze help strings and/or options. Include
19737 `grub/i18n.h' if needed.
19738 * commands/blocklist.c: Likewise.
19739 * commands/boot.c: Likewise.
19740 * commands/cat.c: Likewise.
19741 * commands/cmp.c: Likewise.
19742 * commands/configfile.c: Likewise.
19743 * commands/crc.c: Likewise.
19744 * commands/date.c: Likewise.
19745 * commands/echo.c: Likewise.
19746 * commands/efi/fixvideo.c: Likewise.
19747 * commands/efi/loadbios.c: Likewise.
19748 * commands/gptsync.c: Likewise.
19749 * commands/halt.c: Likewise.
19750 * commands/handler.c: Likewise.
19751 * commands/hdparm.c: Likewise.
19752 * commands/hexdump.c: Likewise.
19753 * commands/i386/cpuid.c: Likewise.
19754 * commands/i386/pc/drivemap.c: Likewise.
19755 * commands/i386/pc/halt.c: Likewise.
19756 * commands/i386/pc/pxecmd.c: Likewise.
19757 * commands/i386/pc/vbeinfo.c: Likewise.
19758 * commands/i386/pc/vbetest.c: Likewise.
19759 * commands/ieee1275/suspend.c: Likewise.
19760 * commands/keystatus.c: Likewise.
19761 * commands/loadenv.c: Likewise.
19762 * commands/ls.c: Likewise.
19763 * commands/lsmmap.c: Likewise.
19764 * commands/lspci.c: Likewise.
19765 * commands/memrw.c: Likewise.
19766 * commands/minicmd.c: Likewise.
19767 * commands/parttool.c: Likewise.
19768 * commands/password.c: Likewise.
19769 * commands/probe.c: Likewise.
19770 * commands/read.c: Likewise.
19771 * commands/reboot.c: Likewise.
19772 * commands/search.c: Likewise.
19773 * commands/sleep.c: Likewise.
19774 * commands/test.c: Likewise.
19775 * commands/true.c: Likewise.
19776 * commands/usbtest.c: Likewise.
19777 * commands/videotest.c: Likewise.
19778 * commands/xnu_uuid.c: Likewise.
19779 * disk/loopback.c: Likewise.
19780 * hello/hello.c: Likewise.
19781 * loader/i386/bsd.c: Likewise.
19782 * term/i386/pc/serial.c: Likewise.
19783 * po/POTFILES: Add new files.
19784
19785 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
19786
19787 * term/i386/pc/at_keyboard.c
19788 (keyboard_controller_wait_untill_ready): Rename to ...
19789 (keyboard_controller_wait_until_ready): ... this. Update all users.
19790
19791 2010-01-01 Carles Pina i Estany <carles@pina.cat>
19792
19793 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19794 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19795 string using string width.
19796 * normal/menu_text.c (grub_print_message_indented): Use
19797 grub_print_spaces and not print_spaces.
19798 (print_timeout): Likewise.
19799 (print_spaces): Move to...
19800 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19801
19802 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19803
19804 Import from Gnulib.
19805
19806 * gnulib/getdelim.c: New file.
19807 * gnulib/getline.c: Likewise.
19808
19809 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19810
19811 * include/grub/list.h (grub_assert_fail): Removed.
19812 (grub_bad_type_cast_real): New function.
19813 (grub_bad_type_cast): New macro.
19814 (GRUB_AS_LIST): Use grub_bad_type_cast.
19815 (GRUB_AS_LIST_P): Likewise.
19816 (GRUB_AS_NAMED_LIST): Likewise.
19817 (GRUB_AS_NAMED_LIST_P): Likewise.
19818 (GRUB_AS_PRIO_LIST): Likewise.
19819 (GRUB_AS_PRIO_LIST_P): Likewise.
19820 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
19821
19822 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19825 Fix syntax error.
19826
19827 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19828
19829 * configure.ac: Check for TARGET_CFLAGS initialization before we
19830 initialize it ourselves (sigh).
19831 Move a few modifications to TARGET_CFLAGS to be unconditional
19832 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19833 eh_frame)
19834
19835 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19836 * term/i386/pc/at_keyboard.c
19837 (keyboard_controller_wait_untill_ready): Likewise.
19838 (keyboard_controller_led): Rename `led_status' paramter to avoid
19839 name conflict.
19840
19841 2009-12-28 Carles Pina i Estany <carles@pina.cat>
19842
19843 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19844 quotes.
19845
19846 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19847
19848 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19849
19850 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * normal/menu_text.c (grub_print_message_indented): Prevent
19853 past-the-end-of-array dereference.
19854
19855 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19856
19857 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19858 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19859
19860 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19861
19862 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19863 * normal/main.c (grub_normal_read_line): Remove a space from the
19864 default prompt.
19865
19866 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19867
19868 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19869 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19870 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19871 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19872 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19873 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19874 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19875
19876 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19877
19878 * video/readers/jpeg.c (cmd): Declare.
19879 (grub_cmd_jpegtest): Use `grub_command_t' type.
19880 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19881 Assign to `cmd'.
19882 (GRUB_MOD_FINI): Use `cmd' to unregister.
19883 * video/readers/png.c (cmd): Declare.
19884 (grub_cmd_pngtest): Use `grub_command_t' type.
19885 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19886 Assign to `cmd'.
19887 (GRUB_MOD_FINI): Use `cmd' to unregister.
19888 * video/readers/tga.c (cmd): Declare.
19889 (grub_cmd_tgatest): Use `grub_command_t' type.
19890 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19891 Assign to `cmd'.
19892 (GRUB_MOD_FINI): Use `cmd' to unregister.
19893
19894 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19895
19896 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19897 stops.
19898 * kern/corecmd.c (grub_register_core_commands): Likewise.
19899 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19900 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19901 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19902 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19903 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19904 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19905 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19906 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19907 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19908 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19909 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19910 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19911 * normal/handler.c (insert_handler): Likewise.
19912 * normal/main.c (GRUB_MOD_INIT): Likewise.
19913 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19914
19915 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19916
19917 * commands/help.c (grub_cmd_help): Print the command name before the
19918 summary.
19919 (GRUB_MOD_INIT): Remove command name from the summary.
19920 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
19921 string as summary.
19922 * lib/arg.c (find_long): Print the command name before the summary.
19923 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
19924 summary.
19925 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
19926 * commands/cat.c (GRUB_MOD_INIT): Likewise.
19927 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
19928 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19929 * commands/crc.c (GRUB_MOD_INIT): Likewise.
19930 * commands/date.c (GRUB_MOD_INIT): Likewise.
19931 * commands/echo.c (GRUB_MOD_INIT): Likewise.
19932 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
19933 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19934 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19935 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
19936 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
19937 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
19938 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
19939 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19940 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
19941 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
19942 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
19943 * commands/ls.c (GRUB_MOD_INIT): Likewise.
19944 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19945 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19946 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19947 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
19948 * commands/password.c (GRUB_MOD_INIT): Likewise.
19949 * commands/probe.c (GRUB_MOD_INIT): Likewise.
19950 * commands/read.c (GRUB_MOD_INIT): Likewise.
19951 * commands/search.c (GRUB_MOD_INIT): Likewise.
19952 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
19953 * commands/test.c (GRUB_MOD_INIT): Likewise.
19954 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
19955 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19956 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19957 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
19958 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19959 * lib/arg.c (GRUB_MOD_INIT): Likewise.
19960 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
19961 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19962 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19963 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19964 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19965 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
19966 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
19967 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
19968
19969 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19970
19971 Use search command for preliminar UUID search.
19972
19973 * commands/search.c: Split into ...
19974 * commands/search_wrap.c: ...this
19975 * commands/search.c: ...and this.
19976 * commands/search_file.c: New file.
19977 * commands/search_label.c: New file.
19978 * commands/search_uuid.c: New file.
19979 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
19980 Add commands/search_wrap.c, commands/search_file.c,
19981 commands/search_label.c and commands/search_uuid.c.
19982 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
19983 (search_mod_SOURCES): Set to commands/search_wrap.c.
19984 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
19985 search_label.mod.
19986 (search_fs_file_mod_SOURCES): New variable.
19987 (search_fs_file_mod_CFLAGS): Likewise.
19988 (search_fs_file_mod_LDFLAGS): Likewise.
19989 (search_label_mod_SOURCES): Likewise.
19990 (search_label_mod_CFLAGS): Likewise.
19991 (search_label_mod_LDFLAGS): Likewise.
19992 (search_fs_uuid_mod_SOURCES): New variable.
19993 (search_fs_uuid_mod_CFLAGS): Likewise.
19994 (search_fs_uuid_mod_LDFLAGS): Likewise.
19995 (fs_file_mod_SOURCES): Removed.
19996 (fs_file_mod_CFLAGS): Likewise.
19997 (fs_file_mod_LDFLAGS): Likewise.
19998 (fs_uuid_mod_SOURCES): Removed.
19999 (fs_uuid_mod_CFLAGS): Likewise.
20000 (fs_uuid_mod_LDFLAGS): Likewise.
20001 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
20002 Set to util/grub-install.in.
20003 * disk/fs_file.c: Removed.
20004 * disk/fs_uuid.c: Likewise.
20005 * include/grub/search.h: New file.
20006 * util/grub-install.in: Handle sparc64.
20007 Create and use load.cfg.
20008 * util/sparc64/ieee1275/grub-install.in: Removed.
20009
20010 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
20013 Ignore return status if CF is cleared.
20014 (grub_biosdisk_get_diskinfo_standard): Likewise.
20015
20016 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20017
20018 * term/i386/pc/at_keyboard.c
20019 (keyboard_controller_wait_untill_ready): New function.
20020 (grub_keyboard_controller_write, grub_keyboard_controller_read)
20021 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
20022 for keyboard polling, rather than duplicate the same loop. This
20023 saves a few bytes in code size.
20024
20025 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 Support for (pxe[:server[:gateway]]) syntax and
20028 use environment variable for PXE.
20029
20030 * commands/i386/pc/pxecmd.c (options): Removed.
20031 (print_ip): Removed.
20032 (grub_cmd_pxe): Removed
20033 (grub_cmd_pxe_unload): New function.
20034 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
20035 (grub_pxe_your_ip): Made static.
20036 (grub_pxe_default_server_ip): Likewise.
20037 (grub_pxe_default_gateway_ip): Likewise.
20038 (grub_pxe_blksize): Likewise.
20039 (parse_ip): New function.
20040 (grub_pxe_open): Support server and gateway specification.
20041 (grub_pxe_close): Free disk->data.
20042 (grub_pxefs_open): Use disk->data.
20043 (grub_pxefs_read): Likewise.
20044 (grub_env_write_readonly): New function.
20045 (set_mac_env): Likewise.
20046 (set_env_limn_ro): Likewise.
20047 (parse_dhcp_vendor): Likewise.
20048 (grub_pxe_detect): Set the environment variables.
20049 (set_ip_env): New function.
20050 (write_ip_env): Likewise.
20051 (grub_env_write_pxe_default_server): Likewise.
20052 (grub_env_write_pxe_default_gateway): Likewise.
20053 (grub_env_write_pxe_blocksize): Likewise.
20054 (GRUB_MOD_INIT(pxe)): Set environment variables.
20055 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
20056 (grub_pxe_mac_addr_t): ... this. All users updated.
20057 (grub_pxe_your_ip): Removed.
20058 (grub_pxe_server_ip): Likewise.
20059 (grub_pxe_gateway_ip): Likewise.
20060 (grub_pxe_blksize): Likewise.
20061
20062 2009-12-25 Carles Pina i Estany <carles@pina.cat>
20063
20064 * commands/help.c: Include `<grub/i18n.h>'.
20065 (grub_cmd_help): Gettextizze.
20066 (GRUB_MOD_INIT): Likewise.
20067 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
20068 (GRUB_MOD_INIT): Gettextizze.
20069 * commands/search.c: Include `<grub/i18n.h>'.
20070 (options): Gettextizze.
20071 (GRUB_MOD_INIT): Gettextizze.
20072 * lib/arg.c: Include `<grub/i18n.h>'.
20073 (help_options): Gettextizze.
20074 (find_long): Likewise.
20075 (grub_arg_show_help): Likewise.
20076 * normal/dyncmd.c: Include `<grub/i18n.h>'.
20077 (read_command_list): Gettextizze.
20078 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
20079 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
20080
20081 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
20082
20083 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
20084 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
20085 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
20086 (led_status): New variable.
20087 (keyboard_controller_led): New function.
20088 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
20089 update led status for caps lock, num lock and scroll lock.
20090
20091 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
20092
20093 * util/hostdisk.c (open_device): Fix a comment.
20094
20095 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20096
20097 * util/grub-install.in (host_os): New variable.
20098 * util/i386/efi/grub-install.in (host_os): Likewise.
20099
20100 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20101
20102 * util/mkisofs/write.c (padblock_write): Abort when given an
20103 excedingly large embed image, instead of silently truncating it.
20104
20105 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 * include/multiboot.h: Indentation fixes.
20108
20109 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20110
20111 * include/multiboot.h (struct multiboot_aout_symbol_table)
20112 (struct multiboot_elf_section_header_table): New structure
20113 declarations (stolen from GRUB Legacy).
20114 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
20115 table information.
20116
20117 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
20118 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
20119 type aliases.
20120
20121 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20122
20123 * include/multiboot.h: Make comments src2texi-friendly.
20124
20125 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20126
20127 For consistency with [multiboot]/docs/boot.S.
20128
20129 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
20130 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
20131 (MULTIBOOT_MAGIC2): Rename from this ...
20132 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
20133
20134 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
20135
20136 * include/multiboot.h: Remove `<grub/types.h>'.
20137 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
20138 types. Update all users.
20139
20140 2009-12-25 Carles Pina i Estany <carles@pina.cat>
20141
20142 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
20143 `couldn't' and `can not' by `cannot'.
20144 * commands/i386/pc/drivemap.c: Likewise.
20145 * disk/ata.c: Likewise.
20146 * disk/ieee1275/nand.c: Likewise.
20147 * fs/affs.c: Likewise.
20148 * fs/fat.c: Likewise.
20149 * fs/hfs.c: Likewise.
20150 * fs/hfsplus.c: Likewise.
20151 * fs/iso9660.c: Likewise.
20152 * fs/jfs.c: Likewise.
20153 * fs/minix.c: Likewise.
20154 * fs/reiserfs.c: Likewise.
20155 * fs/sfs.c: Likewise.
20156 * fs/udf.c: Likewise.
20157 * fs/ufs.c: Likewise.
20158 * fs/xfs.c: Likewise.
20159 * loader/powerpc/ieee1275/linux.c: Likewise.
20160 * loader/sparc64/ieee1275/linux.c: Likewise.
20161 * util/grub-probe.c: Likewise.
20162 * util/misc.c: Likewise.
20163
20164 2009-12-24 Carles Pina i Estany <carles@pina.cat>
20165
20166 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
20167 grub_errno calls.
20168 * commands/acpi.c: Likewise.
20169 * commands/blocklist.c: Likewise.
20170 * commands/efi/loadbios.c: Likewise.
20171 * commands/i386/pc/drivemap.c: Likewise.
20172 * commands/loadenv.c: Likewise.
20173 * commands/memrw.c: Likewise.
20174 * commands/password.c: Likewise.
20175 * commands/videotest.c: Likewise.
20176 * disk/ata.c: Likewise.
20177 * disk/ata_pthru.c: Likewise.
20178 * disk/dmraid_nvidia.c: Likewise.
20179 * disk/ieee1275/nand.c: Likewise.
20180 * disk/ieee1275/ofdisk.c: Likewise.
20181 * disk/loopback.c: Likewise.
20182 * disk/lvm.c: Likewise.
20183 * disk/mdraid_linux.c: Likewise.
20184 * disk/raid.c: Likewise.
20185 * disk/raid6_recover.c: Likewise.
20186 * disk/scsi.c: Likewise.
20187 * efiemu/main.c: Likewise.
20188 * efiemu/mm.c: Likewise.
20189 * efiemu/pnvram.c: Likewise.
20190 * efiemu/symbols.c: Likewise.
20191 * font/font.c: Likewise.
20192 * fs/cpio.c: Likewise.
20193 * fs/hfsplus.c: Likewise.
20194 * fs/iso9660.c: Likewise.
20195 * fs/jfs.c: Likewise.
20196 * fs/minix.c: Likewise.
20197 * fs/ntfs.c: Likewise.
20198 * fs/ntfscomp.c: Likewise.
20199 * fs/reiserfs.c: Likewise.
20200 * fs/ufs.c: Likewise.
20201 * fs/xfs.c: Likewise.
20202 * gettext/gettext.c: Likewise.
20203 * include/grub/auth.h: Likewise.
20204 * kern/elf.c: Likewise.
20205 * kern/file.c: Likewise.
20206 * kern/ieee1275/init.c: Likewise.
20207 * kern/ieee1275/mmap.c: Likewise.
20208 * kern/ieee1275/openfw.c: Likewise.
20209 * kern/powerpc/dl.c: Likewise.
20210 * kern/sparc64/dl.c: Likewise.
20211 * lib/arg.c: Likewise.
20212 * loader/i386/bsd.c: Likewise.
20213 * loader/i386/bsdXX.c: Likewise.
20214 * loader/i386/efi/linux.c: Likewise.
20215 * loader/i386/efi/xnu.c: Likewise.
20216 * loader/i386/ieee1275/linux.c: Likewise.
20217 * loader/i386/linux.c: Likewise.
20218 * loader/i386/multiboot.c: Likewise.
20219 * loader/i386/pc/linux.c: Likewise.
20220 * loader/i386/pc/multiboot2.c: Likewise.
20221 * loader/i386/xnu.c: Likewise.
20222 * loader/ieee1275/multiboot2.c: Likewise.
20223 * loader/macho.c: Likewise.
20224 * loader/machoXX.c: Likewise.
20225 * loader/multiboot2.c: Likewise.
20226 * loader/multiboot_loader.c: Likewise.
20227 * loader/powerpc/ieee1275/linux.c: Likewise.
20228 * loader/sparc64/ieee1275/linux.c: Likewise.
20229 * loader/xnu.c: Likewise.
20230 * loader/xnu_resume.c: Likewise.
20231 * mmap/i386/pc/mmap.c: Likewise.
20232 * normal/menu_viewer.c: Likewise.
20233 * partmap/acorn.c: Likewise.
20234 * partmap/amiga.c: Likewise.
20235 * partmap/apple.c: Likewise.
20236 * script/lexer.c: Likewise.
20237 * term/gfxterm.c: Likewise.
20238 * term/i386/pc/serial.c: Likewise.
20239 * term/i386/pc/vga.c: Likewise.
20240 * term/ieee1275/ofconsole.c: Likewise.
20241 * term/terminfo.c: Likewise.
20242 * video/bitmap.c: Likewise.
20243 * video/efi_gop.c: Likewise.
20244 * video/efi_uga.c: Likewise.
20245 * video/fb/video_fb.c: Likewise.
20246 * video/i386/pc/vbe.c: Likewise.
20247 * video/readers/tga.c: Likewise.
20248 * video/video.c: Likewise.
20249
20250 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
20251
20252 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
20253 * commands/lspci.c: Likewise.
20254 * commands/probe.c: Likewise.
20255 * commands/xnu_uuid.c: Likewise.
20256 * conf/i386-coreboot.rmk: Likewise.
20257 * conf/i386-efi.rmk: Likewise.
20258 * conf/i386-ieee1275.rmk: Likewise.
20259 * conf/i386-pc.rmk: Likewise.
20260 * conf/powerpc-ieee1275.rmk: Likewise.
20261 * conf/sparc64-ieee1275.rmk: Likewise.
20262 * conf/x86_64-efi.rmk: Likewise.
20263 * fs/i386/pc/pxe.c: Likewise.
20264 * gettext/gettext.c: Likewise.
20265 * include/grub/efi/graphics_output.h: Likewise.
20266 * include/grub/i386/pc/memory.h: Likewise.
20267 * kern/env.c: Likewise.
20268 * kern/i386/qemu/startup.S: Likewise.
20269 * lib/i386/pc/biosnum.c: Likewise.
20270 * lib/i386/relocator.c: Likewise.
20271 * lib/i386/relocator_asm.S: Likewise.
20272 * lib/relocator.c: Likewise.
20273 * loader/i386/bsd.c: Likewise.
20274 * loader/i386/multiboot.c: Likewise.
20275 * loader/i386/pc/chainloader.c: Likewise.
20276 * loader/i386/xnu.c: Likewise.
20277 * loader/xnu.c: Likewise.
20278 * normal/main.c: Likewise.
20279 * normal/menu_text.c: Likewise.
20280 * util/getroot.c: Likewise.
20281 * util/grub-mkconfig_lib.in: Likewise.
20282 * util/grub.d/00_header.in: Likewise.
20283 * util/i386/pc/grub-mkimage.c: Likewise.
20284 * util/mkisofs/eltorito.c: Likewise.
20285 * util/mkisofs/exclude.h: Likewise.
20286 * util/mkisofs/hash.c: Likewise.
20287 * util/mkisofs/iso9660.h: Likewise.
20288 * util/mkisofs/joliet.c: Likewise.
20289 * util/mkisofs/mkisofs.c: Likewise.
20290 * util/mkisofs/mkisofs.h: Likewise.
20291 * util/mkisofs/multi.c: Likewise.
20292 * util/mkisofs/name.c: Likewise.
20293 * util/mkisofs/rock.c: Likewise.
20294 * util/mkisofs/tree.c: Likewise.
20295 * util/mkisofs/write.c: Likewise.
20296 * video/efi_gop.c: Likewise.
20297
20298 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20299
20300 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20301 size counting.
20302
20303 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20304
20305 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20306 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20307
20308 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20311 (GRUB_MOD_INIT(memrw)): Update help line.
20312
20313 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20316 Use grub_extcmd_t. All users updated.
20317 (options): New variable.
20318 (grub_cmd_read): Restructure for readability. Support "-v" option.
20319 (grub_cmd_write): Restructure for readability.
20320
20321 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20322
20323 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20324
20325 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20326
20327 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20328 with the actual contents of the correspondending make variable.
20329 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20330 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20331 specifying `*.lst' and `efiemu??.o'
20332
20333 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20334
20335 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20336 after function name.
20337 Noticed by Rene Engelhard <rene@debian.org>.
20338
20339 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20340
20341 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20342 (options): New variable.
20343 (iospace): Likewise.
20344 (grub_lspci_iter): List IO spaces if "-i" was given.
20345 (grub_cmd_lspci): Parse options.
20346 (GRUB_MOD_INIT(lspci)): Use extcmd.
20347 (GRUB_MOD_FINI(lspci)): Likewise.
20348
20349 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20350
20351 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20352 `function' keyword.
20353 Patch by Tony Mancill <tmancill@debian.org>.
20354
20355 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20356
20357 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20358 (grub_uhci_portstatus): Likewise.
20359 (grub_uhci_portstatus): Add necessary delay.
20360 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
20361
20362 2009-12-21 Carles Pina i Estany <carles@pina.cat>
20363
20364 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20365 (GRUB_MOD_INIT): Likewise.
20366 * commands/boot.c (GRUB_MOD_INIT): Likewise.
20367 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20368 * commands/echo.c (options): Fix capitalizations and/or full stops.
20369 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20370 (enable_rom_area): Likewise.
20371 (GRUB_MOD_INIT): Likewise.
20372 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20373 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20374 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20375 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20376 * commands/hexdump.c (options): Likewise.
20377 * commands/i386/cpuid.c (options): Likewise.
20378 (GRUB_MOD_INIT): Likewise.
20379 * commands/i386/pc/drivemap.c (options): Likewise.
20380 (GRUB_MOD_INIT): Likewise.
20381 * commands/i386/pc/halt (options): Likewise.
20382 (GRUB_MOD_INIT): Likewise.
20383 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20384 * commands/i386/pc/pxecmd.c (options): Likewise.
20385 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20386 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20387 * commands/keystatus.c (options): Likewise.
20388 (GRUB_MOD_INIT): Likewise.
20389 * commands/loadenv.c (options): Likewise.
20390 * commands/ls.c (options): Likewise.
20391 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20392 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20393 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20394 * commands/parttool.c (helpmsg): Likewise.
20395 * commands/probe.c (options): Likewise.
20396 * commands/read.c (GRUB_MOD_INIT): Likewise.
20397 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20398 * commands/search.c (options): Likewise.
20399 * commands/sleep.c (options): Likewise.
20400 * commands/test.c (GRUB_MOD_INIT): Likewise.
20401 * commands/true.c (GRUB_MOD_INIT): Likewise.
20402 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20403 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20404 * lib/arg.c (help_options): Likewise.
20405 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20406 `$(XGETTEXT)'.
20407 * po/POTFILES: Add `commands/loadenv.c'.
20408
20409 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
20410
20411 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
20412 instead of specifying them explicit.
20413
20414 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20415
20416 * NEWS: Add grub-probe support for GNU/Hurd.
20417
20418 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20419
20420 * NEWS: gettext was added after 1.97.
20421
20422 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20423
20424 * util/mkisofs/msdos_partition.h: New file (based on
20425 include/grub/msdos_partition.h).
20426 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20427 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20428 (ld_options, main): Recognize --protective-msdos-label.
20429 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20430 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20431 (padblock_write): If `use_protective_msdos_label' is set, patch a
20432 protective DOS-style label in the output image.
20433
20434 * util/grub-mkrescue.in: Use --protective-msdos-label.
20435
20436 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20437
20438 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20439 boot.
20440
20441 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20442
20443 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20444 variables.
20445 (ld_options, main): Recognize `--embedded-boot'.
20446 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20447 declarations.
20448 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20449 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20450 (padblock_write): Likewise. Rewrite to support embedded boot image.
20451
20452 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20453 for BIOS-based disk boot instead of only ElTorito.
20454
20455 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20456
20457 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20458 build (not needed for bootstrap).
20459
20460 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20461
20462 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20463 from i386-pc build (not needed for bootstrap).
20464 Rewrite a pair of strings.
20465
20466 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20467
20468 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20469
20470 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20473
20474 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20475
20476 * kern/env.c (grub_env_context_open): Mark exported variable for
20477 reexport.
20478
20479 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20480
20481 * kern/env.c (grub_env_export): Create nonexistent variables before
20482 exporting.
20483
20484 2009-12-20 Carles Pina i Estany <carles@pina.cat>
20485
20486 * include/grub/auth.h: Include `<grub/i18n.h>'.
20487 (GRUB_GET_PASSWORD): Gettextizze string.
20488 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20489 menu_text.c.
20490 (grub_utf8_to_ucs4_alloc): Fix indentation.
20491 (grub_print_ucs4): Likewise.
20492 (grub_getstringwidth): Likewise.
20493 (print_message_indented): New declaration.
20494 * normal/auth.c: Include `<grub/i18n.h>'.
20495 (grub_auth_check_authentication): Gettexttize string.
20496 * normal/cmdline.c: Include `<grub/i18n.h>'.
20497 (grub_cmdline_get): Gettextizze.
20498 * normal/color.c: Include `<grub/i18n.h>'.
20499 (grub_parse_color_name_pair): Gettexttize strings.
20500 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20501 string (use `print_message_indented').
20502 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20503 `include/grub/normal.h'.
20504 (print_message_indented): Renamed to ...
20505 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20506 used in normal/main.c).
20507 (print_message): Use `grub_print_message_indented' instead of
20508 `print_message_indented'.
20509 (print_timeout): Likewise.
20510 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20511 (grub_normal_print_device_info): Gettexttize strings.
20512 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20513
20514 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20515
20516 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20517 of arguments. Return number of tokens and not arguments. All users
20518 updated.
20519
20520 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20521
20522 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20523 non-MSDOS paritions.
20524
20525 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * include/grub/types.h (UNUSED): Removed since it conflicts with
20528 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20529 Reported by Grégoire Sutre.
20530
20531 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20532
20533 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20534 (grub_print_ucs4_alloc): Likewise.
20535 (grub_getstringwidth): Likewise.
20536 * normal/main.c (grub_normal_init_page): Gettextize version string.
20537 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20538 (getstringwidth): Renamed to ...
20539 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20540 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20541 (grub_print_ucs4): Remove `static' qualifer (now used in
20542 normal/main.c).
20543 * po/POTFILES: Add normal/main.c.
20544
20545 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20546
20547 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20548 (print_message_indented): Add `margin_left' and `margin_right'
20549 parameters.
20550 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20551 strings.
20552 (print_timeout): Use `print_message_indented' to print the message.
20553 Deletes `second_stage' parameter.
20554 (run_menu): Update `print_timeout' calls.
20555
20556 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20557
20558 Fix console palette on OpenFirmware.
20559
20560 * term/ieee1275/ofconsole.c (MAX): Removed.
20561 (colors): Redone based on VGA palette.
20562 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20563 colors are supported.
20564 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20565
20566 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20567
20568 Fix potential EfiEmu double prepare.
20569
20570 * efiemu/main.c (prepared): New variable
20571 (grub_efiemu_unload): Set prepare to '0'.
20572 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20573
20574 set_virtual_address_map support.
20575
20576 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20577 prototype.
20578 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20579 prototype.
20580 (grub_efiemu_crc32): Likewise.
20581 (grub_efiemu_crc64): Likewise.
20582 (grub_efiemu_set_virtual_address_map): Likewise.
20583 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20584 New definition.
20585 (grub_autoefi_set_virtual_address_map): Likewise.
20586 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20587 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20588 Restructure flow to accomodate it.
20589 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20590 (grub_efiemu_crc): Recompute CRC32.
20591 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20592 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20593 * efiemu/symbols.c (relocated_handle): New variable.
20594 (grub_efiemu_free_syms): Free relocated_handle.
20595 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20596 (grub_efiemu_write_sym_markers): New function.
20597 (grub_efiemu_set_virtual_address_map): Likewise.
20598
20599 Newer XNU parameters.
20600
20601 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20602 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20603 (grub_xnu_fill_devicetree): New prototype.
20604 (grub_xnu_heap_real_start): New variable.
20605 * loader/xnu.c (get_name_ptr): New function.
20606 (grub_xnu_load_driver): Fill namelen and name.
20607
20608 64-bit xnu support.
20609
20610 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20611 and 'loader/macho64.c'.
20612 * conf/i386-pc.rmk: Likewise.
20613 * conf/x86_64-efi.rmk: Likewise.
20614 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20615 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20616 * include/grub/macho.h (grub_macho_segment64): New structure.
20617 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20618 (grub_macho_size32): ... to this.
20619 (grub_macho32_get_entry_point): Renamed from ...
20620 (grub_macho_get_entry_point32): ... to this.
20621 (grub_macho_contains_macho64): New prototype.
20622 (grub_macho_size64): Likewise.
20623 (grub_macho_get_entry_point64): Likewise.
20624 (grub_macho32_load): Renamed from ...
20625 (grub_macho_load32): ... to this.
20626 (grub_macho32_filesize): Renamed from ...
20627 (grub_macho_filesize32): ... to this.
20628 (grub_macho32_readfile): Renamed from ...
20629 (grub_macho_readfile32): ... to this.
20630 (grub_macho_filesize64): New prototype.
20631 (grub_macho_readfile64): Likewise.
20632 (grub_macho_parse32): Likewise.
20633 (grub_macho_parse64): Likewise.
20634 * loader/macho.c: Split into ...
20635 * loader/machoXX.c: ... and this. Replace 32 with XX.
20636 * loader/macho32.c: New file.
20637 * loader/macho64.c: Likewise.
20638 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20639 (grub_cmd_xnu_kernel): Make 32-bit only.
20640 (grub_cmd_xnu_kernel64): New function.
20641 (grub_xnu_load_driver): Support Mach-O 64.
20642 (grub_cmd_xnu_mkext): Likewise.
20643 * util/grub.d/30_os-prober.in (osx_entry): New function.
20644 Generate entries for 64-bit boot too.
20645
20646 Eliminate ad-hoc tree format in XNU and EfiEmu.
20647
20648 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20649 * efiemu/pnvram.c: Rewritten to use environment variables.
20650 All users updated.
20651
20652 Inline utf16_to_utf8.
20653
20654 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20655 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20656 All users updated.
20657 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20658
20659 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20660 * commands/usbtest.c (grub_usb_get_string): ... move here.
20661 (usb_print_str): Fix error handling.
20662 * include/grub/usb.h (grub_usb_get_string): Remove.
20663
20664 UTF-8 to UTF-16 transformation.
20665
20666 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20667 (charset_mod_SOURCES): New variable.
20668 (charset_mod_CFLAGS): Likewise.
20669 (charset_mod_LDFLAGS): Likewise.
20670 * include/grub/utf.h: New file.
20671 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20672
20673 Support for device properties.
20674
20675 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20676 (grub_xnu_devprop_device_header): Likewise.
20677 (grub_xnu_devprop_device_descriptor): Likewise.
20678 (grub_xnu_devprop_add_device): New prototype.
20679 (grub_xnu_devprop_remove_device): Likewise.
20680 (grub_xnu_devprop_remove_property): Likewise.
20681 (grub_xnu_devprop_add_property_utf8): Likewise.
20682 (grub_xnu_devprop_add_property_utf16): Likewise.
20683 (grub_cpu_xnu_init): Likewise.
20684 (grub_cpu_xnu_fini): Likewise.
20685 (grub_cpu_xnu_unload): Likewise.
20686 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20687 (property_descriptor): Likewise.
20688 (devices): New variable.
20689 (grub_xnu_devprop_remove_property): New function.
20690 (grub_xnu_devprop_add_device): Likewise.
20691 (grub_xnu_devprop_remove_device): Likewise.
20692 (grub_xnu_devprop_add_property): Likewise.
20693 (grub_xnu_devprop_add_property_utf8): Likewise.
20694 (grub_xnu_devprop_add_property_utf16): Likewise.
20695 (hextoval): Likewise.
20696 (grub_cpu_xnu_fill_devprop): Likewise.
20697 (grub_cmd_devprop_load): Likewise.
20698 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20699 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20700 (cmd_devprop_load): New variable.
20701 (grub_cpu_xnu_init): New function.
20702 (grub_cpu_xnu_fini): Likewise.
20703 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20704 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20705 (grub_cmd_xnu_devtree): Likewise.
20706 (hextoval): New function.
20707 (unescape): Likewise.
20708 (grub_xnu_fill_devicetree): Likewise.
20709
20710 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20711 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20712
20713 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 Workaround for broken ATI VBE.
20716
20717 * video/i386/pc/vbe.c (last_set_mode): New variable.
20718 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20719 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20720 (grub_video_vbe_setup): Don't check for reserved flag.
20721
20722 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
20723
20724 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20725 the `find' command.
20726
20727 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 UUID support for HFS.
20730
20731 * fs/hfs.c (grub_hfs_uuid): New function.
20732 (grub_hfs_fs): New value .uuid.
20733 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20734
20735 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
20736
20737 Fix a segfault with parsing unknown long options.
20738
20739 * util/grub-mkrelpath.c (options): Zero terminate it.
20740
20741 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20742
20743 * include/grub/misc.h (grub_puts): New declaration.
20744 (grub_puts_): Likewise.
20745 * kern/misc.c (grub_puts): New definition.
20746 (grub_puts_): Likewise.
20747
20748 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20749
20750 * util/grub-probe.c (probe): Improve error message.
20751
20752 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20753
20754 * loader/i386/multiboot_elfxx.c
20755 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20756 initialization.
20757
20758 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 Relocator framework
20761
20762 * loader/i386/xnu_helper.S: Removed. All users updated.
20763 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20764 (relocator_mod_SOURCES): New variable.
20765 (relocator_mod_CFLAGS): Likewise.
20766 (relocator_mod_LDFLAGS): Likewise.
20767 (relocator_mod_ASFLAGS): Likewise.
20768 * conf/x86_64.rmk: Likewise.
20769 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20770 (grub_multiboot_payload_entry_offset): Likewise.
20771 (grub_multiboot_forward_relocator): Likewise.
20772 (grub_multiboot_forward_relocator_end): Likewise.
20773 (grub_multiboot_backward_relocator): Likewise.
20774 (grub_multiboot_backward_relocator_end): Likewise.
20775 (grub_multiboot_payload_eip): New variable.
20776 (grub_multiboot_payload_orig): Likewise.
20777 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20778 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20779 * include/grub/i386/memory.h
20780 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20781 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20782 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20783 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20784 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20785 * include/grub/i386/relocator.h: New file.
20786 * include/grub/x86_64/relocator.h: Likewise.
20787 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20788 (XNU_RELOCATOR): New macro.
20789 (grub_xnu_launcher_start): Remove.
20790 (grub_xnu_launcher_end): Likewise.
20791 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20792 (grub_xnu_heap_real_start): Remove.
20793 (grub_xnu_heap_start): Change to void *. All users updated.
20794 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20795 * lib/i386/relocator.c: New file.
20796 * lib/i386/relocator_asm.S: Likewise.
20797 * lib/i386/relocator_backward.S: Likewise.
20798 * lib/mips/relocator.c: Likewise.
20799 * lib/mips/relocator_asm.S: Likewise.
20800 * lib/relocator.c: Likewise.
20801 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20802 (entry): Removed.
20803 (playground): Likewise.
20804 (grub_multiboot_payload_orig): New variable.
20805 (grub_multiboot_payload_dest): Likewise.
20806 (grub_multiboot_payload_size): Likewise.
20807 (grub_multiboot_payload_eip): Likewise.
20808 (grub_multiboot_payload_esp): Likewise.
20809 (grub_multiboot_boot): Use grub_relocator32_boot.
20810 (grub_multiboot_unload): Free relocators.
20811 (grub_multiboot): Setup stack. Use relocators.
20812 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20813 (grub_multiboot_load_elfXX): Use relocators.
20814 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20815 (grub_multiboot_payload_size): Likewise.
20816 (grub_multiboot_payload_dest): Likewise.
20817 (grub_multiboot_payload_entry_offset): Likewise.
20818 (grub_multiboot_forward_relocator): Likewise.
20819 (grub_multiboot_backward_relocator): Likewise.
20820 (grub_multiboot_real_boot): Likewise.
20821 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20822 (grub_xnu_entry_point): Likewise.
20823 (grub_xnu_arg1): Likewise.
20824 (grub_xnu_stack): Likewise.
20825 (grub_xnu_launch): Removed.
20826 (grub_xnu_boot_resume): New function.
20827 (grub_xnu_boot): Use relocators.
20828 * loader/i386/xnu_helper.S: Removed.
20829 * loader/xnu.c (grub_xnu_heap_start): New variable.
20830 (grub_xnu_heap_size): Likewise.
20831 (grub_xnu_heap_malloc): Use relocators.
20832 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20833
20834 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20835
20836 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20837 anything.
20838
20839 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20840
20841 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20842 GRUB_ERR_NONE before calling grub_env_set.
20843
20844 2009-12-12 Robert Millan <rmh@aybabtu.com>
20845
20846 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20847 * genmk.rb (video): New variable.
20848 (CLEANFILES, VIDEOFILES): Add #{video}.
20849 (#{video}): New target rule.
20850 * genvideolist.sh: New file.
20851 * Makefile.in (pkglib_DATA): Add video.lst.
20852 (video.lst): New target rule.
20853 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20854 `video.lst'.
20855 * util/grub.d/30_os-prober.in: Replace `vbe' with
20856 ${GRUB_VIDEO_BACKEND}.
20857
20858 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20859
20860 * THANKS: Add David Miller.
20861
20862 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20863
20864 libpciaccess support.
20865
20866 * Makefile.in (LIBPCIACCESS): New variable.
20867 (enable_grub_emu_pci): Likewise.
20868 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20869 util/pci.c and commands/lspci.c.
20870 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20871 * configure.ac (grub-emu-pci): New option.
20872 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20873 (grub_pci_device_unmap_range): Likewise.
20874 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20875 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20876 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20877 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20878 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20879 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20880 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20881 * include/grub/pciutils.h: New file.
20882 * util/pci.c: Likewise.
20883
20884 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
20885
20886 * util/misc.c: Don't include <errno.h> twice.
20887
20888 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
20889
20890 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20891 name in an error message.
20892 (grub_biosdisk_rw): Likewise.
20893
20894 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20895
20896 Eliminate NTFS 4Gib barrier.
20897
20898 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20899 (read_run_data): Likewise.
20900 (grub_ntfs_read_run_list): Likewise.
20901 (grub_ntfs_read_block): Likewise.
20902 (grub_ntfs_iterate_dir): Likewise.
20903 (read_mft): Likewise.
20904 (read_data): Likewise.
20905 Use COM_LOG_LEN.
20906 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20907 to avoid 64-bit division
20908 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
20909 (grub_ntfs_rlst): Use grub_disk_addr_t.
20910
20911 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20912
20913 Eliminate grub-fstest 4Gib barrier.
20914
20915 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
20916 (read_file): Fix error reporting.
20917
20918 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20919
20920 Eliminate hexdump 4Gib barrier.
20921
20922 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
20923 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
20924
20925 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20926
20927 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
20928 Fixes amarsh bug.
20929
20930 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
20931
20932 Remove miscellaneous files in distclean target.
20933
20934 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
20935
20936 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
20937
20938 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
20939 if they're already set. This resolves the conflict between my
20940 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
20941 fixing the --grub-probe option again.
20942 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
20943 change on 2009-10-06, so that we now once again source
20944 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20945
20946 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
20947
20948 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
20949 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
20950 `util/devicemap.c'.
20951
20952 2009-12-08 Carles Pina i Estany <carles@pina.cat>
20953
20954 * include/grub/misc.h (grub_printf_): New declaration.
20955 * kern/misc.c (grub_printf_): New definition.
20956 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
20957 instead of `grub_printf' and `_'.
20958 * normal/menu_entry.c (store_completion): Likewise.
20959 (run): Likewise.
20960 (grub_menu_entry_run): Likewise.
20961 * normal/menu_text.c (grub_wait_after_message): Likewise.
20962 (notify_booting): Likewise.
20963 (notify_fallback): Likewise.
20964 (notify_execution_failure): Likewise.
20965
20966 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
20967
20968 * configure.ac: Check for vasprintf.
20969 * util/misc.c (asprintf): Move allocation from here ...
20970 (vasprintf): ... to here. New function.
20971 (xasprintf): New function.
20972 * include/grub/util/misc.h (vasprintf, xasprintf): Add
20973 prototypes.
20974 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20975 * util/grub-mkfont.c (write_font): Likewise.
20976 * util/grub-probe.c (probe): Likewise.
20977 * util/hostdisk.c (make_device_name): Likewise.
20978
20979 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
20980
20981 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
20982 anything even prefixed with 'cdrom' as a cdrom.
20983
20984 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
20985
20986 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
20987 mount points.
20988
20989 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20990
20991 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
20992 grub_gettext_msg_list.
20993 (grub_gettext_gettranslation_from_position): Return const char *
20994 and not char *.
20995 (grub_gettext_translate): Add the translated strings into a list,
20996 returns from the list if existing there.
20997 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
20998 (grub_gettext_delete_list): Delete the list.
20999 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
21000 lang environment variable is changed.
21001 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
21002
21003 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21004
21005 Rename kernel.mod to kernel.img.
21006
21007 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
21008 (kernel_mod_EXPORTS): Rename to ...
21009 (kernel_img_EXPORTS): ... this.
21010 (kernel_mod_SOURCES): Rename to ...
21011 (kernel_img_SOURCES): ... this.
21012 (kernel_mod_HEADERS): Rename to ...
21013 (kernel_img_HEADERS): ... this. All users updated.
21014 (kernel_mod_CFLAGS): Rename to ...
21015 (kernel_img_CFLAGS): ... this.
21016 (kernel_mod_ASFLAGS): Rename to ...
21017 (kernel_img_ASFLAGS): ... this.
21018 (kernel_mod_LDFLAGS): Rename to ...
21019 (kernel_img_LDFLAGS): ... this.
21020 * conf/x86_64-efi.rmk: Likewise.
21021 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
21022 (read_kernel_image): ... this. All users updated.
21023 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
21024
21025 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21026
21027 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
21028 (print_spaces): New function.
21029 (grub_print_ucs4): New function.
21030 (getstringwidth): New function.
21031 (print_message_indented): New function.
21032 (print_message): Gettexttize strings using print_message_indented.
21033 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
21034 width.
21035 (get_entry_number): Gettextize and uses dynamic terminal width.
21036 (notify_booting, notify_fallback, notify_execution_failure):
21037 Gettextize.
21038 * normal/menu_entry.c (store_completion): Cleanup the gettextized
21039 string.
21040 (run): Likewise.
21041 (grub_menu_entry_run): Likewise.
21042 * PO/POTFILES: Add normal/menu_entry.c.
21043
21044 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
21045
21046 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
21047
21048 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21049
21050 * util/grub-install.in: Install gettext .mo files.
21051 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
21052
21053 2009-12-05 Carles Pina i Estany <carles@pina.cat>
21054
21055 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
21056 grub_dprintf.
21057
21058 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
21059
21060 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
21061 non-firmware-dependant one in realmode.S takes precedence.
21062
21063 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
21064
21065 * commands/halt.c: Replace misc arch-specific headers with
21066 `<grub/misc.h>'.
21067 * commands/reboot.c: Likewise.
21068 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
21069 `<grub/misc.h>'.
21070 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
21071 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
21072 (kernel_img_SOURCES): ... to here.
21073
21074 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
21075 * include/grub/i386/pc/init.h: Likewise.
21076 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
21077 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
21078
21079 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
21080
21081 * include/grub/i386/halt.h: Remove.
21082 * include/grub/i386/reboot.h: Likewise.
21083
21084 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
21085
21086 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
21087
21088 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
21089 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
21090 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
21091 "progname.h"
21092 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21093 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21094 (usage): Add missing comma in printf.
21095
21096 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
21097
21098 Use the same reboot approach on i386 coreboot and qemu as we do on
21099 BIOS.
21100
21101 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
21102 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
21103 * kern/i386/reboot.c: Remove.
21104 * include/grub/i386/reboot.h (grub_reboot): Export function.
21105 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
21106 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
21107 0xf000:0xfff0 instead of 0xffff:0x0000.
21108 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
21109 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
21110
21111 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
21112
21113 Fix $srcdir != $objdir build.
21114
21115 * Makefile.in (po/%.po): Rewrite as ...
21116 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
21117
21118 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
21119
21120 Fix GNU/Hurd grub-install crash.
21121 * util/grub-probe.c (probe): Try to access `path' only when it is not
21122 NULL.
21123
21124 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 Correct module naming.
21127
21128 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21129 (GRUB_MOD_INIT(efi_uga)): ... to this
21130 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21131 (GRUB_MOD_FINI(efi_uga)): ... to this
21132 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
21133 (GRUB_MOD_INIT(efi_gop)): ... to this
21134 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
21135 (GRUB_MOD_FINI(efi_gop)): ... to this
21136
21137 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
21138
21139 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
21140 translatable.
21141 (usage): Translate `arg' strings using gettext().
21142 Thanks to Jordi Mallach for the suggestion.
21143
21144 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21145
21146 GOP support. Based on patch from Bean
21147 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21148
21149 * video/efi_gop.c: New file.
21150 * include/grub/efi/graphics_output.h: Likewise.
21151 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
21152 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21153 variables.
21154 * conf/x86_64-efi.rmk: Likewise.
21155
21156 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
21157
21158 Rename efi_fb to efi_uga.
21159
21160 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21161 'efi_uga.mod'.
21162 (efi_fb_mod_SOURCES): Rename this ...
21163 (efi_uga_mod_SOURCES): ... to this.
21164 (efi_fb_mod_CFLAGS): Rename this ...
21165 (efi_uga_mod_CFLAGS): ... to this.
21166 (efi_fb_mod_LDFLAGS): Rename this ...
21167 (efi_uga_mod_LDFLAGS): ... to this.
21168 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
21169 'efi_uga.mod'.
21170 (efi_fb_mod_SOURCES): Rename this ...
21171 (efi_uga_mod_SOURCES): ... to this.
21172 (efi_fb_mod_CFLAGS): Rename this ...
21173 (efi_uga_mod_CFLAGS): ... to this.
21174 (efi_fb_mod_LDFLAGS): Rename this ...
21175 (efi_uga_mod_LDFLAGS): ... to this.
21176 * video/efi_fb.c: Move this ...
21177 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
21178
21179 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21180
21181 * po/README: New file. Explain our PO file workflow.
21182
21183 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21184
21185 * po/ChangeLog: Remove. Move relevant entries back to ...
21186 * ChangeLog: ... here.
21187 * po/ca.po: Remove (now handled by TLP).
21188 * po/id.po: Likewise.
21189 * po/zh_CN.po: Likewise.
21190 * Makefile.in (LINGUAS): Initialize in a way that supports
21191 empty set.
21192
21193 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
21194
21195 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
21196 reliing on po/LINGUAS.
21197 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
21198 (po/%.po): ... this.
21199
21200 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21201
21202 * util/i386/efi/grub-mkimage.c: Include "progname.h".
21203 (main): Use `program_name' instead of nonexistent `progname'.
21204
21205 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21206
21207 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21208 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
21209
21210 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21211
21212 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
21213 commit.
21214 * conf/i386-efi.rmk: Likewise.
21215 * conf/i386-ieee1275.rmk: Likewise.
21216 * conf/powerpc-ieee1275.rmk: Likewise.
21217 * conf/sparc64-ieee1275.rmk: Likewise.
21218 * conf/x86_64-efi.rmk: Likewise.
21219
21220 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21221
21222 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
21223
21224 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
21225
21226 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
21227
21228 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
21229
21230 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
21231 (grub_mkdevicemap_SOURCES): New variable.
21232 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
21233 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
21234 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
21235 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
21236 (grub_mkdevicemap_SOURCES): Remove.
21237 * conf/i386-efi.rmk: Likewise.
21238 * conf/i386-ieee1275.rmk: Likewise.
21239 * conf/i386-pc.rmk: Likewise.
21240 * conf/powerpc-ieee1275.rmk: Likewise.
21241 * conf/sparc64-ieee1275.rmk: Likewise.
21242 * conf/x86_64-efi.rmk: Likewise.
21243 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
21244 (usage): Fix strings to use `program_name'.
21245 (main): Initialize gettext.
21246 * util/grub-editenv.c: Likewise.
21247 * util/grub-emu.c: Likewise.
21248 * util/grub-fstest.c: Likewise.
21249 * util/grub-mkdevicemap.c: Likewise.
21250 * util/grub-mkfont.c: Likewise.
21251 * util/grub-mkrelpath.c: Likewise.
21252 * util/grub-pe2elf.c: Likewise.
21253 * util/grub-probe.c: Likewise.
21254 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
21255 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
21256 * util/sparc64/ieee1275/grub-setup.c: Likewise.
21257
21258 * util/misc.c: Include `"progname.h"'.
21259 (progname): Remove variable.
21260 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
21261
21262 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
21263
21264 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
21265 printf and print a newline after the menuentry header line.
21266 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21267
21268 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
21269
21270 autoconf >= 2.60 support $(localedir).
21271
21272 * INSTALL: Note that autoconf 2.60 is required.
21273 * configure.ac (AC_PREREQ): Bump to 2.60.
21274 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
21275 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
21276
21277 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
21278
21279 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
21280 aclocal is run.
21281
21282 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21283
21284 * normal/main.c (grub_normal_read_line): Fix off-by-one
21285 buffer overflow.
21286
21287 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21288
21289 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21290 "parser.grub" in grub_command_execute() call.
21291
21292 2009-11-24 Carles Pina i Estany <carles@pina.cat>
21293
21294 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21295 * conf/i386-efi.rmk: Likewise.
21296 * conf/i386-ieee1275.rmk: Likewise.
21297 * conf/i386-pc.rmk: Likewise.
21298 * conf/powerpc-ieee1275.rmk: Likewise.
21299 * conf/sparc64-ieee1275.rmk: Likewise.
21300 * conf/x86_64-efi.rmk: Likewise.
21301 * gettext/gettex.c: Include <grub/i18n.h>.
21302 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21303 here ...
21304 * include/grub/i18n.h: ... to here
21305 * include/grub/i18n.h: ... to here.
21306 * kern/misc.c: Include <grub/i18n.h>
21307 (grub_gettext_dummy): Move above user.
21308
21309 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21310
21311 * util/Makefile.in (install-local): Convert a `for' into a normal
21312 shell expansion.
21313
21314 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21315
21316 * autogen.sh: Add automake call.
21317 * config.guess: Remove.
21318 * config.sub: Likewise.
21319 * install-sh: Likewise.
21320
21321 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21322
21323 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21324
21325 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21326
21327 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21328 function to a normal shell `for'.
21329
21330 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21331
21332 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21333
21334 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21335
21336 * util/grub-mkrelpath.c: New file.
21337 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21338 (grub_mkrelpath_SOURCES): New variable.
21339 * include/grub/util/misc.h: New function prototype.
21340 * util/misc.c (make_system_path_relative_to_its_root): New function.
21341
21342 * util/grub-mkconfig_lib.in (bindir): New variable.
21343 (grub_mkrelpath): Likewise.
21344 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21345
21346 * util/probe.c (probe): Make the file path relative to its root.
21347 Change a info message to use the GRUB path. Enable again the
21348 check if we can read the file with GRUB facilities.
21349
21350 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21351 to its root.
21352
21353 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21354
21355 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21356 platform.
21357
21358 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21359
21360 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21361 strncmp().
21362
21363 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21364
21365 * util/getroot.c (grub_util_is_dmraid): New function.
21366 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21367 devices as normal ones, not as LVM.
21368
21369 2009-11-23 Carles Pina i Estany <carles@pina.cat>
21370
21371 * conf/common.rmk: Add grub-gettext_lib target and updates
21372 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21373 LDFLAGS.
21374 * gettext/gettext.c: New file. (Reads mo files).
21375 * include/grub/file.h (grub_file_pread): New prototype.
21376 * include/grub/i18n.h (_): New prototype.
21377 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21378 prototypes.
21379 * kern/misc.c (grub_gettext_dummy): New function.
21380 * normal/menu_text.c: Include <grub/i18n.h>.
21381 * normal/menu_text.c (print_timeout): Gettexttize string.
21382 * normal/menu_text.c (print_message): Gettexttize string.
21383 * po/POTFILES: Add `normal/menu_text.c'.
21384 * po/ca.po: Add new translations.
21385 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21386 gettext module and defines locale_dir and lang in grub.cfg.
21387 * NEWS: Add gettext support.
21388
21389 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21390
21391 * util/hostdisk.c: Include `<grub/i18n.h>'.
21392 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21393 (make_device_name): Rewrite using asprintf.
21394 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21395 (find_system_device): If a device is not found, generate one just
21396 by reusing the OS path name.
21397 (read_device_map): Make it permissible for device.map not to exist.
21398
21399 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21400
21401 * script/sh/execute.c: Move from here ...
21402 * script/execute.c: ... to here. Update all users.
21403 * script/sh/function.c: Move from here ...
21404 * script/function.c: ... to here. Update all users.
21405 * script/sh/lexer.c: Move from here ...
21406 * script/lexer.c: ... to here. Update all users.
21407 * script/sh/main.c: Move from here ...
21408 * script/main.c: ... to here. Update all users.
21409 * script/sh/parser.y: Move from here ...
21410 * script/parser.y: ... to here. Update all users.
21411 * script/sh/script.c: Move from here ...
21412 * script/script.c: ... to here. Update all users.
21413
21414 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21415
21416 * configure.ac: Detect all `emu' platforms. Define
21417 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21418 --enable-grub-emu logic. Disable include/grub/machine
21419 symlink on `emu' platforms.
21420
21421 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21422 * gensymlist.sh.in: Likewise.
21423
21424 * include/grub/i386/coreboot/machine.h: Remove file.
21425 * include/grub/i386/efi/machine.h: Likewise.
21426 * include/grub/i386/ieee1275/machine.h: Likewise.
21427 * include/grub/i386/pc/machine.h: Likewise.
21428 * include/grub/i386/qemu/machine.h: Likewise.
21429 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21430 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21431 * include/grub/x86_64/efi/machine.h: Likewise.
21432
21433 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21434 * commands/halt.c: Likewise.
21435 * commands/reboot.c: Likewise.
21436 * include/grub/autoefi.h: Likewise.
21437 * include/grub/i386/at_keyboard.h: Likewise.
21438 * include/grub/i386/kernel.h: Likewise.
21439 * include/grub/i386/loader.h: Likewise.
21440 * include/grub/i386/pc/memory.h: Likewise.
21441 * kern/dl.c: Likewise.
21442 * kern/i386/coreboot/init.c: Likewise.
21443 * loader/i386/bsd.c: Likewise.
21444 * loader/i386/linux.c: Likewise.
21445 * loader/multiboot_loader.c: Likewise.
21446 * term/i386/pc/serial.c: Likewise.
21447 * term/usb_keyboard.c: Likewise.
21448
21449 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21450 `<grub/machine/machine.h>'
21451 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21452 * util/misc.c: Remove `<grub/machine/machine.h>' and
21453 `<grub/machine/time.h>'.
21454
21455 * Makefile.in (enable_grub_emu): Remove variable.
21456 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21457
21458 * conf/any-emu.rmk: New file.
21459 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21460 (grub_emu_init.c): Move from here ...
21461 * conf/any-emu.rmk: ... to here.
21462
21463 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21464 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21465 * conf/any-emu.rmk: ... to here.
21466
21467 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21468
21469 * include/grub/parser.h (grub_parser_register): Document need
21470 of `name' parameter.
21471 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21472 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21473 "sh" to "grub".
21474
21475 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21476
21477 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21478 `$(XGETTEXT)'.
21479 * include/grub/i18n.h (N_): New macro.
21480 * util/mkisofs/mkisofs.h: Likewise.
21481 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21482 around N_().
21483 (usage): Use gettext() to translate help strings when printing them.
21484
21485 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21486
21487 Based on patch from Bean
21488 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21489
21490 * video/efi_fb.c: New file.
21491 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21492 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21493 variables.
21494 * conf/x86_64-efi.rmk: Likewise.
21495
21496 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21497
21498 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21499 * util/i386/pc/grub-setup.c: Likewise.
21500
21501 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21502
21503 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21504 <hurd/fs.h>
21505 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21506 file_get_storage_info to implement grub_guess_root_device.
21507
21508 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21509
21510 * Makefile.in (target): Use make's builtin $(shell) function
21511 instead of calling directly $(SHELL) to create the locale directories,
21512 inside the $(foreach) function.
21513
21514 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21515
21516 * util/grub-mkrescue.in: Print an error and usage if output option
21517 has not been given.
21518
21519 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21520
21521 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21522 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21523 root and /boot are on different devices.
21524
21525 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21526
21527 Fix build for srcdir != objdir.
21528
21529 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21530 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21531 $(srcdir).
21532 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21533 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21534 reference for input.
21535
21536 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21537
21538 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21539 or hardlinking it). Remove -J option, Joliet is not compatible with
21540 multiple source directories.
21541
21542 2009-11-21 Carles Pina i Estany <carles@pina.cat>
21543 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21544
21545 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21546 (process_input_dir): New function. Process an arbitrary input
21547 directory.
21548 Misc adjustments to support both "override mode" and system-wide mode.
21549
21550 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21551
21552 * configure.ac (UNIFONT_BDF): Rename to ...
21553 (FONT_SOURCE): ... this. Update all users.
21554
21555 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21556
21557 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21558 to the list of unifont files to look for.
21559
21560 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21561
21562 Patch from Joe Auricchio <jauricchio@gmail.com>
21563 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21564 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21565 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21566
21567 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21568
21569 * Makefile.in (install-local): Add a missing backslash.
21570
21571 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21572
21573 * include/grub/x86_64/io.h: New file.
21574
21575 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21576
21577 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21578 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21579 Include `"progname.h"'.
21580 (main): Initialize gettext.
21581 * util/i386/pc/grub-setup.c: Gettexttize.
21582 * util/i386/pc/grub-mkimage.c: Likewise.
21583
21584 * Makefile.in (po/*.po): Redefine as ...
21585 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21586
21587 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21588
21589 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21590
21591 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21592 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21593 (program_name): Remove.
21594 (main): Initialize gettext support.
21595 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21596 Include `<libintl.h>'.
21597 (_): New macro.
21598
21599 * util/mkisofs/eltorito.c: Gettexttize.
21600 * util/mkisofs/joliet.c: Likewise.
21601 * util/mkisofs/mkisofs.c: Likewise.
21602 * util/mkisofs/multi.c: Likewise.
21603 * util/mkisofs/rock.c: Likewise.
21604 * util/mkisofs/tree.c: Likewise.
21605 * util/mkisofs/write.c: Likewise.
21606
21607 * po/POTFILES: Update with new files.
21608
21609 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21610
21611 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21612 * util/mkisofs/iso9660.h: Likewise.
21613 * util/mkisofs/joliet.c: Likewise.
21614 * util/mkisofs/mkisofs.c: Likewise.
21615 * util/mkisofs/mkisofs.h: Likewise.
21616 * util/mkisofs/rock.c: Likewise.
21617 * util/mkisofs/tree.c: Likewise.
21618 * util/mkisofs/write.c: Likewise.
21619
21620 * util/mkisofs/eltorito.c (rcsid): Remove.
21621 * util/mkisofs/hash.c: Likewise.
21622 * util/mkisofs/joliet.c: Likewise.
21623 * util/mkisofs/name.c: Likewise.
21624 * util/mkisofs/rock.c: Likewise.
21625 * util/mkisofs/tree.c: Likewise.
21626 * util/mkisofs/write.c: Likewise.
21627
21628 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21629
21630 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21631 instead of static allocation.
21632 * util/mkisofs/match.h: Likewise.
21633
21634 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21635
21636 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21637 and `util/grub.d/10_linux.in'.
21638 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21639 translatable Shell files.
21640
21641 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21642
21643 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21644
21645 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21646
21647 * INSTALL: Document Automake is needed for bootstrap.
21648 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
21649 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21650 Add gettext initialization.
21651 (kfreebsd_entry): Make menuentry output translatable.
21652
21653 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21654
21655 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21656 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21657 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21658 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21659 (LINGUAS): Auto-generate using `po/LINGUAS'.
21660 * po/LINGUAS: New file.
21661
21662 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21663
21664 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21665 other things).
21666 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21667 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21668 bindtextdomain() calls for gettext initialization.
21669
21670 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21671
21672 * gnulib/progname.c: New file (imported from Gnulib).
21673 * gnulib/progname.h: Likewise.
21674 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21675 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21676 (usage): Replace `progname' with `program_name'.
21677 (main): Use set_program_name() for program name initialization.
21678
21679 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21680
21681 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21682 from here ...
21683 * Makefile.in (CPPFLAGS): ... to here.
21684
21685 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21686
21687 * aclocal.m4: Move from here ...
21688 * acinclude.m4: ... to here.
21689 * autogen.sh: Add call to `aclocal'.
21690 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21691
21692 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21693
21694 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21695 (LINGUAS): New variable.
21696 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21697 (install-local): Install MO files.
21698 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21699 * include/grub/i18n.h: New file.
21700 * po/POTFILES: New file.
21701 * po/ca.po: New file.
21702 * util/grub.d/10_linux.in (bindir): New variable.
21703 Add gettext initialization.
21704 (linux_entry): Make menuentry output translatable.
21705 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21706 (usage): Make --help output translatable.
21707 (main): Initialize gettext.
21708
21709 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21710
21711 * import_gcry.py: New file (written by Vladimir with minor
21712 adjustments).
21713 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21714 ciphers.
21715 * INSTALL: Document that Python is required for bootstrap.
21716
21717 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21718
21719 Import ciphers from libgcrypt 1.4.4.
21720
21721 * lib/libgcrypt/cipher/ChangeLog
21722 * lib/libgcrypt/cipher/ac.c
21723 * lib/libgcrypt/cipher/arcfour.c
21724 * lib/libgcrypt/cipher/bithelp.h
21725 * lib/libgcrypt/cipher/blowfish.c
21726 * lib/libgcrypt/cipher/camellia-glue.c
21727 * lib/libgcrypt/cipher/camellia.c
21728 * lib/libgcrypt/cipher/camellia.h
21729 * lib/libgcrypt/cipher/cast5.c
21730 * lib/libgcrypt/cipher/cipher.c
21731 * lib/libgcrypt/cipher/crc.c
21732 * lib/libgcrypt/cipher/des.c
21733 * lib/libgcrypt/cipher/dsa.c
21734 * lib/libgcrypt/cipher/ecc.c
21735 * lib/libgcrypt/cipher/elgamal.c
21736 * lib/libgcrypt/cipher/hash-common.c
21737 * lib/libgcrypt/cipher/hash-common.h
21738 * lib/libgcrypt/cipher/hmac-tests.c
21739 * lib/libgcrypt/cipher/md.c
21740 * lib/libgcrypt/cipher/md4.c
21741 * lib/libgcrypt/cipher/md5.c
21742 * lib/libgcrypt/cipher/primegen.c
21743 * lib/libgcrypt/cipher/pubkey.c
21744 * lib/libgcrypt/cipher/rfc2268.c
21745 * lib/libgcrypt/cipher/rijndael-tables.h
21746 * lib/libgcrypt/cipher/rijndael.c
21747 * lib/libgcrypt/cipher/rmd.h
21748 * lib/libgcrypt/cipher/rmd160.c
21749 * lib/libgcrypt/cipher/rsa.c
21750 * lib/libgcrypt/cipher/seed.c
21751 * lib/libgcrypt/cipher/serpent.c
21752 * lib/libgcrypt/cipher/sha1.c
21753 * lib/libgcrypt/cipher/sha256.c
21754 * lib/libgcrypt/cipher/sha512.c
21755 * lib/libgcrypt/cipher/tiger.c
21756 * lib/libgcrypt/cipher/twofish.c
21757 * lib/libgcrypt/cipher/whirlpool.c
21758
21759 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21760
21761 Fix build for systems without error().
21762
21763 * gnulib/error.c: New file (imported from Gnulib).
21764 * gnulib/error.h: Likewise.
21765 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21766 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21767 (this variable is now used by error()).
21768
21769 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21770
21771 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21772 instead of relying that char is signed.
21773
21774 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21777 blocksize different from specified.
21778 (grub_pxefs_read): Likewise.
21779
21780 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21781
21782 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21783
21784 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21785 (grub_ata_readwrite): Likewise. Update 2 format strings.
21786 (grub_atapi_read): Likewise.
21787
21788 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21789 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21790 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21791 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21792 (ata_mod_LDFLAGS): Move from here ...
21793 * conf/i386.rmk: ... to here ...
21794 * conf/x86_64-efi.rmk: ... and here.
21795 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21796 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21797
21798 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21799
21800 Relicense multiboot.h, with RMS' blessing.
21801
21802 * include/multiboot.h: Change to X11 license.
21803
21804 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21805
21806 Support --version in grub-mkisofs.
21807
21808 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21809 (OPTION_VERSION): New macro.
21810 (ld_options): Recognize --version.
21811 (usage): Move `program_name' from here ...
21812 (program_name): ... to here. Add `static' qualifier.
21813 (main): Recognize `OPTION_VERSION'.
21814
21815 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
21816
21817 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21818 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21819
21820 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21821
21822 Fix help2man generation for mkisofs.
21823
21824 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21825 (usage): Send output to stdout (rather than stderr).
21826
21827 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21828
21829 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21830 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21831 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21832 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21833 (bin_SCRIPTS): Add `grub-mkfloppy'.
21834 (grub_mkfloppy_SOURCES): New variable.
21835
21836 * util/grub-mkrescue.in: New file.
21837 * util/i386/pc/grub-mkfloppy.in: New file.
21838
21839 * util/i386/coreboot/grub-mkrescue.in: Remove.
21840 * util/i386/pc/grub-mkrescue.in: Remove.
21841
21842 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21843
21844 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21845 from here ...
21846 * include/multiboot.h (struct multiboot_header): ... to here. Update
21847 all users.
21848 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21849 from here ...
21850 * include/multiboot.h (struct multiboot_info): ... to here. Update
21851 all users.
21852 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21853 from here ...
21854 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21855 Update all users.
21856 * include/grub/multiboot.h (struct grub_mod_list): Move
21857 from here ...
21858 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21859 Update all users.
21860
21861 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21862
21863 * include/multiboot2.h (multiboot_word): Rename from this ...
21864 (multiboot2_word): ... to this. Update all users.
21865 (multiboot_header): Rename from this ...
21866 (multiboot2_header): ... to this. Update all users.
21867 (multiboot_tag_header): Rename from this ...
21868 (multiboot2_tag_header): ... to this. Update all users.
21869 (multiboot_tag_start): Rename from this ...
21870 (multiboot2_tag_start): ... to this. Update all users.
21871 (multiboot_tag_name): Rename from this ...
21872 (multiboot2_tag_name): ... to this. Update all users.
21873 (multiboot_tag_module): Rename from this ...
21874 (multiboot2_tag_module): ... to this. Update all users.
21875 (multiboot_tag_memory): Rename from this ...
21876 (multiboot2_tag_memory): ... to this. Update all users.
21877 (multiboot_tag_unused): Rename from this ...
21878 (multiboot2_tag_unused): ... to this. Update all users.
21879 (multiboot_tag_end): Rename from this ...
21880 (multiboot2_tag_end): ... to this. Update all users.
21881
21882 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21883
21884 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21885 this platform we should support Multiboot1 first.
21886
21887 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21888 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21889 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21890
21891 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21892
21893 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21894 of write calls (converting them to fwrite() if they aren't already).
21895 (get_torito_desc): Likewise.
21896 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21897
21898 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21899
21900 * util/i386/pc/grub-install.in: Move from here ...
21901 * util/grub-install.in: ... to here. Update all users.
21902
21903 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
21904
21905 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21906
21907 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 Support for El Torito without floppy emulation.
21910
21911 * util/mkisofs/eltorito.c: Include `<errno.h>'.
21912 (init_boot_catalog): Improve error handling.
21913 (get_torito_desc): Don't use floppy emulation unless requested by
21914 user. Patch boot information table when requested via
21915 `-boot-info-table'.
21916 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
21917 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
21918 (use_boot_info_table): New variables.
21919 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
21920 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
21921 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
21922 `--eltorito-emul-floppy'.
21923 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
21924 and `OPTION_ELTORITO_EMUL_FLOPPY'.
21925 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
21926 (use_boot_info_table, get_731): New prototypes.
21927 * util/mkisofs/write.c (get_731): New function.
21928
21929 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
21930
21931 Fix the generation of the man page.
21932
21933 * util/pc/i386/grub-install.in: Source
21934 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21935
21936 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21937
21938 Large file support for grub-mkisofs.
21939
21940 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
21941 * util/mkisofs/mkisofs.c (next_extent, last_extent)
21942 (session_start): Upgrade type to `uint64_t'. Update all users.
21943 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
21944 (struct directory_entry): Upgrade type of `starting_block' and
21945 `size' to `uint64_t'. Update all users.
21946 (struct deferred): Remove unused structure.
21947 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
21948 Update all users.
21949 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
21950 file is larger than `UINT32_MAX'.
21951 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
21952 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
21953 return value.
21954 (struct deferred_write): Upgrade type of `extent' and `size' to
21955 `uint64_t'. Update all users.
21956 (last_extent_written): Upgrade type to `uint64_t'. Update all
21957 users.
21958 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
21959 Update all users. Upgrade type of `remain' to `int64_t' and
21960 `use' to `size_t'. Use error() to handle fread() errors.
21961 (write_files): Rely on write_one_file() rather than calling
21962 xfwrite() directly.
21963
21964 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
21965
21966 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
21967
21968 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21969
21970 * util/mkisofs/fnmatch.c: Remove.
21971 * util/mkisofs/getopt1.c: Likewise.
21972 * util/mkisofs/getopt.c: Likewise.
21973 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
21974 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
21975 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
21976 `gnulib/getopt1.c' and `gnulib/getopt.c'.
21977 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
21978
21979 * configure.ac: Detect `mingw32msvc' host_os.
21980 Check for lstat(), getuid() and getgid().
21981
21982 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
21983 instances of `u_char' with `uint8_t'.
21984
21985 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
21986 [!HAVE_GETUID] (getuid): New function (stub).
21987 [!HAVE_GETGID] (getgid): Likewise.
21988 [!HAVE_LSTAT] (lstat): Likewise.
21989 [!S_IROTH] (S_IROTH): New macro (dummy).
21990 [!S_IRGRP] (S_IRGRP): Likewise.
21991
21992 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21993
21994 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
21995 conditional expression).
21996
21997 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21998
21999 Import from Gnulib.
22000
22001 * gnulib/fnmatch.c: New file.
22002 * gnulib/fnmatch.h: Likewise.
22003 * gnulib/fnmatch_loop.c: Likewise.
22004 * gnulib/getopt.c: Likewise.
22005 * gnulib/getopt.h: Likewise.
22006 * gnulib/getopt1.c: Likewise.
22007 * gnulib/getopt_int.h: Likewise.
22008 * gnulib/gettext.h: Likewise.
22009
22010 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22011
22012 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
22013 * normal/handler.c (read_handler_list): Likewise.
22014
22015 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22016
22017 Misc cleanup.
22018
22019 * kern/command.c (grub_register_command_prio): Use
22020 grub_zalloc() instead of explicitly zeroing data.
22021 * kern/list.c: Include `<grub/mm.h>'.
22022 (grub_named_list_find): Replace `0' with `NULL'.
22023 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
22024 (fs_module_list): Change type to `grub_named_list_t'. Update all
22025 users.
22026 * normal/dyncmd.c (read_command_list): Add space between function
22027 call and parenthesis.
22028 * normal/handler.c (read_handler_list): Likewise.
22029
22030 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22031
22032 * normal/auth.c (punishment_delay): Moved from here ...
22033 (grub_auth_strcmp): ... to here (inside function).
22034
22035 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22036
22037 * include/grub/list.h (struct grub_named_list): Remove `const'
22038 qualifier from `name'.
22039 (struct grub_prio_list): Likewise.
22040
22041 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22042
22043 * normal/auth.c: Include `<grub/time.h>'.
22044 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
22045
22046 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22047
22048 * normal/auth.c (punishment_delay): New variable.
22049 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
22050 (grub_auth_check_authentication): Punish failed login attempts with
22051 an incremental (2^N) delay.
22052
22053 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22054
22055 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
22056 path with $(srcdir).
22057
22058 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
22061
22062 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
22063
22064 * util/i386/coreboot/grub-mkrescue.in: New file.
22065 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
22066 variables.
22067
22068 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
22069 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
22070 * configure.ac: Add header and function checks to satisfy grub-mkisofs
22071 requirements.
22072 * util/mkisofs/defaults.h: New file.
22073 * util/mkisofs/eltorito.c: Likewise.
22074 * util/mkisofs/exclude.h: Likewise.
22075 * util/mkisofs/fnmatch.c: Likewise.
22076 * util/mkisofs/getopt.c: Likewise.
22077 * util/mkisofs/getopt1.c: Likewise.
22078 * util/mkisofs/hash.c: Likewise.
22079 * util/mkisofs/include/fctldefs.h: Likewise.
22080 * util/mkisofs/include/mconfig.h: Likewise.
22081 * util/mkisofs/include/prototyp.h: Likewise.
22082 * util/mkisofs/include/statdefs.h: Likewise.
22083 * util/mkisofs/iso9660.h: Likewise.
22084 * util/mkisofs/joliet.c: Likewise.
22085 * util/mkisofs/match.c: Likewise.
22086 * util/mkisofs/match.h: Likewise.
22087 * util/mkisofs/mkisofs.c: Likewise.
22088 * util/mkisofs/mkisofs.h: Likewise.
22089 * util/mkisofs/multi.c: Likewise.
22090 * util/mkisofs/name.c: Likewise.
22091 * util/mkisofs/rock.c: Likewise.
22092 * util/mkisofs/tree.c: Likewise.
22093 * util/mkisofs/write.c: Likewise.
22094
22095 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
22098 being insecure.
22099
22100 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22101
22102 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
22103 `grub-mkimage' (and use $0 when possible).
22104
22105 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22106
22107 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
22108 error message for excessively large memory map.
22109
22110 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22111
22112 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
22113 executable bit.
22114
22115 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
22116
22117 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
22118 message for coreboot users.
22119
22120 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
22121
22122 Fix build with GNU gold.
22123
22124 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
22125 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
22126 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
22127 link addresses.
22128 * aclocal.m4: Likewise.
22129
22130 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
22131
22132 * configure.ac (AC_PREREQ): Bump to 2.59d.
22133 * INSTALL: Make it more clear when Autoconf and Ruby are
22134 needed and when to run `./autogen.sh'.
22135
22136 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
22137
22138 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
22139 OSes.
22140
22141 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22142
22143 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
22144
22145 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22146
22147 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
22148 giving it to GNU Mach.
22149
22150 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22151
22152 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
22153 GNU partition number to get internal GRUB partition number.
22154
22155 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
22156
22157 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
22158 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
22159
22160 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
22161
22162 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
22163 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
22164 case.
22165
22166 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
22167
22168 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
22169
22170 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22171
22172 Fix build problem.
22173
22174 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
22175 `-isystem=$(srcdir)/include'.
22176
22177 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
22178
22179 * util/i386/pc/grub-install.in: Remove hint that device.map should be
22180 checked (grub-install doesn't currently rely on it).
22181
22182 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
22183
22184 Revert SVN r2660.
22185
22186 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
22187 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22188 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
22189 * conf/i386-ieee1275.rmk: Likewise.
22190 * conf/i386-pc.rmk: Likewise.
22191 * conf/powerpc-ieee1275.rmk: Likewise.
22192 * conf/sparc64-ieee1275.rmk: Likewise.
22193 * conf/x86_64-efi.rmk: Likewise.
22194
22195 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22196
22197 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
22198
22199 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22200
22201 * include/grub/misc.h: Stop checking for APPLE_CC.
22202
22203 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
22204
22205 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
22206 doesn't cause an infinite call loop.
22207
22208 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
22209
22210 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
22211 strings.
22212
22213 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22214
22215 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
22216 variable.
22217 * Makefile.in: Likewise.
22218
22219 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22220
22221 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
22222
22223 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22224
22225 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
22226
22227 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22228
22229 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
22230
22231 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22232
22233 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
22234 from here ...
22235 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
22236
22237 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22238
22239 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
22240 in $(MAKEINFO) invocation. This makes it clear in output that
22241 errors are being ignored.
22242
22243 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22244
22245 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
22246 from here ...
22247 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
22248 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
22249 * conf/i386-ieee1275.rmk: Likewise.
22250 * conf/i386-pc.rmk: Likewise.
22251 * conf/powerpc-ieee1275.rmk: Likewise.
22252 * conf/sparc64-ieee1275.rmk: Likewise.
22253 * conf/x86_64-efi.rmk: Likewise.
22254
22255 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
22256
22257 * util/grub-editenv.c (main): If only a command is given, use
22258 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
22259 (usage): FILENAME is now optional and has a default.
22260
22261 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
22262
22263 Improve grub-mkconfig performance when there are several menu
22264 entries on a single filesystem.
22265
22266 * util/grub.d/10_linux.in (linux_entry): Cache the output of
22267 prepare_grub_to_access_device.
22268 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
22269 * util/grub.d/30_os-prober.in: Likewise.
22270
22271 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22272
22273 * util/grub.d/10_freebsd.in: Remove.
22274 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
22275 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
22276
22277 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
22278
22279 * docs/grub.cfg: Fix example usage of *BSD loaders.
22280
22281 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22282
22283 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
22284 grub_util_error() call.
22285
22286 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22287
22288 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22289 `reserved_first_sector' member.
22290 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22291 `reserved_first_sector' to 1.
22292 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22293 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22294 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22295 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22296 filesystems which begin at first sector.
22297 (options): New option --skip-fs-probe.
22298 (main): Handle --skip-fs-probe and pass it to setup().
22299
22300 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22301
22302 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22303 (memset): Fix function prototype.
22304
22305 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22306 2009-10-25 Vasily Averin <vvs@parallels.com>
22307
22308 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22309 `dirent.direntlen == 0'.
22310
22311 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22312
22313 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22314 `cpio'.
22315 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22316
22317 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22318
22319 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22320 `__trampoline_setup' and `__ucmpdi2'.
22321 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22322 that libgcc provides.
22323
22324 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22325
22326 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22327 * include/grub/sparc64/libgcc.h (memset): Likewise.
22328 * include/grub/misc.h (memset, memcmp): New function prototypes.
22329
22330 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22331
22332 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22333 `cpio'.
22334 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22335
22336 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22337
22338 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22339 * docs/grub.cfg: Compensate for recent change in multiboot
22340 loader (since 2009-08-14 it won't pass filename to payload).
22341 * util/grub.d/10_hurd.in: Likewise.
22342
22343 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
22344
22345 * config.guess: Update to latest version from config git
22346 repository.
22347 * config.sub: Likewise.
22348
22349 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22350
22351 Fix build on sparc64.
22352
22353 * configure.ac: Perform checks for libgcc symbols before
22354 adding `-nostdlib' to LDFLAGS.
22355
22356 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22357
22358 Let user specify OpenBSD root device.
22359
22360 * loader/i386/bsd.c (openbsd_root): New variable.
22361 (openbsd_opts): New option 'root'.
22362 (OPENBSD_ROOT_ARG): New macro.
22363 (grub_openbsd_boot): Use 'openbsd_root'.
22364 (grub_cmd_openbsd): Fill 'openbsd_root'.
22365
22366 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22367
22368 * NEWS: Misc adjustments.
22369
22370 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22373
22374 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22375
22376 * configure.ac: Bump version to 1.97.
22377
22378 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
22379
22380 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22381 -mno-3dnow on x86 architectures. Some toolchains enable these
22382 features by default, but they rely on registers that aren't enabled
22383 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22384
22385 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22386
22387 Make entry text a bit more readable.
22388
22389 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22390
22391 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22392
22393 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22394
22395 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22396
22397 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22398 operations.
22399
22400 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22401
22402 * configure.ac: Add missing dollar.
22403
22404 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22407
22408 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22409 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22410 exports.
22411 * include/grub/sparc64/libgcc.h: Likewise. Use
22412 preprocessor conditionals.
22413
22414 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22415
22416 * conf/common.rmk (grub-dumpbios): Remove rule.
22417 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22418 * util/grub-dumpbios.in: Remove file.
22419
22420 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22421
22422 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22423 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22424
22425 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22426 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22427 users.
22428
22429 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22430 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22431 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22432 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22433 users.
22434
22435 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22436
22437 * term/tparm.c: Switch to GPLv3.
22438
22439 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22440
22441 * include/grub/i386/cpuid.h: Add header protection.
22442
22443 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22444
22445 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22446
22447 * include/grub/i386/cpuid.h: New file.
22448 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22449 (has_longmode): Rename to ...
22450 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22451 `static' attribute.
22452 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22453 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22454 on a CPU that doesn't implement AMD64 instruction set.
22455
22456 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22457
22458 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22459 that version.texi is rebuilt on version number changes.
22460
22461 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22462
22463 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22464 Fixes bug #27602.
22465
22466 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22467
22468 * util/i386/pc/grub-install.in: Source
22469 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22470 that the --grub-probe option will work.
22471 * util/sparc64/ieee1275/grub-install.in: Likewise.
22472
22473 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22474
22475 * configure.ac: Bump version to 1.97~beta4.
22476
22477 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22478
22479 Resync grub-mkdevicemap in x86_64-efi.
22480
22481 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22482 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22483 `util/devicemap.c'.
22484
22485 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
22486
22487 * util/grub-editenv.c (create_envblk_file): Write new block with a
22488 .new suffix and then rename it into place, to ensure atomic
22489 creation.
22490
22491 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22492
22493 Do not automatically install headers.
22494
22495 * Makefile.in (include_DATA): Remove. Update all users.
22496
22497 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22498
22499 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22500 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22501
22502 * util/osdetect.lua: Remove.
22503 * script/lua/lauxlib.c: Likewise.
22504 * script/lua/ldebug.c: Likewise.
22505 * script/lua/grub_main.c: Likewise.
22506 * script/lua/lauxlib.h: Likewise.
22507 * script/lua/ldebug.h: Likewise.
22508 * script/lua/ltablib.c: Likewise.
22509 * script/lua/liolib.c: Likewise.
22510 * script/lua/lstrlib.c: Likewise.
22511 * script/lua/lualib.h: Likewise.
22512 * script/lua/ldo.c: Likewise.
22513 * script/lua/ldump.c: Likewise.
22514 * script/lua/ldo.h: Likewise.
22515 * script/lua/loslib.c: Likewise.
22516 * script/lua/lundump.c: Likewise.
22517 * script/lua/grub_lib.c: Likewise.
22518 * script/lua/ldblib.c: Likewise.
22519 * script/lua/lundump.h: Likewise.
22520 * script/lua/lmem.c: Likewise.
22521 * script/lua/grub_lib.h: Likewise.
22522 * script/lua/lmathlib.c: Likewise.
22523 * script/lua/lstate.c: Likewise.
22524 * script/lua/ltm.c: Likewise.
22525 * script/lua/lvm.c: Likewise.
22526 * script/lua/lmem.h: Likewise.
22527 * script/lua/lstate.h: Likewise.
22528 * script/lua/ltm.h: Likewise.
22529 * script/lua/ltable.c: Likewise.
22530 * script/lua/lvm.h: Likewise.
22531 * script/lua/llex.c: Likewise.
22532 * script/lua/lgc.c: Likewise.
22533 * script/lua/grub_lua.h: Likewise.
22534 * script/lua/loadlib.c: Likewise.
22535 * script/lua/lfunc.c: Likewise.
22536 * script/lua/lopcodes.c: Likewise.
22537 * script/lua/lparser.c: Likewise.
22538 * script/lua/ltable.h: Likewise.
22539 * script/lua/llex.h: Likewise.
22540 * script/lua/lgc.h: Likewise.
22541 * script/lua/lfunc.h: Likewise.
22542 * script/lua/lbaselib.c: Likewise.
22543 * script/lua/lopcodes.h: Likewise.
22544 * script/lua/lparser.h: Likewise.
22545 * script/lua/lzio.c: Likewise.
22546 * script/lua/linit.c: Likewise.
22547 * script/lua/lobject.c: Likewise.
22548 * script/lua/llimits.h: Likewise.
22549 * script/lua/lstring.c: Likewise.
22550 * script/lua/lzio.h: Likewise.
22551 * script/lua/lapi.c: Likewise.
22552 * script/lua/lcode.c: Likewise.
22553 * script/lua/lua.h: Likewise.
22554 * script/lua/lobject.h: Likewise.
22555 * script/lua/lstring.h: Likewise.
22556 * script/lua/lapi.h: Likewise.
22557 * script/lua/lcode.h: Likewise.
22558 * script/lua/luaconf.h: Likewise.
22559
22560 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
22561
22562 * docs/grub.texi (Command-line and menu entry commands): Document
22563 date and echo commands.
22564
22565 2009-09-24 Pavel Roskin <proski@gnu.org>
22566
22567 * include/grub/kernel.h (struct grub_module_header): Remove
22568 `grub_module_header_types'. Make `type' unsigned. Make `size'
22569 32-bit on all platforms.
22570 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22571 8-bit field. Use grub_host_to_target32() for `size'.
22572 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22573 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22574 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22575
22576 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22577
22578 Fix "lost keypress" bug in at_keyboard.
22579
22580 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22581 Checks for readyness of input buffer (without flushing it).
22582 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22583 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22584
22585 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22586
22587 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22588 size check within GRUB_MACHINE_PCBIOS section.
22589
22590 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22591
22592 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22593 return value.
22594 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22595 KEYBOARD_ISREADY check.
22596 (grub_at_keyboard_checkkey): Rename to ...
22597 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22598 Remove gratuitous cast.
22599
22600 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
22601
22602 * configure.ac: Call AC_PROG_MKDIR_P.
22603 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22604 version.texi in $(builddir) rather than $(srcdir).
22605 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22606 to makeinfo's @include search path.
22607
22608 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22609
22610 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22611
22612 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22613
22614 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22615 for `*.dpkg-new'.
22616
22617 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
22618
22619 Build info documentation. Some code borrowed from Automake.
22620
22621 * configure.ac: Check for makeinfo.
22622 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22623 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22624 docs/version.texi.
22625 (MOSTLYCLEANFILES): Add vti.tmp.
22626 (docs/version.texi, docs/stamp-vti): Update automatically.
22627 (docs/grub.info): Build info documentation. Use --force and ignore
22628 errors for now.
22629 (all-local): Add $(INFOS).
22630 (install-local): Install info files.
22631 (uninstall): Uninstall info files.
22632 * docs/version.texi: Remove from revision control. This file is
22633 automatically generated on build now.
22634 * gendistlist.sh: Add `*.info'.
22635
22636 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22637
22638 * kern/term.c: Fix indentation.
22639
22640 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22641
22642 * util/hostdisk.c: Fix a comment.
22643
22644 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22645
22646 Fix regression introduced in r2539.
22647
22648 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22649 to 0xA1.
22650
22651 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
22652
22653 * util/grub.d/30_os-prober.in: Don't throw away stderr from
22654 os-prober. Under normal operation, it does not print anything to
22655 stderr; if it does, we need to debug it, and throwing away stderr
22656 makes that excessively difficult.
22657
22658 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22659
22660 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22661
22662 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22663
22664 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22665 AC_LANG_PROGRAM from autoconf.
22666 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22667 prototypes (fixes warning).
22668
22669 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22670 `--disable-werror' was used.
22671
22672 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22673
22674 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22675 uninitialized `lastaddr'.
22676
22677 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22678
22679 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
22680
22681 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22682
22683 * commands/test.c (get_fileinfo): Return immediately if
22684 grub_fs_probe fails.
22685
22686 2009-09-14 José Martínez <xosemp@gmail.com>
22687
22688 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22689
22690 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22691
22692 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22693 output.
22694
22695 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22696
22697 * configure.ac: Remove --enable-grub-pe2elf. Only build
22698 grub-pe2elf when needed by the build system itself.
22699 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22700
22701 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22702
22703 * configure.ac: Bump version to 1.97~beta3.
22704 * docs/version.texi: Likewise.
22705
22706 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22707
22708 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22709 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22710 from here ...
22711 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22712 (grub_linux_setup_video): ... to here (with some adjustments).
22713
22714 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22715
22716 Fix memory corruption issue (spotted by Colin Watson).
22717
22718 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22719 causing returned size to be stored in an incorrect memory location.
22720 Fix use of uninitialized value when storing the returned size.
22721
22722 2009-09-12 Yves Blusseau <blusseau@zetam.org>
22723
22724 Change clean rules to properly remove files
22725
22726 * genmk.rb: add new clean rules
22727 * Makefile.in (clean): add the new targets
22728 (mostlyclean): likewise
22729
22730 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22731
22732 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22733 to grub_uint64_t.
22734 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22735 non-resident files.
22736
22737 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22738
22739 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22740 part of bug #27349.
22741
22742 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22743
22744 * util/grub-mkconfig.in: Make the created config mode 400 and
22745 print a warning if it fails.
22746
22747 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22748
22749 * util/grub.d/40_custom.in: Ask user to type custom entries below
22750 comment, rather than below 'exec tail' line.
22751
22752 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22753
22754 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22755 visible in grub.cfg.
22756
22757 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22758
22759 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22760 file.
22761
22762 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22763
22764 * docs/grub.cfg: Add an example menu entry for memtest86+.
22765
22766 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
22767
22768 * config.guess: Update to latest version from config git.
22769 * config.sub: Likewise.
22770
22771 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
22772
22773 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22774 unknown-command case. Fixes bug #27320.
22775
22776 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
22777
22778 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22779 `help' if the command exists.
22780
22781 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22782
22783 * INSTALL: Require GCC 4.1.3 or later.
22784
22785 2009-09-06 Yves Blusseau <blusseau@zetam.org>
22786
22787 * Makefile.in (RMKFILES): add i386-qemu.rmk
22788 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22789 $(srcdir)/stamp-h.in
22790
22791 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22792
22793 * util/grub-probe.c (probe): Comment out buggy codepath, which
22794 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22795 should be re-enabled after 1.97.
22796
22797 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
22798
22799 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22800 find searches for.
22801
22802 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22803
22804 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22805 unnecessary calls to grub_error.
22806
22807 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
22808
22809 * NEWS: Mention `keystatus' and Unicode fonts.
22810
22811 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22812
22813 * configure.ac: Bump version to 1.97~beta2.
22814 * docs/version.texi: Likewise.
22815
22816 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22817
22818 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22819 containing unwind information in some cases where it previously did
22820 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22821 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22822 discussion.
22823
22824 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22825
22826 Embedding loadenv module into grub-emu
22827
22828 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22829 commands/loadenv.c
22830 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22831 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22832 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22834 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22835 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22836
22837 2009-09-03 Magnus Granberg <zorry@ume.nu>
22838
22839 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22840 include -fPIE in the default specs.
22841 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22842 to TARGET_CFLAGS.
22843
22844 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
22845
22846 * INSTALL: Note that GNU Bison 2.3 or later is required.
22847
22848 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22849
22850 * kern/i386/pc/startup.S: Fix typo.
22851
22852 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22855 according to GCS.
22856
22857 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22858
22859 * docs/grub.texi (Naming convention): Describe one-based partition
22860 numbering.
22861 (Device syntax): Likewise.
22862 (File name syntax): Likewise.
22863 (Block list syntax): Likewise.
22864 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22865 menu.lst.
22866 (File name syntax): Likewise.
22867 (Command-line and menu entry commands): Document acpi, blocklist,
22868 crc, export, insmod, keystatus, ls, set, and unset commands.
22869
22870 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22871
22872 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22873 to avoid implying that only one of --shift, --ctrl, or --alt may be
22874 used.
22875
22876 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22877
22878 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22879 rather than comparing against S_IFREG, which will almost never work.
22880
22881 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22882
22883 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22884 (write_blocklists): Likewise.
22885
22886 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
22887
22888 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22889 argument to grub_printf.
22890
22891 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
22892
22893 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
22894 non GNU test.
22895
22896 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22897
22898 * kern/file.c (grub_file_read): Spelling fix
22899
22900 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22901
22902 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22903 loading of headers in some cases.
22904
22905 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22906
22907 * configure.ac: Bump version to 1.97~beta1.
22908 * docs/version.texi: Likewise.
22909
22910 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * include/grub/i386/xnu.h: Add license header.
22913 include grub/err.h explicitly.
22914
22915 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22916
22917 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
22918 to `ufs' in the vfs.root.mountfrom kernel parameter.
22919
22920 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22921
22922 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
22923
22924 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
22925 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
22926
22927 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
22928 `ARRAY_SIZE' macro.
22929
22930 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22931
22932 * kern/file.c (grub_file_read): Check offset.
22933 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
22934 * fs/jfs.c (grub_jfs_read_file): Likewise.
22935 * fs/ntfs.c (grub_ntfs_read): Likewise.
22936 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
22937 * fs/minix.c (grub_minix_read_file): Correct offset check.
22938 * fs/ufs.c (grub_ufs_read_file): Likewise.
22939
22940 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22941
22942 * term/i386/pc/console.c (bios_data_area): Cast
22943 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
22944
22945 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22946
22947 1-bit optimised blitters.
22948
22949 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
22950 prototype.
22951 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22952 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22953 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22954 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22955 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22956 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22957 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
22958 function.
22959 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22960 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22961 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22962 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22963 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22964 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22965 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
22966 when possible.
22967 * video/video.c (grub_video_get_blit_format): Return
22968 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
22969
22970 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22971
22972 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
22973 the first argument to grub_printf.
22974
22975 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22976 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
22977
22978 Add `getkeystatus' terminal method. Add a new `keystatus' command
22979 to query it.
22980
22981 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
22982 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
22983 modifier key bitmasks.
22984 (struct grub_term_input): Add `getkeystatus' member.
22985 (grub_getkeystatus): Add prototype.
22986 * kern/term.c (grub_getkeystatus): New function.
22987
22988 * include/grub/i386/pc/memory.h
22989 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
22990 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
22991 Data Area layout.
22992 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
22993 (grub_console_term_input): Set `getkeystatus' member.
22994 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
22995 constants.
22996 (grub_usb_keyboard_getreport): Likewise.
22997 (grub_usb_keyboard_checkkey): Likewise.
22998 (grub_usb_keyboard_getkeystatus): New function.
22999 (grub_usb_keyboard_term): Set `getkeystatus' member.
23000
23001 * commands/keystatus.c: New file.
23002 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
23003 (keystatus_mod_SOURCES): New variable.
23004 (keystatus_mod_CFLAGS): Likewise.
23005 (keystatus_mod_LDFLAGS): Likewise.
23006 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
23007 commands/keystatus.c.
23008 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23010 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23011 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23012 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23013 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23014
23015 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23016
23017 Split befs.mod and afs.mod into *_be.mod and *.mod
23018
23019 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
23020 (grub_fstest_SOURCES): Likewise.
23021 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
23022 (afs_be_mod_SOURCES): New variable.
23023 (afs_be_mod_CFLAGS): Likewise.
23024 (afs_be_mod_LDFLAGS): Likewise.
23025 (befs_be_mod_SOURCES): Likewise.
23026 (befs_be_mod_CFLAGS): Likewise.
23027 (befs_be_mod_LDFLAGS): Likewise.
23028 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
23029 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23031 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
23032 (grub_emu_SOURCES): Likewise.
23033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23034 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23035 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23036 * fs/afs_be.c: New file.
23037 * fs/befs_be.c: New file.
23038 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
23039 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
23040 (U16): Replaced with ...
23041 (grub_afs_to_cpu16): ...this. All users updated.
23042 (U32): Replaced with ...
23043 (grub_afs_to_cpu32): ...this. All users updated.
23044 (U64): Replaced with ...
23045 (grub_afs_to_cpu64): ...this. All users updated.
23046 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
23047 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
23048 (grub_afs_validate_sblock): Check only one endianness.
23049 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23050 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23051 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23052 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23053 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
23054 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
23055 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
23056 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
23057
23058 2009-08-26 Bean <bean123ch@gmail.com>
23059
23060 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
23061 64-bit number.
23062 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
23063 (grub_xfs_inode_block): Change return type to grub_uint64_t.
23064 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
23065
23066 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23067
23068 NetBSD memory map support.
23069
23070 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
23071 (grub_netbsd_btinfo_mmap_header): New structure.
23072 (grub_netbsd_btinfo_mmap_entry): Likewise.
23073 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
23074
23075 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23076
23077 Enable bsd.mod on coreboot.
23078
23079 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
23080 (bsd_mod_SOURCES): New variable.
23081 (bsd_mod_CFLAGS): Likewise.
23082 (bsd_mod_LDFLAGS): Likewise.
23083 (bsd_mod_ASFLAGS): Likewise.
23084 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
23085 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
23086
23087 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23088
23089 Cleanup NetBSD root support.
23090
23091 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
23092 grub_bsd_get_device.
23093 Fix typo.
23094
23095 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
23096
23097 * util/grub.d/00_header.in: Move check for the video backend of
23098 gfxterm from here ...
23099 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
23100 a suitable video backend.
23101
23102 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23103
23104 Fix breakage in grub-setup.
23105
23106 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
23107 "msdos_partition_map".
23108
23109 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23110
23111 Fix breakage in normal/auth.c.
23112
23113 * normal/auth.c (grub_iswordseparator): New function.
23114
23115 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23116
23117 Authentication support.
23118
23119 * commands/password.c: New file.
23120 * conf/common.rmk (pkglib_MODULES): Add password.mod.
23121 (password_mod_SOURCES): New variable.
23122 (password_mod_CFLAGS): Likewise.
23123 (password_mod_LDFLAGS): Likewise.
23124 (normal_mod_SOURCES): Add normal/auth.c.
23125 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
23126 normal/auth.c.
23127 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23128 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23129 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23131 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23132 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23133 * include/grub/auth.h: New file.
23134 * include/grub/err.h (grub_err_t): New enum value
23135 GRUB_ERR_ACCESS_DENIED.
23136 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
23137 'users'.
23138 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
23139 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
23140 users updated.
23141 * normal/auth.c: New file.
23142 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
23143 (grub_cmdline_run): Don't allow to go to command line without
23144 authentication.
23145 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
23146 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
23147 menuentry without superuser rights.
23148 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
23149 user isn't a superuser.
23150
23151 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23152
23153 Save space by inlining misc.c functions.
23154
23155 * kern/misc.c (grub_iswordseparator): Made static.
23156 * kern/misc.c (grub_strcat): Moved from here ...
23157 * include/grub/misc.h (grub_strcat): ... here. Inlined.
23158 * kern/misc.c (grub_strncat): Moved from here ...
23159 * include/grub/misc.h (grub_strncat): ... here. Inlined.
23160 * kern/misc.c (grub_strcasecmp): Moved from here ...
23161 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
23162 * kern/misc.c (grub_strncasecmp): Moved from here ...
23163 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
23164 * kern/misc.c (grub_isalpha): Moved from here ...
23165 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
23166 * kern/misc.c (grub_isdigit): Moved from here ...
23167 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
23168 * kern/misc.c (grub_isgraph): Moved from here ...
23169 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
23170 * kern/misc.c (grub_tolower): Moved from here ...
23171 * include/grub/misc.h (grub_tolower): ... here. Inlined.
23172
23173 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 * script/sh/function.c (grub_script_function_find): Cut error message
23176 not to flood terminal.
23177 * script/sh/lexer.c (grub_script_yylex): Remove command line length
23178 limit.
23179 * script/sh/script.c (grub_script_arg_add): Duplicate string.
23180
23181 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
23182
23183 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
23184 `report' grub_uint8_t *.
23185 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
23186 Use a 50-millisecond timeout rather than just repeating
23187 grub_usb_keyboard_getreport 50 times.
23188 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
23189
23190 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23191
23192 Rename *_partition_map to part_*
23193
23194 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
23195 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
23196 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
23197 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
23198 All users updated.
23199 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
23200 All users updated.
23201 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
23202 * util/grub-probe.c (probe_partmap): Don't transform partition name
23203 to get module name.
23204
23205 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23206
23207 Fix OpenBSD and NetBSD support.
23208
23209 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
23210 memory address conflict.
23211 (OPENBSD_MMAP_ACPI): New definition.
23212 (OPENBSD_MMAP_NVS): Likewise.
23213 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
23214 and OPENBSD_MMAP_NVS.
23215 Add memory map terminator
23216 Explicit cast when calling grub_unix_real_boot.
23217 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
23218
23219 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23220
23221 Let user specify NetBSD root device.
23222
23223 * loader/i386/bsd.c (netbsd_root): New variable.
23224 (netbsd_opts): New option 'root'.
23225 (NETBSD_ROOT_ARG): New macro.
23226 (grub_netbsd_boot): Use 'netbsd_root'.
23227 (grub_bsd_unload): Free 'netbsd_root'.
23228 (grub_cmd_netbsd): Fill 'netbsd_root'.
23229
23230 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23231
23232 Support for 64-bit NetBSD.
23233
23234 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
23235 point when booting non-FreeBSD.
23236
23237 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
23238
23239 Support --no-smp and --no-acpi for NetBSD.
23240
23241 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
23242 (NETBSD_AB_NOACPI): Likewise.
23243 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
23244 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
23245
23246 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23247
23248 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
23249 errors.
23250 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
23251 errors. Call grub_error when needed.
23252
23253 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 * commands/search.c (search_fs): Try searching without autoload first.
23256 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
23257 filesystem module explicitly for faster booting.
23258
23259 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
23260
23261 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
23262
23263 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
23264
23265 * util/grub.d/30_os-prober.in: Disable os-prober if
23266 `GRUB_DISABLE_OS_PROBER' was set to true.
23267
23268 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
23269
23270 * partmap/pc.c: Rename to ...
23271 * partmap/msdos.c: ... this. Update all users.
23272 (grub_pc_partition_map): Rename to ...
23273 (grub_msdos_partition_map): ... this. Update all users.
23274
23275 * parttool/pcpart.c: Rename to ...
23276 * parttool/msdospart.c: ... this. Update all users.
23277
23278 * include/grub/pc_partition.h: Rename to ...
23279 * include/grub/msdos_partition.h: ... this. Update all users.
23280 (grub_pc_partition_bsd_entry): Rename to ...
23281 (grub_msdos_partition_bsd_entry): ... this. Update all users.
23282 (grub_pc_partition_disk_label): Rename to ...
23283 (grub_msdos_partition_disk_label): ... this. Update all users.
23284 (grub_pc_partition_entry): Rename to ...
23285 (grub_msdos_partition_entry): ... this. Update all users.
23286 (grub_pc_partition_mbr): Rename to ...
23287 (grub_msdos_partition_mbr): ... this. Update all users.
23288 (grub_pc_partition): Rename to ...
23289 (grub_msdos_partition): ... this. Update all users.
23290 (grub_pc_partition_is_empty): Rename to ...
23291 (grub_msdos_partition_is_empty): ... this. Update all users.
23292 (grub_pc_partition_is_extended): Rename to ...
23293 (grub_msdos_partition_is_extended): ... this. Update all users.
23294 (grub_pc_partition_is_bsd): Rename to ...
23295 (grub_msdos_partition_is_bsd): ... this. Update all users.
23296
23297 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23298 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23299 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23300 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23301 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23302 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23303 (gpt_mod_LDFLAGS): Rename to ...
23304 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23305 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23306 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23307 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23308 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23309 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23310 (part_gpt_mod_LDFLAGS): ... this.
23311 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23312 `pcpart.mod' to `msdospart.mod'.
23313 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23314 to ...
23315 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23316 (msdospart_mod_LDFLAGS): ... this.
23317
23318 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23321 (openbsd_opts): Likewise.
23322 (netbsd_opts): Likewise.
23323 (freebsd_flags): Added 0 terminator.
23324 (openbsd_flags): Likewise.
23325 (netbsd_flags): Likewise.
23326 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23327 (grub_cmd_freebsd): Transformed into extended command.
23328 (grub_cmd_openbsd): Likewise.
23329 (grub_cmd_netbsd): Likewise.
23330 (cmd_freebsd): Changed type to grub_extcmd_t.
23331 (cmd_openbsd): Likewise.
23332 (cmd_netbsd): Likewise.
23333 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23334 grub_cmd_openbsd as extended commands.
23335 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23336 cmd_netbsd and cmd_openbsd
23337
23338 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23339
23340 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23341
23342 2009-08-21 Pavel Roskin <proski@gnu.org>
23343
23344 * Makefile.in (install-local): When checking if a file is in the
23345 build directory, use "test -e" to detect symlinks.
23346
23347 * Makefile.in (install-local): Remove all files in
23348 $(DESTDIR)$(pkglibdir) before installing new files there.
23349
23350 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23351
23352 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23353 grub-mkelfimage.
23354
23355 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23356
23357 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23358 explicitly specified by the user.
23359
23360 2009-08-18 Pavel Roskin <proski@gnu.org>
23361
23362 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23363 grub_uint8_t pointer for data.
23364 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23365 Likewise.
23366 * video/fb/fbutil.c: Remove unnecessary casts.
23367
23368 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23369
23370 VBE cleanup.
23371
23372 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23373 (grub_vbe_set_video_mode): Save active mode info
23374 only after setting the mode.
23375 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23376 second argument.
23377
23378 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23379
23380 Rename variables for clarity.
23381
23382 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23383 (active_vbe_mode_info): ... this. All users updated.
23384 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23385 All users updated.
23386 (initial_mode): Rename to ...
23387 (initial_vbe_mode): ... this. All users updated.
23388 (mode_in_use): Rename to ..
23389 (vbe_mode_in_use): ... this. All users updated.
23390 (mode_list): Rename to ..
23391 (vbe_mode_list): ... this. All users updated.
23392 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23393 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23394 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23395 'mode_list_size' to 'vbe_mode_list_size'.
23396 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23397 'best_mode_info' to 'best_vbe_mode_info' and
23398 'best_mode' to 'best_vbe_mode'
23399
23400 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23401
23402 Remove duplicate grub_video_fb_get_video_ptr.
23403
23404 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23405 (grub_video_fb_get_video_ptr): ... this.
23406 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23407 * video/fb/fbutil.c: Add comment about addressing.
23408 (get_data_ptr): Rename to ...
23409 (grub_video_fb_get_video_ptr): ... this. All users updated.
23410 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23411
23412 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23413
23414 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23415 grub_dprintf() that was just added.
23416
23417 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23418
23419 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23420 (DEFAULT_VIDEO_MODE): Remove macros.
23421 (grub_linux_boot): Remove assumption that Linux has FB support,
23422 and use "text" as default video mode.
23423
23424 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23427 grub_dprintf.
23428 * fs/fat.c (grub_fat_read_data): Likewise.
23429
23430 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23431
23432 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23433 payload.
23434 (grub_module): Likewise.
23435
23436 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23437
23438 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23439 mbi->cmdline but free playground.
23440
23441 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23442
23443 Handle group offset on UFS1.
23444
23445 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23446 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23447
23448 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23449
23450 Split ufs.mod into ufs1.mod and ufs2.mod.
23451
23452 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23453 (grub_fstest_SOURCES): Likewise.
23454 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23455 (ufs_mod_SOURCES): Remove.
23456 (ufs_mod_CFLAGS): Likewise.
23457 (ufs_mod_LDFLAGS): Likewise.
23458 (ufs1_mod_SOURCES): New variable.
23459 (ufs1_mod_CFLAGS): Likewise.
23460 (ufs1_mod_LDFLAGS): Likewise.
23461 (ufs2_mod_SOURCES): New variable.
23462 (ufs2_mod_CFLAGS): Likewise.
23463 (ufs2_mod_LDFLAGS): Likewise.
23464 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23465 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23466 Likewise.
23467 (grub_emu_SOURCES): Likewise.
23468 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23469 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23470 (grub_setup_SOURCES): Likewise.
23471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23472 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23473 (grub_setup_SOURCES): Likewise.
23474 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23475 Likewise.
23476 * fs/ufs2.c: New file.
23477 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23478
23479 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23480
23481 Framebuffer split.
23482
23483 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23484 subsystem at the end.
23485 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23486 (video_fb_mod_SOURCES): New variable.
23487 (video_fb_mod_CFLAGS): Likewise.
23488 (video_fb_mod_LDFLAGS): Likewise.
23489 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23490 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23491 * video/i386/pc/vbeblit.c: Moved from here ...
23492 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23493 * video/i386/pc/vbefill.c: Moved from here ...
23494 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23495 * video/i386/pc/vbeutil.c: Moved from here ...
23496 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23497 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23498 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23499 * include/grub/i386/pc/vbefill.h: Moved from here ...
23500 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23501 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23502 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23503 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23504 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23505 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23506 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23507 (grub_video_adapter): Added 'get_info_and_fini'.
23508 (grub_video_get_info_and_fini): New prototype.
23509 (grub_video_set_mode): make modestring const char *.
23510 * loader/i386/linux.c (grub_linux_setup_video): Use
23511 grub_video_get_info_and_fini.
23512 (grub_linux_boot): Move modesetting just before booting.
23513 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23514 grub_video_get_info_and_fini.
23515 * video/i386/pc/vbe.c: Moved framebuffer part ...
23516 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23517 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23518 grub_video_fbstd_colors and grub_video_fb_set_palette.
23519 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23520 grub_video_fb_init.
23521 (grub_video_vbe_fini): Use grub_video_fb_fini.
23522 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23523 render_target and use grub_video_fb_set_active_render_target and
23524 grub_video_fb_set_palette.
23525 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23526 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23527 (grub_video_vbe_adapter): Use framebuffer.
23528 * video/video.c (grub_video_get_info_and_fini): New function.
23529 (grub_video_set_mode): Make modestring const char *.
23530 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23531 values are already initialised.
23532
23533 2009-08-14 Pavel Roskin <proski@gnu.org>
23534
23535 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23536 ABS and APPLE_CC.
23537 * boot/i386/pc/diskboot.S: Likewise.
23538 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23539 sectors allow compilation on MacOSX.
23540 * conf/i386-pc.rmk: Enable unconditional compilation of
23541 lnxboot.img.
23542
23543 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
23544
23545 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23546 * util/grub.d/00_header.in: Enter interruptible sleep if
23547 GRUB_HIDDEN_TIMEOUT is set.
23548
23549 2009-08-13 Yves Blusseau <blusseau@zetam.org>
23550
23551 * include/grub/symbol.h: Add the LOCAL macro.
23552 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23553 starting with "L_".
23554
23555 2009-08-13 Pavel Roskin <proski@gnu.org>
23556
23557 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23558 any modern compilers we support.
23559
23560 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23561 Use local labels starting with "L_" so that Apple assembler
23562 knows they are local.
23563
23564 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23565
23566 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23567 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23568 (bsd_kernel_types): ... this enum.
23569
23570 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23571 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23572 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23573
23574 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23575 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23576 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23577 messages.
23578
23579 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23580
23581 * util/grub-dumpdevtree: Moved from here ...
23582 * util/i386/efi/grub-dumpdevtree: ... to here.
23583 (hexify): New function. Converts a string to its hex version.
23584 Generate hex versions of "efi" and "device-properties" by calling
23585 hexify() on the ASCII strings rather than by hardcoding numbers.
23586
23587 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23588
23589 * fs/jfs.c: Update copyright year.
23590
23591 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23592
23593 * util/grub.d/00_header.in: Fix a comment.
23594 * util/grub.d/10_linux.in: Likewise.
23595 * util/grub.d/10_windows.in: Likewise.
23596 * util/grub.d/10_hurd.in: Likewise.
23597
23598 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23599
23600 * util/grub-mkconfig.in: Allow the user to specify the used font
23601 with GRUB_FONT.
23602
23603 2009-08-08 Pavel Roskin <proski@gnu.org>
23604
23605 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23606 available, xfs.mod needs it now.
23607
23608 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23609 the "g" modifier in sed when the intention is to strip something
23610 once. This fixes comparison of kernels with multiple dashes.
23611
23612 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23613 on it. Add missing space before closing bracket. Fix
23614 misleading formatting.
23615
23616 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23617
23618 * docs/grub.texi: Major overhaul. Remove all sections that are
23619 specific to GRUB Legacy, or mostly composed of Legacy-specific
23620 information.
23621
23622 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23623
23624 * docs/version.texi: New file. Provides version information for
23625 grub.texi.
23626
23627 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23628
23629 * docs/grub.texi: Update CVS information to SVN.
23630 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23631
23632 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23633
23634 * util/grub-mkconfig.in: Remove a wrong `fi'.
23635
23636 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23637
23638 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23639 (grub_jfs_uuid): New function.
23640 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23641
23642 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23643
23644 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23645 of it to ...
23646 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23647 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23648
23649 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23650
23651 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23652 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23653 Update all users.
23654
23655 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23656 not just "vmlinu[zx]".
23657 Moved from here ...
23658 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23659 all users.
23660
23661 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23662 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23663 all users.
23664
23665 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23666
23667 * util/grub.d/10_freebsd.in: Use an absolute device path for
23668 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23669
23670 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
23671
23672 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23673 handling of multiple abstraction modules.
23674
23675 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23676
23677 Fix a bug resulting in black screen when loading Linux using a
23678 packed video mode.
23679
23680 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23681 function.
23682
23683 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23684 (grub_vbe_bios_getset_dac_palette_width): New function.
23685 (grub_vbe_bios_get_dac_palette_width)
23686 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23687 grub_vbe_bios_getset_dac_palette_width()).
23688
23689 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23690 check for return status.
23691 (grub_vbe_get_video_mode_info): When getting information for a packed
23692 mode (<= 8 bpp), obtain DAC palette width using
23693 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23694 {red,green,blue}_mark_size.
23695
23696 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
23697
23698 * commands/search.c (options): Fix help output to match actual code.
23699
23700 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23701
23702 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23703 of homegrown code.
23704
23705 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23706
23707 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23708 on XFS or ReiserFS.
23709
23710 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23711
23712 Support Apple partition map with sector size different from 512 bytes.
23713
23714 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23715 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23716 and 'apart.partmap_size'.
23717
23718 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23719 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23720
23721 Fix cpuid command.
23722
23723 * commands/i386/cpuid.c (options): New variable.
23724 (grub_cmd_cpuid): Return real error.
23725 (GRUB_MOD_INIT(cpuid)): Declare options.
23726
23727 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23728
23729 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23730 valid.
23731
23732 2009-07-31 Bean <bean123ch@gmail.com>
23733
23734 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23735 log2_inode.
23736 (grub_fshelp_node): Move inode field to the end.
23737 (grub_xfs_data): Remove inode field.
23738 (grub_xfs_inode_block): Calculate inode size using sblock.
23739 (grub_xfs_inode_offset): Likewise.
23740 (grub_xfs_read_inode): Calculate inode size using sblock.
23741 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23742 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23743 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23744 to match inode size.
23745 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23746 not accessible when data is null.
23747 (grub_xfs_open): Likewise.
23748
23749 2009-07-31 Bean <bean123ch@gmail.com>
23750
23751 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23752 Don't change pv->disk if it's already set.
23753
23754 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23755 (grub_raid_register): ... here.
23756 (grub_raid_rescan): Removed.
23757
23758 * include/grub/raid.h (grub_raid_rescan): Removed.
23759
23760 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23761 (fstest): Replace grub_raid_rescan with module fini function followed
23762 by init function.
23763
23764 * util/grub-probe.c: Add include file <grub/raid.h>.
23765 (probe_raid_level): New function.
23766 (probe): Detect abstraction by walking the disk device, support two
23767 level of abstraction (LVM on RAID) when detecting partition map.
23768
23769 2009-07-31 Pavel Roskin <proski@gnu.org>
23770
23771 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23772 to grub_zalloc(), it was erroneous.
23773 Reported by Bean <bean123ch@gmail.com>
23774
23775 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23776
23777 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
23778 embedding zone, not only the first one.
23779
23780 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
23781
23782 * term/gfxterm.c (clear_char): New function.
23783 (grub_virtual_screen_setup): Use clear_char.
23784 (scroll_up): Likewise.
23785 (grub_virtual_screen_cls): Likewise.
23786
23787 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
23788
23789 * util/deviceiter.c (get_acceleraid_disk_name): New static
23790 function.
23791 (grub_util_iterate_devices): Handle Accelraid devices.
23792 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23793
23794 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23795
23796 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23797 separator for the suggested gfxpayload string (';' collides with the
23798 parser and needs escaping).
23799
23800 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23801
23802 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23803 Clear direction flag before jumping to OS.
23804 (grub_multiboot2_real_boot): Likewise.
23805
23806 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23807
23808 * util/i386/pc/grub-install: Fix parsing of --disk-module
23809 option.
23810
23811 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23812
23813 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23814 when embedding.
23815
23816 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
23817
23818 * util/grub-mkconfig.in (package_version): New variable.
23819 Use it do display the version.
23820
23821 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23822
23823 * kern/file.c (grub_file_open): Revert to previous check with
23824 grub_errno.
23825
23826 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23827
23828 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23829 from help line. It's out of sync with code.
23830
23831 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23834 entries on failed boot.
23835
23836 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23837
23838 * kern/file.c (grub_file_open): Fix an error check.
23839
23840 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23841
23842 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23843 partition map couldn't be identified.
23844
23845 2009-07-23 Pavel Roskin <proski@gnu.org>
23846
23847 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23848 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23849 case of little endian words becomes just an optimization.
23850 Respect const modifier.
23851 (md5_final): Use code that doesn't depend on endianness.
23852
23853 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23854 to avoid loss of upper bits if align is unsigned and shorter
23855 than addr.
23856
23857 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23858
23859 UUID support for UFS
23860
23861 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23862 (grub_ufs_uuid): New function.
23863 (grub_ufs_fs): add .uuid
23864
23865 2009-07-21 Pavel Roskin <proski@gnu.org>
23866
23867 * kern/dl.c (grub_dl_check_header): Make static.
23868
23869 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
23870
23871 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23872 add drivemap for Vista. It breaks Windows 7.
23873
23874 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23875
23876 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23877 128 bytes
23878
23879 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23880
23881 Add BFS support
23882
23883 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23884 (grub_fstest_SOURCES): Likewise.
23885 (pkglib_MODULES): Add befs.mod.
23886 (befs_mod_SOURCES): New variable.
23887 (befs_mod_CFLAGS): Likewise.
23888 (befs_mod_LDFLAGS): Likewise.
23889 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23890 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23891 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23892 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23893 (grub_setup_SOURCES): Likewise.
23894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23895 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23896 (grub_setup_SOURCES): Likewise.
23897 * fs/befs.c: New file.
23898 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23899 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23900 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23901 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23902 (B_KEY_INDEX_ALIGN): New declaration.
23903 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23904 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23905 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23906 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23907 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23908 (grub_afs_mount) [MODE_BFS]: Likewise.
23909 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
23910 (grub_afs_fs): Use GRUB_AFS_FSNAME
23911 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
23912 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
23913 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
23914 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
23915
23916 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
23917
23918 * util/getroot.c (find_root_device): Add support for MacOSX.
23919 * util/hostdisk.c: Likewise.
23920
23921 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23922
23923 * font/font.c (find_glyph): Check whether a font is present to avoid
23924 segmentation fault.
23925
23926 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
23927
23928 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
23929
23930 2009-07-20 Pavel Roskin <proski@gnu.org>
23931
23932 * configure.ac: Trim excessively wordy excuses.
23933
23934 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23935
23936 Add symlink, mtime and label support to AtheFS.
23937
23938 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
23939 (grub_afs_iterate_dir): Handle symlinks.
23940 (grub_afs_open): Use grub_afs_read_symlink.
23941 (grub_afs_dir): Likewise.
23942 Pass mtime.
23943 (grub_afs_label): New function.
23944 (grub_afs_fs): Add grub_afs_label.
23945 (grub_afs_read_symlink): New function.
23946
23947 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23948
23949 Fix AtheFS support.
23950
23951 * fs/afs.c: Fix comments style.
23952 (grub_afs_blockrun): Declare as packed.
23953 (grub_afs_datastream): Likewise.
23954 (grub_afs_bnode): Likewise.
23955 (grub_afs_btree): Likewise.
23956 (grub_afs_sblock): Likewise.
23957 Declare `name' as char.
23958 (grub_afs_inode): Declare as packed.
23959 Change void *vnode to grub_uint32_t unused.
23960 (grub_afs_iterate_dir): Check that key_size is positive.
23961 (grub_afs_mount): Don't read superblock twice.
23962 (grub_afs_dir): Don't free node in case of error,
23963 grub_fshelp_find_file already handles this.
23964 (grub_afs_open): Likewise.
23965
23966 2009-07-19 Pavel Roskin <proski@gnu.org>
23967
23968 * Makefile.in: Remove LIBLZO and enable_lzo.
23969 * conf/i386-pc.rmk: Remove lzo support.
23970 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
23971 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
23972 support.
23973 * kern/i386/pc/lzo1x.S: Remove.
23974 * kern/i386/pc/startup.S: Remove lzo support.
23975 * util/i386/pc/grub-mkimage.c: Likewise.
23976
23977 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
23978
23979 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
23980 * fs/xfs.c (grub_xfs_dir): Likewise.
23981 * fs/afs.c (grub_afs_dir): Likewise.
23982 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
23983 (grub_iso9660_open): Likewise.
23984 * fs/jfs.c (grub_jfs_open): Likewise.
23985 * fs/ext2.c (grub_ext2_dir): Likewise.
23986 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
23987 * script/sh/lexer.c (grub_script_yylex): Likewise.
23988
23989 2009-07-16 Pavel Roskin <proski@gnu.org>
23990
23991 * configure.ac: Never add "-c" to CFLAGS.
23992
23993 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
23994
23995 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
23996 grub_cv_cc_efiemu should be used.
23997
23998 * configure.ac: Typo fixes.
23999
24000 * kern/mm.c (grub_zalloc): New function.
24001 (grub_debug_zalloc): Likewise.
24002 * include/grub/mm.h: Declare grub_zalloc() and
24003 grub_debug_zalloc().
24004 * util/misc.c (grub_zalloc): New function.
24005 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
24006 instead of grub_malloc(), remove unneeded initializations.
24007 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
24008 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
24009 * commands/parttool.c (grub_cmd_parttool): Likewise.
24010 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
24011 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
24012 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
24013 * disk/usbms.c (grub_usbms_finddevs): Likewise.
24014 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
24015 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
24016 (grub_cmd_efiemu_pnvram): Likewise.
24017 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
24018 * fs/iso9660.c (grub_iso9660_mount): Likewise.
24019 (grub_iso9660_iterate_dir): Likewise.
24020 * fs/jfs.c (grub_jfs_opendir): Likewise.
24021 * fs/ntfs.c (list_file): Likewise.
24022 (grub_ntfs_mount): Likewise.
24023 * kern/disk.c (grub_disk_open): Likewise.
24024 * kern/dl.c (grub_dl_load_core): Likewise.
24025 * kern/elf.c (grub_elf_file): Likewise.
24026 * kern/env.c (grub_env_context_open): Likewise.
24027 (grub_env_set): Likewise.
24028 (grub_env_set_data_slot): Likewise.
24029 * kern/file.c (grub_file_open): Likewise.
24030 * kern/fs.c (grub_fs_blocklist_open): Likewise.
24031 * loader/i386/multiboot.c (grub_module): Likewise.
24032 * loader/xnu.c (grub_xnu_create_key): Likewise.
24033 (grub_xnu_create_value): Likewise.
24034 * normal/main.c (grub_normal_add_menu_entry): Likewise.
24035 (read_config_file): Likewise.
24036 * normal/menu_entry.c (make_screen): Likewise.
24037 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24038 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
24039 * script/sh/script.c (grub_script_parse): Likewise.
24040 * video/bitmap.c (grub_video_bitmap_create): Likewise.
24041 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
24042 * video/readers/png.c (grub_png_output_byte): Likewise.
24043 (grub_video_reader_png): Likewise.
24044
24045 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24046
24047 Enable all targets that can be built by default
24048
24049 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
24050 grub-mkfont and grub-fstest if they can be built
24051
24052 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 Fix hang and segmentation fault in grub-emu-usb
24055
24056 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
24057 * util/usb.c (grub_libusb_devices): likewise
24058 (grub_libusb_init): rename to ...
24059 (GRUB_MOD_INIT (libusb)):...this
24060 (grub_libusb_fini): rename to ..
24061 (GRUB_MOD_FINI (libusb)):...this
24062 * disk/usbms.c (grub_usbms_transfer): fix retry logic
24063 * include/grub/disk.h (grub_raid_init): removed, it's useless
24064 (grub_raid_fini): likewise
24065 (grub_lvm_init): likewise
24066 (grub_lvm_fini): likewise
24067 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
24068 by grub_init_all
24069
24070 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24071
24072 Fix libusb
24073
24074 * Makefile.in (LIBUSB): new macro
24075 * genmk.rb (Utility/print_tail): new method
24076 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
24077 (top level): call util.print_tail at the end.
24078
24079 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24080
24081 Make FreeBSD accept zpool.cache
24082
24083 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
24084 type is /boot/zfs/zpool.cache
24085
24086 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
24087
24088 Fix 64-bit efiemu
24089
24090 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
24091 correct wrong typedef
24092 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
24093
24094 2009-07-15 Pavel Roskin <proski@gnu.org>
24095
24096 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
24097 * kern/disk.c (struct grub_disk_cache): Likewise.
24098
24099 * commands/probe.c (options): Typo fix.
24100
24101 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
24102 Increase to 0x5a to accommodate FAT32. Adjust other offsets
24103 accordingly.
24104 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
24105
24106 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
24107 the end of "Error" to make the message more readable.
24108
24109 * boot/i386/pc/boot.S (kernel_segment): Remove.
24110 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
24111 for destination.
24112
24113 * boot/i386/pc/boot.S (boot_version): Remove.
24114 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
24115 Remove.
24116
24117 * include/grub/i386/pc/boot.h: Sort all offsets.
24118 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
24119 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
24120 * boot/i386/pc/boot.S: Assert location of every offset listed in
24121 include/grub/i386/pc/boot.h.
24122
24123 2009-07-13 Pavel Roskin <proski@gnu.org>
24124
24125 * include/grub/i386/coreboot/machine.h: Rename
24126 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
24127 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
24128 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
24129
24130 * kern/dl.c: Force native word size to suppress warnings when
24131 compiling grub-emu.
24132
24133 * kern/device.c (grub_device_iterate): Change struct part_ent to
24134 hold the name, not a pointer to it. Use one grub_malloc() per
24135 partition, not two. Free partition_name if grub_malloc() fails.
24136 Set ents to NULL only before grub_partition_iterate() is called.
24137
24138 2009-07-11 Bean <bean123ch@gmail.com>
24139
24140 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
24141 childname.
24142
24143 2009-07-10 Bean <bean123ch@gmail.com>
24144 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
24145
24146 * kern/ieee1275/openfw.c (grub_children_iterate)
24147 (grub_devalias_iterate): Fix size evaluation for property or path
24148 strings, which was broken since r2132.
24149
24150 2009-07-07 Pavel Roskin <proski@gnu.org>
24151
24152 * commands/search.c (search_file): Merge into ...
24153 (search_fs): ... this. Accept search type as argument.
24154 (grub_cmd_search): Pass search type to search_fs().
24155
24156 * include/grub/util/console.h: New file.
24157 * util/console.c: Use it instead of grub/machine/console.h.
24158 * util/grub-emu.c: Likewise.
24159
24160 * lib/arg.c (find_long_option): Remove.
24161 (find_long): Add `len' argument, make `s' const char *.
24162 (grub_arg_parse): Parse long options in place, not in a
24163 temporary buffer.
24164
24165 2009-07-06 Pavel Roskin <proski@gnu.org>
24166
24167 * commands/search.c (search_fs): Fix potential NULL pointer
24168 dereference.
24169
24170 * commands/search.c (search_fs): Replace QUID macro with quid_fn
24171 function pointer.
24172
24173 2009-07-06 Daniel Mierswa <impulze@impulze.org>
24174
24175 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
24176 comparison.
24177
24178 2009-07-05 Pavel Roskin <proski@gnu.org>
24179
24180 * include/grub/i386/linux.h (struct linux_kernel_params):
24181 Restore padding3, it's still needed.
24182
24183 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
24184 FreeBSD.
24185 * util/osdetect.lua: Likewise.
24186
24187 2009-07-05 Bean <bean123ch@gmail.com>
24188
24189 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
24190
24191 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
24192 (grub_lua_getenv): Likewise.
24193 (grub_lua_setenv): Likewise.
24194 (save_errno): New function.
24195 (push_result): Likewise.
24196 (grub_lua_enum_device): Likewise.
24197 (grub_lua_enum_file): Likewise.
24198 (grub_lua_file_open): Likewise.
24199 (grub_lua_file_close): Likewise.
24200 (grub_lua_file_seek): Likewise.
24201 (grub_lua_file_read): Likewise.
24202 (grub_lua_file_getline): Likewise.
24203 (grub_lua_file_getsize): Likewise.
24204 (grub_lua_file_getpos): Likewise.
24205 (grub_lua_file_eof): Likewise.
24206 (grub_lua_file_exist): Likewise.
24207 (grub_lua_add_menu): Likewise.
24208
24209 * script/lua/grub_lua.h (isupper): New inline function.
24210 (islower): Likewise.
24211 (ispunct): Likewise.
24212 (isxdigit): Likewise.
24213 (strcspn): Change to normal function.
24214 (strpbkr): New function declaration.
24215 (memchr): Likewise.
24216
24217 * script/lua/grub_main.c (scan_str): New function.
24218 (strcspn): Likewise.
24219 (strpbrk): Likewise.
24220 (memchr): Likewise.
24221
24222 * script/lua/linit.c (lualibs): Enable the string library.
24223
24224 * util/osdetect.lua: New file.
24225
24226 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
24227
24228 * include/grub/i386/linux.h (struct linux_kernel_params): Add
24229 `capabilities' member.
24230
24231 2009-07-02 Pavel Roskin <proski@gnu.org>
24232
24233 * genparttoollist.sh: Add missing newline at the end.
24234
24235 2009-07-01 Pavel Roskin <proski@gnu.org>
24236
24237 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
24238
24239 * util/hostdisk.c (open_device): Remove `const' from
24240 `sysctl_size', as sysctlbyname() can change it (in this case it
24241 doesn't actually happen).
24242
24243 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
24244 using signed long int constants.
24245
24246 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
24247 constant to avoid a warning on FreeBSD.
24248
24249 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
24250 where it's needed.
24251
24252 * Makefile.in: Install include/grub/machine symlink.
24253
24254 * Makefile.in: When installing symlinks, use "cp -fR", which
24255 works on FreeBSD and MacOSX.
24256 From Yves Blusseau <cl7m42e02@sneakemail.com>
24257
24258 * kern/dl.c (grub_dl_resolve_symbol): Make static.
24259 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
24260
24261 * util/misc.c: Move grub_reboot() and grub_halt() ...
24262 * util/grub-emu.c: ... here. Make main_env static.
24263 * include/grub/util/misc.h: Remove main_env.
24264
24265 * kern/mm.c: Use correct format to print size_t.
24266
24267 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
24268 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
24269 * kern/powerpc/dl.c: Likewise.
24270 * kern/sparc64/dl.c: Likewise.
24271 * kern/x86_64/dl.c: Likewise.
24272
24273 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 Fix grub-emu build on sparc64-ieee1275.
24276
24277 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
24278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
24279
24280 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24281
24282 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
24283 (grub_reboot, grub_halt): New functions.
24284
24285 * util/i386/pc/misc.c: Delete. Update all users.
24286 * util/sparc64/ieee1275/misc.c: Likewise.
24287 * util/powerpc/ieee1275/misc.c: Likewise.
24288
24289 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24290
24291 * conf/i386.rmk (setjmp_mod_SOURCES)
24292 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24293 * conf/common.rmk (setjmp_mod_SOURCES)
24294 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24295 to use $(target_cpu).
24296 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24297 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24298 * conf/powerpc-ieee1275.rmk: Likewise.
24299 * conf/sparc64-ieee1275.rmk: Likewise.
24300
24301 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24302 $(target_cpu) for kern/$(target_cpu)/dl.c.
24303 * conf/i386-efi.rmk: Likewise.
24304 * conf/i386-ieee1275.rmk: Likewise.
24305 * conf/x86_64-efi.rmk: Likewise.
24306 * conf/i386-coreboot.rmk: Likewise.
24307 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24308 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24309 kern/$(target_cpu)/cache.S.
24310 * conf/sparc64-ieee1275.rmk: Likewise.
24311
24312 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24313
24314 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24315 type to `grub_uint8_t', and adjust `padding9' accordingly.
24316
24317 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24318
24319 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24320
24321 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24322 assembly in final jump, using register constraints.
24323
24324 (grub_linux_boot): For text mode, initialize `have_vga' using
24325 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24326
24327 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24328 right before the final jump.
24329
24330 Set `video_mode' to 0x3.
24331
24332 Document initialization of `video_page', `video_mode' and
24333 `video_ega_bx'.
24334
24335 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24336
24337 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24338 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
24339 and set GRUB_LINUX_FLAG_QUIET appropriately.
24340
24341 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24342
24343 Fix build on Debian / sparc.
24344
24345 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24346
24347 2009-06-28 Pavel Roskin <proski@gnu.org>
24348
24349 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24350 fix a warning.
24351
24352 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24353
24354 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24355
24356 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24357 `err'.
24358
24359 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24360
24361 Revert r2338.
24362
24363 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24364 file can't be opened. grub_file_open() is already supposed to set
24365 grub_errno / grub_errmsg appropriately.
24366 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24367
24368 2009-06-27 Pavel Roskin <proski@gnu.org>
24369 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24370
24371 * include/grub/dl.h: Include grub/elf.h.
24372 (struct grub_dl): Add symtab field.
24373 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24374 GRUB_MODULES_MACHINE_READONLY.
24375 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24376 of the header for read-only modules.
24377 (grub_dl_unload): Free mod->symtab for read-only modules.
24378 * kern/i386/dl.c: Use mod->symtab.
24379 * kern/powerpc/dl.c: Likewise.
24380 * kern/sparc64/dl.c: Likewise.
24381 * kern/x86_64/dl.c: Likewise.
24382
24383 * conf/i386-qemu.rmk: New file.
24384 * kern/i386/qemu/startup.S: Likewise.
24385 * kern/i386/qemu/mmap.c: Likewise.
24386 * boot/i386/qemu/boot.S: Likewise.
24387 * include/grub/i386/qemu/time.h: Likewise.
24388 * include/grub/i386/qemu/serial.h: Likewise.
24389 * include/grub/i386/qemu/kernel.h: Likewise.
24390 * include/grub/i386/qemu/console.h: Likewise.
24391 * include/grub/i386/qemu/boot.h: Likewise.
24392 * include/grub/i386/qemu/init.h: Likewise.
24393 * include/grub/i386/qemu/machine.h: Likewise.
24394 * include/grub/i386/qemu/loader.h: Likewise.
24395 * include/grub/i386/qemu/memory.h: Likewise.
24396
24397 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24398 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24399 [qemu] (pkglib_IMAGES): Add `boot.img'.
24400 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24401 [qemu] (boot_img_FORMAT): New variables.
24402 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24403 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24404 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24405 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24406 [qemu] (kernel_img_FORMAT): New variables.
24407
24408 * configure.ac: Recognise `i386-qemu'.
24409
24410 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24411 (for no compression).
24412 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24413 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24414 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24415 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24416 ifdefs).
24417
24418 2009-06-27 Pavel Roskin <proski@gnu.org>
24419
24420 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24421 read.
24422 * efiemu/prepare32.c: Likewise.
24423 * efiemu/prepare64.c: Likewise.
24424
24425 2009-06-26 Pavel Roskin <proski@gnu.org>
24426
24427 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24428 * include/grub/elf.h: Define symbols without "32" or "64" based
24429 on GRUB_TARGET_WORDSIZE.
24430 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24431 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24432 ELF definitions.
24433 * efiemu/loadcore64.c: Likewise.
24434 * loader/i386/bsd32.c: Likewise.
24435 * loader/i386/bsd64.c: Likewise.
24436 * kern/dl.c: Remove own ELF definitions.
24437 * util/i386/efi/grub-mkimage.c: Likewise.
24438
24439 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24440
24441 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24442 segment 0x0 unconditionally, because the reference generated by
24443 GAS is an absolute address.
24444
24445 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24446
24447 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24448 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24449
24450 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24451
24452 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24453 indexes. Check for -f explicitly.
24454 (search_file): Improve error message.
24455 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
24456
24457 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24458
24459 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24460 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24461
24462 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24463
24464 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24465 * conf/i386-ieee1275.rmk: Likewise.
24466 * conf/i386-coreboot.rmk: Likewise.
24467
24468 * kern/i386/pc/startup.S (grub_stop): Remove function.
24469 * kern/i386/ieee1275/startup.S: Likewise.
24470 * kern/i386/coreboot/startup.S: Likewise.
24471 * kern/i386/misc.S (grub_stop): New function.
24472
24473 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24474
24475 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24476 * kern/i386/realmode.S (real_to_prot): ... to here.
24477
24478 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24479
24480 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24481 with `kernel.img'.
24482 (kernel_elf_SOURCES): Rename to ...
24483 (kernel_img_SOURCES): ... this.
24484 (kernel_elf_HEADERS): Rename to ...
24485 (kernel_img_HEADERS): ... this. Update all users.
24486 (kernel_elf_ASFLAGS): Rename to ...
24487 (kernel_img_ASFLAGS): ... this.
24488 (kernel_elf_CFLAGS): Rename to ...
24489 (kernel_img_CFLAGS): ... this.
24490 (kernel_elf_LDFLAGS): Rename to ...
24491 (kernel_img_LDFLAGS): ... this.
24492 * conf/i386-coreboot.rmk: Likewise.
24493 * conf/powerpc-ieee1275.rmk: Likewise.
24494
24495 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24496 with "kernel.img".
24497
24498 2009-06-21 Pavel Roskin <proski@gnu.org>
24499
24500 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24501 to match nested functions.
24502 * loader/sparc64/ieee1275/linux.c: Likewise.
24503
24504 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24505
24506 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24507
24508 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24509 all i386 platforms.
24510
24511 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24512
24513 Fix asm file handling on ELF, and remove workarounds.
24514
24515 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
24516 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
24517 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24518 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24519
24520 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24521
24522 Load BSD ELF modules
24523
24524 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24525 and loader/i386/bsd64.c
24526 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24527 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24528 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24529 (grub_freebsd_load_elfmodule32): New declaration
24530 (grub_freebsd_load_elfmoduleobj64): Likewise
24531 (grub_freebsd_load_elf_meta32): Likewise
24532 (grub_freebsd_load_elf_meta64): Likewise
24533 (grub_freebsd_add_meta): Likewise
24534 (grub_freebsd_add_meta_module): Likewise
24535 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24536 (grub_freebsd_add_meta_module): Likewise and move module-specific
24537 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24538 (grub_cmd_freebsd): Add elf-kernel specific parts
24539 based on grub_freebsd_add_meta_module
24540 (grub_cmd_freebsd_module): Add type parsing moved from
24541 grub_freebsd_add_meta_module
24542 (grub_cmd_freebsd_module_elf): New function
24543 (cmd_freebsd_module_elf): New variable
24544 (GRUB_MOD_INIT): Register freebsd_module_elf
24545 * loader/i386/bsd32.c: New file
24546 * loader/i386/bsd64.c: Likewise
24547 * loader/i386/bsdXX.c: Likewise
24548 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24549 (grub_elf64_load): Likewise
24550 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24551 All users updated
24552 (grub_elf64_load_hook_t): Likewise
24553
24554 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
24555
24556 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24557 variable.
24558 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24559 don't write a menu entry for recovery mode.
24560
24561 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24562
24563 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24564 after it's no longer needed.
24565
24566 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24567
24568 * include/grub/i386/loader.h (grub_linux_prot_size)
24569 (grub_linux_tmp_addr, grub_linux_real_addr)
24570 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24571 GRUB_MACHINE_PCBIOS.
24572 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24573 common grub_util_info() call to ...
24574 (generate_image): ... here.
24575 Fix use of uninitialized memory, comparison of signed with
24576 unsigned integers and memory leak.
24577 Remove bogus module address message.
24578
24579 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24580
24581 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24582 grub_raid_register
24583 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24584
24585 2009-06-19 Pavel Roskin <proski@gnu.org>
24586
24587 * configure.ac: Remove stray AC_MSG_CHECKING.
24588
24589 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24590
24591 * disk/scsi.c (grub_scsi_open): use continue instead of big if
24592
24593 2009-06-18 Pavel Roskin <proski@gnu.org>
24594
24595 * conf/common.rmk: Add fs_file.mod.
24596 * disk/fs_file.c: New file.
24597 * include/grub/disk.h (enum grub_disk_dev_id): Add
24598 GRUB_DISK_DEVICE_FILE_ID.
24599
24600 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24601
24602 Fix build with Apple's toolchain. Part 2
24603
24604 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24605 a fake start
24606
24607 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24608
24609 Fix build with Apple's toolchain. Part 1
24610
24611 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24612 for long calls
24613 * configure.ac: remove a leftover AC_MSG_RESULT
24614 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
24615 Apple's toolchain
24616
24617 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24618
24619 Fix warnings
24620
24621 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24622 (decomp_block): initialize ch
24623 use grub_memcpy instead of memcpy
24624
24625 2009-06-17 Pavel Roskin <proski@gnu.org>
24626
24627 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24628 version, use declarations needed to use vga_text as the startup
24629 console.
24630
24631 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24632 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24633 the kernel.
24634 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24635 and grub_at_keyboard_fini(), it's done on module load and
24636 unload.
24637
24638 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
24639
24640 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24641 file can't be found.
24642 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24643
24644 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24645
24646 Fix newline handling
24647
24648 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
24649 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
24650 (grub_script_yylex): don't segfault on unterminated script
24651 newline terminates command and variable
24652
24653 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24654
24655 avoid double grub_adjust_range call. Bug reported by David Simner
24656
24657 * kern/disk.c (grub_disk_write): change to raw disk access before
24658 calling disk_read
24659
24660 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
24661
24662 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24663 spaces, for the benefit of help2man.
24664 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24665
24666 2009-06-16 Pavel Roskin <proski@gnu.org>
24667
24668 * kern/i386/halt.c: Include grub/machine/init.h.
24669 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24670
24671 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
24672
24673 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24674 drivemap menuentry.
24675
24676 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24677
24678 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24679 `echo' command.
24680
24681 2009-06-16 Pavel Roskin <proski@gnu.org>
24682
24683 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24684 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24685 save %dx, we only need %dl and we never change it.
24686 * boot/i386/pc/cdboot.S: Don't set the root drive.
24687 * boot/i386/pc/pxeboot.S: Likewise.
24688 * include/grub/i386/pc/boot.h: Remove
24689 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24690 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24691 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24692 * kern/i386/pc/init.c (make_install_device): Remove references
24693 to grub_root_drive.
24694 * kern/i386/pc/startup.S: Likewise.
24695 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24696
24697 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24698
24699 xnu_uuid command
24700
24701 * commands/xnu_uuid.c: new file
24702 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24703 (xnu_uuid_mod_SOURCES): new variable
24704 (xnu_uuid_mod_CFLAGS): likewise
24705 (xnu_uuid_mod_LDFLAGS): likewise
24706 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24707 * conf/i386-ieee1275.rmk: likewise
24708 * conf/i386-pc.rmk: likewise
24709 * conf/powerpc-ieee1275.rmk: likewise
24710 * conf/sparc64-ieee1275.rmk: likewise
24711 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24712
24713 2009-06-16 Pavel Roskin <proski@gnu.org>
24714
24715 * configure.ac: Avoid '==' in test command, it's not portable.
24716
24717 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24718
24719 Probe command
24720
24721 * commands/probe.c: new file
24722 * conf/common.rmk (pkglib_MODULES): add probe.mod
24723 (probe_mod_SOURCES): new variable
24724 (probe_mod_CFLAGS): likewise
24725 (probe_mod_LDFLAGS): likewise
24726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24727 * conf/i386-ieee1275.rmk: likewise
24728 * conf/i386-pc.rmk: likewise
24729 * conf/powerpc-ieee1275.rmk: likewise
24730 * conf/sparc64-ieee1275.rmk: likewise
24731
24732 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24733
24734 Fix handling of string like \"hello\" and "a
24735 b"
24736
24737 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24738 (grub_script_yylex): fix parsing of quoting, escaping and newline
24739
24740 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24741
24742 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
24743 handling
24744
24745 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
24746
24747 * util/grub-mkconfig.in: Fix parsing of --output option.
24748
24749 2009-06-12 Pavel Roskin <proski@gnu.org>
24750
24751 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24752 genmk.rb don't need to be generated or installed.
24753
24754 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24755
24756 * commands/i386/pc/drivemap_int13h.S: add more comments
24757
24758 2009-06-11 Pavel Roskin <proski@gnu.org>
24759
24760 * Makefile.in (uninstall): Uninstall manuals.
24761
24762 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24763 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24764 and update-grub_lib in two places.
24765 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24766
24767 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24768 a compiler warning.
24769
24770 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24771 `entry_lo' to fix variable shadowing.
24772
24773 2009-06-11 Christian Franke <franke@computer.org>
24774
24775 * kern/misc.c (__enable_execute_stack): Add missing return type
24776 to prevent gcc warning.
24777
24778 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24779
24780 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24781
24782 2009-06-11 Pavel Roskin <proski@gnu.org>
24783
24784 * Makefile.in: Don't rely on any scripts being executable.
24785 Always use $(SHELL) to run shell scripts.
24786
24787 * configure.ac: Always define ___main if using -nostdlib. This
24788 fixes tests on Cygwin.
24789
24790 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24791
24792 UDF fix
24793
24794 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
24795 is in bytes and not in blocks
24796
24797 2009-06-11 Pavel Roskin <proski@gnu.org>
24798
24799 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24800 warning.
24801
24802 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24803
24804 * util/grub.d/30_os-prober.in: Fix a comment. Source
24805 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24806 to set the root device. Place drivemap command in the generated
24807 chain entry.
24808
24809 2009-06-11 Pavel Roskin <proski@gnu.org>
24810
24811 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24812 have long been resolved.
24813
24814 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
24815
24816 * util/grub.d/10_linux.in: Capitalise "Linux".
24817
24818 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24819
24820 2009-06-11 Pavel Roskin <proski@gnu.org>
24821
24822 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24823 fix a gcc warning and ensure that the function won't ever exit.
24824
24825 * kern/i386/ieee1275/init.c: Add missing prototype for
24826 grub_stop_floppy().
24827
24828 * loader/ieee1275/multiboot2.c [__i386__]: Include
24829 grub/cpu/multiboot.h.
24830
24831 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24832 casts to short - they are not portable and cause warnings. Fix
24833 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24834
24835 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24836
24837 Drivemap fixes
24838
24839 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24840 new function
24841 (grub_get_root_biosnumber_saved): new variable
24842 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24843 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
24844 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
24845 %dx after the call if necessary
24846 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24847 (boot_mod_SOURCES): remove
24848 (boot_mod_CFLAGS): remove
24849 (boot_mod_LDFLAGS): remove
24850 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24851 (boot_mod_SOURCES): new variable
24852 (boot_mod_CFLAGS): likewise
24853 (boot_mod_LDFLAGS): likewise
24854 * conf/i386-efi.rmk: likewise
24855 * conf/i386-ieee1275.rmk: likewise
24856 * conf/i386-pc.rmk: likewise
24857 * conf/powerpc-ieee1275.rmk: likewise
24858 * conf/sparc64-ieee1275.rmk: likewise
24859 * conf/x86_64-efi.rmk: likewise
24860 * include/grub/i386/pc/biosnum.h: new file
24861 * lib/i386/pc/biosnum.c: likewise
24862 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24863 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24864 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
24865
24866 2009-06-10 Pavel Roskin <proski@gnu.org>
24867
24868 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24869 Use separate variables. Read only the file size at the end, but
24870 not the checksum that we don't use.
24871
24872 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24873 Adjust all callers.
24874
24875 * kern/ieee1275/openfw.c: Remove libc includes.
24876 * kern/ieee1275/cmain.c: Likewise.
24877 * include/grub/ieee1275/ieee1275.h: Likewise.
24878
24879 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24880 compiler warnings.
24881
24882 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
24883
24884 * Makefile.in: Remove all trailing whitespace.
24885 * conf/i386-pc.rmk: Likewise.
24886 * conf/powerpc-ieee1275.rmk: Likewise.
24887 * conf/sparc64-ieee1275.rmk: Likewise.
24888 * docs/grub.texi: Likewise.
24889 * docs/texinfo.tex: Likewise.
24890 * disk/fs_uuid.c: Likewise.
24891 * disk/lvm.c: Likewise.
24892 * disk/scsi.c: Likewise.
24893 * disk/ata.c: Likewise.
24894 * disk/ieee1275/ofdisk.c: Likewise.
24895 * disk/i386/pc/biosdisk.c: Likewise.
24896 * disk/host.c: Likewise.
24897 * disk/raid.c: Likewise.
24898 * disk/efi/efidisk.c: Likewise.
24899 * disk/usbms.c: Likewise.
24900 * disk/memdisk.c: Likewise.
24901 * disk/loopback.c: Likewise.
24902 * kern/powerpc/dl.c: Likewise.
24903 * kern/device.c: Likewise.
24904 * kern/dl.c: Likewise.
24905 * kern/sparc64/dl.c: Likewise.
24906 * kern/ieee1275/ieee1275.c: Likewise.
24907 * kern/term.c: Likewise.
24908 * kern/fs.c: Likewise.
24909 * kern/i386/dl.c: Likewise.
24910 * kern/i386/pc/startup.S: Likewise.
24911 * kern/i386/pc/init.c: Likewise.
24912 * kern/i386/pc/mmap.c: Likewise.
24913 * kern/i386/pc/lzo1x.S: Likewise.
24914 * kern/i386/ieee1275/init.c: Likewise.
24915 * kern/i386/realmode.S: Likewise.
24916 * kern/i386/tsc.c: Likewise.
24917 * kern/partition.c: Likewise.
24918 * kern/corecmd.c: Likewise.
24919 * kern/file.c: Likewise.
24920 * kern/efi/efi.c: Likewise.
24921 * kern/efi/init.c: Likewise.
24922 * kern/efi/mm.c: Likewise.
24923 * kern/main.c: Likewise.
24924 * kern/err.c: Likewise.
24925 * kern/env.c: Likewise.
24926 * kern/disk.c: Likewise.
24927 * kern/generic/millisleep.c: Likewise.
24928 * kern/generic/rtc_get_time_ms.c: Likewise.
24929 * kern/misc.c: Likewise.
24930 * kern/parser.c: Likewise.
24931 * genmk.rb: Likewise.
24932 * configure.ac: Likewise.
24933 * boot/i386/pc/diskboot.S: Likewise.
24934 * boot/i386/pc/pxeboot.S: Likewise.
24935 * boot/i386/pc/boot.S: Likewise.
24936 * boot/i386/pc/lnxboot.S: Likewise.
24937 * boot/i386/pc/cdboot.S: Likewise.
24938 * parttool/pcpart.c: Likewise.
24939 * video/readers/tga.c: Likewise.
24940 * video/video.c: Likewise.
24941 * video/bitmap.c: Likewise.
24942 * lib/envblk.c: Likewise.
24943 * lib/i386/setjmp.S: Likewise.
24944 * fs/xfs.c: Likewise.
24945 * fs/afs.c: Likewise.
24946 * fs/fat.c: Likewise.
24947 * fs/ntfs.c: Likewise.
24948 * fs/udf.c: Likewise.
24949 * fs/affs.c: Likewise.
24950 * fs/iso9660.c: Likewise.
24951 * fs/hfs.c: Likewise.
24952 * fs/fshelp.c: Likewise.
24953 * fs/ext2.c: Likewise.
24954 * fs/jfs.c: Likewise.
24955 * fs/reiserfs.c: Likewise.
24956 * fs/hfsplus.c: Likewise.
24957 * fs/minix.c: Likewise.
24958 * fs/cpio.c: Likewise.
24959 * fs/sfs.c: Likewise.
24960 * fs/ufs.c: Likewise.
24961 * efiemu/prepare.c: Likewise.
24962 * efiemu/loadcore_common.c: Likewise.
24963 * efiemu/runtime/efiemu.sh: Likewise.
24964 * efiemu/runtime/efiemu.S: Likewise.
24965 * efiemu/runtime/efiemu.c: Likewise.
24966 * efiemu/pnvram.c: Likewise.
24967 * efiemu/main.c: Likewise.
24968 * efiemu/i386/pc/cfgtables.c: Likewise.
24969 * efiemu/i386/loadcore64.c: Likewise.
24970 * efiemu/i386/loadcore32.c: Likewise.
24971 * efiemu/loadcore.c: Likewise.
24972 * efiemu/symbols.c: Likewise.
24973 * efiemu/mm.c: Likewise.
24974 * include/grub/autoefi.h: Likewise.
24975 * include/grub/datetime.h: Likewise.
24976 * include/grub/term.h: Likewise.
24977 * include/grub/hfs.h: Likewise.
24978 * include/grub/lvm.h: Likewise.
24979 * include/grub/i386/tsc.h: Likewise.
24980 * include/grub/i386/linux.h: Likewise.
24981 * include/grub/i386/xnu.h: Likewise.
24982 * include/grub/i386/efiemu.h: Likewise.
24983 * include/grub/i386/pc/biosdisk.h: Likewise.
24984 * include/grub/i386/pc/memory.h: Likewise.
24985 * include/grub/i386/pc/vbe.h: Likewise.
24986 * include/grub/parttool.h: Likewise.
24987 * include/grub/video.h: Likewise.
24988 * include/grub/memory.h: Likewise.
24989 * include/grub/fs.h: Likewise.
24990 * include/grub/partition.h: Likewise.
24991 * include/grub/xnu.h: Likewise.
24992 * include/grub/efi/api.h: Likewise.
24993 * include/grub/efi/pe32.h: Likewise.
24994 * include/grub/efi/memory.h: Likewise.
24995 * include/grub/multiboot.h: Likewise.
24996 * include/grub/usbdesc.h: Likewise.
24997 * include/grub/multiboot2.h: Likewise.
24998 * include/grub/acpi.h: Likewise.
24999 * include/grub/efiemu/efiemu.h: Likewise.
25000 * include/grub/disk.h: Likewise.
25001 * include/grub/ieee1275/ieee1275.h: Likewise.
25002 * include/grub/net.h: Likewise.
25003 * include/grub/machoload.h: Likewise.
25004 * include/grub/macho.h: Likewise.
25005 * include/multiboot.h: Likewise.
25006 * genmoddep.awk: Likewise.
25007 * normal/main.c: Likewise.
25008 * normal/menu_entry.c: Likewise.
25009 * normal/menu_viewer.c: Likewise.
25010 * normal/completion.c: Likewise.
25011 * normal/cmdline.c: Likewise.
25012 * normal/misc.c: Likewise.
25013 * normal/datetime.c: Likewise.
25014 * bus/usb/usbtrans.c: Likewise.
25015 * bus/usb/ohci.c: Likewise.
25016 * bus/usb/uhci.c: Likewise.
25017 * bus/usb/usb.c: Likewise.
25018 * mmap/efi/mmap.c: Likewise.
25019 * mmap/i386/pc/mmap_helper.S: Likewise.
25020 * mmap/i386/pc/mmap.c: Likewise.
25021 * mmap/i386/mmap.c: Likewise.
25022 * mmap/i386/uppermem.c: Likewise.
25023 * mmap/mmap.c: Likewise.
25024 * commands/acpi.c: Likewise.
25025 * commands/echo.c: Likewise.
25026 * commands/blocklist.c: Likewise.
25027 * commands/loadenv.c: Likewise.
25028 * commands/usbtest.c: Likewise.
25029 * commands/boot.c: Likewise.
25030 * commands/parttool.c: Likewise.
25031 * commands/search.c: Likewise.
25032 * commands/cat.c: Likewise.
25033 * commands/i386/pc/play.c: Likewise.
25034 * commands/i386/pc/drivemap.c: Likewise.
25035 * commands/i386/pc/vbeinfo.c: Likewise.
25036 * commands/i386/pc/acpi.c: Likewise.
25037 * commands/i386/pc/vbetest.c: Likewise.
25038 * commands/ls.c: Likewise.
25039 * commands/cmp.c: Likewise.
25040 * commands/test.c: Likewise.
25041 * commands/efi/acpi.c: Likewise.
25042 * commands/gptsync.c: Likewise.
25043 * commands/help.c: Likewise.
25044 * partmap/amiga.c: Likewise.
25045 * partmap/apple.c: Likewise.
25046 * partmap/acorn.c: Likewise.
25047 * partmap/pc.c: Likewise.
25048 * partmap/sun.c: Likewise.
25049 * partmap/gpt.c: Likewise.
25050 * script/sh/lexer.c: Likewise.
25051 * script/sh/function.c: Likewise.
25052 * font/font.c: Likewise.
25053 * font/font_cmd.c: Likewise.
25054 * loader/powerpc/ieee1275/linux.c: Likewise.
25055 * loader/efi/chainloader.c: Likewise.
25056 * loader/multiboot_loader.c: Likewise.
25057 * loader/macho.c: Likewise.
25058 * loader/i386/multiboot.c: Likewise.
25059 * loader/i386/linux.c: Likewise.
25060 * loader/i386/pc/linux.c: Likewise.
25061 * loader/i386/pc/multiboot2.c: Likewise.
25062 * loader/i386/pc/chainloader.c: Likewise.
25063 * loader/i386/pc/xnu.c: Likewise.
25064 * loader/i386/bsd_trampoline.S: Likewise.
25065 * loader/i386/efi/linux.c: Likewise.
25066 * loader/i386/multiboot_elfxx.c: Likewise.
25067 * loader/i386/bsd_helper.S: Likewise.
25068 * loader/i386/bsd.c: Likewise.
25069 * loader/i386/linux_trampoline.S: Likewise.
25070 * loader/i386/xnu_helper.S: Likewise.
25071 * loader/i386/xnu.c: Likewise.
25072 * loader/i386/bsd_pagetable.c: Likewise.
25073 * loader/i386/multiboot_helper.S: Likewise.
25074 * loader/xnu.c: Likewise.
25075 * loader/xnu_resume.c: Likewise.
25076 * io/gzio.c: Likewise.
25077 * term/efi/console.c: Likewise.
25078 * term/terminfo.c: Likewise.
25079 * term/ieee1275/ofconsole.c: Likewise.
25080 * term/i386/pc/serial.c: Likewise.
25081 * term/i386/pc/vesafb.c: Likewise.
25082 * term/i386/pc/vga.c: Likewise.
25083 * term/usb_keyboard.c: Likewise.
25084 * term/gfxterm.c: Likewise.
25085 * aclocal.m4: Likewise.
25086 * util/lvm.c: Likewise.
25087 * util/grub.d/30_os-prober.in: Likewise.
25088 * util/grub.d/10_hurd.in: Likewise.
25089 * util/console.c: Likewise.
25090 * util/grub-macho2img.c: Likewise.
25091 * util/grub-probe.c: Likewise.
25092 * util/hostfs.c: Likewise.
25093 * util/i386/pc/grub-mkimage.c: Likewise.
25094 * util/i386/pc/grub-setup.c: Likewise.
25095 * util/i386/efi/grub-mkimage.c: Likewise.
25096 * util/grub-mkconfig.in: Likewise.
25097 * util/raid.c: Likewise.
25098 * util/resolve.c: Likewise.
25099 * util/grub-mkdevicemap.c: Likewise.
25100 * util/grub-emu.c: Likewise.
25101 * util/getroot.c: Likewise.
25102 * util/hostdisk.c: Likewise.
25103 * util/usb.c: Likewise.
25104 * util/grub-editenv.c: Likewise.
25105 * util/misc.c: Likewise.
25106
25107 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
25108
25109 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
25110 `genparttoollist.sh'.
25111 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
25112 Add `*.sh' to the list find searches for and change `mdate.sh'
25113 to `mdate-sh'.
25114
25115 2009-06-10 Pavel Roskin <proski@gnu.org>
25116
25117 * include/grub/multiboot2.h: Provide compatibility defines for
25118 multiboot2.h.
25119 * include/multiboot2.h: Include stdint.h only if needed, using
25120 angle brackets.
25121 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
25122 grub/multiboot2.h.
25123 * loader/ieee1275/multiboot2.c: Likewise.
25124 * loader/multiboot2.c: Likewise.
25125 * loader/multiboot_loader.c: Likewise.
25126
25127 * configure.ac: Use -nostdlib when probing for the target. It
25128 should not be required to have libc for the target.
25129
25130 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
25131 they fail without libc headers for the target.
25132 * include/grub/powerpc/libgcc.h: Use weak attribute for all
25133 exports.
25134 * include/grub/sparc64/libgcc.h: Likewise. Don't use
25135 preprocessor conditionals.
25136
25137 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
25138 build system doesn't need to be aware of the tar.c internals.
25139
25140 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
25141
25142 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
25143
25144 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
25145
25146 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
25147 disk limit to 26 for IDE, Virtio, Xen and SCSI.
25148
25149 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
25150
25151 * util/i386/pc/grub-install.in: Change the error message if UUIDs
25152 aren't available if ata.mod gets used.
25153
25154 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
25155
25156 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
25157 initialising controller.
25158 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25159
25160 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25161
25162 * util/i386/pc/grub-install.in: Add a parameter --disk-module
25163 to choose between ata and biosdisk module on i386-pc.
25164
25165 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
25166
25167 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
25168 Subclass and Programming Interface fields in terms of the 3 byte
25169 Class Code register.
25170 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25171
25172 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
25173 interface is OHCI. Add grub_dprintf for symmetry with
25174 bus/usb/uhci.c.
25175 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
25176 interface is UHCI. Add interf variable for programming
25177 interface. Print interface with class/subclass.
25178
25179 * bus/usb/ohci.c: Set interf with correct field.
25180
25181 * bus/usb/uhci.c: Remove unneeded doubled lines.
25182 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
25183 Remove whitespace inside comment.
25184
25185 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
25186
25187 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
25188 as fallback an equivalent option without depth.
25189
25190 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25191
25192 Not fail if unable to retrieve C/H/S on LBA disks
25193
25194 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
25195 if unable to retrieve C/H/S on LBA disks
25196
25197 2009-06-08 Pavel Roskin <proski@gnu.org>
25198
25199 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
25200 about aliasing.
25201
25202 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25203
25204 * Makefile.in (uninstall): Remove all $lib_DATA files.
25205
25206 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
25207
25208 Bugfix: install on partitionless device
25209
25210 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
25211 is a whole disk
25212
25213 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25214
25215 * Makefile.in (uninstall): Remove all $include_DATA files.
25216
25217 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
25218
25219 * commands/true.c: New file. Implement the true and false commands.
25220 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
25221 (true_mod_SOURCES): New variable.
25222 (true_mod_CFLAGS): Likewise.
25223 (true_mod_LDFLAGS): Likewise.
25224
25225 2009-06-05 Colin D Bennett <colin@gibibit.com>
25226
25227 Optimized font character lookup using binary search instead of linear
25228 search. Fonts now are required to have the character index ordered by
25229 code point.
25230
25231 * font/font.c (load_font_index): Verify that fonts have ordered
25232 character indices.
25233 (find_glyph): Use binary search instead of linear search to find a
25234 character in a font.
25235
25236 2009-06-05 Michael Scherer <misc@mandriva.org>
25237
25238 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
25239 uses case sensitive btree.
25240 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
25241 only for case insensitive filesystems.
25242
25243 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
25244
25245 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
25246 * conf/common.rmk (search_mod_CFLAGS): likewise
25247
25248 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
25251 compensate a compiler bug
25252
25253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25254
25255 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
25256 instead of '\b'
25257
25258 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 Definitions for creating asm symbols with Apple's CC
25261
25262 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
25263 [APPLE_CC] (VARIABLE): likewise
25264
25265 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25266
25267 Disable lnxboot.img when compiled
25268 with Apple's CC
25269
25270 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
25271 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
25272 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
25273 [! APPLE_CC] (CODE_LENG): skip
25274 [! APPLE_CC] (setup_sects): likewise
25275 [! APPLE_CC]: skip filling
25276
25277 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25278
25279 Address in trampolines based on 32-bit registers when compiled
25280 with Apple's CC
25281
25282 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
25283 for addresses
25284 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
25285
25286 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25287
25288 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25289
25290 * kern/misc.c [APPLE_CC] (memcpy): new function
25291 [APPLE_CC] (memmove): likewise
25292 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
25293 (memcpy): define alias conditionally on !APPLE_CC
25294 (memset): likewise
25295 (abort): likewise
25296 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25297 APPLE_CC are defined
25298 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25299 (grub_assert_fail): make prototype conditional
25300
25301 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25302
25303 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25304
25305 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25306 grub-macho2img
25307 (CLEANFILES): add grub-macho2img
25308 (grub_macho2img_SOURCES): new variable
25309 * kern/i386/pc/startup.S (bss_start): new variable
25310 (bss_end): likewise
25311 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25312 * util/grub-macho2img.c: new file
25313
25314 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25315
25316 Use objconv when compiling with Apple's CC
25317
25318 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25319 (efiemu64.o): likewise
25320 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25321 when compiling with Apple's CC
25322 (efiemu64_s.o): likewise
25323 * configure.ac: check for objconv when compiling with Apple's CC
25324 * genmk.rb: use objconv for modules when compiled with Apple's CC
25325
25326 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25327
25328 Define segment as well as section when compiling with
25329 Apple's CC
25330
25331 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25332 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25333 (efiemu_convert_pointer): likewise
25334 (efiemu_set_virtual_address_map): likewise
25335 (efiemu_convert_pointer): likewise
25336 (efiemu_getcrc32): likewise
25337 (init_crc32_table): likewise
25338 (reflect): likewise
25339 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25340 (GRUB_MOD_DEP): likewise
25341
25342 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25343
25344 Allow a compilation without -mcmodel=large
25345
25346 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25347 when compiled without -mcmodel=large
25348 (filter_memory_map): remove memory post 4 GiB when compiled
25349 without -mcmodel=large
25350 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
25351 TARGET_CFLAGS when -mcmodel=large isn't supported
25352
25353 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25354
25355 Remove nested functions in efiemu core
25356
25357 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
25358
25359 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25360
25361 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25362
25363 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25364 temporary storage
25365 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25366 using Apple's CC
25367 (grub_cpu_is_tsc_supported): likewise
25368 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
25369
25370 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25371
25372 Absolute addressing through constant with Apple's cc
25373
25374 * kern/i386/pc/startup.S: Define necessary constants
25375 and address through it when using ABS with Apple's CC
25376 * boot/i386/pc/diskboot.S: likewise
25377 * boot/i386/pc/boot.S: likewise
25378 * boot/i386/pc/lnxboot.S: likewise
25379 * boot/i386/pc/cdboot.S: likewise
25380 * mmap/i386/pc/mmap_helper.S: likewise
25381 * commands/i386/pc/drivemap_int13h.S: likewise
25382
25383 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25384
25385 Check if compiler is apple cc
25386
25387 * Makefile.in (ASFLAGS): new variable
25388 (TARGET_ASFLAGS): likewise
25389 (TARGET_MODULE_FORMAT): likewise
25390 (TARGET_APPLE_CC): likewise
25391 (OBJCONV): likewise
25392 (TARGET_IMG_CFLAGS): likewise
25393 (TARGET_CPPFLAGS): add includedir
25394 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25395 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25396 Check for linker script only if compiler isn't Apple's CC
25397 (TARGET_MODULE_FORMAT): set
25398 (TARGET_APPLE_CC): likewise
25399 (TARGET_ASFLAGS): likewise
25400 (ASFLAGS): likewise
25401 Check for objcopy only if compiler isn't Apple's CC
25402 Check for BSS symbol only if compiler isn't Apple's CC
25403 * genmk.rb: adapt nm options if we use Apple's utils
25404 * aclocal.m4 (grub_apple_cc): new test
25405 (grub_apple_target_cc): likewise
25406
25407 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25408
25409 Simplify sed expressions and improve awk
25410
25411 * Makefile.in (install-local): simplify sed expression
25412 * gencmdlist.sh: likewise
25413 * genmoddep.awk: avoid adding module as a dependency of itself
25414
25415 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25416
25417 Add missing start symbols
25418
25419 * boot/i386/pc/boot.S: add start
25420 * boot/i386/pc/pxeboot.S: likewise
25421
25422 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25423
25424 Fix wrong assumptions with grub-mkimage on EFI
25425
25426 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
25427 (relocate_addresses): consider both r_addend and value at offset
25428 (make_mods_section): zerofill modinfo and header
25429 (convert_elf): write prefix here
25430
25431 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25432
25433 Use .asciz instead of .string
25434
25435 * i386/pc/diskboot.S: use .asciz instead of .string
25436 * i386/pc/boot.S: likewise
25437 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25438 (GRUB_MOD_NAME): likewise
25439
25440 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25441
25442 gfxpayload support
25443
25444 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25445 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25446 (grub_video_setup): remove
25447 (grub_video_set_mode): new prototype
25448 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25449 (vid_mode): remove
25450 (linux_vesafb_res): compile only on PCBIOS
25451 (grub_linux_boot): support gfxpayload
25452 * loader/i386/pc/xnu.c (video_hook): new function
25453 (grub_xnu_set_video): support gfxpayload
25454 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25455 (DEFAULT_VIDEO_HEIGHT): likewise
25456 (DEFAULT_VIDEO_FLAGS): likewise
25457 (DEFAULT_VIDEO_MODE): new definition
25458 (video_hook): new function
25459 (grub_gfxterm_init): use grub_video_set_mode
25460 * util/grub.d/30_os-prober.in: remove explicit modesetting before
25461 loading xnu
25462 * video/video.c (grub_video_setup): removed
25463 (grub_video_set_mode): new function based on grub_gfxterm_init and
25464 grub_video_setup
25465
25466 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25467
25468 Avoid calling biosdisk in drivemap
25469
25470 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25471 (revparse_biosdisk): likewise
25472 (list_mappings): derive name from id directly
25473 (grub_cmd_drivemap): use tryparse_diskstring
25474
25475 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25476
25477 Script fixes
25478
25479 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25480 (grub_lexer_param): add tokenonhold
25481 (grub_script_create_cmdline): remove cmdline. All callers updated
25482 (grub_script_function_create): make functionname
25483 grub_script_arg. All callers updated
25484 (grub_script_execute_argument_to_string): new prototype
25485 * kern/parser.c (state_transitions): reorder
25486 (grub_parser_cmdline_state): fix a bug and make more compact
25487 * script/sh/execute.c (grub_script_execute_argument_to_string):
25488 make global
25489 (grub_script_execute_cmdline): use new format
25490 * script/sh/function.c (grub_script_function_create): make functionname
25491 grub_script_arg. All callers updated
25492 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
25493 (grub_script_yylex): remove
25494 (grub_script_yylex2): renamed to ...
25495 (grub_script_yylex): ...renamed
25496 parse the expressions like a${b}c
25497 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25498 (GRUB_PARSER_TOKEN_VAR): remove
25499 (GRUB_PARSER_TOKEN_NAME): likewise
25500 ("if"): declare as typeless
25501 ("while"): likewise
25502 ("function"): likewise
25503 ("else"): likewise
25504 ("then"): likewise
25505 ("fi"): likewise
25506 (text): remove
25507 (argument): likewise
25508 (script): accept empty scripts and make exit on error
25509 (arguments): use GRUB_PARSER_TOKEN_ARG
25510 (function): likewise
25511 (command): move error handling to script
25512 (menuentry): move grub_script_lexer_ref before
25513 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
25514 argument. All callers updated
25515
25516 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25517
25518 Prevent GRUB from probing floppies during boot.
25519
25520 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25521 * commands/search.c (options): Add --no-floppy.
25522 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25523 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25524 --no-floppy when searching for UUIDs.
25525
25526 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25527
25528 Simplify the code duplication in commands/search.c.
25529
25530 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25531 (search_fs): ... this. Update all users.
25532
25533 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
25534
25535 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25536
25537 2009-05-28 Pavel Roskin <proski@gnu.org>
25538
25539 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25540 Remove the original symlink explicitly.
25541
25542 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25543 just one slash. That's how grub_fshelp_find_file() does it.
25544
25545 2009-05-26 Pavel Roskin <proski@gnu.org>
25546
25547 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25548 to `str'.
25549
25550 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25551 possibly unused.
25552
25553 2009-05-25 Christian Franke <franke@computer.org>
25554
25555 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25556 register.
25557 (grub_atapi_identify): Add wait after drive select.
25558 (grub_ata_identify): Do more strict status register check before
25559 calling grub_atapi_identify (). Suppress error message if status
25560 register is 0x00 after command failure. Add status register
25561 check after PIO read to avoid bogus identify due to stuck DRQ.
25562 Thanks to Pavel Roskin for testing.
25563 (grub_device_initialize): Remove unsafe status register check.
25564 Thanks to 'phcoder' for problem report and patch.
25565 Prevent sign extension in debug message.
25566
25567 2009-05-23 Colin D Bennett <colin@gibibit.com>
25568
25569 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25570 definition file, and functions defined in `normal/menu.c' have had
25571 their prototypes moved to `include/grub/menu.h' for consistency.
25572
25573 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25574 from normal.h.
25575 (grub_menu_get_entry): Likewise.
25576 (grub_menu_get_timeout): Likewise.
25577 (grub_menu_set_timeout): Likewise.
25578 (grub_menu_execute_entry): Likewise.
25579 (grub_menu_execute_with_fallback): Likewise.
25580 (grub_menu_entry_run): Likewise.
25581
25582 * include/grub/normal.h: Re-ordered and grouped function
25583 prototypes by file that the function is defined in.
25584 (grub_menu_execute_callback): Removed; moved to menu.h.
25585 (grub_menu_get_entry): Likewise.
25586 (grub_menu_get_timeout): Likewise.
25587 (grub_menu_set_timeout): Likewise.
25588 (grub_menu_execute_entry): Likewise.
25589 (grub_menu_execute_with_fallback): Likewise.
25590 (grub_menu_entry_run): Likewise.
25591 (grub_menu_addentry): Renamed from this ...
25592 (grub_normal_add_menu_entry): ... to this.
25593
25594 * normal/main.c (grub_menu_addentry): Renamed from this ...
25595 (grub_normal_add_menu_entry): ... to this.
25596
25597 * script/sh/execute.c (grub_script_execute_menuentry): Update
25598 reference to renamed grub_menu_addentry function.
25599
25600 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
25601
25602 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25603
25604 2009-05-22 Pavel Roskin <proski@gnu.org>
25605
25606 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25607 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25608 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25609 compiling for the i386 targets, but not for the utilities.
25610
25611 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25612 to grub_uint8_t.
25613 (grub_root_drive): Likewise.
25614 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25615 remove alignment.
25616 (grub_root_drive): Change size to byte.
25617 (grub_start_addr): Remove.
25618 (grub_end_addr): Likewise.
25619 (grub_apm_bios_info): Likewise.
25620
25621 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
25622
25623 * normal/i386: Remove.
25624 * normal/powerpc: Likewise.
25625 * normal/sparc64: Likewise.
25626 * normal/x86_64: Likewise.
25627
25628 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25629
25630 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
25631 * loader/i386/linux_trampoline.S: Fix indentation
25632 * loader/i386/xnu_helper.S: Likewise
25633
25634 2009-05-18 Colin D Bennett <colin@gibibit.com>
25635
25636 Display error messages when parsing a Lua statement fails.
25637 Previously, executing a syntactically invalid statement like
25638 ")foo" or "bar;" would silently fail.
25639
25640 * script/lua/grub_main.c (handle_lua_error): New function.
25641 (grub_lua_parse_line): Improved reporting of Lua parser and
25642 execution errors.
25643
25644 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25645
25646 Remove -Werror which causes build to fail on some systems
25647
25648 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25649 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25650 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
25651
25652 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25653
25654 trampoline for linux on 64-bit platform
25655
25656 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25657 loader/i386/efi/linux_trampoline.S
25658 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
25659 declaration
25660 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25661 here
25662 * loader/i386/linux_trampoline.S: moved here
25663 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25664 trampoline
25665 (jumpvector): removed
25666 (grub_linux_trampoline_start): new declaration
25667 (grub_linux_trampoline_end): likewise
25668 (grub_linux_boot): use trampoline when on 64-bit platform
25669 * loader/i386/linux.c: likewise
25670
25671 2009-05-16 Pavel Roskin <proski@gnu.org>
25672
25673 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25674 const to avoid a warning.
25675 (grub_lua_setenv): Likewise.
25676 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25677 lmsg to fix a warning.
25678
25679 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25680
25681 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
25682 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25683 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25684 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25685 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25686 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25687 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25688 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25689
25690 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25691
25692 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25693
25694 2009-05-16 Bean <bean123ch@gmail.com>
25695
25696 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25697 (lua_mod_SOURCES): New variable.
25698 (lua_mod_CFLAGS): Likewise.
25699 (lua_mod_LDFLAGS): Likewise.
25700
25701 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25702 (setjmp_mod_SOURCES): New variable.
25703 (setjmp_mod_CFLAGS): Likewise.
25704 (setjmp_LDFLAGS): Likewise.
25705
25706 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25707 (setjmp_mod_SOURCES): New variable.
25708 (setjmp_mod_CFLAGS): Likewise.
25709 (setjmp_LDFLAGS): Likewise.
25710
25711 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25712 (setjmp_mod_SOURCES): New variable.
25713 (setjmp_mod_CFLAGS): Likewise.
25714 (setjmp_LDFLAGS): Likewise.
25715
25716 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25717 (setjmp_mod_SOURCES): New variable.
25718 (setjmp_mod_CFLAGS): Likewise.
25719 (setjmp_LDFLAGS): Likewise.
25720
25721 * normal/i386/setjmp.S: Moved from here ...
25722 * lib/i386/setjmp.S: ... Moved here
25723 * normal/x86_64/setjmp.S: Moved from here ...
25724 * lib/x86_64/setjmp.S: ... Moved here
25725 * normal/powerpc/setjmp.S: Moved from here ...
25726 * lib/powerpc/setjmp.S: ... Moved here
25727 * normal/sparc64/setjmp.S: Moved from here ...
25728 * lib/sparc64/setjmp.S: ... Moved here
25729
25730 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25731 returns_twice in mingw.
25732
25733 * script/lua/grub_lib.c: New file.
25734 * script/lua/grub_lib.h: Likewise.
25735 * script/lua/grub_lua.h: Likewise.
25736 * script/lua/grub_main.c: Likewise.
25737 * script/lua/lapi.c: Likewise.
25738 * script/lua/lapi.h: Likewise.
25739 * script/lua/lauxlib.c: Likewise.
25740 * script/lua/lauxlib.h: Likewise.
25741 * script/lua/lbaselib.c: Likewise.
25742 * script/lua/lcode.c: Likewise.
25743 * script/lua/lcode.h: Likewise.
25744 * script/lua/ldblib.c: Likewise.
25745 * script/lua/ldebug.c: Likewise.
25746 * script/lua/ldebug.h: Likewise.
25747 * script/lua/ldo.c: Likewise.
25748 * script/lua/ldo.h: Likewise.
25749 * script/lua/ldump.c: Likewise.
25750 * script/lua/lfunc.c: Likewise.
25751 * script/lua/lfunc.h: Likewise.
25752 * script/lua/lgc.c: Likewise.
25753 * script/lua/lgc.h: Likewise.
25754 * script/lua/linit.c: Likewise.
25755 * script/lua/liolib.c: Likewise.
25756 * script/lua/llex.c: Likewise.
25757 * script/lua/llex.h: Likewise.
25758 * script/lua/llimits.h: Likewise.
25759 * script/lua/lmathlib.c: Likewise.
25760 * script/lua/lmem.c: Likewise.
25761 * script/lua/lmem.h: Likewise.
25762 * script/lua/loadlib.c: Likewise.
25763 * script/lua/lobject.c: Likewise.
25764 * script/lua/lobject.h: Likewise.
25765 * script/lua/lopcodes.c: Likewise.
25766 * script/lua/lopcodes.h: Likewise.
25767 * script/lua/loslib.c: Likewise.
25768 * script/lua/lparser.c: Likewise.
25769 * script/lua/lparser.h: Likewise.
25770 * script/lua/lstate.c: Likewise.
25771 * script/lua/lstate.h: Likewise.
25772 * script/lua/lstring.c: Likewise.
25773 * script/lua/lstring.h: Likewise.
25774 * script/lua/lstrlib.c: Likewise.
25775 * script/lua/ltable.c: Likewise.
25776 * script/lua/ltable.h: Likewise.
25777 * script/lua/ltablib.c: Likewise.
25778 * script/lua/ltm.c: Likewise.
25779 * script/lua/ltm.h: Likewise.
25780 * script/lua/lua.h: Likewise.
25781 * script/lua/luaconf.h: Likewise.
25782 * script/lua/lualib.h: Likewise.
25783 * script/lua/lundump.c: Likewise.
25784 * script/lua/lundump.h: Likewise.
25785 * script/lua/lvm.c: Likewise.
25786 * script/lua/lvm.h: Likewise.
25787 * script/lua/lzio.c: Likewise.
25788 * script/lua/lzio.h: Likewise.
25789
25790 2009-05-16 Bean <bean123ch@gmail.com>
25791
25792 * include/grub/kernel.h (grub_module_header_types): Add type
25793 OBJ_TYPE_CONFIG.
25794
25795 * kern/main.c (grub_load_config): New function.
25796 (grub_main): Call grub_load_config to read boot config.
25797
25798 * grub-mkimage (generate_image): New parameter config_path.
25799 (options): New option --config.
25800 (main): Parse --config option, and pass it to generate_image.
25801
25802 2009-05-14 Christian Franke <franke@computer.org>
25803
25804 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25805 This fixes build on Cygwin.
25806
25807 2009-05-14 Pavel Roskin <proski@gnu.org>
25808
25809 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25810 jump. This saves two bytes, so the typical case of 2 swapped
25811 drives would fit 32 bytes.
25812
25813 2009-05-13 Pavel Roskin <proski@gnu.org>
25814
25815 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25816 grub_uint32_t to avoid a warning.
25817
25818 * loader/i386/linux.c (allocate_pages): When assigning
25819 real_mode_mem, cast through grub_size_t to fix a warning. The
25820 code already makes sure that the value would fit a pointer.
25821 (grub_linux_setup_video): Cast render_target->data to
25822 grub_size_t to fix a warning.
25823
25824 2009-05-13 Javier Martín <lordhabbit@gmail.com>
25825
25826 * commands/i386/pc/drivemap.c: New file - implement drivemap
25827 command.
25828 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25829 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25830
25831 2009-05-13 Pavel Roskin <proski@gnu.org>
25832
25833 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25834 embedding_area_exists.
25835
25836 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25837
25838 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25839 it easier to understand / work with.
25840 Improve warning messages for cases where there's no embedding area,
25841 or when it is too small (or core.img too large).
25842
25843 2009-05-13 Pavel Roskin <proski@gnu.org>
25844
25845 * loader/i386/pc/multiboot2.c: Add necessary includes for
25846 grub_multiboot2_real_boot().
25847
25848 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25849 PX record is always little-endian. We only need the lower 2
25850 bytes of the mode.
25851
25852 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25853 facilitate code reuse.
25854 (grub_cpio_mount): Use "struct head", not a char buffer. This
25855 fixes a warning reported by gcc 4.4.
25856
25857 * kernel/disk.c (grub_disk_read): Use void pointer for the
25858 buffer.
25859 (grub_disk_write): Use const void pointer for the buffer.
25860 Adjust all callers. Remove unnecessary casts.
25861
25862 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25863
25864 * util/i386/pc/grub-install.in: Update copyright year.
25865
25866 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25867
25868 gptsync
25869
25870 * commands/gptsync.c: new file
25871 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25872 (gptsync_mod_SOURCES): new variable
25873 (gptsync_mod_CFLAGS): likewise
25874 (gptsync_mod_LDFLAGS): likewise
25875 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
25876 new definition
25877 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25879 * conf/i386-ieee1275.rmk: likewise
25880 * conf/i386-pc.rmk: likewise
25881 * conf/powerpc-ieee1275.rmk: likewise
25882
25883 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25884
25885 Fixed grub-emu
25886
25887 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25888 (grub_dl_ref): likewise
25889
25890 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25891
25892 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25893 split in two functions (one for msdos and one for gpt).
25894
25895 2009-05-08 Pavel Roskin <proski@gnu.org>
25896
25897 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25898 not modified.
25899
25900 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25901 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25902 Initialize them with -1. Add sanity check for bad1. Eliminate
25903 nerr variable.
25904
25905 2009-05-08 David S. Miller <davem@davemloft.net>
25906
25907 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25908
25909 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
25910
25911 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
25912 existence.
25913
25914 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
25915
25916 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25917 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
25918
25919 2009-05-05 David S. Miller <davem@davemloft.net>
25920
25921 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
25922
25923 2009-05-05 Pavel Roskin <proski@gnu.org>
25924
25925 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
25926 of grub_dl_ref() and grub_dl_unref().
25927 * commands/parttool.c: Remove preprocessor conditionals around
25928 grub_dl_ref() and grub_dl_unref().
25929 * fs/affs.c: Likewise.
25930 * fs/afs.c: Likewise.
25931 * fs/cpio.c: Likewise.
25932 * fs/ext2.c: Likewise.
25933 * fs/fat.c: Likewise.
25934 * fs/hfs.c: Likewise.
25935 * fs/hfsplus.c: Likewise.
25936 * fs/iso9660.c: Likewise.
25937 * fs/jfs.c: Likewise.
25938 * fs/minix.c: Likewise.
25939 * fs/ntfs.c: Likewise.
25940 * fs/reiserfs.c: Likewise.
25941 * fs/sfs.c: Likewise.
25942 * fs/udf.c: Likewise.
25943 * fs/ufs.c: Likewise.
25944 * fs/xfs.c: Likewise.
25945 * include/grub/dl.h: Likewise.
25946 * loader/xnu.c: Likewise.
25947
25948 2009-05-04 Pavel Roskin <proski@gnu.org>
25949
25950 * commands/acpi.c: Remove unused variable my_mod.
25951 * partmap/amiga.c: Likewise.
25952 * partmap/apple.c: Likewise.
25953 * partmap/gpt.c: Likewise.
25954 * partmap/pc.c: Likewise.
25955 * partmap/sun.c: Likewise.
25956 * term/gfxterm.c: Likewise.
25957 * term/i386/pc/vesafb.c: Likewise.
25958 * term/i386/pc/vga.c: Likewise.
25959
25960 2009-05-04 David S. Miller <davem@davemloft.net>
25961
25962 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
25963 pointer args to grub_ieee1275_get_property().
25964
25965 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
25966
25967 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
25968 devices, and do not traverse down under controller nodes.
25969
25970 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
25971 (grub_ofdisk_open): Use it to un-escape "," characters.
25972 * kern/disk.c (find_part_sep): New.
25973 (grub_disk_open): Use it to find the first non-escaped ','
25974 character in the disk name.
25975 * util/ieee1275/devicemap.c (escape_of_path): New.
25976 (grub_util_emit_devicemap_entry): Use it.
25977 * util/sparc64/ieee1275/grub-install.in: Update script to
25978 strip partition specifiers properly by not triggering on
25979 '\' escaped ',' characters.
25980
25981 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25982
25983 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
25984 to 0x300.
25985 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
25986 resolutions.
25987 (linux_vesafb_modes): Add a lot of additional modes to the list (based
25988 on documentation from Wikipedia).
25989
25990 2009-05-04 Pavel Roskin <proski@gnu.org>
25991
25992 * disk/ata.c: Spelling fixes.
25993 * disk/raid.c: Likewise.
25994 * disk/usbms.c: Likewise.
25995 * disk/dmraid_nvidia.c: Likewise.
25996 * kern/ieee1275/openfw.c: Likewise.
25997 * kern/ieee1275/init.c: Likewise.
25998 * kern/ieee1275/cmain.c: Likewise.
25999 * boot/i386/pc/cdboot.S: Likewise.
26000 * video/readers/png.c: Likewise.
26001 * video/i386/pc/vbe.c: Likewise.
26002 * fs/udf.c: Likewise.
26003 * fs/hfs.c: Likewise.
26004 * fs/reiserfs.c: Likewise.
26005 * efiemu/runtime/efiemu.c: Likewise.
26006 * efiemu/main.c: Likewise.
26007 * efiemu/mm.c: Likewise.
26008 * include/grub/elf.h: Likewise.
26009 * include/grub/xnu.h: Likewise.
26010 * include/grub/usbdesc.h: Likewise.
26011 * include/grub/usb.h: Likewise.
26012 * include/grub/script_sh.h: Likewise.
26013 * include/grub/lib/LzmaEnc.h: Likewise.
26014 * include/grub/efiemu/efiemu.h: Likewise.
26015 * include/grub/command.h: Likewise.
26016 * normal/menu.c: Likewise.
26017 * normal/main.c: Likewise.
26018 * normal/datetime.c: Likewise.
26019 * bus/usb/uhci.c: Likewise.
26020 * mmap/i386/uppermem.c: Likewise.
26021 * mmap/mmap.c: Likewise.
26022 * commands/acpi.c: Likewise.
26023 * commands/test.c: Likewise.
26024 * partmap/apple.c: Likewise.
26025 * font/font.c: Likewise.
26026 * loader/sparc64/ieee1275/linux.c: Likewise.
26027 * loader/macho.c: Likewise.
26028 * loader/i386/bsd_trampoline.S: Likewise.
26029 * loader/i386/bsd.c: Likewise.
26030 * loader/xnu.c: Likewise.
26031 * term/i386/pc/vesafb.c: Likewise.
26032 * term/usb_keyboard.c: Likewise.
26033 * util/resolve.c: Likewise.
26034 * util/getroot.c: Likewise.
26035
26036 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
26037
26038 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
26039
26040 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26041
26042 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
26043 build error.
26044
26045 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26046
26047 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
26048 parameter only available on BIOS.
26049
26050 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26051
26052 Removed wrong semicolon in declaration
26053
26054 * grub/misc.h (grub_dprintf): remove semicolon
26055
26056 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26057
26058 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
26059 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
26060 is done by grub_cmd_linux() now).
26061 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
26062 restore video to text mode.
26063 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
26064 indicates lack of "vga=" parameter. "vga=0" is mapped to
26065 `GRUB_LINUX_VID_MODE_NORMAL'.
26066
26067 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
26068
26069 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
26070 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
26071 and `normal/script.c'. Add `kern/rescue_reader.c',
26072 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
26073 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
26074 `grub_script.tab.c'.
26075
26076 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26077 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26080 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26081
26082 * Makefile.in: Remove duplicated 2008 in Copyright line.
26083
26084 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
26085
26086 * util/misc.c (grub_util_warn): New function. Emits a warning
26087 unconditionally.
26088 * include/grub/util/misc.h (grub_util_warn): New declaration.
26089
26090 * util/i386/pc/grub-install.in: Understand --force and pass it down
26091 to grub-setup.
26092
26093 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
26094 down to setup().
26095 (setup): Improve error messages and add warnings when requested to
26096 install in odd layouts. Refuse to install using blocklists unless
26097 --force was set.
26098
26099 2009-05-04 martin f. krafft <madduck@madduck.net>
26100
26101 * disk/raid.c (grub_raid_scan_device): Improve debug message.
26102
26103 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26104
26105 Updated copyright year
26106
26107 * fs/hfsplus.c: updated copyright year
26108
26109 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
26110
26111 HFS+ UUID
26112
26113 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
26114 in the space previously used by unused3
26115 (grub_hfsplus_uuid): new function
26116 (grub_hfsplus_fs): added uuid field
26117
26118 2009-05-03 Pavel Roskin <proski@gnu.org>
26119
26120 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
26121 suppress warnings. It's no longer needed.
26122 * disk/host.c: Likewise.
26123 * disk/ata_pthru.c: Likewise.
26124 * disk/loopback.c: Likewise.
26125 * hook/datehook.c: Likewise.
26126 * parttool/pcpart.c: Likewise.
26127 * fs/i386/pc/pxe.c: Likewise.
26128 * fs/ntfscomp.c: Likewise.
26129 * efiemu/main.c: Likewise.
26130 * mmap/mmap.c: Likewise.
26131 * commands/crc.c: Likewise.
26132 * commands/hexdump.c: Likewise.
26133 * commands/hdparm.c: Likewise.
26134 * commands/acpi.c: Likewise.
26135 * commands/echo.c: Likewise.
26136 * commands/minicmd.c: Likewise.
26137 * commands/blocklist.c: Likewise.
26138 * commands/memrw.c: Likewise.
26139 * commands/loadenv.c: Likewise.
26140 * commands/usbtest.c: Likewise.
26141 * commands/lsmmap.c: Likewise.
26142 * commands/boot.c: Likewise.
26143 * commands/parttool.c: Likewise.
26144 * commands/configfile.c: Likewise.
26145 * commands/search.c: Likewise.
26146 * commands/ieee1275/suspend.c: Likewise.
26147 * commands/cat.c: Likewise.
26148 * commands/i386/pc/pxecmd.c: Likewise.
26149 * commands/i386/pc/play.c: Likewise.
26150 * commands/i386/pc/halt.c: Likewise.
26151 * commands/i386/pc/vbeinfo.c: Likewise.
26152 * commands/i386/pc/vbetest.c: Likewise.
26153 * commands/lspci.c: Likewise.
26154 * commands/date.c: Likewise.
26155 * commands/handler.c: Likewise.
26156 * commands/ls.c: Likewise.
26157 * commands/test.c: Likewise.
26158 * commands/cmp.c: Likewise.
26159 * commands/efi/loadbios.c: Likewise.
26160 * commands/efi/fixvideo.c: Likewise.
26161 * commands/halt.c: Likewise.
26162 * commands/help.c: Likewise.
26163 * commands/reboot.c: Likewise.
26164 * hello/hello.c: Likewise.
26165 * script/sh/main.c: Likewise.
26166 * loader/xnu.c: Likewise.
26167 * term/terminfo.c: Likewise.
26168 * term/i386/pc/serial.c: Likewise.
26169 * term/usb_keyboard.c: Likewise.
26170
26171 2009-05-03 David S. Miller <davem@davemloft.net>
26172
26173 * normal/menu.c: Include grub/parser.h
26174
26175 2009-05-03 Pavel Roskin <proski@gnu.org>
26176
26177 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
26178 not char*.
26179 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
26180 Suggested by Javier Martín <lordhabbit@gmail.com>
26181
26182 * util/i386/pc/grub-mkrescue.in: Allow for the case when
26183 efiemu??.o doesn't exist.
26184 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
26185 copying.
26186
26187 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
26188
26189 FreeBSD 64-bit support
26190
26191 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
26192 and loader/i386/bsd_trampoline.S
26193 (bsd_mod_ASFLAGS): new variable
26194 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
26195 (FREEBSD_MODTYPE_KERNEL64): likewise
26196 (grub_bsd64_trampoline_start): likewise
26197 (grub_bsd64_trampoline_end): likewise
26198 (grub_bsd64_trampoline_selfjump): likewise
26199 (grub_bsd64_trampoline_gdt): likewise
26200 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
26201 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
26202 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
26203 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
26204 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26205 of "attrib" member
26206 * loader/i386/bsd_pagetable.c: new file
26207 * loader/i386/bsd_trampoline.S: likewise
26208 * loader/i386/bsd.c (ALIGN_QWORD): new macro
26209 (ALIGN_VAR): likewise
26210 (entry_hi): new variable
26211 (kern_end_mdofs): likewise
26212 (is_64bit): likewise
26213 (grub_freebsd_add_meta): use ALIGN_VAR
26214 (grub_e820_mmap): new declaration
26215 (grub_freebsd_add_mmap): new function
26216 (grub_freebsd_add_meta_module): support 64 bit kernels
26217 (grub_freebsd_list_modules): use ALIGN_VAR
26218 (gdt_descriptor): new declaration
26219 (grub_freebsd_boot): support 64 bit kernels
26220 (grub_bsd_elf64_hook): new function
26221 (grub_bsd_load_elf): support elf64
26222
26223 2009-05-03 Bean <bean123ch@gmail.com>
26224
26225 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
26226 after we get the result of if statement.
26227
26228 2009-05-03 Bean <bean123ch@gmail.com>
26229
26230 * Makefile.in (enable_efiemu): New variable.
26231
26232 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
26233 set.
26234 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
26235 path.
26236 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
26237 path, add -mno-red-zone option.
26238 (efiemu64_s.o): Likewise.
26239 (efiemu64.o): Use macro $^ for source file.
26240
26241 * configure.ac (--enable-efiemu): New option.
26242
26243 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26244
26245 xnu support
26246
26247 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
26248 (pkglib_MODULES): add xnu.mod
26249 (xnu_mod_SOURCES): new variable
26250 (xnu_mod_CFLAGS): likewise
26251 (xnu_mod_LDFLAGS): likewise
26252 (xnu_mod_ASFLAGS): likewise
26253 * conf/i386-pc.rmk: likewise
26254 * conf/x86_64-efi.rmk: likewise
26255 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
26256 new declaration
26257 * include/grub/i386/macho.h: new file
26258 * include/grub/i386/xnu.h: likewise
26259 * include/grub/macho.h: likewise
26260 * include/grub/machoload.h: likewise
26261 * include/grub/x86_64/macho.h: likewise
26262 * include/grub/x86_64/xnu.h: likewise
26263 * include/grub/xnu.h: likewise
26264 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
26265 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
26266 * loader/i386/efi/xnu.c: new file
26267 * loader/i386/pc/xnu.c: likewise
26268 * loader/i386/xnu.c: likewise
26269 * loader/i386/xnu_helper.S: likewise
26270 * loader/macho.c: likewise
26271 * loader/xnu.c: likewise
26272 * loader/xnu_resume.c: likewise
26273 * util/grub-dumpdevtree: likewise
26274 * include/grub/i386/pit.h: include grub/err.h
26275 (grub_pit_wait): export
26276 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
26277
26278 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26279
26280 Efiemu
26281
26282 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
26283 _linux_efi, linux_efi.
26284 new files in grub-emu
26285 new targets efiemu32.o and efiemu64.o
26286 * loader/linux_normal_efiemu.c: likewise
26287 * loader/i386/efi/linux.c: added preliminary efiemu support
26288 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
26289 files to copy
26290 * include/grub/autoefi.h: new file
26291 * include/grub/i386/efiemu.h: likewise
26292 * include/grub/i386/pc/efiemu.h: likewise
26293 * include/grub/efi/api.h: add LL suffix when necessary
26294 new definitions relating to tables
26295 * include/grub/efiemu/efiemu.h: new file
26296 * include/grub/efiemu/runtime.h: likewise
26297 * efiemu/prepare.c: likewise
26298 * efiemu/loadcore_common.c: likewise
26299 * efiemu/loadcore64.c: likewise
26300 * efiemu/runtime/efiemu.sh: likewise
26301 * efiemu/runtime/efiemu.S: likewise
26302 * efiemu/runtime/efiemu.c: likewise
26303 * efiemu/runtime/config.h: likewise
26304 * efiemu/prepare32.c: likewise
26305 * efiemu/main.c: likewise
26306 * efiemu/modules/pnvram.c: likewise
26307 * efiemu/modules/i386: likewise
26308 * efiemu/modules/i386/pc: likewise
26309 * efiemu/modules/acpi.c: likewise
26310 * efiemu/i386/pc/cfgtables.c: likewise
26311 * efiemu/i386/loadcore64.c: likewise
26312 * efiemu/i386/loadcore32.c: likewise
26313 * efiemu/prepare64.c: likewise
26314 * efiemu/loadcore.c: likewise
26315 * efiemu/symbols.c: likewise
26316 * efiemu/mm.c: likewise
26317 * efiemu/loadcore32.c: likewise
26318
26319 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26320
26321 ACPI spoofing
26322
26323 * commands/acpi.c: new file
26324 * commands/i386/pc/acpi.c: likewise
26325 * commands/efi/acpi.c: likewise
26326 * include/grub/acpi.h: likewise
26327 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26328 (acpi_mod_SOURCES): new variable
26329 (acpi_mod_CFLAGS): likewise
26330 (acpi_mod_LDFLAGS): likewise
26331 * conf/i386-efi.rmk: likewise
26332 * conf/x86_64-efi.rmk: likewise
26333
26334 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26335
26336 Missing part from mmap patch
26337
26338 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26339 (grub_mmap_unregister)
26340 (grub_mmap_free_and_unregister): use grub_mmap_register
26341
26342 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26343
26344 Mmap services
26345
26346 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26347 * loader/i386/linux.c (find_mmap_size): likewise
26348 (allocate_pages): likewise
26349 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26350 (grub_fill_multiboot_mmap): likewise
26351 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26352 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26353 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26354 (OPENBSD_MMAP_RESERVED): likewise
26355 * include/grub/i386/pc/memory.h: include grub/memory.h
26356 (grub_lower_mem): removed
26357 (grub_upper_mem): likewise
26358 (GRUB_MACHINE_MEMORY_ACPI): new definition
26359 (GRUB_MACHINE_MEMORY_NVS): likewise
26360 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26361 (GRUB_MACHINE_MEMORY_HOLE): likewise
26362 (grub_machine_mmap_register): likewise
26363 (grub_machine_mmap_unregister): likewise
26364 (grub_machine_get_upper): likewise
26365 (grub_machine_get_lower): likewise
26366 (grub_machine_get_post64): likewise
26367 * include/grub/i386/efi/memory.h: new file
26368 * include/grub/x86_64/efi/memory.h: likewise
26369 * include/grub/efi/memory.h: likewise
26370 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26371 (mmap_mod_SOURCES): new variable
26372 (mmap_mod_LDFLAGS): likewise
26373 (mmap_mod_ASFLAGS): likewise
26374 * conf/i386-coreboot.rmk: likewise
26375 * conf/i386-ieee1275.rmk: likewise
26376 * conf/i386-efi.rmk: likewise
26377 * conf/x86_64-efi.rmk: likewise
26378 * include/grub/types.h (UINT_TO_PTR): new macro
26379 (PTR_TO_UINT32): likewise
26380 (PTR_TO_UINT64): likewise
26381 * include/grub/memory.h: new file
26382 * mmap/i386/pc/mmap.c: likewise
26383 * mmap/i386/pc/mmap_helper.S: likewise
26384 * mmap/i386/uppermem.c: likewise
26385 * mmap/mmap.c: likewise
26386 * mmap/efi/mmap.c: likewise
26387 * kern/i386/coreboot/init.c (grub_machine_init): don't use
26388 grub_upper_mem
26389 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26390 (grub_upper_mem): likewise
26391 (grub_machine_init): don't use grub_upper_mem,
26392 make grub_lower_mem local
26393 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26394 grub_mmap_iterate and grub_mmap_get_upper
26395 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26396
26397 2009-05-02 Bean <bean123ch@gmail.com>
26398
26399 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26400 script/sh/parser.y.
26401 (pkglib_MODULES): Add normal.mod and sh.mod.
26402 (normal_SOURCES): New variable.
26403 (normal_mod_CFLAGS): Likewise.
26404 (normal_mod_LDFLAGS): Likewise.
26405 (sh_mod_SOURCES): Likewise.
26406 (sh_mod_CFLAGS): Likewise.
26407 (sh_mod_LDFLAGS): Likewise.
26408
26409 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26410 script/sh/lexer.c_DEPENDENCIES.
26411 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26412 kern/rescue_reader.c and kern/rescue_parser.c.
26413 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26414 (grub_emu_SOURCES): Change source files.
26415 (pkglib_MODULES): Remove normal.mod.
26416 (normal_SOURCES): Removed.
26417 (normal_mod_CFLAGS): Likewise.
26418 (normal_mod_LDFLAGS): Likewise.
26419 * conf/i386-coreboot.rmk: Likewise.
26420 * conf/i386-efi.rmk: Likewise.
26421 * conf/i386-ieee1276.rmk: Likewise.
26422 * conf/powerpc-ieee1275.rmk: Likewise.
26423 * conf/sparc64-ieee1275.rmk: Likewise.
26424 * conf/x86_64-efi.rmk: Likewise.
26425
26426 * include/grub/command.h (grub_command_execute): New inline function.
26427
26428 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26429
26430 * include/grub/normal.h: Remove <grub/setjmp.h>.
26431 (grub_fs_module_list): Moved to normal/autofs.c.
26432 (grub_exit_env): Removed.
26433 (grub_command_execute): Likewise.
26434 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26435 parameter script.
26436 (read_command_list): New function declaration.
26437 (read_fs_list): Likewise.
26438
26439 * include/parser.h: Include <grub/reader.h>.
26440 (grub_parser_split_cmdline): Change type of getline parameter.
26441 (grub_parser): New structure.
26442 (grub_parser_class): New variable.
26443 (grub_parser_execute): New function declaration.
26444 (grub_register_rescue_parser): Likewise.
26445 (grub_parser_register): New inline function.
26446 (grub_parser_unregister): Likewise.
26447 (grub_parser_get_current): Likewise.
26448 (grub_parser_set_current): Likewise.
26449
26450 * include/grub/reader.h: New file.
26451 * kern/reader.c: Likewise.
26452 * kern/rescue_parser.c: Likewise.
26453 * kern/rescue_reader.c: Likewise.
26454 * normal/autofs.c: Likewise.
26455 * normal/dyncmd.c: Likewise.
26456
26457 * include/grub/rescue.h: Removed.
26458 * normal/command.h: Likewise.
26459
26460 * include/grub/script.h: Moved to ...
26461 * include/grub/script_sh.h: ... Moved here.
26462 * normal/execute.c: Moved to ...
26463 * script/sh/execute.c: ... Moved here.
26464 * normal/function.c: Moved to ...
26465 * script/sh/function.c: ... Moved here.
26466 * normal/lexer.c: Moved to ...
26467 * script/sh/lexer.c: ... Moved here.
26468 * normal/parser.y: Moved to ...
26469 * script/sh/parser.y: ... Moved here.
26470 * normal/script.c: Moved to ...
26471 * script/sh/script.c: ... Moved here.
26472
26473 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26474 <grub/reader.h>.
26475 (grub_exit_env): Removed.
26476 (fs_module_list): Moved to normal/autofs.c.
26477 (grub_file_getline): Don't handle comment here.
26478 (free_menu): Skip removed field entry->commands.
26479 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26480 script parameter.
26481 (read_config_file): Removed nested parameter, change getline function.
26482 (grub_enter_normal_mode): Removed.
26483 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26484 (read_command_list): Likewise.
26485 (autoload_fs_module): Moved to normal/autofs.c.
26486 (read_fs_list): Likewise.
26487 (reader_nested): New variable.
26488 (grub_normal_execute): Run parser.sh to switch to sh parser.
26489 (grub_cmd_rescue): Removed.
26490 (cmd_normal): Removed.
26491 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26492 rescue command.
26493 (grub_cmdline_run): New function.
26494 (grub_normal_reader_init): Likewise.
26495 (grub_normal_read_line): Likewise.
26496 (grub_env_write_pager): Likewise.
26497 (cmdline): New variable.
26498 (grub_normal_reader): Likewise.
26499 (GRUB_MOD_INIT): Register normal reader and set as current, register
26500 pager hook, register normal command with grub_register_command_prio,
26501 so that it won't show up in command.lst.
26502 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26503 grub_fs_autoload_hook.
26504
26505 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26506 (grub_menu_execute_entry): Replace grub_script_execute with
26507 grub_parser_execute, change parameter to grub_command_execute.
26508
26509 * normal/menu_text.c: Remove <grub/script.h>.
26510
26511 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26512 and <grub/parser.h>.
26513 (run): Change editor_getline to use new parser interface. Change
26514 parameter to grub_command_execute.
26515
26516 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26517 <grub/reader.h> and <grub/parser.h>.
26518 (grub_load_normal_mode): Execute normal command.
26519 (grub_main): Call grub_register_core_commands,
26520 grub_register_rescue_parser and grub_register_rescue_reader, use
26521 grub_reader_loop to enter input loop.
26522
26523 * kern/parser.c (grub_parser_split_cmdline): Change type of
26524 getline parameter.
26525 (grub_parser_class): New variable.
26526 (grub_parser_execute): New function.
26527
26528 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26529 * loader/multiboot2.c: Likewise.
26530 * loader/sparc64/ieee1275/linux.c: Likewise.
26531
26532 * util/grub-emu.c (read_command_list): New dummy function.
26533
26534 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26535
26536 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26537 count to 16 for CCISS and IDA.
26538
26539 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26540
26541 * normal/menu_text.c (grub_wait_after_message): Print a newline
26542 after waiting for user input.
26543
26544 * loader/i386/linux.c: Include `<grub/normal.h>'.
26545 (grub_cmd_linux): Improve the error message about `ask' mode, by
26546 waiting for user input so it's not missed (we can do this, since
26547 user requested interaction).
26548
26549 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26550
26551 Added missing lst to grub-mkrescue
26552
26553 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26554 and ${input_dir}/parttool.lst
26555
26556 2009-04-30 David S. Miller <davem@davemloft.net>
26557
26558 * util/hostdisk.c (device_is_wholedisk): New function.
26559 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26560 zero only if device_is_wholedisk() returns true.
26561
26562 * util/hostdisk.c (convert_system_partition_to_system_disk):
26563 Handle virtual disk devices named /dev/vdiskX as found on sparc
26564 and powerpc.
26565
26566 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26567 lettered partition specifier is found, convert to numbered.
26568
26569 2009-04-29 David S. Miller <davem@davemloft.net>
26570
26571 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26572 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26573
26574 * normal/command.c: Add missing newline at end of file.
26575
26576 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26577 warnings.
26578 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26579 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26580 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26581 ihandles have a 32-bit type but need to be stored in a "void *".
26582
26583 2009-04-28 Pavel Roskin <proski@gnu.org>
26584
26585 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26586 not disk. Adjust all dependencies.
26587 (grub_fs_uuid_close): Use grub_device_close(), not
26588 grub_disk_close().
26589
26590 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26591 parent's partition, don't copy it by reference, as it gets freed
26592 on close.
26593
26594 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26595
26596 Preboot hooks support
26597
26598 * commands/boot.c (struct grub_preboot_t): new declaration
26599 (preboots_head): new variable
26600 (preboots_tail): likewise
26601 (grub_loader_register_preboot_hook): new function
26602 (grub_loader_unregister_preboot_hook): likewise
26603 (grub_loader_set): launch preboot hooks
26604 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26605 (grub_loader_register_preboot_hook): new declaration
26606 (grub_loader_unregister_preboot_hook): likewise
26607
26608 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26609
26610 Warning fix
26611
26612 * disk/scsi.c (grub_scsi_open): added missing cast when
26613 calling grub_dprintf
26614
26615 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26616
26617 Bug and warning fixes
26618
26619 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
26620 declaration
26621 * commands/test.c (test_parse): fixed bug with file tests and corrected
26622 declaration of find_file
26623
26624 2009-04-26 Pavel Roskin <proski@gnu.org>
26625
26626 * Makefile.in: Don't install empty manual pages if help2man is
26627 missing. Use help2man option for output, not shell redirection.
26628
26629 2009-04-26 David S. Miller <davem@davemloft.net>
26630
26631 * util/grub-mkdevicemap.c (make_device_map): Add missing
26632 NESTED_FUNC_ATTR to process_device().
26633
26634 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26635
26636 Test command
26637
26638 * commands/test.c: rewritten to use bash-like test
26639
26640 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26641
26642 Parttool autoloading and improvements
26643
26644 * Makefile.in (pkglib_DATA): add parttool.lst
26645 (parttool.lst): new target
26646 * genmk.rb: generate parttool-*
26647 (CLEANFILES): add #{parttool}
26648 (PARTTOOLFILES): new variable
26649 * genparttoollist.sh: new file
26650 * parttool/pcpart.c (grub_pcpart_boot): more feedback
26651 (grub_pcpart_type): likewise
26652 * commands/parttool.c (helpmsg): new variable
26653 (grub_cmd_parttool): output help if not enough arguments are supplied
26654 autoload modules
26655 (GRUB_MOD_INIT(parttool)): use helpmsg
26656
26657 2009-04-24 David S. Miller <davem@davemloft.net>
26658
26659 Avoiding opening same device multiple times in device iterator.
26660
26661 * kern/device.c: (grub_device_iterate): Define struct part_ent,
26662 and use it to build a list of partitions in iterate_disk() and
26663 iterate_partition().
26664
26665 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26666 on disk->data.
26667
26668 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26669 grub_devalias_iterate() result instead of unconditional 0.
26670 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26671 Also, capture hook return value, either directly or via
26672 grub_children_iterate(), and propagate to caller.
26673 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26674 grub_children_iterate): Return value is now 'int' instead of
26675 'grub_err_t'.
26676 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26677 like a proper iterator, stopping when hooks return non-zero.
26678 (grub_devalias_iterate): Likewise.
26679
26680 2009-04-23 David S. Miller <davem@davemloft.net>
26681
26682 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26683
26684 2009-04-22 David S. Miller <davem@davemloft.net>
26685
26686 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26687 is larger than address_cells, use that value for address_cells too.
26688
26689 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26690 IEEE1275_MAX_PATH_LEN): Define.
26691 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26692 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26693 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26694 'devtype'. Explicitly NULL terminate devalias expansion.
26695
26696 * util/sparc64/ieee1275/misc.c: New file.
26697 * util/sparc64/ieee1275/grub-setup.c: New file.
26698 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26699 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26700 * util/sparc64/ieee1275/grub-install.in: New file.
26701 * util/ieee1275/ofpath.c: New file.
26702 * util/ieee1275/devicemap.c: New file.
26703 * util/devicemap.c: New file.
26704 * util/deviceiter.c: New file.
26705 * kern/sparc64/ieee1275/init.c: New file.
26706 * include/grub/util/ofpath.h: New file.
26707 * include/grub/util/deviceiter.h: New file.
26708 * util/grub-mkdevicemap.c: Include deviceiter.h.
26709 Implement using grub_util_emit_devicemap_entry and
26710 grub_util_iterate_devices.
26711 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26712 util/devicemap.c into grub-mkdevicemap
26713 * conf/i386-efi.rmk: Likewise.
26714 * conf/i386-ieee1275.rmk: Likewise.
26715 * conf/i386-pc.rmk: Likewise.
26716 * conf/powerpc-ieee1275.rmk: Likewise.
26717 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26718 images and installation utilities. Build kernel as image
26719 instead of as elf binary. Use common rules as much as possible.
26720
26721 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26722
26723 Correct GPT definition
26724
26725 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26726 of "attrib" member
26727
26728 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
26729
26730 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26731
26732 2009-04-19 David S. Miller <davem@davemloft.net>
26733
26734 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26735 (grub_rescue_cmd_linux): Rename to...
26736 (grub_cmd_linux): and fix prototype.
26737 (grub_rescue_cmd_initrd): Rename to...
26738 (grub_cmd_initrd): and fix prototype.
26739 (cmd_linux, cmd_initrd): New.
26740 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26741 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26742
26743 2009-04-17 Pavel Roskin <proski@gnu.org>
26744
26745 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26746 format.
26747 (grub_ohci_transfer): Likewise.
26748
26749 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26750
26751 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26752 return without a value. Fix inconsistent indentation.
26753
26754 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26755 match struct grub_fs.
26756
26757 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26758 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26759 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26760 * commands/lspci.c (grub_lspci_iter): Likewise.
26761
26762 2009-04-16 Bean <bean123ch@gmail.com>
26763
26764 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26765 value.
26766
26767 2009-04-15 Pavel Roskin <proski@gnu.org>
26768
26769 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26770 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26771 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26772 definitions.
26773
26774 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26775
26776 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
26777 that no multiple data or metadata areas are supported and `Unknown
26778 metadata header'.
26779
26780 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26781
26782 Move loader out of the kernel
26783
26784 * kern/loader.c: moved to ...
26785 * commands/boot.c: ... moved here
26786 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26787 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26788 * include/grub/kernel.h (grub_machine_fini): export
26789 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26790 (grub_loader_set): likewise
26791 (grub_loader_unset): likewise
26792 (grub_loader_boot): likewise
26793 * conf/common.rmk: new module boot.mod
26794 (pkglib_MODULES): add boot.mod
26795 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26796 (grub_emu_SOURCES): likewise
26797 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26798 (grub_emu_SOURCES): likewise
26799 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26800 (grub_emu_SOURCES): likewise
26801 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26802 (grub_emu_SOURCES): likewise
26803 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26804 (grub_emu_SOURCES): likewise
26805 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26806 (grub_emu_SOURCES): likewise
26807 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
26808 (grub_emu_SOURCES): likewise
26809
26810 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26811
26812 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
26813
26814 * kern/misc.c (grub_itoa): Removed function
26815 (grub_ltoa): likewise
26816 (grub_vsprintf): use grub_lltoa
26817
26818 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26819
26820 Restore grub-emu
26821
26822 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26823 * conf/i386-coreboot.rmk: likewise
26824 * conf/i386-ieee1275.rmk: likewise
26825 * conf/powerpc-ieee1275.rmk: likewise
26826
26827 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26828
26829 * INSTALL: Add that `./autogen.sh' needs to be run before
26830 `./configure.'.
26831
26832 2009-04-14 Bean <bean123ch@gmail.com>
26833
26834 * Makefile.in (pkglib_DATA): Add handler.lst.
26835 (handler.lst): New rule.
26836
26837 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26838 * conf/i386-coreboot.rmk: Likewise.
26839 * conf/i386-ieee1275.rmk: Likewise.
26840 * conf/i386-efi.rmk: Likewise.
26841 * conf/x86_64-efi.rmk: Likewise.
26842 * conf/powerpc-ieee1275.rmk: Likewise.
26843 * conf/sparc64-ieee1275.rmk: Likewise.
26844
26845 * genhandlerlist.sh: New file.
26846
26847 * genmk.rb: Add rules to generate handler.lst.
26848
26849 * include/grub/normal.h (grub_file_getline): New function definition.
26850 (read_handler_list): Likewise.
26851 (free_handler_list): Likewise.
26852
26853 * include/grub/term.h (grub_term_register_input): Add name parameter
26854 for auto generation of handler.lst.
26855 (grub_term_register_output): Likewise.
26856
26857 * normal/handler.c: New file.
26858
26859 * normal/main.c (get_line): Renamed to grub_file_getline.
26860 (read_config_file): Use the newly renamed grub_file_getline.
26861 (read_command_list): Likewise.
26862 (read_fs_list): Likewise.
26863 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26864 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26865
26866 * term/efi/console.c (grub_console_init): Add name parameter for auto
26867 generation of handler.lst.
26868 * term/gfxterm.c: Likewise.
26869 * term/i386/pc/at_keyboard.c: Likewise.
26870 * term/i386/pc/console.c: Likewise.
26871 * term/i386/pc/serial.c: Likewise.
26872 * term/i386/pc/vesafb.c: Likewise.
26873 * term/i386/pc/vga.c: Likewise.
26874 * term/i386/pc/vga_text.c: Likewise.
26875 * term/ieee1275/ofconsole.c: Likewise.
26876 * term/usb_keyboard.c: Likewise.
26877
26878 2009-04-14 Bean <bean123ch@gmail.com>
26879
26880 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26881 properly with null character.
26882
26883 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26884
26885 * configure: Remove.
26886 * config.h.in: Likewise.
26887 * stamp-h.in: Likewise.
26888 * DISTLIST: Likewise.
26889 * conf/common.mk: Likewise.
26890 * conf/i386-coreboot.mk: Likewise.
26891 * conf/i386-efi.mk: Likewise.
26892 * conf/i386-ieee1275.mk: Likewise.
26893 * conf/i386.mk: Likewise.
26894 * conf/i386-pc.mk: Likewise.
26895 * conf/powerpc-ieee1275.mk: Likewise.
26896 * conf/sparc64-ieee1275.mk: Likewise.
26897 * conf/x86_64-efi.mk: Likewise.
26898
26899 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26900 develop on GRUB.
26901
26902 2009-04-14 John Stanley <jpsinthemix@verizon.net>
26903 David S. Miller <davem@davemloft.net>
26904
26905 * util/hostdisk.c (make_device_name): Fix buffer length
26906 calculations.
26907
26908 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26909
26910 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
26911 <sys/param.h> and <sys/sysctl.h>.
26912 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
26913 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
26914 opening the device and reset them afterwards.
26915
26916 2009-04-13 Pavel Roskin <proski@gnu.org>
26917
26918 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
26919 Reported by John Stanley <jpsinthemix@verizon.net>
26920
26921 2009-04-13 Robert Millan <rmh@aybabtu.com>
26922
26923 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
26924 that name for menuentries when appropriate.
26925
26926 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26927
26928 * util/grub.d/10_freebsd.in: Add a missing `fi'.
26929
26930 2009-04-13 Robert Millan <rmh@aybabtu.com>
26931
26932 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
26933 to Linux, simply abort telling the user it's no longer supported.
26934
26935 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26936
26937 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
26938 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
26939 `freebsd_loadenv' only when devices.hints exist.
26940
26941 2009-04-13 Pavel Roskin <proski@gnu.org>
26942
26943 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
26944
26945 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26946
26947 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
26948 partition number.
26949 (grub_drive): Likewise.
26950
26951 2009-04-13 David S. Miller <davem@davemloft.net>
26952
26953 * kern/sparc64/ieee1275/ieee1275.c: New file.
26954 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
26955 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
26956 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
26957 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
26958 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
26959 grub_ieee1275_alloc_physmem): Declare new exported functions.
26960
26961 * include/grub/sparc64/ieee1275/loader.h: New file.
26962 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26963 * include/grub/sparc64/kernel.h: Likewise.
26964 * loader/sparc64/ieee1275/linux.c: Likewise.
26965
26966 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
26967 (grub_fstest_SOURCES): Likewise.
26968
26969 * util/hostdisk.c (make_device_name): Do not make any assumptions
26970 about the length of drive names.
26971
26972 * kern/dl.c (grub_dl_load_file): Close file immediately when
26973 we are done using it.
26974
26975 2009-04-12 David S. Miller <davem@davemloft.net>
26976
26977 * kern/misc.c (grub_ltoa): Fix cast when handling negative
26978 values. Noticed by Pavel Roskin.
26979
26980 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
26981 target compiler.
26982
26983 * genmk.rb: Add more flexible image type specification, also
26984 pass --strip-unneeded to objcopy.
26985 * conf/i386-pc.rmk: Use *_FORMAT.
26986 * conf/i386-pc.mk: Rebuilt.
26987
26988 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
26989 (OFDISK_HASH_SZ): Define.
26990 (ofdisk_hash): New hash table.
26991 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
26992 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
26993 instead of device phandle which is not unique.
26994
26995 * kern/sparc64/ieee1275/init.c: Delete, replace with...
26996 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
26997 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
26998 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
26999 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
27000 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
27001 GRUB_KERNEL_MACHINE_DATA_END): Define.
27002 (grub_kernel_image_size, grub_total_module_size): Declare.
27003
27004 2009-04-12 Pavel Roskin <proski@gnu.org>
27005
27006 * configure.ac: Change the logic when we check for target tools.
27007 Do it when the target is specified and it's different from the
27008 specified value of the host.
27009
27010 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
27011
27012 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
27013 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
27014 GNU/kFreeBSD. Check if a device is a character device. Use
27015 DIOCGMEDIASIZE to get the size.
27016 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
27017 support for GNU/kFreeBSD.
27018 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
27019 is a character device instead of a block device. Add support for
27020 FreeBSD device names.
27021
27022 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
27023 is a character device instead of a block device.
27024
27025 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
27026 is a character device instead of a block device.
27027
27028 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
27029
27030 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
27031 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
27032 FreeBSD. Check if a device is a character device. Use
27033 DIOCGMEDIASIZE to get the size.
27034 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
27035 support for FreeBSD.
27036 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
27037 is a character device instead of a block device. Add support for
27038 FreeBSD device names.
27039
27040 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
27041 a character device instead of a block device.
27042 (grub_util_check_char_device): New function.
27043
27044 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
27045 a character device instead of a block device.
27046
27047 * include/grub/util/getroot.h (grub_util_check_char_device): New
27048 prototype.
27049
27050 2009-04-11 David S. Miller <davem@davemloft.net>
27051
27052 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
27053 static libgcc.
27054 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
27055 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
27056 function, if present.
27057 (__bswapdi2): Likewise.
27058
27059 * include/grub/sparc64/ieee1275/boot.h: New file.
27060 * boot/sparc64/ieee1275/boot.S: Likewise.
27061 * boot/sparc64/ieee1275/diskboot.S: Likewise.
27062
27063 * kern/misc.c (grub_ltoa): New function.
27064 (grub_vsprintf): Use it to format 'long' integers.
27065
27066 2009-04-10 David S. Miller <davem@davemloft.net>
27067
27068 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
27069 slots are of type grub_ieee1275_cell_t.
27070 (grub_nand_read): Likewise.
27071 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
27072 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
27073 macros are used to compare values in arg/ret block of the call.
27074 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
27075 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
27076 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
27077 grub_ieee1275_instance_to_path, grub_ieee1275_write,
27078 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
27079 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
27080 grub_ieee1275_close, grub_ieee1275_set_property,
27081 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
27082 grub_ieee1275_cell_t.
27083 * kern/ieee1275/openfw.c (grub_map): Likewise.
27084 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
27085 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
27086
27087 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
27088 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
27089 (grub_devalias_iterate): Likewise.
27090
27091 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27092
27093 UFS improvements
27094
27095 * fs/ufs.c (INODE_NBLOCKS): new definition
27096 (struct grub_ufs_dirent): added fields for non-BSD dirents
27097 (grub_ufs_get_file_block): fixed double indirect handling
27098 (grub_ufs_lookup_symlink): use more robust way to determine whether
27099 symlink is inline
27100 (grub_ufs_find_file): support for non-BSD dirents
27101 (grub_ufs_dir): support for non-BSD dirents
27102
27103 2009-04-10 Bean <bean123ch@gnail.com>
27104
27105 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
27106 attribute, otherwise the size would be wrong for i386 platform.
27107
27108 * include/grub/pci.h (grub_pci_read_word): New inline function.
27109 (grub_pci_read_byte): Likewise.
27110 (grub_pci_write): Likewise.
27111 (grub_pci_write_word): Likewise.
27112 (grub_pci_write_byte): Likewise.
27113
27114 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
27115
27116 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
27117 (find_framebuf): Scan pci to locate the frame buffer address.
27118
27119 * commands/efi/fixvideo.c: New file.
27120
27121 * commands/efi/loadbios.c: Likewise.
27122
27123 * commands/memrw.c: Likewise.
27124
27125 * util/grub-dumpbios.in: Likewise.
27126
27127 * conf/common.rmk (grub-dumpbios): New utility.
27128 (pkglib_MODULES): New module memrw.mod.
27129 (memrw_mod_SOURCE): New macro.
27130 (memrw_mod_CFLAGS): Likewise.
27131 (memrw_mod_LDFLAGS): Likewise.
27132
27133 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
27134 fixvideo.mod.
27135 (loadbios_mod_SOURCE): New macro.
27136 (loadbios_mod_CFLAGS): Likewise.
27137 (loadbios_mod_LDFLAGS): Likewise.
27138 (fixvideo_mod_SOURCE): Likewise.
27139 (fixvideo_mod_CFLAGS): Likewise.
27140 (fixvideo_mod_LDFLAGS): Likewise.
27141
27142 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
27143 fixvideo.mod.
27144 (loadbios_mod_SOURCE): New macro.
27145 (loadbios_mod_CFLAGS): Likewise.
27146 (loadbios_mod_LDFLAGS): Likewise.
27147 (fixvideo_mod_SOURCE): Likewise.
27148 (fixvideo_mod_CFLAGS): Likewise.
27149 (fixvideo_mod_LDFLAGS): Likewise.
27150
27151 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
27152
27153 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
27154
27155 2009-04-07 David S. Miller <davem@davemloft.net>
27156
27157 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
27158 support for R_SPARC_OLO10 relocations. Fix compile warning for
27159 R_SPARC_WDISP30 case.
27160 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
27161
27162 2009-04-06 Pavel Roskin <proski@gnu.org>
27163
27164 * include/grub/misc.h (ARRAY_SIZE): New macro.
27165 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
27166 New macro.
27167 * loader/i386/linux.c (allocate_pages): Use free_pages().
27168 (grub_linux_unload): Don't use free_pages().
27169 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
27170 wrong index. Treat all other modes as text modes.
27171 (grub_cmd_linux): Initialize vid_mode unconditionally to
27172 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
27173
27174 * commands/help.c (print_command_help): Use cmd->prio, not
27175 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
27176
27177 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27178
27179 Parttool
27180
27181 * parttool/pcpart.c: new file
27182 * commands/parttool.c: likewise
27183 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
27184 (parttool_mod_SOURCES): new variable
27185 (parttool_mod_CFLAGS): likewise
27186 (parttool_mod_LDFLAGS): likewise
27187 (pcpart_mod_SOURCES): likewise
27188 (pcpart_mod_CFLAGS): likewise
27189 (pcpart_mod_LDFLAGS): likewise
27190 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
27191 and parttool/pcpart.c
27192 * conf/i386-efi.rmk: likewise
27193 * conf/i386-ieee1275.rmk: likewise
27194 * conf/i386-pc.rmk: likewise
27195 * conf/powerpc-ieee1275.rmk: likewise
27196 * conf/sparc64-ieee1275.rmk: likewise
27197 * conf/x86_64-ieee1275.rmk: likewise
27198
27199 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27200
27201 Support for mtime and further expandability of dir command
27202
27203 * include/grub/lib/datetime.h: moved to ...
27204 * include/grub/datetime.h: ... moved here and added
27205 declaration of grub_unixtime2datetime. All users updated
27206 * include/grub/fs.h: new syntax for dir and mtime functions in
27207 struct grub_fs
27208 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
27209 and GRUB_FSHELP_FLAGS_MASK
27210 * commands/ls.c (grub_ls_list_files): Write mtime in long format
27211 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
27212 (grub_ext2_mtime): new function
27213 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
27214 (grub_hfsplus_mtime): new function
27215 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
27216 (GRUB_UFS_ATTR_FILE): likewise
27217 (GRUB_UFS_ATTR_LNK): likewise
27218 (struct grub_ufs_sblock): new fields mtime
27219 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
27220 all users updated
27221 (grub_ufs_dir): mtime support
27222 (grub_ufs_mtime): new function
27223 * fs/affs.c (grub_affs_dir): use new dir syntax
27224 * fs/afs.c (grub_afs_dir): likewise
27225 * fs/cpio.c (grub_cpio_dir): likewise
27226 * fs/fat.c (grub_fat_find_dir): likewise
27227 * fs/hfs.c (grub_hfs_dir): likewise
27228 * fs/iso9660.c (grub_iso9660_dir): likewise
27229 * fs/jfs.c (grub_jfs_dir): likewise
27230 * fs/minix.c (grub_minix_dir): likewise
27231 * fs/ntfs.c (grub_ntfs_dir): likewise
27232 * fs/reiserfs.c (grub_reiserfs_dir): likewise
27233 * fs/sfs.c (grub_sfs_dir): likewise
27234 * fs/xfs.c (grub_xfs_dir): likewise
27235 * util/hostfs.c (grub_hostfs_dir): likewise
27236 * lib/datetime.c: moved to ...
27237 * normal/datetime.c: ... moved here
27238 (grub_unixtime2datetime): new function
27239 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
27240 * normal/completion.c (iterate_dir): use new dir syntax
27241 * normal/misc.c (grub_normal_print_device_info): tell the
27242 last modification time of a volume
27243 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
27244 * conf/common.rmk: added lib/datetime.c to ls.mod
27245 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
27246 (normal_mod_SOURCES): likewise
27247 (datetime_mod_SOURCES): Removed lib/datetime.c
27248 * conf/i386-efi.rmk: likewise
27249 * conf/i386-ieee1275.rmk: likewise
27250 * conf/i386-pc.rmk: likewise
27251 * conf/powerpc-ieee1275.rmk: likewise
27252 * conf/sparc64-ieee1275.rmk: likewise
27253 * conf/x86_64-efi.rmk: likewise
27254
27255 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27256
27257 Trim trailing spaces in FAT label and support mtools-like labels
27258
27259 * fs/fat.c (grub_fat_iterate_dir): New function based
27260 on grub_fat_find_dir
27261 (grub_fat_find_dir): use grub_fat_iterate_dir
27262 (grub_fat_label): likewise
27263
27264 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27265
27266 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
27267 and command.h
27268 remove extraneous kernel_elf_HEADERS
27269
27270 2009-04-04 Bean <bean123ch@gnail.com>
27271
27272 * include/grub/util/misc.h: Add dummy function fsync for mingw.
27273
27274 * util/misc.c: Likewise.
27275
27276 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
27277
27278 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
27279 instead of grub_printf.
27280
27281 2009-04-03 Robert Millan <rmh@aybabtu.com>
27282
27283 * loader/i386/linux.c (grub_linux_setup_video): Fill
27284 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
27285 values from `mode info' structure instead of hardcoded
27286 values.
27287
27288 2009-04-01 Pavel Roskin <proski@gnu.org>
27289
27290 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27291 unused now.
27292 * genmk.rb: Likewise.
27293 * configure.ac: Likewise.
27294
27295 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27296
27297 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27298 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27299
27300 2009-04-01 David S. Miller <davem@davemloft.net>
27301
27302 * normal/sparc64/setjmp.S: Fix setjmp implementation.
27303 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
27304 (grub_setjmp): Mark with 'returns_twice' attribute.
27305 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27306 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27307 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27308
27309 2009-04-01 Robert Millan <rmh@aybabtu.com>
27310
27311 Reapply fix from 2008-07-28 which was accidentally reverted; also
27312 perform the same fix to a similar check in same function.
27313
27314 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27315 with the same number are found, just use issue a warning with
27316 grub_dprintf(), as this error has been reported to be non-fatal.
27317
27318 2009-03-31 Pavel Roskin <proski@gnu.org>
27319
27320 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27321 for cross-compilation.
27322
27323 2009-03-30 Robert Millan <rmh@aybabtu.com>
27324
27325 Fix i386-ieee1275 build.
27326
27327 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27328 Remove declaration.
27329
27330 2009-03-30 Pavel Roskin <proski@gnu.org>
27331
27332 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27333 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27334 zero-terminated, rely only on the strlen value. Fix comparison
27335 of strings differing in length.
27336
27337 2009-03-30 Robert Millan <rmh@aybabtu.com>
27338
27339 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27340 checking for abi version. Improve error messages on BIOS to notify
27341 user about `linux16' command.
27342
27343 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27344
27345 Leak fixes
27346
27347 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27348 in case of collision
27349 * disk/scsi.c (grub_scsi_open): free scsi in case of error
27350
27351 2009-03-29 Robert Millan <rmh@aybabtu.com>
27352
27353 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27354 set `vid_mode' accordingly.
27355 (grub_linux_boot): Process `vid_mode' and set video mode.
27356
27357 2009-03-29 Robert Millan <rmh@aybabtu.com>
27358
27359 * util/grub.d/10_linux.in (linux_entry): New function.
27360 Factorize generation of Linux boot entries.
27361
27362 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27363
27364 Make the format of Environment Block plain text. The boot loader
27365 part is not tested well yet.
27366
27367 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27368 (buffer): Removed.
27369 (envblk): Likewise.
27370 (usage): Remove "info" and "clear". Add "unset". Update the
27371 description of "set", as this does not delete variables any
27372 longer.
27373 (create_envblk_file): Complete rewrite.
27374 (open_envblk_file): Likewise.
27375 (cmd_info): Removed.
27376 (cmd_list): Likewise.
27377 (cmd_set): Likewise.
27378 (cmd_clear): Likewise.
27379 (list_variables): New function.
27380 (write_envblk): Likewise.
27381 (set_variables): Likewise.
27382 (unset_variables): Likewise.
27383 (main): Complete rewrite.
27384
27385 * commands/loadenv.c (buffer): Removed.
27386 (envblk): Likewise.
27387 (open_envblk_file): New function.
27388 (read_envblk_file): Complete rewrite.
27389 (grub_cmd_load_env): Likewise.
27390 (grub_cmd_list_env): Likewise.
27391 (struct blocklist): New struct.
27392 (free_blocklists): New function.
27393 (check_blocklists): Likewise.
27394 (write_blocklists): Likewise.
27395 (grub_cmd_save_env): Complete rewrite.
27396
27397 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27398 a plain text signature.
27399 (GRUB_ENVBLK_MAXLEN): Removed.
27400 (struct grub_envblk): Complete rewrite.
27401 (grub_envblk_find): Removed.
27402 (grub_envblk_insert): Likewise.
27403 (grub_envblk_open): New prototype.
27404 (grub_envblk_set): Likewise.
27405 (grub_envblk_delete): Put const to VALUE.
27406 (grub_envblk_iterate): Put const to NAME and VALUE.
27407 (grub_envblk_close): New prototype.
27408 (grub_envblk_buffer): New inline function.
27409 (grub_envblk_size): Likewise.
27410
27411 * lib/envblk.c: Include grub/mm.h.
27412 (grub_env_find): Removed.
27413 (grub_envblk_open): New function.
27414 (grub_envblk_close): Likewise.
27415 (escaped_value_len): Likewise.
27416 (find_next_line): Likewise.
27417 (grub_envblk_insert): Removed.
27418 (grub_envblk_set): New function.
27419 (grub_envblk_delete): Complete rewrite.
27420 (grub_envblk_iterate): Likewise.
27421
27422 2009-03-28 Robert Millan <rmh@aybabtu.com>
27423
27424 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27425 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27426 variables. Use 16-bit loader.
27427 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27428 loader.
27429 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27430 (grub_linux16_boot): ... this. Update all users.
27431 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27432 (grub_linux_boot): ... this. Update all users.
27433
27434 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27435 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27436 commands to `linux16' and `initrd16'.
27437 (GRUB_MOD_FINI(linux)): Rename to ...
27438 (GRUB_MOD_FINI(linux16)): ... this.
27439
27440 2009-03-24 Pavel Roskin <proski@gnu.org>
27441
27442 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27443 not just for compilation.
27444
27445 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Move multiboot helper out of kernel
27448
27449 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27450 `loader/i386/multiboot_helper.S'.
27451 * conf/i386-coreboot.rmk: Likewise
27452 * conf/i386-ieee1275.rmk: Likewise
27453
27454 * kern/i386/loader.S: Move multiboot helpers from here...
27455 * loader/i386/multiboot_helper.S: ...moved here
27456 * include/grub/i386/loader.h: Move declarations of multiboot
27457 helpers from here...
27458 * include/grub/i386/multiboot.h: ...moved here
27459 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27460
27461 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27462
27463 * kern/env.c (grub_env_context_open): Added an argument to specify
27464 whether a new context inherits exported variables from current
27465 one. This is useful when making a sandbox to interpret a config
27466 file.
27467 All callers updated.
27468
27469 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27470
27471 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27472
27473 * kern/env.c (grub_env_context_close): Fix memory leaks.
27474
27475 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27476
27477 * normal/main.c (grub_normal_execute): Added an argument
27478 BATCH to specify if an interactive interface should be provided
27479 after reading a config file.
27480 All callers updated.
27481 (read_command_list): Prevent being executed twice.
27482 (read_fs_list): Likewise.
27483
27484 * include/grub/normal.h (grub_normal_execute): Updated the
27485 prototype.
27486
27487 2009-03-22 Pavel Roskin <proski@gno.org>
27488
27489 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27490 _start.
27491 * kern/i386/pc/startup.S: Likewise.
27492 * kern/i386/efi/startup.S: Likewise.
27493 * kern/i386/ieee1275/startup.S: Likewise.
27494 * kern/i386/coreboot/startup.S: Likewise.
27495 * kern/x86_64/efi/startup.S: Likewise.
27496
27497 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27498 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27499 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27500
27501 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27504
27505 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27506 limit detection.
27507 Use vaddr of correct segment for entry_point.
27508
27509 2009-03-21 Bean <bean123ch@gmail.com>
27510
27511 * commands/blocklist.c: Add include file <grub/command.h>, remove
27512 <grub/normal.h> and <grub/arg.h>.
27513 (grub_cmd_blocklist): Use the new command interface.
27514 (GRUB_MOD_INIT): Likewise.
27515 (GRUB_MOD_FINI): Likewise.
27516 * commands/boot.c: Likewise.
27517 * commands/cat.c: Likewise.
27518 * commands/cmp.c: Likewise.
27519 * commands/configfile.c: Likewise.
27520 * commands/crc.c: Likewise.
27521 * commands/echo.c: Likewise.
27522 * commands/halt.c: Likewise.
27523 * commands/handler.c: Likewise.
27524 * commands/hdparm.c: Likewise.
27525 * commands/help.c: Likewise.
27526 * commands/hexdump.c: Likewise.
27527 * commands/loadenv.c: Likewise.
27528 * commands/ls.c: Likewise.
27529 * commands/lsmmap.c: Likewise.
27530 * commands/lspci.c: Likewise.
27531 * commands/loadenv.c: Likewise.
27532 * commands/read.c: Likewise.
27533 * commands/reboot.c: Likewise.
27534 * commands/search.c: Likewise.
27535 * commands/sleep.c: Likewise.
27536 * commands/test.c: Likewise.
27537 * commands/usbtest.c: Likewise.
27538 * commands/videotest.c: Likewise.
27539 * commands/i386/cpuid.c: Likewise.
27540 * commands/i386/pc/halt.c: Likewise.
27541 * commands/i386/pc/play.c: Likewise.
27542 * commands/i386/pc/pxecmd.c: Likewise.
27543 * commands/i386/pc/vbeinfo.c: Likewise.
27544 * commands/i386/pc/vbetest.c: Likewise.
27545 * commands/ieee1275/suspend.c: Likewise.
27546 * disk/loopback.c: Likewise.
27547 * font/font_cmd.c: Likewise.
27548 * hello/hello.c: Likewise.
27549 * loader/efi/appleloader.c: Likewise.
27550 * loader/efi/chainloader.c: Likewise.
27551 * loader/i386/bsd.c: Likewise.
27552 * loader/i386/efi/linux.c: Likewise.
27553 * loader/i386/ieee1275/linux.c: Likewise.
27554 * loader/i386/linux.c: Likewise.
27555 * loader/i386/pc/chainloader.c: Likewise.
27556 * loader/i386/pc/linux.c: Likewise.
27557 * loader/powerpc/ieee1275/linux.c: Likewise.
27558 * loader/multiboot_loader.c: Likewise.
27559 * term/gfxterm.c: Likewise.
27560 * term/i386/pc/serial.c: Likewise.
27561 * term/terminfo.c: Likewise.
27562
27563 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27564 * term/i386/pc/vga.c: Likewise.
27565 * video/readers/jpeg.c: Likewise.
27566 * video/readers/png.c: Likewise.
27567 * video/readers/tga.c: Likewise.
27568
27569 * util/grub-fstest (cmd_loopback): Removed.
27570 (cmd_blocklist): Likewise.
27571 (cmd_ls): Likewise.
27572 (grub_register_command): Likewise.
27573 (grub_unregister_command): Likewise.
27574 (execute_command): Use grub_command_find to locate command and execute
27575 it.
27576
27577 * include/grub/efi/chainloader.h: Removed.
27578 * loader/efi/chainloader_normal.c: Likewise.
27579 * loader/i386/bsd_normal.c: Likewise.
27580 * loader/i386/pc/chainloader_normal.c: Likewise.
27581 * loader/i386/pc/multiboot_normal.c: Likewise.
27582 * loader/linux_normal.c: Likewise.
27583 * loader/multiboot_loader_normal.c: Likewise.
27584 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27585
27586 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27587 and grub_register_command_p1.
27588
27589 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27590 kern/command.c, lib/arg.c and commands/extcmd.c.
27591 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27592 (minicmd_mod_SOURCES): New variable.
27593 (minicmd_mod_CFLAGS): Likewise.
27594 (minicmd_mod_LDFLAGS): Likewise.
27595 (extcmd_mod_SOURCES): Likewise.
27596 (extcmd_mod_CFLAGS): Likewise.
27597 (extcmd_mod_LDFLAGS): Likewise.
27598 (boot_mod_SOURCES): Removed.
27599 (boot_mod_CFLAGS): Likewise.
27600 (boot_mod_LDFLAGS): Likewise.
27601
27602 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27603 kern/corecmd.c.
27604 (kernel_img_HEADERS): Add command.h.
27605 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27606 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27607 and lib/arg.c.
27608 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27609 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27610 remove the corresponding normal mode command.
27611 (normal_mod_SOURCES): Remove normal/arg.c.
27612 * conf/i386-coreboot.rmk: Likewise.
27613 * conf/i386-efi.rmk: Likewise.
27614 * conf/i386-ieee1275.rmk: Likewise.
27615 * conf/powerpc-ieee1275.rmk: Likewise.
27616 * conf/x86_64-efi.rmk: Likewise.
27617
27618 * include/grub/arg.h: Move from here ...
27619 * include/grub/lib/arg.h: ... to here.
27620
27621 * normal/arg.c: Move from here ...
27622 * lib/arg.c: ... to here.
27623
27624 * commands/extcmd.c: New file.
27625 * commands/minicmd.c: Likewise.
27626 * include/grub/command.h: Likewise.
27627 * include/grub/extcmd.h: Likewise.
27628 * kern/command.c: Likewise.
27629 * kern/corecmd.c: Likewise.
27630
27631 * kern/list.c (grub_list_iterate): Return int instead of void.
27632 (grub_list_insert): New function.
27633 (grub_prio_list_insert): Likewise.
27634
27635 * kern/rescue.c (grub_rescue_command): Removed.
27636 (grub_rescue_command_list): Likewise.
27637 (grub_rescue_register_command): Likewise.
27638 (grub_rescue_unregister_command): Likewise.
27639 (grub_rescue_cmd_boot): Move to minicmd.c
27640 (grub_rescue_cmd_help): Likewise.
27641 (grub_rescue_cmd_info): Likewise.
27642 (grub_rescue_cmd_boot): Likewise.
27643 (grub_rescue_cmd_testload): Likewise.
27644 (grub_rescue_cmd_dump): Likewise.
27645 (grub_rescue_cmd_rmmod): Likewise.
27646 (grub_rescue_cmd_lsmod): Likewise.
27647 (grub_rescue_cmd_exit): Likewise.
27648 (grub_rescue_print_devices): Moved to corecmd.c.
27649 (grub_rescue_print_files): Likewise.
27650 (grub_rescue_cmd_ls): Likewise.
27651 (grub_rescue_cmd_insmod): Likewise.
27652 (grub_rescue_cmd_set): Likewise.
27653 (grub_rescue_cmd_unset): Likewise.
27654 (attempt_normal_mode): Use grub_command_find to get normal module.
27655 (grub_enter_rescue_mode): Use grub_register_core_commands to register
27656 commands, remove grub_rescue_register_command calls.
27657
27658 * normal/command.c (grub_register_command): Removed.
27659 (grub_unregister_command): Likewise.
27660 (grub_command_find): Likewise.
27661 (grub_iterate_commands): Likewise.
27662 (rescue_command): Likewise.
27663 (export_command): Moved to corecmd.c.
27664 (set_command): Removed.
27665 (unset_command): Likewise.
27666 (insmod_command): Likewise.
27667 (rmmod_command): Likewise.
27668 (lsmod_command): Likewise.
27669 (grub_command_init): Likewise.
27670
27671 * normal/completion.c (iterate_command): Use cmd->prio to check for
27672 active command.
27673 (complete_arguments): Use grub_extcmd_t structure to find options.
27674 (grub_normal_do_completion): Change function grub_iterate_commands to
27675 grub_command_iterate.
27676
27677 * normal/execute.c (grub_script_execute_cmd): No need to parse
27678 argument here.
27679
27680 * normal/main.c (grub_dyncmd_dispatcher): New function.
27681 (read_command_list): Register unload commands as dyncmd.
27682 (grub_cmd_normal): Use new command interface, register rescue,
27683 unregister normal at entry, register normal, unregister rescue at exit.
27684
27685 * include/grub/list.h (grub_list_test_t): New type.
27686 (grub_list_iterate): Return int instead of void.
27687 (grub_list_insert): New function.
27688 (GRUB_AS_NAMED_LIST_P): New macro.
27689 (GRUB_AS_PRIO_LIST): Likewise.
27690 (GRUB_AS_PRIO_LIST_P): Likewise.
27691 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27692 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27693 (grub_prio_list): New structure.
27694 (grub_prio_list_insert): New function.
27695 (grub_prio_list_remove): New inline function.
27696
27697 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27698 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27699 (GRUB_COMMAND_FLAG_MENU): Likewise.
27700 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27701 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27702 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27703 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27704 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27705 (grub_command): Likewise.
27706 (grub_register_command): Likewise.
27707 (grub_command_find): Likewise.
27708 (grub_iterate_commands): Likewise.
27709 (grub_command_init): Likewise.
27710 (grub_arg_parse): Likewise.
27711 (grub_arg_show_help): Likewise.
27712
27713 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27714 (grub_rescue_unregister_command): Likewise.
27715
27716 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27717 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27718 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27719
27720 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27721 grub_rescue_cmd_initrd.
27722 * include/grub/i386/loader.h: Likewise.
27723 * include/grub/x86_64/loader.h: Likewise.
27724
27725 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27726
27727 2009-03-21 Bean <bean123ch@gmail.com>
27728
27729 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27730 instead of stat in mingw environment.
27731
27732 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27733
27734 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27735
27736 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27737 AC_CONFIG_LINKS.
27738
27739 2009-03-21 Bean <bean123ch@gmail.com>
27740
27741 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27742 out of range error.
27743
27744 2009-03-18 Michel Dänzer <michel@daenzer.net>
27745
27746 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27747 checking inode flags for EXT4_EXTENTS_FLAG.
27748
27749 2009-03-18 Robert Millan <rmh@aybabtu.com>
27750
27751 * loader/i386/linux.c: Include `<grub/video.h>' and
27752 `<grub/i386/pc/vbe.h>'..
27753 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27754 (grub_linux32_boot): Attempt to configure video settings with
27755 grub_linux_setup_video().
27756 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27757 to avoid grub_console_fini() which would step out of graphical mode
27758 unconditionally.
27759
27760 2009-03-14 Robert Millan <rmh@aybabtu.com>
27761
27762 Fix build on powerpc.
27763 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27764
27765 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27768 background image command.
27769
27770 2009-03-12 Colin D Bennett <colin@gibibit.com>
27771
27772 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27773 (grub_gfxterm_putchar): Extract pairs of identical calls to
27774 draw_cursor out of conditional blocks.
27775
27776 2009-03-11 Pavel Roskin <proski@gnu.org>
27777
27778 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27779 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27780
27781 2009-03-11 Robert Millan <rmh@aybabtu.com>
27782
27783 * loader/i386/multiboot_elfxx.c
27784 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27785
27786 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
27787
27788 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27789 `kern/handler.c'.
27790
27791 2009-03-11 Robert Millan <rmh@aybabtu.com>
27792
27793 * loader/i386/multiboot.c (code_size): New variable.
27794 (grub_multiboot): Define offsets by adding to `code_size' rather
27795 than subtracting from `grub_multiboot_payload_size'. Provide
27796 4-byte alignment to MBI and others by increasing
27797 `boot_loader_name_length' appropriately.
27798
27799 * loader/i386/multiboot_elfxx.c
27800 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27801
27802 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
27803
27804 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27805 `fs/ext2.c'.
27806
27807 2009-03-08 Robert Millan <rmh@aybabtu.com>
27808
27809 Make loader/i386/linux.c usable on i386-pc again.
27810
27811 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27812 memory to heap.
27813 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27814 `#error' stanza.
27815
27816 2009-03-07 Bean <bean123ch@gmail.com>
27817
27818 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27819 allocation.
27820
27821 2009-03-06 Robert Millan <rmh@aybabtu.com>
27822
27823 Fix display issue on terminals with screen size other than 80x25
27824 (e.g. gfxterm with resolution higher than 640x480).
27825
27826 * normal/main.c (grub_normal_init_page): Display title text in a
27827 position relative to the center of the terminal instead of relying
27828 on a hardcoded offset.
27829
27830 2009-03-04 Robert Millan <rmh@aybabtu.com>
27831
27832 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27833 installed.
27834
27835 * Makefile.in (host_kernel): New variable.
27836 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27837 scripts instead of just the windows one.
27838 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27839
27840 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27841
27842 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27843 `kern/handler.c'.
27844 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27845 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27846 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27848 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27849 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27850
27851 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27852
27853 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27854 or if there's no space for the disk label and print the partition number on a
27855 invalid magic.
27856
27857 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27858
27859 * util/misc.c: Include <time.h>.
27860 (grub_millisleep): New function.
27861
27862 2009-03-04 Bean <bean123ch@gmail.com>
27863
27864 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27865 another option -mno-red-zone.
27866
27867 * commands/handler.c: Change module description.
27868
27869 * kern/handler.c: Add missing space at the end of description line.
27870
27871 * kern/list.c: Likewise.
27872
27873 2009-03-03 Robert Millan <rmh@aybabtu.com>
27874
27875 Move more components to the relocation area, and fix mbi pointer
27876 handling to use the destination rather than the origin (thanks to
27877 Vladimir Serbinenko for spotting).
27878
27879 * loader/i386/multiboot.c (mbi_dest): New variable.
27880 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27881 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27882 relocation area.
27883
27884 2009-03-01 Bean <bean123ch@gmail.com>
27885
27886 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
27887 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27888 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27889 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27890
27891 * loader/i386/efi/linux.c (acpi_guid): New variable.
27892 (acpi_guid): Likewise.
27893 (EBDA_SEG_ADDR): New constant.
27894 (LOW_MEM_ADDR): Likewise.
27895 (FAKE_EBDA_SEG): Likewise.
27896 (fake_bios_data): New function.
27897 (grub_linux_boot): Call fake_bios_data.
27898
27899 2009-03-01 Bean <bean123ch@gmail.com>
27900
27901 * commands/terminal.c: Removed.
27902
27903 * commands/handler.c: New file.
27904
27905 * include/grub/list.h: Likewise.
27906
27907 * include/grub/handler.h: Likewise.
27908
27909 * kern/list.c: Likewise.
27910
27911 * kern/handler.c: Likewise.
27912
27913 * kern/term.h: Include header file <grub/handler.h>.
27914 (grub_term_input): Move next field to the beginning.
27915 (grub_term_output): Likewise.
27916 (grub_term_input_class): New variable.
27917 (grub_term_output_class): Likewise.
27918 (grub_term_register_input): Changed to inline function.
27919 (grub_term_register_output): Likewise.
27920 (grub_term_unregister_input): Likewise.
27921 (grub_term_unregister_output): Likewise.
27922 (grub_term_set_current_input): Likewise.
27923 (grub_term_set_current_output): Likewise.
27924 (grub_term_get_current_input): Likewise.
27925 (grub_term_get_current_output): Likewise.
27926 (grub_term_iterate_input): Removed.
27927 (grub_term_iterate_output): Likewise.
27928
27929 * kern/term.c (grub_term_list_input): Removed.
27930 (grub_term_list_output): Likewise.
27931 (grub_term_input_class): New variable.
27932 (grub_term_output_class): Likewise.
27933 (grub_cur_term_input): Change variable as macro.
27934 (grub_cur_term_output): Likewise.
27935 (grub_term_register_input): Removed.
27936 (grub_term_register_output): Likewise.
27937 (grub_term_unregister_input): Likewise.
27938 (grub_term_unregister_output): Likewise.
27939 (grub_term_set_current_input): Likewise.
27940 (grub_term_set_current_output): Likewise.
27941 (grub_term_iterate_input): Likewise.
27942 (grub_term_iterate_output): Likewise.
27943 (grub_term_get_current_input): Likewise.
27944 (grub_term_get_current_output): Likewise.
27945
27946 * util/grub-editenv.c: Include header file <grub/handler.h>.
27947 (grub_term_get_current_input): Removed.
27948 (grub_term_get_current_output): Likewise.
27949 (grub_term_input_class): New variable.
27950 (grub_term_output_class): Likewise.
27951
27952 * util/grub-fstest.c (grub_term_get_current_input): Removed.
27953 (grub_term_get_current_output): Likewise.
27954 (grub_term_input_class): New variable.
27955 (grub_term_output_class): Likewise.
27956
27957 * util/grub-probe.c (grub_term_get_current_input): Removed.
27958 (grub_term_get_current_output): Likewise.
27959 (grub_term_input_class): New variable.
27960 (grub_term_output_class): Likewise.
27961
27962 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
27963 (grub_term_get_current_output): Likewise.
27964 (grub_term_input_class): New variable.
27965 (grub_term_output_class): Likewise.
27966
27967 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
27968 (terminal_mod_SOURCES): Likewise.
27969 (terminal_mod_CFLAGS): Likewise.
27970 (terminal_mod_LDFLAGS): Likewise.
27971
27972 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
27973 handler.c.
27974 (kernel_img_SOURCES): Add list.c and handler.c.
27975 (kernel_img_HEADERS): Add list.h and handler.h.
27976
27977 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27978 handler.c.
27979 (kernel_mod_SOURCES): Add list.c and handler.c.
27980 (kernel_mod_HEADERS): Add list.h and handler.h.
27981
27982 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
27983 handler.c.
27984 (kernel_elf_SOURCES): Add list.c and handler.c.
27985 (kernel_elf_HEADERS): Add list.h and handler.h.
27986
27987 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27988 handler.c.
27989 (kernel_elf_SOURCES): Add list.c and handler.c.
27990 (kernel_elf_HEADERS): Add list.h and handler.h.
27991
27992 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27993 handler.c.
27994 (kernel_mod_SOURCES): Add list.c and handler.c.
27995 (kernel_mod_HEADERS): Add list.h and handler.h.
27996
27997 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27998 handler.c.
27999 (kernel_elf_SOURCES): Add list.c and handler.c.
28000 (kernel_elf_HEADERS): Add list.h and handler.h.
28001
28002 2009-02-27 Robert Millan <rmh@aybabtu.com>
28003
28004 Factorize elf32 / elf64 code in Multiboot loader. This will
28005 prevent it from getting out of sync again.
28006
28007 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
28008 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
28009 grub_multiboot_load_elf64): Move from here ...
28010 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
28011 grub_multiboot_load_elf): ... to here (new file).
28012
28013 2009-02-27 Robert Millan <rmh@aybabtu.com>
28014
28015 * util/grub.d/10_linux.in: Rename "single-user mode" to
28016 "recovery mode".
28017
28018 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
28019
28020 Don't leak in SCSI code.
28021 * disk/scsi.c (grub_scsi_close): free `scsi'.
28022
28023 2009-02-27 Robert Millan <rmh@aybabtu.com>
28024
28025 * loader/i386/pc/multiboot.c: Move from here ...
28026 * loader/i386/multiboot.c: ... to here. Update all users.
28027
28028 2009-02-27 Robert Millan <rmh@aybabtu.com>
28029
28030 Patch from Alexandre Bique <bique.alexandre@gmail.com>
28031 * util/i386/pc/grub-setup.c (setup): Fix directory path.
28032
28033 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
28034
28035 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
28036 b-tree.
28037
28038 2009-02-27 Robert Millan <rmh@aybabtu.com>
28039
28040 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
28041 `0x' qualifier as 0 when base is specified as parameter).
28042
28043 2009-02-24 Bean <bean123ch@gmail.com>
28044
28045 * configure.ac: Check for -mcmodel=large in x86_64 target.
28046
28047 * include/grub/efi/api.h (efi_call_10): New macro.
28048 (efi_wrap_10): New function.
28049
28050 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
28051 (GRUB_PE32_REL_BASED_HIGH): Likewise.
28052 (GRUB_PE32_REL_BASED_LOW): Likewise.
28053 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
28054 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
28055 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
28056 (GRUB_PE32_REL_BASED_SECTION): Likewise.
28057 (GRUB_PE32_REL_BASED_REL): Likewise.
28058 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
28059 (GRUB_PE32_REL_BASED_DIR64): Likewise.
28060 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
28061
28062 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
28063 issue.
28064
28065 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
28066 (efi_wrap_10): New function.
28067
28068 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
28069
28070 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
28071 MB/MBP model (NV chipset).
28072 (devdata_devs): Add devpath_5 to the list.
28073
28074 * load/i386/efi/linux.c (video_base): Remove variable.
28075 (RGB_MASK): New macro.
28076 (RGB_MAGIC): Likewise.
28077 (LINE_MIN): Likewise.
28078 (LINE_MAX): Likewise.
28079 (FBTEST_STEP): Likewise.
28080 (FBTEST_COUNT): Likewise.
28081 (fb_list): New variable.
28082 (grub_find_video_card): Remove function.
28083 (find_framebuf): New function.
28084 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
28085 line length.
28086
28087 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
28088 problem for x86_64.
28089
28090 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
28091
28092 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
28093
28094 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
28095 coding tool name.
28096
28097 2009-02-22 Robert Millan <rmh@aybabtu.com>
28098
28099 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
28100 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
28101 in our relocation, instead of using it directly from heap. Also
28102 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
28103
28104 2009-02-21 Robert Millan <rmh@aybabtu.com>
28105
28106 Implement USB keyboard support (based on patch by Marco Gerards)
28107
28108 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
28109 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
28110 (usb_keyboard_mod_LDFLAGS): New variables.
28111
28112 * term/usb_keyboard.c: New file.
28113
28114 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28115
28116 Corrected wrong declaration
28117
28118 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
28119
28120 2009-02-14 Christian Franke <franke@computer.org>
28121
28122 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
28123 (grub_lspci_iter): Print class code and programming interface byte.
28124
28125 2009-02-14 Christian Franke <franke@computer.org>
28126
28127 * gendistlist.sh: Ignore `.svn' directories.
28128
28129 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
28130
28131 * fs/fat.c: Add 2009 to Copyright line.
28132
28133 2009-02-14 Christian Franke <franke@computer.org>
28134
28135 * commands/hdparm.c: New file. Provides `hdparm' command
28136 which sends ATA commands via grub_disk_ata_pass_through ().
28137
28138 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
28139
28140 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
28141 and <grub/cpu/io.h> to include/grub/ata.h.
28142 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
28143 (GRUB_CDROM_SECTOR_SIZE): Remove.
28144 (GRUB_ATA_*): Move to include/grub/ata.h.
28145 (GRUB_ATAPI_*): Likewise.
28146 (enum grub_ata_commands): Likewise.
28147 (enum grub_ata_timeout_milliseconds): Likewise.
28148 (struct grub_ata_device): Likewise.
28149 (grub_ata_regset): Likewise.
28150 (grub_ata_regget): Likewise.
28151 (grub_ata_regset2): Likewise.
28152 (grub_ata_regget2): Likewise.
28153 (grub_ata_check_ready): Likewise.
28154 (grub_ata_wait_not_busy): Remove static, exported in
28155 include/grub/ata.h.
28156 (grub_ata_wait_drq): Likewise.
28157 (grub_ata_pio_read): Likewise.
28158
28159 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
28160 function for hdparm.mod.
28161
28162 * include/grub/ata.h: New file, contains declarations from
28163 disk/ata.c.
28164 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
28165
28166 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
28167 (grub_disk_ata_pass_through): New exported variable.
28168
28169 * kern/disk.c (grub_disk_ata_pass_through): New variable.
28170
28171 2009-02-13 Colin D Bennett <colin@gibibit.com>
28172
28173 Support multiple fallback entries, and provide an API to support
28174 executing default+fallback menu entries. Renamed the `terminal' menu
28175 viewer to `text'.
28176
28177 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
28178 variable declaration.
28179 (grub_menu_execute_callback): New structure declaration.
28180 (grub_menu_execute_callback_t): New typedef.
28181 (grub_menu_execute_with_fallback): New function declaration.
28182 (grub_menu_get_entry): Likewise.
28183 (grub_menu_get_timeout): Likewise.
28184 (grub_menu_set_timeout): Likewise.
28185
28186 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
28187
28188 * normal/menu.c (grub_wait_after_message): Moved to
28189 `normal/menu_text.c'.
28190 (draw_border): Likewise.
28191 (print_message): Likewise.
28192 (print_entry): Likewise.
28193 (print_entries): Likewise.
28194 (grub_menu_init_page): Likewise.
28195 (get_entry_number): Likewise.
28196 (print_timeout): Likewise.
28197 (run_menu): Likewise.
28198 (grub_menu_execute_entry): Likewise.
28199 (show_text_menu): Likewise.
28200 (get_and_remove_first_entry_number): New function.
28201 (grub_menu_execute_with_fallback): Likewise.
28202 (get_entry): Renamed to ...
28203 (grub_menu_get_entry): .. this and made it global.
28204 (get_timeout): Renamed to ...
28205 (grub_menu_get_timeout): ... this and made it global.
28206 (set_timeout): Renamed to ...
28207 (grub_menu_set_timeout): ... this and made it global.
28208 (grub_normal_terminal_menu_viewer): Renamed to ...
28209 (grub_normal_text_menu_viewer): ... this.
28210
28211 * normal/menu_text.c: New file. Extracted text-menu-specific code
28212 from normal/menu.c.
28213
28214 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
28215 (normal_mod_SOURCES): Likewise.
28216
28217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28218 (normal_mod_SOURCES): Likewise.
28219
28220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28221 (normal_mod_SOURCES): Likewise.
28222
28223 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
28224 (normal_mod_SOURCES): Likewise.
28225
28226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28227 (normal_mod_SOURCES): Likewise.
28228
28229 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28230 (normal_mod_SOURCES): Likewise.
28231
28232 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28233 (normal_mod_SOURCES): Likewise.
28234
28235 2009-02-11 Robert Millan <rmh@aybabtu.com>
28236
28237 * util/grub.d/00_header.in: Update old reference to `font' command.
28238
28239 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
28240
28241 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
28242
28243 Based on patch from Javier Martín.
28244
28245 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
28246
28247 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
28248 to avoid false positives with FAT.
28249 (grub_fstest_SOURCES): Likewise.
28250 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28251 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28253 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28254 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28255 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28256
28257 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
28258
28259 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
28260 bpb.version_specific.fat12_or_fat16.fstype and
28261 bpb.version_specific.fat32.fstype.
28262
28263 2009-02-08 Robert Millan <rmh@aybabtu.com>
28264
28265 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
28266
28267 2009-02-08 Robert Millan <rmh@aybabtu.com>
28268
28269 * Makefile.in (host_os, host_cpu): New variables.
28270 (target_os): Remove. Update all users.
28271
28272 2009-02-08 Marco Gerards <marco@gnu.org>
28273
28274 * Makefile.in (enable_grub_emu_usb): New variable.
28275 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
28276 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
28277 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
28278 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
28279 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
28280 `usbtest.mod' and `usbms.mod'.
28281 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
28282 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
28283 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
28284 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
28285 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
28286 variables.
28287
28288 * disk/usbms.c: New file.
28289
28290 * include/grub/usb.h: Likewise.
28291
28292 * include/grub/usbtrans.h: Likewise.
28293
28294 * include/grub/usbdesc.h: Likewise.
28295
28296 * bus/usb/usbtrans.c: Likewise.
28297
28298 * bus/usb/ohci.c: Likewise.
28299
28300 * bus/usb/uhci.c: Likewise.
28301
28302 * bus/usb/usbhub.c: Likewise.
28303
28304 * bus/usb/usb.c: Likewise.
28305
28306 * commands/usbtest.c: Likewise.
28307
28308 * util/usb.c: Likewise.
28309
28310 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28311
28312 * configure.ac: Test for libusb presence.
28313
28314 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28315
28316 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28317
28318 * kern/mm.c: Add more comments.
28319
28320 2009-02-08 Robert Millan <rmh@aybabtu.com>
28321
28322 Patch from Javier Martín.
28323 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28324 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28325
28326 2009-02-08 Robert Millan <rmh@aybabtu.com>
28327
28328 * fs/cpio.c: Split tar functionality to ...
28329 * fs/tar.c: ... here (new file). Update all users.
28330
28331 2009-02-07 Robert Millan <rmh@aybabtu.com>
28332
28333 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28334 backward-incompatible features.
28335
28336 Based on patch from Javier Martín, with some adjustments.
28337
28338 2009-02-07 Michael Scherer <misc@mandriva.org>
28339
28340 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28341
28342 2009-02-07 Robert Millan <rmh@aybabtu.com>
28343
28344 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28345 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28346 after the RAID stuff.
28347
28348 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28349
28350 Fixes problem when running vbetest command as reported by
28351 Vladimir Serbinenko <phcoder@gmail.com>.
28352
28353 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28354
28355 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
28356
28357 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28358 /dev/md/NpN style mdraid devices.
28359
28360 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28361
28362 * util/unifont2pff.rb: Remove.
28363
28364 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28365
28366 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28367 `#'.
28368
28369 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28370
28371 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28372 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28373 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28374 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28376 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28378
28379 2009-02-02 Christian Franke <franke@computer.org>
28380
28381 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28382
28383 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
28384
28385 * INSTALL: Note that we now require at least autoconf 2.59 and
28386 that LZO is optional.
28387
28388 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28389
28390 Base on patch on bug #24154 created by Tomas Tintera
28391 <trosos@seznam.cz>.
28392
28393 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28394
28395 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28396
28397 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
28398 <bero@arklinux.org>.
28399
28400 * normal/parser.y (script_init): Add missing semicolon.
28401
28402 2009-01-31 Colin D Bennett <colin@gibibit.com>
28403
28404 * normal/main.c: Add include to grub/menu_viewer.h.
28405 (free_menu_entry_classes): Added.
28406 (grub_normal_menu_addentry): Added class property handling.
28407 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28408 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28409
28410 * normal/menu_viewer.c: New file.
28411
28412 * normal/menu.c (run_menu_entry): Renamed to ...
28413 (grub_menu_execute_entry): ... this and made it as global.
28414 (grub_menu_run): Renamed to ...
28415 (show_text_menu): ... this and made it local.
28416 (show_text_menu): Adapt to new function names.
28417 (grub_normal_terminal_menu_viewer): New global variable.
28418
28419 * include/grub/menu.h: New file.
28420
28421 * include/grub/menu_viewer.h: New file.
28422
28423 * include/grub/normal.h: Added include to grub/menu.h.
28424 (grub_menu_entry): Moved to include/grub/menu.h.
28425 (grub_menu_entry_t): Likewise.
28426 (grub_menu): Likewise.
28427 (grub_menu_t): Likewise.
28428 (grub_normal_terminal_menu_viewer): Added.
28429 (grub_menu_execute_entry): Likewise.
28430 (grub_menu_run): Removed.
28431
28432 * DISTLIST: Added include/grub/menu.h.
28433 Added include/grub/menu_viewer.h.
28434 Added normal/menu_viewer.c.
28435
28436 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28437
28438 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28439 arglist for menutitle arguments.
28440
28441 * normal/main.c (grub_normal_menu_addentry): Likewise.
28442
28443 * normal/parser.y (menuentry): Likewise.
28444
28445 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28446
28447 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28448 (grub_script_create_cmdmenu): Likewise.
28449
28450 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28451
28452 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28453 changes.
28454
28455 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28456
28457 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28458
28459 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28460
28461 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28462
28463 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28464
28465 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28466
28467 2009-01-30 Christian Franke <franke@computer.org>
28468
28469 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28470 in option help text.
28471
28472 2009-01-27 Pavel Roskin <proski@gnu.org>
28473
28474 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28475
28476 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28477
28478 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28479
28480 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28481
28482 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28483 unregister function.
28484
28485 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28486
28487 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28488
28489 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28490
28491 * util/grub-mkfont.c (usage): Fix typo.
28492
28493 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28494
28495 2009-01-26 Daniel Mierswa <impulze@impulze.org>
28496
28497 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28498
28499 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28500
28501 * kern/misc.c (grub_strcasecmp): New function.
28502 (grub_strcasecmp): Use grub_size_t instead of int for length.
28503 Fix return value.
28504 * include/grub/misc.h: Update function prototypes.
28505
28506 2009-01-26 Robert Millan <rmh@aybabtu.com>
28507
28508 * configure.ac: Fix cross-compilation check.
28509
28510 2009-01-22 Christian Franke <franke@computer.org>
28511
28512 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28513 (precision) digit string. Allow `.format2' without `format1' (width).
28514 Limit input chars for `%s' output to `format2' if specified. This is
28515 compatible with standard printf ().
28516
28517 2009-01-22 Christian Franke <franke@computer.org>
28518
28519 * disk/ata.c (grub_ata_wait_status): Replace by ...
28520 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28521 other status bits may be invalid while BSY is asserted.
28522 (grub_ata_check_ready): New function.
28523 (grub_ata_cmd): Removed.
28524 (grub_ata_wait_drq): New function.
28525 (grub_ata_strncpy): Remove inline.
28526 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28527 and error check now done by grub_ata_wait_drq ().
28528 (grub_ata_pio_write): Likewise.
28529 (grub_atapi_identify): Set DEV before check for !BSY. Use
28530 grub_ata_wait_drq () to wait for data.
28531 (grub_ata_device_initialize): Add status register check to
28532 detect missing SATA slave devices. Add debug messages.
28533 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28534 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28535 transfer loop by grub_ata_pio_write ().
28536 (grub_ata_identify): Set DEV before check for !BSY. Use
28537 grub_ata_wait_drq () to wait for data.
28538 (grub_ata_setaddress): Set DEV before check for !BSY.
28539 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28540 read/write in one loop. Fix invalid command on write. Fix incomplete
28541 command on (size % batch) == 0. Add missing error check after write of
28542 last block. Add debug messages.
28543 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28544
28545 2009-01-19 Christian Franke <franke@computer.org>
28546
28547 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28548 (GRUB_ATAPI_IREASON_*): Likewise.
28549 (grub_ata_pio_write): Fix timeout error return.
28550 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28551 (grub_atapi_wait_drq): New function.
28552 (grub_atapi_packet): New parameter `size'.
28553 Use grub_atapi_wait_drq () and direct write instead of
28554 grub_ata_pio_write ().
28555 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28556 reads the number of bytes requested by the device for each DRQ
28557 assertion.
28558 (grub_atapi_write): Remove old implementation, return not
28559 implemented instead.
28560
28561 2009-01-19 Christian Franke <franke@computer.org>
28562
28563 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28564 of 512 to calculate data size.
28565 (grub_scsi_read12): Likewise.
28566 (grub_scsi_write10): Likewise.
28567 (grub_scsi_write12): Likewise.
28568 (grub_scsi_read): Adjust size according to blocksize.
28569 Add checks for invalid blocksize and unaligned transfer.
28570
28571 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28572
28573 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28574
28575 * term/gfxterm.c (write_char): Fix background rendering for wide
28576 width glyphs.
28577
28578 2009-01-19 Robert Millan <rmh@aybabtu.com>
28579
28580 * config.guess: Update to latest version from config git.
28581 * config.sub: Likewise.
28582
28583 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
28584
28585 * Makefile.in: Change font compilation to use new grub-mkfont instead
28586 of java version.
28587
28588 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28589 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28590 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28591 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28592 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28593 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28594 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28595 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28596 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28597
28598 2009-01-16 Christian Franke <franke@computer.org>
28599
28600 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28601 (enum grub_ata_timeout_milliseconds): New enum.
28602 (grub_ata_wait_status): Add parameter milliseconds.
28603 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28604 recovery from timed-out commands.
28605 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28606 return grub_errno instead of REG_ERROR.
28607 (grub_ata_pio_write): Add parameter milliseconds.
28608 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28609 Pass milliseconds to grub_ata_wait_status () and
28610 grub_ata_pio_read ().
28611 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28612 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28613 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28614 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28615 It is not suitable for device detection, because DEV bit is ignored,
28616 the command may run too long, and not all devices set the signature
28617 properly.
28618 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28619 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28620 Fix device selection, DEV bit must be set first to address the registers
28621 of the correct device.
28622 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28623 grub_ata_pio_read/write ().
28624 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28625 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28626
28627 2009-01-13 Carles Pina i Estany <carles@pina.cat>
28628
28629 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28630
28631 2009-01-13 Bean <bean123ch@gmail.com>
28632
28633 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28634
28635 2009-01-13 Bean <bean123ch@gmail.com>
28636
28637 * Makefile.in: (enable_grub_mkfont): New variable.
28638 (freetype_cflags): Likewise.
28639 (freetype_libs): Likewise.
28640
28641 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28642 (grub_mkfont_SOURCES): New variable.
28643 (grub_mkfont_CFLAGS): Likewise.
28644 (grub_mkfont_LDFLAGS): Likewise.
28645
28646 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28647 library if `--enable-grub-mkfont' is requested.
28648 (enable_grub_mkfont): New variable.
28649 (freetype_cflags): Likewise.
28650 (freetype_libs): Likewise.
28651
28652 * util/grub-mkfont.c: New file.
28653
28654 2009-01-12 Christian Franke <franke@computer.org>
28655
28656 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28657 mode check. Fix setting of compat_use[].
28658
28659 2009-01-10 Robert Millan <rmh@aybabtu.com>
28660
28661 Update a few copyright years which we forgot to do in 2008 (only for
28662 files whose changes made in 2008 were copyright-significant)
28663
28664 * Makefile.in: Add 2008 to Copyright line.
28665 * disk/ieee1275/ofdisk.c: Likewise.
28666 * disk/efi/efidisk.c: Likewise.
28667 * kern/dl.c: Likewise.
28668 * kern/sparc64/ieee1275/init.c: Likewise.
28669 * kern/mm.c: Likewise.
28670 * kern/efi/mm.c: Likewise.
28671 * boot/i386/pc/boot.S: Likewise.
28672 * genfslist.sh: Likewise.
28673 * fs/iso9660.c: Likewise.
28674 * fs/hfs.c: Likewise.
28675 * fs/jfs.c: Likewise.
28676 * fs/minix.c: Likewise.
28677 * fs/ufs.c: Likewise.
28678 * gensymlist.sh.in: Likewise.
28679 * genkernsyms.sh.in: Likewise.
28680 * include/grub/misc.h: Likewise.
28681 * include/grub/types.h: Likewise.
28682 * include/grub/symbol.h: Likewise.
28683 * include/grub/elf.h: Likewise.
28684 * include/grub/kernel.h: Likewise.
28685 * include/grub/disk.h: Likewise.
28686 * include/grub/dl.h: Likewise.
28687 * include/grub/i386/linux.h: Likewise.
28688 * include/grub/i386/pc/biosdisk.h: Likewise.
28689 * include/grub/efi/api.h: Likewise.
28690 * include/grub/efi/pe32.h: Likewise.
28691 * include/grub/util/misc.h: Likewise.
28692 * normal/execute.c: Likewise.
28693 * normal/arg.c: Likewise.
28694 * normal/completion.c: Likewise.
28695 * normal/lexer.c: Likewise.
28696 * normal/parser.y: Likewise.
28697 * normal/misc.c: Likewise.
28698 * commands/i386/pc/vbeinfo.c: Likewise.
28699 * commands/hexdump.c: Likewise.
28700 * commands/terminal.c: Likewise.
28701 * commands/ls.c: Likewise.
28702 * commands/help.c: Likewise.
28703 * partmap/pc.c: Likewise.
28704 * loader/efi/chainloader.c: Likewise.
28705 * loader/multiboot_loader.c: Likewise.
28706 * loader/i386/pc/multiboot2.c: Likewise.
28707 * term/efi/console.c: Likewise.
28708 * term/i386/pc/serial.c: Likewise.
28709 * util/lvm.c: Likewise.
28710 * util/console.c: Likewise.
28711 * util/i386/efi/grub-mkimage.c: Likewise.
28712 * util/raid.c: Likewise.
28713
28714 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28715
28716 * commands/videotest.c: Removed include to grub/machine/memory.h.
28717
28718 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28719 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28720 (video_mod_SOURCES): Removed.
28721 (video_mod_CFLAGS): Likewise.
28722 (video_mod_LDFLAGS): Likewise.
28723 (gfxterm_mod_SOURCES): Likewise.
28724 (gfxterm_mod_CFLAGS): Likewise.
28725 (gfxterm_mod_LDFLAGS): Likewise.
28726 (videotest_mod_SOURCES): Likewise.
28727 (videotest_mod_CFLAGS): Likewise.
28728 (videotest_mod_LDFLAGS): Likewise.
28729 (bitmap_mod_SOURCES): Likewise.
28730 (bitmap_mod_CFLAGS): Likewise.
28731 (bitmap_mod_LDFLAGS): Likewise.
28732 (tga_mod_SOURCES): Likewise.
28733 (tga_mod_CFLAGS): Likewise.
28734 (tga_mod_LDFLAGS): Likewise.
28735 (jpeg_mod_SOURCES): Likewise.
28736 (jpeg_mod_CFLAGS): Likewise.
28737 (jpeg_mod_LDFLAGS): Likewise.
28738 (png_mod_SOURCES): Likewise.
28739 (png_mod_CFLAGS): Likewise.
28740 (png_mod_LDFLAGS): Likewise.
28741
28742 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28743 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28744 (video_mod_SOURCES): Added.
28745 (video_mod_CFLAGS): Likewise.
28746 (video_mod_LDFLAGS): Likewise.
28747 (videotest_mod_SOURCES): Likewise.
28748 (videotest_mod_CFLAGS): Likewise.
28749 (videotest_mod_LDFLAGS): Likewise.
28750 (bitmap_mod_SOURCES): Likewise.
28751 (bitmap_mod_CFLAGS): Likewise.
28752 (bitmap_mod_LDFLAGS): Likewise.
28753 (tga_mod_SOURCES): Likewise.
28754 (tga_mod_CFLAGS): Likewise.
28755 (tga_mod_LDFLAGS): Likewise.
28756 (jpeg_mod_SOURCES): Likewise.
28757 (jpeg_mod_CFLAGS): Likewise.
28758 (jpeg_mod_LDFLAGS): Likewise.
28759 (png_mod_SOURCES): Likewise.
28760 (png_mod_CFLAGS): Likewise.
28761 (png_mod_LDFLAGS): Likewise.
28762 (gfxterm_mod_SOURCES): Likewise.
28763 (gfxterm_mod_CFLAGS): Likewise.
28764 (gfxterm_mod_LDFLAGS): Likewise.
28765
28766 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28767 grub/machine/console.h.
28768
28769 2009-01-04 Jerone Young <jerone@gmail.com>
28770
28771 Make on screen instructions clearer
28772
28773 Based on patch created by Jidanni <jidanni@jidanni.org>
28774
28775 * normal/menu.c: print clearer instructions on the screen
28776
28777 2009-01-02 Colin D Bennett <colin@gibibit.com>
28778
28779 New font engine.
28780
28781 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28782 build system and fixed gfxterm.c to work with different sized fonts.
28783
28784 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
28785
28786 * configure: Re-generated.
28787
28788 * DISTLIST: Removed font/manager.c.
28789 Added font/font.c.
28790 Added font/font_cmd.c.
28791
28792 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28793 compilation.
28794
28795 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
28796
28797 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
28798
28799 * kern/term.c: Changed users of grub_utf8_to_ucs4.
28800
28801 * normal/menu.c: Likewise.
28802
28803 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28804 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
28805
28806 * include/grub/font.h: Replaced with new file.
28807
28808 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28809 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28810 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28811 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28812 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
28813 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
28814 fg_red, fg_green, fg_blue, fg_alpha.
28815 (grub_video_adapter): Removed blit_glyph.
28816 (grub_video_blit_glyph): Removed.
28817
28818 * font/manager.c: Removed file.
28819
28820 * font/font.c: New file.
28821
28822 * font/font_cmd.c: Likewise.
28823
28824 * video/video.c (grub_video_blit_glyph): Removed.
28825
28826 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28827 (grub_video_vbe_map_rgba): Likewise.
28828 (grub_video_vbe_unmap_color_int): Likewise.
28829 (grub_video_vbe_blit_glyph): Removed.
28830 (grub_video_vbe_adapter): Removed blit_glyph.
28831
28832 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28833 (get_pixel): Likewise.
28834 (set_pixel): Likewise.
28835
28836 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
28837
28838 * term/gfxterm.c: Adapted to new font engine.
28839
28840 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
28841
28842 * term/i386/pc/vga.c: Likewise.
28843
28844 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
28845
28846 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28847
28848 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28849
28850 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28851
28852 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28853
28854 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28855
28856 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28857
28858 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28859
28860 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28861
28862 * util/grub.d/00_header.in: Changed to use new loadfont command.
28863
28864 * util/grub-mkconfig_lib.in: Changed font extension.
28865
28866 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
28867
28868 * util/getroot.c (grub_util_get_grub_dev): Add support for
28869 /dev/md/dNNpNN style partitionable mdraid devices.
28870
28871 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
28872
28873 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28874 at a time limit of the PXE TFTP API correctly.
28875 (grub_pxefs_close): Likewise.
28876
28877 2008-11-29 Robert Millan <rmh@aybabtu.com>
28878
28879 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
28880 grub_ata_device_initialize() calls.
28881
28882 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
28883
28884 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28885 iteration failed.
28886 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28887
28888 2008-11-28 Robert Millan <rmh@aybabtu.com>
28889
28890 Fix build on powerpc-ieee1275. Based on patch created by
28891 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28892 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28893 `kern/ieee1275/mmap.c'.
28894 * include/grub/powerpc/ieee1275/memory.h: New file.
28895
28896 Provide grub-install on coreboot.
28897 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28898 (grub_install_SOURCES): New variable.
28899 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28900 usable on coreboot.
28901
28902 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
28903
28904 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28905 to `grub_term_input_t'.
28906 (grub_term_get_current_output): Change return type to
28907 `grub_term_output_t'.
28908
28909 2008-11-22 Robert Millan <rmh@aybabtu.com>
28910
28911 Fix breakage on coreboot due to declaration mismatch.
28912 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
28913 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
28914 grub_vga_text_cls().
28915
28916 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
28917 comments. Avoid copying one more byte than necessary (just in case).
28918
28919 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
28920 to 0x200000 (avoids trouble with some OFW implementations, and matches
28921 with the one in Yaboot).
28922 Reported by Manoel Abranches
28923
28924 2008-11-20 Robert Millan <rmh@aybabtu.com>
28925
28926 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
28927 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
28928
28929 * util/grub-mkconfig_lib.in (grub_warn): New function.
28930 (convert_system_path_to_grub_path): Use grub_warn() when issuing
28931 warnings, to obtain consistent formatting.
28932 * util/grub.d/00_header.in: Likewise.
28933 * util/update-grub_lib.in: Likewise.
28934
28935 * loader/i386/linux.c (allocate_pages): Fix a warning.
28936 Move comment text to `#error' stanza.
28937
28938 Harmonize ieee1275's grub_available_iterate() with the generic
28939 grub_machine_mmap_iterate() interface (fixes a recently-introduced
28940 build problem on i386-ieee1275):
28941 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
28942 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
28943 parameter `type'. Update all users of this function.
28944 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28945 `kern/ieee1275/mmap.c'.
28946 * kern/ieee1275/init.c
28947 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
28948 with ...
28949 (grub_machine_mmap_iterate): ... this.
28950 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
28951 return type to `grub_err_t'. Update all implementations of this
28952 function prototype.
28953 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
28954 Likewise.
28955
28956 Add `lsmmap' command (lists firmware-provided memory map):
28957 * commands/lsmmap.c: New file.
28958 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
28959 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
28960 variables.
28961 * conf/powerpc-ieee1275.rmk: Likewise.
28962 * conf/i386-coreboot.rmk: Likewise.
28963 * conf/i386-ieee1275.rmk: Likewise.
28964
28965 2008-11-19 Robert Millan <rmh@aybabtu.com>
28966
28967 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
28968 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
28969 constraints to initrd allocation (based on code from
28970 loader/i386/pc/linux.c). Without them, initrd was allocated too high
28971 for Linux to find it.
28972
28973 2008-11-14 Robert Millan <rmh@aybabtu.com>
28974
28975 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
28976 order to cope with duplicate slashes.
28977
28978 2008-11-14 Robert Millan <rmh@aybabtu.com>
28979
28980 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
28981 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
28982 don't want to mess with lower memory, because it is used in the Linux
28983 loader.
28984
28985 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
28986 an appropriate place in lower memory, between 0x10000 and 0x90000,
28987 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
28988 is in our heap (probably as a result of it being corrupted during
28989 decompression). Add #error instance with comment to explain why this
28990 loader isn't currently usable on PC/BIOS.
28991
28992 2008-11-14 Robert Millan <rmh@aybabtu.com>
28993
28994 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
28995 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
28996
28997 2008-11-12 Robert Millan <rmh@aybabtu.com>
28998
28999 Make loader/i386/linux.c buildable on i386-pc (although disabled).
29000
29001 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
29002 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
29003 from here ...
29004 * include/grub/i386/pc/memory.h: ... to here.
29005
29006 2008-11-12 Robert Millan <rmh@aybabtu.com>
29007
29008 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
29009 split).
29010
29011 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
29012 (grub_console_cur_color, grub_console_real_putchar)
29013 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29014 (grub_console_setcolorstate, grub_console_setcolor)
29015 (grub_console_getcolor): Move from here ...
29016 * include/grub/i386/vga_common.h: ... to here (new file).
29017
29018 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
29019 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
29020 `<grub/i386/io.h>'.
29021 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
29022 `<grub/i386/vga_common.h>'.
29023
29024 2008-11-12 Robert Millan <rmh@aybabtu.com>
29025
29026 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
29027 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
29028 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
29029 variables.
29030 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29031 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
29032
29033 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
29034 grub_console_init() with call to grub_vga_text_init().
29035 (grub_machine_fini): Replace call to
29036 grub_console_fini() with call to grub_vga_text_fini() and
29037 grub_at_keyboard_fini().
29038
29039 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
29040 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
29041 (grub_console_setcolorstate, grub_console_setcolor)
29042 (grub_console_getcolor): New function prototypes.
29043
29044 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
29045 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
29046 (grub_vga_text_setcursor): Static-ize.
29047 (grub_vga_text_term): New structure.
29048 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
29049
29050 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
29051 (grub_console_cur_color, grub_console_standard_color)
29052 (grub_console_normal_color, grub_console_highlight_color)
29053 (map_char, grub_console_putchar, grub_console_getcharwidth)
29054 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
29055 (grub_console_getcolor): Move from here ...
29056 * term/i386/vga_common.c: ... to here (same function names).
29057
29058 2008-11-12 Robert Millan <rmh@aybabtu.com>
29059
29060 Use newly-added Multiboot support in coreboot.
29061
29062 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
29063 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
29064
29065 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
29066 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
29067 (codestart): Store the MBI in `startup_multiboot_info' when we're
29068 being loaded using Multiboot.
29069
29070 * kern/i386/coreboot/init.c (grub_machine_init): Move
29071 grub_at_keyboard_init() call to beginning of function (useful for
29072 debugging). Call grub_machine_mmap_init() before attempting to use
29073 grub_machine_mmap_iterate().
29074 (grub_lower_mem, grub_upper_mem): Move from here ...
29075 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
29076 here (new file).
29077
29078 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
29079 function prototype.
29080
29081 2008-11-12 Robert Millan <rmh@aybabtu.com>
29082
29083 Fix a regression introduced by the at_keyboard.mod split. Because
29084 some terminals are default on some platforms and non-default on
29085 others, the first terminal being registered determines which is
29086 going to be default.
29087
29088 * kern/term.c (grub_term_register_input): If this is the first
29089 terminal being registered, set it as the current one.
29090 (grub_term_register_output): Likewise.
29091
29092 * term/efi/console.c (grub_console_init): Do not call
29093 grub_term_set_current_output() or grub_term_set_current_input().
29094 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
29095 * term/i386/pc/console.c (grub_console_init): Likewise.
29096 (grub_console_fini): Do not call grub_term_set_current_input()
29097 (but leave grub_term_set_current_output() to restore text mode).
29098
29099 2008-11-10 Robert Millan <rmh@aybabtu.com>
29100
29101 * util/grub.d/00_header.in: Add backward compatibility check for
29102 versions of terminal.mod that don't understand `terminal_input' or
29103 `terminal_output'.
29104
29105 2008-11-09 Robert Millan <rmh@aybabtu.com>
29106
29107 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
29108 `terminal_input' / `terminal_output', not `terminal'.
29109
29110 2008-11-08 Robert Millan <rmh@aybabtu.com>
29111
29112 * Makefile.in (include_DATA): Fix srcdir=. assumption.
29113 (DISTCLEANFILES): Add `build_env.mk'.
29114
29115 2008-11-08 Robert Millan <rmh@aybabtu.com>
29116
29117 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
29118 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29119 members. Update all users.
29120 * util/console.c (grub_ncurses_term): Split in ...
29121 (grub_ncurses_term_input): ... this, and ...
29122 (grub_ncurses_term_output): ... this. Update all users.
29123 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
29124
29125 2008-11-08 Robert Millan <rmh@aybabtu.com>
29126
29127 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
29128 (PKGDATA): Add $(pkgdata_SRCDIR).
29129 (pkglib_BUILDDIR): New variable.
29130 (pkgdata_SRCDIR): New variable.
29131 (build_env.mk): New target.
29132 (include_DATA): New variable.
29133 (install-local): Install $(include_DATA) files in $(includedir).
29134
29135 2008-11-07 Pavel Roskin <proski@gnu.org>
29136
29137 * gendistlist.sh: Use C locale for sorting to ensure consistent
29138 output on all systems.
29139
29140 * util/grub.d/00_header.in: Remove incorrect space before
29141 "serial".
29142
29143 2008-11-07 Robert Millan <rmh@aybabtu.com>
29144
29145 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
29146 per specification.
29147 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
29148 * loader/multiboot_loader.c (find_multi_boot2_header): New function
29149 (based on find_multi_boot1_header).
29150 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
29151 using find_multi_boot2_header(), and abort if neither Multiboot or
29152 Multiboot headers were found.
29153
29154 2008-11-07 Robert Millan <rmh@aybabtu.com>
29155
29156 Modularize at_keyboard.mod:
29157
29158 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
29159 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29160 (at_keyboard_mod_LDFLAGS): New variables.
29161
29162 Actual terminal split:
29163
29164 * include/grub/term.h (struct grub_term): Split in ...
29165 (struct grub_term_input): ... this, and ...
29166 (struct grub_term_output): ... this. Update all users.
29167 (grub_term_set_current): Split in ...
29168 (grub_term_set_current_input): ... this, and ...
29169 (grub_term_set_current_output): ... this.
29170 (grub_term_get_current): Split in ...
29171 (grub_term_get_current_input): ... this, and ...
29172 (grub_term_get_current_output): ... this.
29173 (grub_term_register): Split in ...
29174 (grub_term_register_input): ... this, and ...
29175 (grub_term_register_output): ... this.
29176 (grub_term_unregister): Split in ...
29177 (grub_term_unregister_input): ... this, and ...
29178 (grub_term_unregister_output): ... this.
29179 (grub_term_iterate): Split in ...
29180 (grub_term_iterate_input): ... this, and ...
29181 (grub_term_iterate_output): ... this.
29182
29183 * kern/term.c (grub_term_list): Split in ...
29184 (grub_term_list_input): ... this, and ...
29185 (grub_term_list_output): ... this. Update all users.
29186 (grub_cur_term): Split in ...
29187 (grub_cur_term_input): ... this, and ...
29188 (grub_cur_term_output): ... this. Update all users.
29189 (grub_term_set_current): Split in ...
29190 (grub_term_set_current_input): ... this, and ...
29191 (grub_term_set_current_output): ... this.
29192 (grub_term_get_current): Split in ...
29193 (grub_term_get_current_input): ... this, and ...
29194 (grub_term_get_current_output): ... this.
29195 (grub_term_register): Split in ...
29196 (grub_term_register_input): ... this, and ...
29197 (grub_term_register_output): ... this.
29198 (grub_term_unregister): Split in ...
29199 (grub_term_unregister_input): ... this, and ...
29200 (grub_term_unregister_output): ... this.
29201 (grub_term_iterate): Split in ...
29202 (grub_term_iterate_input): ... this, and ...
29203 (grub_term_iterate_output): ... this.
29204
29205 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
29206 a check for input and one for output (and only attempt to get keys
29207 from user when input works).
29208
29209 * util/grub-probe.c (grub_term_get_current): Split in ...
29210 (grub_term_get_current_input): ... this, and ...
29211 (grub_term_get_current_output): ... this.
29212 * util/grub-fstest.c: Likewise.
29213 * util/i386/pc/grub-setup.c: Likewise.
29214 * util/grub-editenv.c: Likewise.
29215
29216 Portability adjustments:
29217
29218 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
29219 `term/i386/pc/at_keyboard.c'.
29220 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
29221 grub_keyboard_controller_init() (now handled by terminal .init).
29222 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
29223 grub_at_keyboard_init().
29224 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
29225 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
29226 at_keyboard.mod via input terminal interface).
29227 * include/grub/i386/coreboot/console.h: Convert into a stub for
29228 `<grub/i386/pc/console.h>'.
29229
29230 Migrate full terminals to new API:
29231
29232 * term/efi/console.c (grub_console_term): Split into ...
29233 (grub_console_term_input): ... this, and ...
29234 (grub_console_term_output): ... this. Update all users.
29235 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
29236 (grub_ofconsole_init): Split into ...
29237 (grub_ofconsole_init_input): ... this, and ...
29238 (grub_ofconsole_init_output): ... this.
29239 (grub_ofconsole_term): Split into ...
29240 (grub_ofconsole_term_input): ... this, and ...
29241 (grub_ofconsole_term_output): ... this. Update all users.
29242 * term/i386/pc/serial.c (grub_serial_term): Split into ...
29243 (grub_serial_term_input): ... this, and ...
29244 (grub_serial_term_output): ... this. Update all users.
29245 * term/i386/pc/console.c (grub_console_term): Split into ...
29246 (grub_console_term_input): ... this, and ...
29247 (grub_console_term_output): ... this. Update all users.
29248 (grub_console_term_input): Only enable it on PC/BIOS platform.
29249 (grub_console_init): Remove grub_keyboard_controller_init() call.
29250
29251 Migrate input terminals to new API:
29252
29253 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
29254 `i386' and `i386/pc' to enable build on x86_64 (this driver is
29255 i386-specific anyway).
29256 (grub_console_checkkey): Rename to ...
29257 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
29258 users.
29259 (grub_keyboard_controller_orig): New variable.
29260 (grub_console_getkey): Rename to ...
29261 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
29262 users.
29263 (grub_keyboard_controller_init): Static-ize. Save original
29264 controller value so that it can be restored ...
29265 (grub_keyboard_controller_fini): ... here (new function).
29266 (grub_at_keyboard_term): New structure.
29267 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
29268 functions.
29269
29270 Migrate output terminals to new API:
29271
29272 * term/i386/pc/vga.c (grub_vga_term): Change type to
29273 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29274 members. Update all users.
29275 * term/gfxterm.c (grub_video_term): Change type to
29276 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
29277 members. Update all users.
29278 * include/grub/i386/pc/console.h (grub_console_checkkey)
29279 (grub_console_getkey): Do not export (no longer needed by gfxterm,
29280 etc).
29281
29282 Migrate `terminal' command and userland tools to new API:
29283
29284 * commands/terminal.c (grub_cmd_terminal): Split into ...
29285 (grub_cmd_terminal_input): ... this, and ...
29286 (grub_cmd_terminal_output): ... this.
29287 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29288 `terminal_input' and `terminal_output'.
29289 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29290 `terminal_input' / `terminal_output' API.
29291 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29292 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29293 provided ${GRUB_TERMINAL}, convert it).
29294
29295 2008-11-04 Robert Millan <rmh@aybabtu.com>
29296
29297 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29298 for FreeBSD.
29299 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29300
29301 2008-11-03 Bean <bean123ch@gmail.com>
29302
29303 * kern/elf.c (grub_elf32_load): Revert to previous code.
29304 (grub_elf64_load): Likewise.
29305
29306 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29307
29308 2008-11-01 Robert Millan <rmh@aybabtu.com>
29309
29310 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29311 (TARGET_CPPFLAGS): Likewise.
29312 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29313
29314 2008-11-01 Carles Pina i Estany <carles@pina.cat>
29315
29316 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29317
29318 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29319
29320 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29321 addition of objects until the code is not going to be able to fail.
29322
29323 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29324
29325 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29326 (add a missing NULL check, and correct them by moving the pointer
29327 operations after the actual check).
29328
29329 2008-10-29 Robert Millan <rmh@aybabtu.com>
29330
29331 * util/i386/pc/grub-install.in: Handle empty string as output from
29332 make_system_path_relative_to_its_root().
29333
29334 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29335
29336 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29337 circular metadata worst case scenario. If the metadata is circular
29338 then copy the wrap in place.
29339 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29340 project lib/format_text/layout.h
29341 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29342
29343 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29344
29345 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
29346
29347 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29348
29349 * util/update-grub_lib.in: Mention filename in warning message.
29350
29351 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29352
29353 * NEWS: Update for rename of update-grub to grub-mkconfig.
29354
29355 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29356
29357 * util/update-grub_lib.in: Copy to ...
29358 * util/grub-mkconfig_lib.in: ... this. Update all users.
29359 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
29360 * util/update-grub.in: Rename to ...
29361 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29362 option. Add `--output' option to allow users to specify the generated
29363 configuration file. Default to stdout.
29364 (update_grub_dir): Rename to ...
29365 (grub_mkconfig_dir): ... this.
29366 (grub_cfg): Default to an empty string.
29367 * conf/common.rmk (update-grub): Rename to ...
29368 (grub-mkconfig): ... this.
29369 (update-grub_lib): Copy to ...
29370 (grub-mkconfig_lib): ... this.
29371 (update-grub_SCRIPTS): Copy to ...
29372 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29373 (update-grub_DATA): Rename to ...
29374 (grub-mkconfig_DATA): ... this.
29375
29376 2008-09-28 Robert Millan <rmh@aybabtu.com>
29377
29378 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29379 to `modified'. Add the real `created' field.
29380 (grub_iso9660_uuid): Use `modified' rather than `created' for
29381 constructing the UUID.
29382
29383 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
29384
29385 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29386 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29387
29388 2008-09-28 Bean <bean123ch@gmail.com>
29389
29390 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29391 Thanks to Christian Franke for finding this bug.
29392
29393 2008-09-25 Robert Millan <rmh@aybabtu.com>
29394
29395 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29396 instances of grub_util_get_disk_name() (see previous commit).
29397
29398 2008-09-25 Robert Millan <rmh@aybabtu.com>
29399
29400 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29401 `util/i386/get_disk_name.c'.
29402 * conf/i386-efi.rmk: Likewise.
29403 * conf/x86_64-efi.rmk: Likewise.
29404 * conf/i386-coreboot.rmk: Likewise.
29405 * conf/i386-ieee1275.rmk: Likewise.
29406 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29407 `util/ieee1275/get_disk_name.c'.
29408 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29409 * util/ieee1275/get_disk_name.c: Remove file.
29410 * util/i386/get_disk_name.c: Remove file.
29411 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29412 "hd%d" for device.map entries, rather than using
29413 grub_util_get_disk_name().
29414
29415 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29416
29417 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29418 warning.
29419 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29420
29421 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29422
29423 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29424 Changed to 0x5100.
29425 (GRUB_TERM_PPAGE): Changed to 0x4900.
29426
29427 2008-09-24 Robert Millan <rmh@aybabtu.com>
29428
29429 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29430 macros (they were i386-pc specific).
29431 * include/grub/sparc64/ieee1275/console.h: Likewise.
29432 * include/grub/efi/console.h: Likewise.
29433
29434 2008-09-22 Bean <bean123ch@gmail.com>
29435
29436 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29437 resident and in attribute list.
29438
29439 * include/grub/ntfs.h (BMP_LEN): Removed.
29440
29441 2008-09-22 Bean <bean123ch@gmail.com>
29442
29443 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
29444 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29445
29446 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29447 error occurs, as grub_disk_open will call grub_disk_close, which will
29448 call p->close (scsi).
29449
29450 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29451
29452 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29453 (AC_PREREQ): Bumped to 2.59.
29454 (AC_TRY_COMPILE): Replace obsolete macro with ...
29455 (AC_COMPILE_IFELSE): ... this.
29456 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29457 (AC_LINK_IFELSE): ... this.
29458
29459 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29460
29461 * autogen.sh: Add a call to `gendistlist.sh'.
29462
29463 2008-09-19 Christian Franke <franke@computer.org>
29464
29465 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29466 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29467 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29468 Export __enable_execute_stack() to modules.
29469 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29470 New function.
29471
29472 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29473
29474 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29475 Sort the list.
29476
29477 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29478
29479 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
29480 #include <grub/util/hostdisk.h>.
29481
29482 2008-09-08 Robert Millan <rmh@aybabtu.com>
29483
29484 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29485 segments when their filesz is zero (grub_file_read() interprets
29486 zero-size as "read until EOF", which results in memory corruption).
29487 Use `lowest_segment' rather than 0 for calculating the current
29488 segment load address.
29489
29490 2008-09-08 Robert Millan <rmh@aybabtu.com>
29491
29492 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29493 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29494 clobbered useful information.
29495
29496 2008-09-08 Robert Millan <rmh@aybabtu.com>
29497
29498 * include/grub/util/biosdisk.h: Move to ...
29499 * include/grub/util/hostdisk.h: ... here. Update all users.
29500 * util/biosdisk.c: Move to ...
29501 * util/hostdisk.c: ... here. Update all users.
29502
29503 2008-09-07 Robert Millan <rmh@aybabtu.com>
29504
29505 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29506 variables.
29507 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29508 and length can be stored directly in the `mbi->mmap_addr' and
29509 `mbi->mmap_length' struct fields.
29510
29511 2008-09-07 Robert Millan <rmh@aybabtu.com>
29512
29513 * conf/i386.rmk: New file. Provides declaration for building
29514 `cpuid.mod'.
29515 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29516 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29517 variables.
29518 Include `conf/i386.mk'.
29519 * conf/i386-efi.rmk: Likewise.
29520 * conf/x86_64-efi.rmk: Likewise.
29521 * conf/i386-coreboot.rmk: Likewise.
29522 * conf/i386-ieee1275.rmk: Likewise.
29523
29524 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29525
29526 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29527 Adds optimization support for BGR based modes.
29528
29529 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29530 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29531 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29532 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29533 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29534 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29535 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29536 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29537 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29538 (grub_video_i386_vbeblit_index_index): Likewise.
29539 (grub_video_i386_vbeblit_replace_directN): Added.
29540 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29541 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29542 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29543 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29544 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29545 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29546 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29547 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29548 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29549 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29550 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29551 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29552 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29553
29554 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29555 (grub_video_i386_vbefill_R8G8B8): Likewise.
29556 (grub_video_i386_vbefill_index): Likewise.
29557 (grub_video_i386_vbefill_direct32): Added.
29558 (grub_video_i386_vbefill_direct24): Likewise.
29559 (grub_video_i386_vbefill_direct16): Likewise.
29560 (grub_video_i386_vbefill_direct8): Likewise.
29561
29562 * include/grub/video.h (grub_video_blit_format): Removed
29563 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29564 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29565 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29566 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29567 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
29568
29569 * video/video.c (grub_video_get_blit_format): Updated to use new
29570 blit formats. Added handling for 16 bit color modes.
29571
29572 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
29573 fillers.
29574 (common_blitter): Updated to use new blitters.
29575
29576 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29577 Removed.
29578 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29579 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29580 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29581 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29582 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29583 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29584 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29585 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29586 (grub_video_i386_vbeblit_index_index): Likewise.
29587 (grub_video_i386_vbeblit_replace_directN): Added.
29588 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29589 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29590 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29591 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29592 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29593 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29594 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29595 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29596 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29597 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29598 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29599 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29600 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29601
29602 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29603 (grub_video_i386_vbefill_R8G8B8): Likewise.
29604 (grub_video_i386_vbefill_index): Likewise.
29605 (grub_video_i386_vbefill_direct32): Added.
29606 (grub_video_i386_vbefill_direct24): Likewise.
29607 (grub_video_i386_vbefill_direct16): Likewise.
29608 (grub_video_i386_vbefill_direct8): Likewise.
29609
29610 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29611 types.
29612
29613 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29614 types.
29615
29616 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29617 blitter types.
29618
29619 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29620 types.
29621
29622 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29623
29624 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29625 RAID level 1.
29626
29627 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29628
29629 * fs/iso9660.c (grub_iso9660_date): New structure.
29630 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29631 (grub_iso9660_uuid): New function.
29632
29633 2008-09-05 Bean <bean123ch@gmail.com>
29634
29635 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29636
29637 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29638 insensitive bit for names in Win32 and Win32 & DOS namespace.
29639
29640 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29641
29642 * include/grub/types.h (LONG_MAX): Likewise.
29643
29644 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29645
29646 * util/getroot.c: Include <config.h>.
29647 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29648 add support for /dev/md/N devices and handle LVM double dash escaping.
29649
29650 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29651
29652 * config.guess: Update to latest version from config git.
29653 * config.sub: Likewise.
29654
29655 2008-09-03 Robert Millan <rmh@aybabtu.com>
29656
29657 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29658 `disk->total_sectors'.
29659
29660 2008-09-01 Colin D Bennett <colin@gibibit.com>
29661
29662 * include/grub/normal.h: Fixed incorrect comment for
29663 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29664
29665 2008-09-01 Colin D Bennett <colin@gibibit.com>
29666
29667 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29668 values with defines.
29669
29670 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29671 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29672 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29673 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29674 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29675 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29676 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29677 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29678 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29679 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29680 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29681 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29682 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29683 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29684 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29685 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29686 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29687 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29688 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29689
29690 2008-08-31 Robert Millan <rmh@aybabtu.com>
29691
29692 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29693 declaration.
29694 (grub_multiboot): Fix a few warnings.
29695
29696 2008-08-31 Robert Millan <rmh@aybabtu.com>
29697
29698 * loader/i386/pc/multiboot.c: Update comment not to say that
29699 boot_device support is unimplemented.
29700
29701 2008-08-31 Robert Millan <rmh@aybabtu.com>
29702
29703 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29704 or memory map support are unimplemented.
29705
29706 2008-08-31 Colin D Bennett <colin@gibibit.com>
29707
29708 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29709
29710 2008-08-31 Colin D Bennett <colin@gibibit.com>
29711
29712 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29713 total video memory in 'vbeinfo' output; show color format details for
29714 each video mode.
29715
29716 2008-08-30 Pavel Roskin <proski@gnu.org>
29717
29718 * util/genmoddep.c: Remove for real this time.
29719 * DISTLIST: Remove util/genmoddep.c.
29720
29721 2008-08-30 Robert Millan <rmh@aybabtu.com>
29722
29723 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29724 as required by Multiboot spec (it was already 4-byte aligned, but
29725 only by chance).
29726
29727 2008-08-29 Pavel Roskin <proski@gnu.org>
29728
29729 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29730 * kern/powerpc/ieee1275/startup.S: ... this.
29731 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29732 * DISTLIST: Likewise.
29733
29734 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29735 grub/cpu/kernel.h. Add start label for consistency with other
29736 platforms. Add grub_prefix immediately after start. Add jump
29737 to the code after grub_prefix.
29738 * include/grub/powerpc/kernel.h: Provide valid values for
29739 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29740
29741 2008-08-29 Bean <bean123ch@gmail.com>
29742
29743 * configure.ac: Change host_os to cygwin for mingw.
29744 (asprintf): New check for function.
29745
29746 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29747 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29748
29749 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
29750 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
29751 sync, sleep and grub_util_get_disk_size for mingw.
29752
29753 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29754 to get size in mingw.
29755 (open_device): Use flag O_BINARY if it's defined.
29756 (find_root_device): Add dummy code for mingw.
29757
29758 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29759 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29760 (get_scsi_disk_name): Return 0 for mingw.
29761
29762 * util/hostfs.c: #include <grub/util/misc.h>.
29763 (grub_hostfs_open): Use "rb" flag to open file, use
29764 grub_util_get_disk_size to get disk size for mingw.
29765
29766 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29767 (asprintf): New function if HAVE_ASPRINTF is not set.
29768 (sync): New function for mingw.
29769 (sleep): Likewise.
29770 (grub_util_get_disk_size): Likewise.
29771
29772 2008-08-28 Pavel Roskin <proski@gnu.org>
29773
29774 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29775 kern/time.c.
29776
29777 2008-08-28 Robert Millan <rmh@aybabtu.com>
29778
29779 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29780
29781 2008-08-28 Robert Millan <rmh@aybabtu.com>
29782
29783 Change find_grub_drive() syntax so it doesn't prevent it from
29784 detecting NULL names as errors.
29785
29786 * util/biosdisk.c (find_grub_drive): Move free slot search code
29787 from here ...
29788 (find_free_slot): ... to here.
29789 (read_device_map): Use find_free_slot() to search for free slots.
29790
29791 2008-08-27 Marco Gerards <marco@gnu.org>
29792
29793 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29794 (scsi_mod_SOURCES): New variable.
29795 (scsi_mod_CFLAGS): Likewise
29796 (scsi_mod_LDFLAGS): Likewise.
29797
29798 * disk/scsi.c: New file.
29799
29800 * include/grub/scsi.h: Likewise.
29801
29802 * include/grub/scsicmd.h: Likewise.
29803
29804 * disk/ata.c: Include <grub/scsi.h>.
29805 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29806 instead.
29807 (grub_ata_iterate): Skip ATAPI devices.
29808 (grub_ata_open): Only handle ATAPI devices.
29809 (struct grub_atapi_read): Removed.
29810 (grub_atapi_readsector): Likewise.
29811 (grub_ata_read): No longer handle ATAPI devices.
29812 (grub_ata_write): Likewise.
29813 (grub_atapi_iterate): New function.
29814 (grub_atapi_read): Likewise.
29815 (grub_atapi_write): Likewise.
29816 (grub_atapi_open): Likewise.
29817 (grub_atapi_close): Likewise.
29818 (grub_atapi_dev): New variable.
29819 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29820 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29821
29822 * include/grub/disk.h (enum grub_disk_dev_id): Add
29823 `GRUB_DISK_DEVICE_SCSI_ID'.
29824
29825 2008-08-26 Robert Millan <rmh@aybabtu.com>
29826
29827 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29828 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29829 descriptive.
29830
29831 2008-08-23 Bean <bean123ch@gmail.com>
29832
29833 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29834 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29835 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29836 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29837 dm_nv.mod.
29838 (raid5rec_mod_SOURCES): New macro.
29839 (raid5rec_mod_CFLAGS): Likewise.
29840 (raid5rec_mod_LDFLAGS): Likewise.
29841 (raid6rec_mod_SOURCES): Likewise.
29842 (raid6rec_mod_CFLAGS): Likewise.
29843 (raid6rec_mod_LDFLAGS): Likewise.
29844 (mdraid_mod_SOURCES): Likewise.
29845 (mdraid_mod_CFLAGS): Likewise.
29846 (mdraid_mod_LDFLAGS): Likewise.
29847 (dm_nv_mod_SOURCES): Likewise.
29848 (dm_nv_mod_CFLAGS): Likewise.
29849 (dm_nv_mod_LDFLAGS): Likewise.
29850
29851 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29852 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29853 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29854
29855 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29856 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29857
29858 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29859
29860 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29861
29862 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29863
29864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29865
29866 * disk/raid5_recover.c: New file.
29867
29868 * disk/raid6_recover.c: Likewise.
29869
29870 * disk/mdraid_linux.c: Likewise.
29871
29872 * disk/dmraid_nvidia.c: Likewise.
29873
29874 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29875 ULONG_MAX.
29876
29877 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29878 calculate the size of raid device.
29879 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29880 different layout of raid5.
29881 (grub_raid_scan_device): Remove code specific to mdraid.
29882 (grub_raid_list): New variable.
29883 (free_array): New function.
29884 (grub_raid_register): Likewise.
29885 (grub_raid_unregister): Likewise.
29886 (grub_raid_rescan): Likewise.
29887 (GRUB_MOD_INIT): Don't iterate device here.
29888 (GRUB_MOD_FINI): Use free_array to release resource.
29889
29890 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29891 (grub_raid5_recover_func_t): New function variable type.
29892 (grub_raid6_recover_func_t): Likewise.
29893 (grub_raid5_recover_func): New variable.
29894 (grub_raid6_recover_func): Likewise.
29895 (grub_raid_register): New function.
29896 (grub_raid_unregister): Likewise.
29897 (grub_raid_rescan): Likewise.
29898 (grub_raid_block_xor): Likewise.
29899
29900 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29901 (CMD_CRC): New macro.
29902 (part): Removed.
29903 (read_file): Handle device as well as file.
29904 (cmd_crc): New function.
29905 (fstest): Handle multiple disks.
29906 (options): Remove part, raw and long, add root and diskcount.
29907 (usage): Add crc, remove -p, -r, -l, add -r and -c.
29908 (main): Find the first non option entry and ignore subsequent options,
29909 add handling for the new options, support multiple disks.
29910
29911 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
29912
29913 2008-08-23 Bean <bean123ch@gmail.com>
29914
29915 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
29916
29917 * genfslist.sh: Ignore kernel.mod.
29918
29919 * genpartmaplist.sh: Likewise.
29920
29921 2008-08-23 Robert Millan <rmh@aybabtu.com>
29922
29923 * util/getroot.c (find_root_device): Skip anything that starts with
29924 a dot, not just directories. This avoids things like /dev/.tmp.md0.
29925
29926 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
29927
29928 * util/update-grub.in (GRUB_GFXMODE): Export variable.
29929 * util/grub.d/00_header.in: Allow the administrator to change default
29930 gfxmode via ${GRUB_GFXMODE}.
29931
29932 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
29933
29934 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
29935
29936 2008-08-21 Robert Millan <rmh@aybabtu.com>
29937
29938 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
29939 loader.
29940 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
29941 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
29942
29943 2008-08-20 Carles Pina i Estany <carles@pina.cat>
29944
29945 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
29946 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
29947
29948 2008-08-19 Robert Millan <rmh@aybabtu.com>
29949
29950 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
29951 (struct grub_virtual_screen): Remove `cursor_color'.
29952 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
29953 initialization.
29954 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
29955
29956 2008-08-18 Robert Millan <rmh@aybabtu.com>
29957
29958 Unify (identical) linux_normal.c files.
29959 * loader/i386/efi/linux_normal.c: Move from here ...
29960 * loader/linux_normal.c: ... to here. Update all users.
29961 * loader/i386/pc/linux_normal.c: Delete. Update all users.
29962 * loader/i386/ieee1275/linux_normal.c: Likewise.
29963
29964 2008-08-18 Robert Millan <rmh@aybabtu.com>
29965
29966 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
29967 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
29968 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
29969 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
29970 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
29971 New macros.
29972 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
29973 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
29974 (GRUB_LINUX_CL_END_OFFSET): ... to here.
29975 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
29976 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
29977 (GRUB_EFI_CL_END_OFFSET): Rename to ...
29978 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
29979 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
29980 Initialize `params->video_cursor_x' and `params->video_cursor_y'
29981 portably using grub_getxy().
29982 Replace `-EFI' with `-bzImage' in boot message.
29983
29984 2008-08-17 Robert Millan <rmh@aybabtu.com>
29985
29986 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
29987
29988 2008-08-17 Robert Millan <rmh@aybabtu.com>
29989
29990 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
29991
29992 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
29993 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
29994 (grub_machine_mmap_iterate): New function declaration.
29995 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
29996 structure.
29997 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
29998 macros.
29999
30000 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
30001 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
30002 Move e820 parsing from here ...
30003 * kern/i386/pc/mmap.c: New file.
30004 (grub_machine_mmap_iterate): ... to here.
30005
30006 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
30007 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
30008 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
30009 (grub_available_iterate): Redeclare to return `void', and redeclare
30010 its hook to use grub_uint64_t as addr and size parameters, and rename
30011 to ...
30012 (grub_machine_mmap_iterate): ... this. Update all users.
30013
30014 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
30015 to make it more readable. Rename to ...
30016 (grub_machine_mmap_iterate): ... this.
30017
30018 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
30019 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
30020 (grub_multiboot): Allocate an extra region after the payload, and fill
30021 it with a Multiboot memory map. Adjust a.out loader to calculate size
30022 with the extra space.
30023 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
30024 with the extra space.
30025
30026 2008-08-17 Carles Pina i Estany <carles@pina.cat>
30027
30028 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
30029
30030 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
30031
30032 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
30033 mdate-sh to the list `find' searches for.
30034 * DISTLIST: Regenerated.
30035
30036 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
30037
30038 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
30039 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
30040 genmoddep.awk, gensymlist.sh.in.
30041 (DISTDIRS): Add bus, docs, hook, lib.
30042 * DISTLIST: Regenerated.
30043 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
30044
30045 2008-08-16 Robert Millan <rmh@aybabtu.com>
30046
30047 * disk/raid.c (grub_raid_init): Handle/report errors set by
30048 grub_device_iterate().
30049 * disk/lvm.c (grub_lvm_init): Likewise.
30050
30051 2008-08-15 Bean <bean123ch@gmail.com>
30052
30053 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30054 and datehook.mod.
30055 (datetime_mod_SOURCES): New macro.
30056 (datetime_mod_CFLAGS): Likewise.
30057 (datetime_mod_LDFLAGS): Likewise.
30058 (date_mod_SOURCES): Likewise.
30059 (date_mod_CFLAGS): Likewise.
30060 (date_mod_LDFLAGS): Likewise.
30061 (datehook_mod_SOURCES): Likewise.
30062 (datehook_mod_CFLAGS): Likewise.
30063 (datehook_mod_LDFLAGS): Likewise.
30064
30065 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30066 and datehook.mod.
30067 (datetime_mod_SOURCES): New macro.
30068 (datetime_mod_CFLAGS): Likewise.
30069 (datetime_mod_LDFLAGS): Likewise.
30070 (date_mod_SOURCES): Likewise.
30071 (date_mod_CFLAGS): Likewise.
30072 (date_mod_LDFLAGS): Likewise.
30073 (datehook_mod_SOURCES): Likewise.
30074 (datehook_mod_CFLAGS): Likewise.
30075 (datehook_mod_LDFLAGS): Likewise.
30076
30077 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30078 and datehook.mod.
30079 (datetime_mod_SOURCES): New macro.
30080 (datetime_mod_CFLAGS): Likewise.
30081 (datetime_mod_LDFLAGS): Likewise.
30082 (date_mod_SOURCES): Likewise.
30083 (date_mod_CFLAGS): Likewise.
30084 (date_mod_LDFLAGS): Likewise.
30085 (datehook_mod_SOURCES): Likewise.
30086 (datehook_mod_CFLAGS): Likewise.
30087 (datehook_mod_LDFLAGS): Likewise.
30088
30089 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30090 and datehook.mod.
30091 (datetime_mod_SOURCES): New macro.
30092 (datetime_mod_CFLAGS): Likewise.
30093 (datetime_mod_LDFLAGS): Likewise.
30094 (date_mod_SOURCES): Likewise.
30095 (date_mod_CFLAGS): Likewise.
30096 (date_mod_LDFLAGS): Likewise.
30097 (datehook_mod_SOURCES): Likewise.
30098 (datehook_mod_CFLAGS): Likewise.
30099 (datehook_mod_LDFLAGS): Likewise.
30100
30101 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
30102 and datehook.mod.
30103 (datetime_mod_SOURCES): New macro.
30104 (datetime_mod_CFLAGS): Likewise.
30105 (datetime_mod_LDFLAGS): Likewise.
30106 (date_mod_SOURCES): Likewise.
30107 (date_mod_CFLAGS): Likewise.
30108 (date_mod_LDFLAGS): Likewise.
30109 (datehook_mod_SOURCES): Likewise.
30110 (datehook_mod_CFLAGS): Likewise.
30111 (datehook_mod_LDFLAGS): Likewise.
30112
30113 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
30114
30115 * commands/date.c: New file.
30116
30117 * hook/datehook.c: Likewise.
30118
30119 * include/grub/lib/datetime.h: Likewise.
30120
30121 * include/grub/i386/cmos.h: Likewise.
30122
30123 * lib/datetime.c: Likewise.
30124
30125 * lib/i386/datetime.c: Likewise.
30126
30127 * lib/efi/datetime.c: Likewise.
30128
30129 2008-08-14 Robert Millan <rmh@aybabtu.com>
30130
30131 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
30132 (grub_mkelfimage_SOURCES): New variable.
30133 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
30134
30135 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
30136 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
30137 * conf/powerpc-ieee1275.rmk: Likewise.
30138 * conf/i386-ieee1275.rmk: Likewise.
30139
30140 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
30141 * kern/i386/coreboot/init.c: Likewise.
30142
30143 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
30144 with `<grub/cpu/kernel.h>'.
30145 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
30146 to ...
30147 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
30148 * kern/i386/coreboot/startup.S: Likewise.
30149
30150 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
30151 (GRUB_MOD_GAP): Remove.
30152 * include/grub/powerpc/kernel.h: New file.
30153 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
30154 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30155 * include/grub/i386/kernel.h: New file.
30156 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
30157 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
30158 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
30159
30160 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
30161 `grub-mkelfimage'.
30162 Use --directory when invoking grub_mkimage.
30163
30164 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
30165 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
30166 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
30167 and GRUB_KERNEL_CPU_PREFIX.
30168
30169 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
30170
30171 * include/grub/err.h (grub_err_printf): New function prototype.
30172 * util/misc.c (grub_err_printf): New function.
30173 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
30174 grub_printf.
30175 * kern/err.c (grub_print_error): Use grub_err_printf.
30176
30177 2008-08-13 Robert Millan <rmh@aybabtu.com>
30178
30179 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
30180
30181 2008-08-13 Robert Millan <rmh@aybabtu.com>
30182
30183 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
30184 boot entry.
30185
30186 2008-08-12 Robert Millan <rmh@aybabtu.com>
30187
30188 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
30189 of the relocation code from here ...
30190 (grub_multiboot): ... to here.
30191 (forward_relocator, backward_relocator): Move from here ...
30192 * kern/i386/loader.S (grub_multiboot_forward_relocator)
30193 (grub_multiboot_backward_relocator): ... to here.
30194 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
30195 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
30196 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
30197 (grub_multiboot_forward_relocator_end)
30198 (grub_multiboot_backward_relocator)
30199 (grub_multiboot_backward_relocator_end): New variables.
30200
30201 2008-08-12 Bean <bean123ch@gmail.com>
30202
30203 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
30204
30205 2008-08-11 Robert Millan <rmh@aybabtu.com>
30206
30207 * kern/i386/linuxbios/startup.S: Move from here ...
30208 * kern/i386/coreboot/startup.S: ... to here.
30209
30210 * kern/i386/linuxbios/init.c: Move from here ...
30211 * kern/i386/coreboot/init.c: ... to here.
30212
30213 * kern/i386/linuxbios/table.c: Move from here ...
30214 * kern/i386/coreboot/mmap.c: ... to here.
30215
30216 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
30217
30218 2008-08-11 Robert Millan <rmh@aybabtu.com>
30219
30220 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
30221 errors. Leave it to the upper layer to handle them.
30222
30223 2008-08-09 Christian Franke <franke@computer.org>
30224
30225 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
30226 * conf/common.rmk: Install `grub-pe2elf' only if requested.
30227 Install `grub.d/10_windows' only on Cygwin.
30228 * configure.ac: Add subst of `target_os'.
30229 Check `target_os' also before setting TARGET_OBJ2ELF.
30230 Add `--enable-grub-pe2elf'.
30231
30232 2008-08-08 Robert Millan <rmh@aybabtu.com>
30233
30234 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30235 (grub_last_time): Change type to grub_uint64_t.
30236 (grub_disk_open): Migrate code from to using grub_get_time_ms().
30237 (grub_disk_close): Likewise.
30238
30239 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
30240 (run_menu): Migrate code from to using grub_get_time_ms().
30241
30242 * util/misc.c (grub_get_time_ms): New function.
30243
30244 2008-08-08 Marco Gerards <marco@gnu.org>
30245
30246 * disk/ata.c (grub_ata_regget): Change return type to
30247 `grub_uint8_t'.
30248 (grub_ata_regget2): Likewise.
30249 (grub_ata_wait_status): New function.
30250 (grub_ata_wait_busy): Removed function, updated all users to use
30251 `grub_ata_wait_status'.
30252 (grub_ata_wait_drq): Likewise.
30253 (grub_ata_cmd): New function.
30254 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
30255 error handling.
30256 (grub_ata_pio_write): Add error handling.
30257 (grub_atapi_identify): Likewise.
30258 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
30259 handling.
30260 (grub_ata_identify): Use `grub_ata_cmd' and improve error
30261 handling. Actually use the detected registers. Reorder the
30262 detection logic such that it is easier to read.
30263 (grub_ata_pciinit): Do not assign the same ID to each controller.
30264 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
30265 handling.
30266 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
30267
30268 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
30269
30270 2008-08-08 Marco Gerards <marco@gnu.org>
30271
30272 * NEWS: Update.
30273
30274 2008-08-07 Bean <bean123ch@gmail.com>
30275
30276 * include/grub/x86_64/pci.h: New file.
30277
30278 2008-08-07 Christian Franke <franke@computer.org>
30279
30280 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
30281 (TIMER2_GATE): Likewise.
30282 (grub_pit_wait): Add enable/disable of the timer2 gate
30283 bit of port 0x61. This fixes a possible infinite loop.
30284
30285 2008-08-07 Bean <bean123ch@gmail.com>
30286
30287 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30288 kern/i386/tsc.c and kern/i386/pit.c.
30289
30290 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30291 x86_64 platform.
30292
30293 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30294 <grub/i386/tsc.h>.
30295
30296 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30297
30298 2008-08-07 Bean <bean123ch@gmail.com>
30299
30300 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30301
30302 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30303
30304 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30305 multiple inclusion. Add #include <grub/types.h>.
30306
30307 2008-08-06 Christian Franke <franke@computer.org>
30308
30309 * conf/common.rmk: Build and install `10_windows'.
30310 * util/grub.d/10_windows.in: New script.
30311
30312 2008-08-06 Pavel Roskin <proski@gnu.org>
30313
30314 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30315
30316 2008-08-06 Robert Millan <rmh@aybabtu.com>
30317
30318 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30319 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30320
30321 2008-08-06 Bean <bean123ch@gmail.com>
30322
30323 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30324 (grub_pxefs_fs_int): Remove dummy definition.
30325 (grub_pxefs_open): Use data->block_size to store the current block
30326 size setting.
30327 (grub_pxefs_read): Use block size stored in data->block_size. As the
30328 value of grub_pxe_blksize can be changed after the file is opened.
30329
30330 2008-08-06 Bean <bean123ch@gmail.com>
30331
30332 * fs/i386/pc/pxe.c (curr_file): new variable.
30333 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30334 require the dummy internal file system anymore.
30335 (grub_pxefs_read): Removed.
30336 (grub_pxefs_close): Likewise.
30337 (grub_pxefs_fs_int): Likewise.
30338 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30339 connection when we switch file.
30340 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30341
30342 2008-08-06 Robert Millan <rmh@aybabtu.com>
30343
30344 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30345 `halt.mod'.
30346 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30347 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30348
30349 * kern/i386/halt.c: New file.
30350 * kern/i386/reboot.c: Likewise.
30351 * include/grub/i386/reboot.h: Likewise.
30352 * include/grub/i386/halt.h: Likewise.
30353
30354 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30355 Include `<grub/cpu/halt.h>'.
30356 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30357 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30358
30359 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30360 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30361 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30362 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30363 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30364 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30365 from here ...
30366 * include/grub/i386/at_keyboard.h: ... to here.
30367
30368 2008-08-05 Robert Millan <rmh@aybabtu.com>
30369
30370 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30371 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30372 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30373 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30374 `kern/generic/millisleep.c'.
30375
30376 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30377 instead of grub_get_rtc().
30378 (grub_tsc_init): Initialize `tsc_boot_time'.
30379
30380 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30381 (grub_machine_init): Use grub_tsc_init() rather than
30382 installing an RTC-based handler via grub_install_get_time_ms().
30383
30384 * kern/i386/pit.c: New file.
30385 * include/grub/i386/pit.h: Likewise.
30386
30387 2008-08-05 Bean <bean123ch@gmail.com>
30388
30389 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30390
30391 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30392 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30393 (pxe_mod_SOURCES): New macro.
30394 (pxe_mod_CFLAGS): Likewise.
30395 (pxe_mod_LDFLAGS): Likewise.
30396 (pxecmd_mod_SOURCES): Likewise.
30397 (pxecmd_mod_CFLAGS): Likewise.
30398 (pxecmd_mod_LDFLAGS): Likewise.
30399
30400 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30401 (grub_pxe_call): Likewise.
30402
30403 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30404
30405 * commands/i386/pc/pxecmd.c: New file.
30406
30407 * fs/i386/pc/pxe.c: Likewise.
30408
30409 * include/grub/i386/pc/pxe.h: Likewise.
30410
30411 2008-08-05 Bean <bean123ch@gmail.com>
30412
30413 * util/console.c (grub_console_cur_color): New variable.
30414 (grub_console_standard_color): Likewise.
30415 (grub_console_normal_color): Likewise.
30416 (grub_console_highlight_color): Likewise.
30417 (color_map): Likewise.
30418 (use_color): Likewise.
30419 (NUM_COLORS): New macro.
30420 (grub_ncurses_setcolorstate): Handle color properly.
30421 (grub_ncurses_setcolor): Don't change color here, just remember the
30422 settings, color will be set in grub_ncurses_setcolorstate.
30423 (grub_ncurses_getcolor): New function.
30424 (grub_ncurses_init): Initialize color pairs.
30425 (grub_ncurses_term): New member grub_ncurses_getcolor.
30426
30427 2008-08-05 Colin D Bennett <colin@gibibit.com>
30428
30429 High resolution timer support. Implemented for x86 CPUs using TSC.
30430 Extracted generic grub_millisleep() so it's linked in only as needed.
30431 This requires a Pentium compatible CPU; if the RDTSC instruction is
30432 not supported, then it falls back on the generic grub_get_time_ms()
30433 implementation that uses the machine's RTC.
30434
30435 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30436 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30437 `kern/generic/millisleep.c'.
30438
30439 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30440 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30441
30442 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30443 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30444
30445 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30446
30447 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30448 `kern/generic/millisleep.c'.
30449
30450 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30451
30452 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30453
30454 * kern/generic/rtc_get_time_ms.c: New file.
30455
30456 * kern/generic/millisleep.c: New file.
30457
30458 * kern/misc.c: Don't include
30459 <kern/time.h> anymore.
30460 (grub_millisleep_generic): Removed.
30461
30462 * commands/sleep.c (grub_interruptible_millisleep): Uses
30463 grub_get_time_ms() instead of grub_get_rtc().
30464
30465 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30466 function.
30467 (grub_cpu_is_cpuid_supported): New inline function.
30468 (grub_cpu_is_tsc_supported): New inline function.
30469 (grub_tsc_init): New function prototype.
30470 (grub_tsc_get_time_ms): New function prototype.
30471
30472 * kern/i386/tsc.c (grub_get_time_ms): New file.
30473
30474 * include/grub/time.h: Include <grub/types.h.
30475 (grub_millisleep_generic): Removed.
30476 (grub_get_time_ms): New prototype.
30477 (grub_install_get_time_ms): New prototype.
30478 (grub_rtc_get_time_ms): New prototype.
30479
30480 * kern/time.c (grub_get_time_ms): New function.
30481 (grub_install_get_time_ms): New function.
30482
30483 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30484 <grub/time.h> anymore.
30485 (grub_millisleep): Removed.
30486 (grub_machine_init): Call grub_tsc_init.
30487
30488 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30489 get_time_ms() implementation.
30490
30491 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30492 (ieee1275_get_time_ms): New function.
30493 (grub_machine_init): Install get_time_ms() implementation.
30494
30495 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30496 (grub_machine_init): Call grub_tsc_init().
30497 (grub_millisleep): Removed.
30498
30499 * kern/ieee1275/init.c (grub_millisleep): Removed.
30500 (grub_machine_init): Install ieee1275_get_time_ms()
30501 implementation.
30502 (ieee1275_get_time_ms): New function.
30503 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30504 real work.
30505
30506 2008-08-05 Marco Gerards <marco@gnu.org>
30507
30508 * disk/ata.c: Include <grub/pci.h>.
30509 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30510 (grub_ata_initialize): Rewritten.
30511 (grub_ata_device_initialize): New function.
30512
30513 2008-08-04 Pavel Roskin <proski@gnu.org>
30514
30515 * kern/main.c: Include grub/mm.h.
30516
30517 2008-08-04 Robert Millan <rmh@aybabtu.com>
30518
30519 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30520 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30521 corruption problem).
30522
30523 2008-08-04 Robert Millan <rmh@aybabtu.com>
30524
30525 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30526 warnings introduced in my last commit.
30527
30528 2008-08-03 Robert Millan <rmh@aybabtu.com>
30529
30530 Make PCI available on all i386 architectures.
30531
30532 * include/grub/i386/pc/pci.h: Move from here ...
30533 * include/grub/i386/pci.h: ... to here.
30534
30535 * include/grub/i386/pc/pci.h: Remove.
30536 * include/grub/i386/efi/pci.h: Remove.
30537 * include/grub/x86_64/efi/pci.h: Remove.
30538
30539 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30540 `<grub/cpu/pci.h>'.
30541
30542 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30543 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30544 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30545
30546 * conf/i386-ieee1275.rmk: Likewise.
30547
30548 2008-08-03 Robert Millan <rmh@aybabtu.com>
30549
30550 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30551 (grub_console_setcursor): Make it possible to set cursor off.
30552
30553 2008-08-03 Robert Millan <rmh@aybabtu.com>
30554
30555 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30556 of modules instead of assuming which platform provides what.
30557 * util/update-grub.in: Likewise.
30558
30559 2008-08-03 Robert Millan <rmh@aybabtu.com>
30560
30561 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30562 instead of `grub_install_dos_part' to determine whether a drive needs
30563 to be prepended to prefix (`grub_install_dos_part' is not reliable,
30564 because it can be overridden when loading GRUB via Multiboot).
30565
30566 2008-08-02 Robert Millan <rmh@aybabtu.com>
30567
30568 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30569
30570 2008-08-02 Robert Millan <rmh@aybabtu.com>
30571
30572 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30573 of informational grub_dprintf() calls.
30574
30575 2008-08-02 Robert Millan <rmh@aybabtu.com>
30576
30577 * disk/memdisk.c (memdisk_size): Don't initialize.
30578 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30579
30580 * include/grub/i386/pc/kernel.h
30581 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30582 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30583 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30584 (grub_arch_memdisk_size): Remove.
30585
30586 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30587 field (was only used to transfer a constant). Add `type' field to
30588 support multiple module types.
30589 (grub_module_iterate): New function.
30590
30591 * kern/device.c (grub_device_open): Do not hide error messages
30592 when grub_disk_open() fails. Use grub_print_error() instead.
30593
30594 * kern/i386/pc/init.c (grub_arch_modules_addr)
30595 (grub_arch_memdisk_size): Remove functions.
30596 (grub_arch_modules_addr): Return the module address in high memory
30597 (now that it isn't copied anymore).
30598
30599 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30600 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30601 decompression routine (grub_total_module_size already includes that
30602 now). Don't copy modules back to low memory.
30603
30604 * kern/main.c: Include `<grub/mm.h>'.
30605 (grub_load_modules): Split out (and use) ...
30606 (grub_module_iterate): ... this function, which iterates through
30607 module objects and runs a hook.
30608 Comment out grub_mm_init_region() call, as it would cause non-ELF
30609 modules to be overwritten.
30610
30611 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30612 the memdisk image in its own region, make it part of the module list.
30613 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30614 (main): Parse --memdisk|-m option, and pass user-provided path as
30615 parameter to generate_image().
30616 (add_segments): Pass `memdisk_path' down to load_modules().
30617 (load_modules): Embed memdisk image in module section when requested.
30618 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30619 `header.type' instead of `header.offset'.
30620
30621 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30622 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30623 (memdisk_mod_LDFLAGS): New variables.
30624 * conf/i386-coreboot.rmk: Likewise.
30625 * conf/i386-ieee1275.rmk: Likewise.
30626
30627 2008-08-02 Robert Millan <rmh@aybabtu.com>
30628
30629 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30630 (backward_relocator): New variables. Used to allocate and relocate
30631 the payload, respectively.
30632 (grub_multiboot_load_elf32): Load into heap instead of requested
30633 address, install the appropriate relocator code in each bound of
30634 the payload, and set the entry point such that
30635 grub_multiboot_real_boot() will jump to one of them.
30636
30637 * kern/i386/loader.S (grub_multiboot_payload_size)
30638 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30639 (grub_multiboot_payload_entry_offset): New variables.
30640 (grub_multiboot_real_boot): Set cpu context to what the relocator
30641 expects, and jump to the relocator instead of the payload.
30642
30643 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30644 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30645 (grub_multiboot_payload_entry_offset): Export.
30646
30647 2008-08-01 Bean <bean123ch@gmail.com>
30648
30649 * normal/menu_entry.c (editor_getline): Don't return the original
30650 string as result, as it will be released by lexer once it has done
30651 using it.
30652
30653 2008-08-01 Robert Millan <rmh@aybabtu.com>
30654
30655 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30656 within menuentries, not before them.
30657 util/grub.d/10_hurd.in: Likewise.
30658
30659 2008-08-01 Bean <bean123ch@gmail.com>
30660
30661 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30662 (bufio_mod_SOURCES): New macro.
30663 (bufio_mod_CFLAGS): Likewise.
30664 (bufio_mod_LDFLAGS): Likewise.
30665
30666 * include/grub/bufio.h: New file.
30667
30668 * io/bufio.c: Likewise.
30669
30670 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30671 (grub_video_reader_png): Use grub_buffile_open to open file.
30672
30673 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30674 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30675
30676 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30677 (grub_video_reader_tga): Use grub_buffile_open to open file.
30678
30679 * font/manager.c: Include <grub/bufio.h>.
30680 (add_font): Use grub_buffile_open to open file.
30681
30682 2008-07-31 Robert Millan <rmh@aybabtu.com>
30683
30684 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30685 ELF segments, use a macro for arbitrarily accessing any of them instead
30686 of preparing a pointer that allows access to one at a time.
30687 (grub_multiboot_load_elf64): Likewise.
30688
30689 2008-07-31 Bean <bean123ch@gmail.com>
30690
30691 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30692 GRUB_KERNEL_MACHINE_DATA_END.
30693
30694 2008-07-30 Robert Millan <rmh@aybabtu.com>
30695
30696 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30697 Increase from 0x50 to 0x60.
30698 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30699 use UUIDs to identify the root drive for them. If that's not
30700 possible, abort.
30701 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30702 check, for cross-disk installs.
30703
30704 2008-07-30 Robert Millan <rmh@aybabtu.com>
30705
30706 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30707 is non-empty, use it to set the `prefix' environment variable instead
30708 of the usual approach.
30709 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30710 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30711 environment variable instead of dummy make_install_device().
30712
30713 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30714 (start): Insert a data section, with `grub_prefix' variable.
30715 * kern/i386/linuxbios/startup.S: Likewise.
30716
30717 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30718 New variable reference.
30719 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30720 New macro. Defines offset of `grub_prefix' within startup.S (relative
30721 to `start').
30722 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30723 section within startup.S (relative to `start').
30724 * include/grub/i386/coreboot/kernel.h: Likewise.
30725
30726 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30727 Overwrite grub_prefix with its contents, at the beginning of the
30728 first segment.
30729 (main): Understand -p|--prefix.
30730
30731 2008-07-30 Robert Millan <rmh@aybabtu.com>
30732
30733 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30734
30735 2008-07-30 Robert Millan <rmh@aybabtu.com>
30736
30737 * term/i386/pc/vga_text.c (grub_console_cls): Use
30738 grub_console_gotoxy() to go back to beginning of the screen.
30739 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30740
30741 2008-07-29 Christian Franke <franke@computer.org>
30742
30743 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30744 Add conversion of emulated mount points on Cygwin.
30745
30746 2008-07-29 Christian Franke <franke@computer.org>
30747
30748 * util/update-grub.in: Add a check for admin
30749 group on Cygwin.
30750 Remove old `grub.cfg.new' before creation.
30751 Add `-f' to `mv' to handle the different filesystem
30752 semantics of Windows.
30753
30754 2008-07-29 Bean <bean123ch@gmail.com>
30755
30756 * normal/main.c (get_line): Fix buffer overflow bug.
30757
30758 2008-07-28 Robert Millan <rmh@aybabtu.com>
30759
30760 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30761 (struct grub_apple_header): New struct. Describes the layout of
30762 the partmap header.
30763 (apple_partition_map_iterate): Check the header magic as well as the
30764 partition magic (which was already being checked).
30765
30766 2008-07-28 Pavel Roskin <proski@gnu.org>
30767
30768 * genmk.rb: Add a warning to the beginning of the output that
30769 it's a generated file and should not be edited.
30770
30771 2008-07-28 Robert Millan <rmh@aybabtu.com>
30772
30773 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30774 with the same number are found, just use issue a warning with
30775 grub_dprintf(), as this error has been reported to be non-fatal.
30776
30777 2008-07-27 Robert Millan <rmh@aybabtu.com>
30778
30779 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30780 information.
30781
30782 2008-07-27 Bean <bean123ch@gmail.com>
30783
30784 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30785 (grub_fat_find_dir): Ignore case when comparing filename.
30786
30787 2008-07-27 Bean <bean123ch@gmail.com>
30788
30789 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30790 smallino, as it's more descriptive, and i8count can be confused with
30791 the other field count.
30792 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30793 inode type.
30794
30795 2008-07-27 Bean <bean123ch@gmail.com>
30796
30797 * commands/crc.c: New file.
30798
30799 * lib/crc.c: Likewise.
30800
30801 * include/grub/lib/crc.h: Likewise.
30802
30803 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30804
30805 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30806 (hexdump): Move this function to ...
30807
30808 * lib/hexdump.c: ... here.
30809
30810 * include/grub/hexdump.h: Renamed to ...
30811
30812 * include/grub/lib/hexdump.h: ... this.
30813
30814 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30815
30816 * util/grub-editenv.c: Likewise.
30817
30818 * include/envblk.h: Renamed to ...
30819
30820 * include/lib/envblk.h: ... this.
30821
30822 * util/envblk.c: Renamed to ...
30823
30824 * lib/envblk.c: ... this.
30825
30826 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30827 lib/hexdump.c.
30828 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30829 (pkglib_MODULES): Add crc.mod.
30830 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30831 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30832 (crc_mod_SOURCES): New macro.
30833 (crc_mod_CFLAGS): Likewise.
30834 (crc_mod_LDFLAGS): Likewise.
30835
30836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30837
30838 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30839
30840 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30841
30842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30843
30844 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30845
30846 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
30847
30848 * commands/help.c: Include <grub/term.h>.
30849 (TERM_WIDTH): Removed. Updated all users.
30850
30851 2008-07-27 Pavel Roskin <proski@gnu.org>
30852
30853 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30854 spurious warnings about a comment within a comment.
30855
30856 2008-07-25 Robert Millan <rmh@aybabtu.com>
30857
30858 * util/getroot.c (find_root_device): Skip devices that match
30859 /dev/dm-[0-9]. This lets the real device be found for any type of
30860 abstraction (LVM, EVMS, RAID..).
30861 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30862 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30863 device is found first, find_root_device() will now skip it.
30864
30865 2008-07-24 Pavel Roskin <proski@gnu.org>
30866
30867 * include/grub/types.h: Use __builtin_bswap32() and
30868 __builtin_bswap64() with gcc 4.3 and newer.
30869
30870 2008-07-24 Christian Franke <franke@computer.org>
30871
30872 * util/i386/pc/grub-install.in: If `--debug' is specified,
30873 pass `--verbose' to grub-setup.
30874 Abort script if make_system_path_relative_to_its_root() fails.
30875
30876 2008-07-24 Bean <bean123ch@gmail.com>
30877
30878 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30879 variable `target_platform' should be `platform'.
30880
30881 2008-07-24 Bean <bean123ch@gmail.com>
30882
30883 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
30884 (grub_png_init_fixed_block): New function.
30885 (grub_png_decode_image_data): Handle fixed huffman code compression.
30886
30887 2008-07-24 Bean <bean123ch@gmail.com>
30888
30889 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30890 (grub_pe2elf_SOURCES): New macro.
30891 (CLEANFILES): Add grub-pe2elf.
30892
30893 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30894 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30895 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30896 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30897 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30898 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30899 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30900 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30901 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30902 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30903 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30904 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30905 (GRUB_PE32_DT_FUNCTION): Likewise.
30906 (GRUB_PE32_REL_I386_DIR32): Likewise.
30907 (GRUB_PE32_REL_I386_REL32): Likewise.
30908 (grub_pe32_symbol): New structure.
30909 (grub_pe32_reloc): Likewise.
30910
30911 * util/grub-pe2elf.c: New file.
30912
30913 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
30914 start symbol in non pc platform.
30915
30916 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
30917
30918 The following patches are from Christian Franke.
30919
30920 * include/grub/dl.h: Remove .previous, gas supports this only
30921 for ELF format.
30922
30923 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
30924 Remove .type, gas supports this only for ELF format.
30925
30926 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
30927 nullbytes in symbol table. This fixes an infinite loop if table is
30928 zero filled.
30929
30930 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
30931 TARGET_IMG_LDFLAGS and EXEEXT.
30932
30933 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
30934 TARGET_IMG_LDFLAGS_AC.
30935 (grub_CHECK_STACK_ARG_PROBE): New function.
30936
30937 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
30938
30939 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
30940
30941 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
30942 to set TARGET_IMG_LD* accordingly.
30943 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
30944 Add call to grub_CHECK_STACK_ARG_PROBE.
30945 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
30946
30947 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
30948
30949 * genmk.rb: Add EXEEXT to CLEANFILES.
30950
30951 2008-07-23 Robert Millan <rmh@aybabtu.com>
30952
30953 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
30954 define the codes for arrows and lines used for the menu).
30955 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
30956 as well.
30957
30958 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
30959 fonts, because the latter are too slow.
30960
30961 2008-07-21 Bean <bean123ch@gmail.com>
30962
30963 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
30964 a20. Run keyboard test last, as it will cause macbook to halt.
30965
30966 2008-07-18 Pavel Roskin <proski@gnu.org>
30967
30968 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
30969 load foreign architecture modules correctly anyway. Keep
30970 support for loading host architecture modules, whether we
30971 compile them or not.
30972
30973 2008-07-17 Pavel Roskin <proski@gnu.org>
30974
30975 * configure.ac: Use -m32 or -m64 regardless of whether we had to
30976 change target_cpu. The compiler default can mismatch target_cpu
30977 in any case.
30978
30979 * disk/efi/efidisk.c: Fix format warnings on x86_64.
30980 * kern/efi/efi.c: Likewise.
30981
30982 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
30983 target compiler is functional.
30984 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
30985 are set up.
30986
30987 * configure.ac: Default to efi platform for x86_64-apple. Allow
30988 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
30989 adjustments from the rest, only do them if target is not
30990 explicitly given. Merge other adjustments with the final sanity
30991 check. Remove an extraneous check for supported CPU. Be
30992 specific which CPU and which platform is not supported.
30993
30994 * configure.ac: Default to pc platform for x86_64.
30995
30996 2008-07-17 Robert Millan <rmh@aybabtu.com>
30997
30998 Partial LinuxBIOS -> Coreboot rename.
30999
31000 * conf/i386-linuxbios.rmk: Renamed to ...
31001 * conf/i386-coreboot.rmk: ... this.
31002 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
31003 * configure.ac: Accept "coreboot" as input platform (but maintain
31004 compatibility with "linuxbios").
31005 * include/grub/i386/linuxbios: Renamed to ...
31006 * include/grub/i386/coreboot: ... this.
31007
31008 2008-07-17 Bean <bean123ch@gmail.com>
31009
31010 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
31011 (appleldr_mod_SOURCE): New variable.
31012 (appleldr_mod_CFLAGS): Likewise.
31013 (appleldr_mod_LDFLAGS): Likewise.
31014 (pci_mod_SOURCES): Likewise.
31015 (pci_mod_CFLAGS): Likewise.
31016 (pci_mod_LDFLAGS): Likewise.
31017 (lspci_mod_SOURCES): Likewise.
31018 (lspci_mod_CFLAGS): Likewise.
31019 (lspci_mod_LDFLAGS): Likewise.
31020
31021 * conf/x86_64-efi.rmk: New file.
31022
31023 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
31024 macro.
31025 (grub_efidisk_write): Likewise.
31026
31027 * include/efi/api.h (efi_call_0): New macro.
31028 (efi_call_1): Likewise.
31029 (efi_call_2): Likewise.
31030 (efi_call_3): Likewise.
31031 (efi_call_4): Likewise.
31032 (efi_call_5): Likewise.
31033 (efi_call_6): Likewise.
31034
31035 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
31036 grub_rescue_cmd_chainloader.
31037
31038 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
31039 (grub_pe32_optional_header): Change some fields based on i386 or
31040 x86_64 platform.
31041 (GRUB_PE32_PE32_MAGIC): Likewise.
31042
31043 * include/grub/efi/uga_draw.h: New file.
31044
31045 * include/grub/elf.h (STN_ABS): New constant.
31046 (R_X86_64_NONE): Relocation constant for x86_64.
31047 (R_X86_64_64): Likewise.
31048 (R_X86_64_PC32): Likewise.
31049 (R_X86_64_GOT32): Likewise.
31050 (R_X86_64_PLT32): Likewise.
31051 (R_X86_64_COPY): Likewise.
31052 (R_X86_64_GLOB_DAT): Likewise.
31053 (R_X86_64_JUMP_SLOT): Likewise.
31054 (R_X86_64_RELATIVE): Likewise.
31055 (R_X86_64_GOTPCREL): Likewise.
31056 (R_X86_64_32): Likewise.
31057 (R_X86_64_32S): Likewise.
31058 (R_X86_64_16): Likewise.
31059 (R_X86_64_PC16): Likewise.
31060 (R_X86_64_8): Likewise.
31061 (R_X86_64_PC8): Likewise.
31062
31063 * include/grub/i386/efi/pci.h: New file.
31064
31065 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
31066 Change it value based on platform.
31067 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
31068 (GRUB_E820_RAM): Likewise.
31069 (GRUB_E820_RESERVED): Likewise.
31070 (GRUB_E820_ACPI): Likewise.
31071 (GRUB_E820_NVS): Likewise.
31072 (GRUB_E820_EXEC_CODE): Likewise.
31073 (GRUB_E820_MAX_ENTRY): Likewise.
31074 (grub_e820_mmap): New structure.
31075 (linux_kernel_header): Change the efi field according to different
31076 kernel version, also field from linux_kernel_header.
31077
31078 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
31079
31080 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
31081 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
31082 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
31083 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
31084 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
31085 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
31086 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
31087 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
31088 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
31089 (GRUB_PCI_ADDR_IO_MASK): Likewise.
31090
31091 * include/grub/x86_64/efi/kernel.h: New file.
31092
31093 * include/grub/x86_64/efi/loader.h: Likewise.
31094
31095 * include/grub/x86_64/efi/machine.h: Likewise.
31096
31097 * include/grub/x86_64/efi/pci.h: Likewise.
31098
31099 * include/grub/x86_64/efi/time.h: Likewise.
31100
31101 * include/grub/x86_64/linux.h: Likewise.
31102
31103 * include/grub/x86_64/setjmp.h: Likewise.
31104
31105 * include/grub/x86_64/time.h: Likewise.
31106
31107 * include/grub/x86_64/types.h: Likewise.
31108
31109 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
31110 GRUB_TARGET_SIZEOF_VOID_P.
31111
31112 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
31113 (grub_efi_locate_handle): Likewise.
31114 (grub_efi_open_protocol): Likewise.
31115 (grub_efi_set_text_mode): Likewise.
31116 (grub_efi_stall): Likewise.
31117 (grub_exit): Likewise.
31118 (grub_reboot): Likewise.
31119 (grub_halt): Likewise.
31120 (grub_efi_exit_boot_services): Likewise.
31121 (grub_get_rtc): Likewise.
31122
31123 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
31124 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
31125 (grub_efi_allocate_pages): Wrap efi calls.
31126 (grub_efi_free_pages): Wrap efi calls.
31127 (grub_efi_get_memory_map): Wrap efi calls.
31128
31129 * kern/x86_64/dl.c: New file.
31130
31131 * kern/x86_64/efi/callwrap.S: Likewise.
31132
31133 * kern/x86_64/efi/startup.S: Likewise.
31134
31135 * loader/efi/appleloader.c: Likewise.
31136
31137 * loader/efi/chainloader.c (cmdline): New variable.
31138 (grub_chainloader_unload): Wrap efi calls.
31139 (grub_chainloader_boot): Likewise.
31140 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
31141 command line.
31142
31143 * loader/efi/chainloader_normal.c (chainloader_command):
31144 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
31145 command line.
31146
31147 * loader/i386/efi/linux.c (allocate_pages): Change allocation
31148 method.
31149 (grub_e820_add_region): New function.
31150 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
31151 booting.
31152 (grub_find_video_card): New function.
31153 (grub_linux_setup_video): New function.
31154 (grub_rescue_cmd_linux): Probe for video information.
31155
31156 * normal/x86_64/setjmp.S: New file.
31157
31158 * term/efi/console.c (map_char): New function.
31159 (grub_console_putchar): Map unicode char.
31160 (grub_console_checkkey): Wrap efi calls.
31161 (grub_console_getkey): Likewise.
31162 (grub_console_getwh): Likewise.
31163 (grub_console_gotoxy): Likewise.
31164 (grub_console_cls): Likewise.
31165 (grub_console_setcolorstate): Likewise.
31166 (grub_console_setcursor): Likewise.
31167
31168 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
31169
31170 2008-07-16 Pavel Roskin <proski@gnu.org>
31171
31172 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
31173 format strings.
31174
31175 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
31176 pointer, not an integer. This fixes a warning and prevents
31177 precision loss on 64-bit systems.
31178 (relocate_addresses): Remove unneeded cast.
31179
31180 2008-07-15 Pavel Roskin <proski@gnu.org>
31181
31182 * kern/i386/ieee1275/init.c: Include grub/cache.h.
31183
31184 * term/ieee1275/ofconsole.c: Disable code unused on i386.
31185
31186 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
31187 Fix comparison between signed and unsigned.
31188
31189 * include/grub/i386/ieee1275/console.h: Declare
31190 grub_console_init() and grub_console_fini().
31191
31192 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
31193 It's empty and unused.
31194
31195 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
31196 beginning to avoid warnings with some compilers.
31197
31198 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
31199 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
31200
31201 2008-07-14 Pavel Roskin <proski@gnu.org>
31202
31203 * kern/env.c (grub_register_variable_hook): Don't copy empty
31204 string, it leaks memory. Pass "" to grub_env_set(), it should
31205 handle constant strings.
31206
31207 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
31208 * commands/cmp.c (grub_cmd_cmp): Likewise.
31209 * kern/dl.c (grub_dl_flush_cache): Likewise.
31210 (grub_dl_load_core): Likewise.
31211 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
31212 (grub_elf64_load_phdrs): Likewise.
31213
31214 2008-07-13 Pavel Roskin <proski@gnu.org>
31215
31216 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
31217 between signed and unsigned.
31218 (LzmaEnc_Finish): Fix warning about an unused parameter.
31219
31220 2008-07-13 Bean <bean123ch@gmail.com>
31221
31222 * Makefile.in (enable_lzo): New rule.
31223
31224 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
31225
31226 * configure.ac (ENABLE_LZO): New option --enable-lzo.
31227
31228 * boot/i386/pc/lnxboot.S: #include <config.h>.
31229
31230 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
31231 its value according to the compression algorithm used, lzo or lzma.
31232
31233 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
31234 compression algorithm according to configure macro.
31235
31236 * kern/i386/pc/startup.S (codestart): Likewise.
31237
31238 * kern/i386/pc/lzma_decode.S: New file.
31239
31240 * include/grub/lib/LzFind.h: Likewise.
31241
31242 * include/grub/lib/LzHash.h: Likewise.
31243
31244 * include/grub/lib/LzmaDec.h: Likewise.
31245
31246 * include/grub/lib/LzmaEnc.h: Likewise.
31247
31248 * include/grub/lib/LzmaTypes.h: Likewise.
31249
31250 * lib/LzFind.c: Likewise.
31251
31252 * lib/LzmaDec.c: Likewise.
31253
31254 * lib/LzmaEnc.c: Likewise.
31255
31256 2008-07-13 Bean <bean123ch@gmail.com>
31257
31258 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
31259 (grub_ext4_extent_header): New structure.
31260 (grub_ext4_extent): Likewise.
31261 (grub_ext4_extent_idx): Likewise.
31262 (grub_ext4_find_leaf): New function.
31263 (grub_ext2_read_block): Handle extents.
31264
31265 2008-07-12 Robert Millan <rmh@aybabtu.com>
31266
31267 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
31268
31269 2008-07-11 Robert Millan <rmh@aybabtu.com>
31270
31271 * util/grub.d/40_custom.in: New file. Example on how to add custom
31272 entries to /etc/grub.d.
31273 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
31274 40_custom (implicitly, by merging all the grub.d rules).
31275
31276 2008-07-11 Pavel Roskin <proski@gnu.org>
31277
31278 * commands/read.c (grub_getline): Fix invalid memory access.
31279 Don't add newline to the variable value.
31280
31281 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
31282 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
31283 (serial_hw_get_port): Check validity of the port number.
31284 (grub_cmd_serial): Check return value of serial_hw_get_port().
31285
31286 2008-07-07 Pavel Roskin <proski@gnu.org>
31287
31288 * boot/i386/pc/diskboot.S (notification_string): Replace
31289 "Loading kernel" with just "loading". This is shorter, less
31290 confusing and saves a few bytes for possible future changes.
31291
31292 2008-07-05 Pavel Roskin <proski@gnu.org>
31293
31294 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31295 size for ATAPI devices, they are undefined. Output sector
31296 number in decimal form.
31297
31298 * disk/ata.c: Use named constants for status bits.
31299
31300 2008-07-04 Pavel Roskin <proski@gnu.org>
31301
31302 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31303 grub_addr_t before casting it to the void pointer to fix a
31304 warning. Non-addressable regions are discarded earlier.
31305 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31306 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31307 (check_signature): Don't shadow table_header.
31308 (grub_linuxbios_table_iterate): Cast numeric constants to
31309 grub_linuxbios_table_header_t.
31310 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31311 grub_stop().
31312
31313 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31314 prevent warnings.
31315
31316 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31317 pointer, which can cause warnings. Support 64-bit addresses.
31318
31319 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31320 of sizeof(long). This fixes PowerPC image generation on x86_64.
31321
31322 2008-07-04 Robert Millan <rmh@aybabtu.com>
31323
31324 This fixes a performance issue when pc & gpt partmap iterators
31325 didn't abort iteration even after our hook found what it was
31326 looking for (often causing expensive probes of non-existent drives).
31327
31328 Some callers relied on previous buggy behaviour, since they would
31329 raise an error when their own hooks caused early abortion of its
31330 iteration.
31331
31332 * kern/device.c (grub_device_open): Improve error message.
31333 * disk/lvm.c (grub_lvm_open): Likewise.
31334 * disk/raid.c (grub_raid_open): Likewise.
31335
31336 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31337 when hook requests it, independently of grub_errno.
31338 (pc_partition_map_probe): Do not fail when find_func() caused
31339 early abortion of pc_partition_map_iterate().
31340
31341 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31342 when hook requests it, independently of grub_errno.
31343 (gpt_partition_map_probe): Do not fail when find_func() caused
31344 early abortion of gpt_partition_map_iterate().
31345
31346 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31347 when hook requests it, independently of grub_errno. Do not fail when
31348 part_map_iterate_hook() caused early abortion of p->iterate().
31349
31350 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31351 when grub_partition_iterate() returned with non-zero.
31352
31353 2008-07-03 Pavel Roskin <proski@gnu.org>
31354
31355 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31356 like we do in grub_ata_pio_read().
31357 (grub_ata_readwrite): Always write individual sectors. Fix the
31358 sector count for the remainder.
31359 (grub_ata_write): Enable writing to ATA devices. Correctly
31360 report error for ATAPI devices.
31361
31362 2008-07-02 Pavel Roskin <proski@gnu.org>
31363
31364 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31365 warning.
31366
31367 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31368 for every read sector, we already increment it for the whole
31369 batch. This fixes reading more than 256 sectors at once.
31370
31371 * util/grub-editenv.c (cmd_info): Cast argument to long
31372 explicitly. ptrdiff_t reduces to int on i386.
31373
31374 * util/grub-editenv.c (main): Be specific which parameter is
31375 missing.
31376
31377 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31378 (memdisk): Make memdisk_orig_addr a pointer.
31379
31380 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31381 for file offsets, use grub_off_t instead. Fix printf format
31382 warnings.
31383
31384 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31385 there. Real unexpected warnings should not drown in the noise
31386 about known problems.
31387
31388 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31389 grub_disk_addr_t for memory addresses.
31390
31391 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31392 explicitly to fix a warning.
31393
31394 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31395
31396 * Makefile.in (MODULE_LDFLAGS): New variable.
31397 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31398 the linker accepts --build-id=none.
31399 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31400 MODULE_LDFLAGS.
31401 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31402
31403 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31404 those in Linux XFS code. Provide a way to access 64-bit parent
31405 inode.
31406 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31407 the end of struct grub_xfs_dir_header.
31408
31409 2008-07-02 Bean <bean123ch@gmail.com>
31410
31411 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31412 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31413 and GRUB_IEEE1275_FLAG_NO_ANSI.
31414
31415 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31416 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31417 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31418
31419 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31420 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31421
31422 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31423 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31424
31425 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31426 esc sequence on non ANSI terminal.
31427 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31428
31429 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31430 beginning of file.
31431
31432 2008-07-02 Bean <bean123ch@gmail.com>
31433
31434 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31435 (grub_editenv_SOURCES): New variable.
31436 (pkglib_MODULES): Add loadenv.mod.
31437 (loadenv_mod_SOURCES): New variable.
31438 (loadenv_mod_CFLAGS): Likewise.
31439 (loadenv_mod_LDFLAGS): Likewise.
31440
31441 * include/grub/envblk.h: New file.
31442
31443 * util/envblk.c: New file.
31444
31445 * util/grub-editenv.c: New file.
31446
31447 * commands/loadenv.c: New file.
31448
31449 2008-07-01 Pavel Roskin <proski@gnu.org>
31450
31451 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31452 not unsigned char. This fixes warnings and is consistent with
31453 other tags.
31454
31455 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31456
31457 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31458
31459 * term/tparm.c (analyze): Always set *popcount.
31460
31461 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31462 cast to fix a warning.
31463
31464 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31465 cast to suppress a warning.
31466
31467 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31468 grub_fshelp_read_file() expects.
31469
31470 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31471 write uuid as a 32-bit value in CPU byte order, so declare and
31472 use it as such.
31473
31474 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31475 long if the format specifier expects it.
31476 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31477 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31478 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31479 long to fix a warning.
31480 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31481 grub_dprintf() arguments to fix warnings.
31482
31483 2008-06-30 Pavel Roskin <proski@gnu.org>
31484
31485 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31486 install_bsd_part immediately before core.img is embedded or
31487 modified on disk. This fixes core.img verification if core.img
31488 cannot be embedded.
31489
31490 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31491 core_path to calculate the blocklist.
31492 Patch from Javier Martín <lordhabbit@gmail.com>
31493
31494 2008-06-29 Robert Millan <rmh@aybabtu.com>
31495
31496 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31497 block to disk block.
31498 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31499 Patch from Niels Böhm <bitbucket@arcor.de>
31500
31501 2008-06-29 Robert Millan <rmh@aybabtu.com>
31502
31503 * util/update-grub_lib.in (font_path): Search for fonts in
31504 /boot/grub first, which is more likely to be readable (we aren't
31505 deciding where fonts live, just looking for them).
31506
31507 2008-06-26 Pavel Roskin <proski@gnu.org>
31508
31509 * util/biosdisk.c (read_device_map): Don't leave dead map
31510 entries for devices failing stat() check.
31511
31512 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31513 core_path_dev for the core.img path on the target device.
31514
31515 2008-06-26 Robert Millan <rmh@aybabtu.com>
31516
31517 * disk/fs_uuid.c: New file.
31518 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31519 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31520 (fs_uuid_mod_LDFLAGS): New variables.
31521 * include/grub/disk.h (grub_disk_dev_id): Add
31522 `GRUB_DISK_DEVICE_UUID_ID'.
31523 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31524 implement iterate().
31525
31526 2008-06-26 Robert Millan <rmh@aybabtu.com>
31527
31528 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31529 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31530 Linux image includes no initrd.
31531
31532 2008-06-21 Javier Martín <lordhabbit@gmail.com>
31533
31534 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31535 call to resolve the core image location that effectively appended the
31536 name twice.
31537
31538 2008-06-21 Robert Millan <rmh@aybabtu.com>
31539
31540 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31541 call from here ...
31542
31543 * util/grub.d/10_hurd.in: ... to here ...
31544 * util/grub.d/10_linux.in: ... and here.
31545
31546 2008-06-19 Robert Millan <rmh@aybabtu.com>
31547
31548 * kern/main.c (grub_main): Export `prefix' variable immediately
31549 after it has been set by grub_machine_set_prefix().
31550
31551 2008-06-19 Robert Millan <rmh@aybabtu.com>
31552
31553 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31554 search result when not saving to variable, not the other way around.
31555 When saving to variable, abort iteration as soon as a match is found.
31556
31557 2008-06-19 Robert Millan <rmh@aybabtu.com>
31558
31559 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31560 check for partition that provides /boot/grub. Its logic is flawed,
31561 as it prevents prepare_grub_to_access_device() from being called
31562 multiple times.
31563
31564 2008-06-19 Robert Millan <rmh@aybabtu.com>
31565
31566 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31567 "insmod" command directly when abstraction modules are needed,
31568 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
31569 since it had already been processed).
31570
31571 2008-06-19 Pavel Roskin <proski@gnu.org>
31572
31573 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31574 changed. This is needed in case GRUB_LIBDIR changes.
31575 * conf/i386-ieee1275.rmk: Likewise.
31576 * conf/i386-linuxbios.rmk: Likewise.
31577 * conf/i386-pc.rmk: Likewise.
31578 * conf/powerpc-ieee1275.rmk: Likewise.
31579
31580 2008-06-18 Pavel Roskin <proski@gnu.org>
31581
31582 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31583 kernel_elf_symlist.c to symlist.c for consistency with other
31584 architectures. Update all users.
31585 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31586
31587 2008-06-18 Robert Millan <rmh@aybabtu.com>
31588
31589 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31590 it in prefix.
31591
31592 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31593 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31594 a RAID device, run setup() for all members independently on whether
31595 LVM abstraction is being used.
31596 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31597 If grub-mkimage has set `*install_dos_part == -2', don't override this
31598 value.
31599 Perform *install_dos_part adjustments independently on whether
31600 we're embedding or not.
31601 Clarify error message when image is too big for embedding.
31602 Remove duplicate *install_dos_part stanza.
31603
31604 2008-06-17 Robert Millan <rmh@aybabtu.com>
31605
31606 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31607 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31608 variables.
31609 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31610 values in grub_ofconsole_normal_color and
31611 grub_ofconsole_highlight_color (they're not directly related to
31612 background and foreground).
31613 (grub_ofconsole_setcolorstate): Extract background and foreground
31614 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31615
31616 2008-06-17 Robert Millan <rmh@aybabtu.com>
31617
31618 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31619 /boot/grub for the check in last commit, not /boot (they could be
31620 different partitions).
31621
31622 2008-06-16 Robert Millan <rmh@aybabtu.com>
31623
31624 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31625 asked to setup access for the same partition that provides /boot,
31626 don't bother using UUIDs since our root already has the value we
31627 want.
31628
31629 2008-06-16 Robert Millan <rmh@aybabtu.com>
31630
31631 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31632 I2O devices.
31633 Patch from Sven Mueller <sven@debian.org>.
31634
31635 2008-06-16 Robert Millan <rmh@aybabtu.com>
31636
31637 * util/update-grub.in: Check for $EUID instead of $UID.
31638 Reported by Vincent Zweije.
31639
31640 2008-06-16 Bean <bean123ch@gmail.com>
31641
31642 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
31643 (grub_ext2_read_block): Likewise.
31644 (grub_ext2_read_inode): Likewise.
31645 (grub_ext2_mount): Likewise.
31646 (grub_ext2_close): Likewise.
31647 (grub_ext3_get_journal): Removed.
31648
31649 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
31650 (grub_reiserfs_read_symlink): Likewise.
31651 (grub_reiserfs_mount): Likewise.
31652 (grub_reiserfs_open): Likewise.
31653 (grub_reiserfs_read): Likewise.
31654 (grub_reiserfs_close): Likewise.
31655 (grub_reiserfs_get_journal): Removed.
31656
31657 * fs/fshelp.c (grub_fshelp_read): Removed.
31658 (grub_fshelp_map_block): Likewise.
31659
31660 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31661 (grub_fshelp_journal): Likewise.
31662 (grub_fshelp_read): Likewise.
31663 (grub_fshelp_map_block): Likewise.
31664
31665 2008-06-16 Pavel Roskin <proski@gnu.org>
31666
31667 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31668 floating point anymore.
31669 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31670
31671 2008-06-15 Pavel Roskin <proski@gnu.org>
31672
31673 * commands/ls.c (grub_ls_list_files): Use integer calculations
31674 for human readable format, avoid floating point use.
31675 * kern/misc.c (grub_ftoa): Remove.
31676 (grub_vsprintf): Remove floating point support.
31677
31678 2008-06-15 Robert Millan <rmh@aybabtu.com>
31679
31680 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
31681 devices.
31682 Reported by Max Vozeler.
31683
31684 2008-06-15 Robert Millan <rmh@aybabtu.com>
31685
31686 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31687 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31688 skipped later.
31689 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31690 the beginning of the prefix.
31691
31692 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31693 It is assumed that if we have a memdisk, grub-mkimage has set
31694 grub_prefix to include the "(memdisk)" drive in it.
31695
31696 2008-06-15 Robert Millan <rmh@aybabtu.com>
31697
31698 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31699 Initialize keyboard controller after registering the terminal, so that
31700 grub_printf() can be called from grub_keyboard_controller_init().
31701
31702 2008-06-15 Robert Millan <rmh@aybabtu.com>
31703
31704 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31705 extent-btree which is written as big endian on disk.
31706 Reported by Alain Greppin <al@chilibi.org>.
31707
31708 2008-06-14 Robert Millan <rmh@aybabtu.com>
31709
31710 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31711 * util/i386/pc/grub-install.in (modules): Likewise.
31712
31713 2008-06-13 Pavel Roskin <proski@gnu.org>
31714
31715 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31716
31717 2008-06-13 Bean <bean123ch@gmail.com>
31718
31719 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31720
31721 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31722
31723 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31724 to indicate sparse block.
31725
31726 2008-06-12 Pavel Roskin <proski@gnu.org>
31727
31728 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31729 number, grub_fshelp_read() does it for us.
31730
31731 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31732 linear disk read with journal translation.
31733 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31734 * include/grub/fshelp.h: Declare grub_fshelp_read().
31735
31736 2008-06-09 Pavel Roskin <proski@gnu.org>
31737
31738 * fs/minix.c (grub_minix_mount): Handle error reading
31739 superblock.
31740
31741 2008-06-08 Robert Millan <rmh@aybabtu.com>
31742
31743 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31744 don't append the RAID prefix afterwards.
31745 Reported by Clint Adams.
31746
31747 2008-06-08 Robert Millan <rmh@aybabtu.com>
31748
31749 Based on description from Pavel:
31750 * kern/disk.c (grub_disk_check_range): Rename to ...
31751 (grub_disk_adjust_range): ... this. Add a comment explaining the
31752 tasks performed by this function.
31753
31754 2008-06-08 Robert Millan <rmh@aybabtu.com>
31755
31756 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31757 `num_serial' (for consistency with other variables).
31758 (struct grub_ntfs_data): Add `uuid' member.
31759 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31760 (grub_ntfs_uuid): New function.
31761 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31762
31763 2008-06-07 Pavel Roskin <proski@gnu.org>
31764
31765 * util/biosdisk.c (open_device): Revert last change to the
31766 function, it broke installation. The sector needs to be
31767 different dependent on which device is opened.
31768
31769 2008-06-06 Robert Millan <rmh@aybabtu.com>
31770
31771 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31772 rest of GRUB, and breakage doesn't happen if its value were modified.
31773
31774 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31775 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31776 a constant (same value).
31777 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31778 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31779
31780 2008-06-06 Robert Millan <rmh@aybabtu.com>
31781
31782 * util/biosdisk.c (open_device): Do not modify sector offset when
31783 accessing a partition. kern/disk.c already handles this for us.
31784
31785 2008-06-06 Robert Millan <rmh@aybabtu.com>
31786
31787 * util/grub-emu.c (grub_machine_init): Move code in this function from
31788 here ...
31789 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31790 segfault in case grub_printf() is called).
31791
31792 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31793 grub_probe. Update all users not to explicitly add it again.
31794 (grub_device): New variable; contains corresponding device for grubdir.
31795 (fs_module, partmap_module, devabstraction_module): Pass
31796 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31797 every time.
31798
31799 2008-06-05 Robert Millan <rmh@aybabtu.com>
31800
31801 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31802 is found, print it (same layout as with labels).
31803
31804 2008-06-04 Robert Millan <rmh@aybabtu.com>
31805
31806 * util/biosdisk.c (get_drive): Rename to ...
31807 (find_grub_drive): ... this. Update all users.
31808
31809 (get_os_disk): Rename to ...
31810 (convert_system_partition_to_system_disk): ... this. Update all users.
31811
31812 (find_drive): Rename to ...
31813 (find_system_device): ... this. Update all users.
31814
31815 2008-06-04 Robert Millan <rmh@aybabtu.com>
31816
31817 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31818 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31819 (make_device_map): Likewise.
31820
31821 2008-06-01 Robert Millan <rmh@aybabtu.com>
31822
31823 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31824 before dereferencing it.
31825
31826 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31827 union with fat12/fat16-specific ones. Add some new fields, including
31828 `num_serial' for both versions.
31829 (struct grub_fat_data): Add `uuid' member.
31830 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31831 names. Initialize `data->uuid' using `num_serial'.
31832 (grub_fat_uuid): New function.
31833 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31834
31835 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31836 (grub_reiserfs_uuid): New function.
31837 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31838 member.
31839
31840 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31841 (grub_xfs_uuid): New function.
31842 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31843
31844 2008-06-01 Robert Millan <rmh@aybabtu.com>
31845
31846 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31847 code that is backward compatible with pre-uuid search command.
31848
31849 2008-05-31 Robert Millan <rmh@aybabtu.com>
31850
31851 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31852 floppies after everything else, to ensure floppy drive isn't accessed
31853 unnecessarily (patch from Bean).
31854
31855 2008-05-31 Robert Millan <rmh@aybabtu.com>
31856
31857 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31858 not print device names when we were asked to set a variable.
31859
31860 2008-05-31 Robert Millan <rmh@aybabtu.com>
31861
31862 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31863 using "cursor-on" and "cursor-off" commands (understood at least by
31864 the Open Firmware flavour on OLPC).
31865
31866 2008-05-31 Michael Gorven <michael@gorven.za.net>
31867
31868 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31869 on and off sequences.
31870
31871 2008-05-31 Robert Millan <rmh@aybabtu.com>
31872
31873 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31874 * util/update-grub.in: Likewise.
31875
31876 2008-05-30 Pavel Roskin <proski@gnu.org>
31877
31878 * util/biosdisk.c (linux_find_partition): Simplify logic and
31879 make the code more universal. Keep special processing for
31880 devfs, but use a simple rule for all other devices. If the
31881 device ends with a number, append 'p' and the partition number.
31882 Otherwise, append only the partition number.
31883
31884 2008-05-30 Robert Millan <rmh@aybabtu.com>
31885
31886 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31887 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31888 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31889 the `root' parameter to Linux.
31890
31891 2008-05-30 Robert Millan <rmh@aybabtu.com>
31892
31893 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31894 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31895 --fs_uuid with --fs-uuid.
31896 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31897 all filesystems support them).
31898
31899 2008-05-30 Robert Millan <rmh@aybabtu.com>
31900
31901 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
31902 grub_printf() flags, since we're printing in units of 2 bytes.
31903
31904 2008-05-30 Robert Millan <rmh@aybabtu.com>
31905
31906 * util/grub.d/00_header.in: Remove obsolete comment referencing
31907 convert_system_path_to_grub_path().
31908 * util/update-grub.in: Likewise.
31909 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
31910 (convert_system_path_to_grub_path): Add a warning message explaining
31911 that this function is deprecated. Rely on is_path_readable_by_grub()
31912 for the readability checks.
31913 (font_path): Use is_path_readable_by_grub() for the readability
31914 check rather than convert_system_path_to_grub_path().
31915
31916 2008-05-30 Robert Millan <rmh@aybabtu.com>
31917
31918 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
31919 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
31920 converting it first.
31921 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
31922 grub.cfg for access to font file, and afterwards call it again to set
31923 the root device.
31924
31925 2008-05-30 Robert Millan <rmh@aybabtu.com>
31926
31927 * commands/search.c (options): Add --fs_uuid option.
31928 (search_fs_uuid): New function.
31929 (grub_cmd_search): Fix --set argument passing.
31930 Use search_fs_uuid() when requested via --fs_uuid.
31931 (grub_search_init): Update help message.
31932 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
31933 and redeclare it as an array of 16-bit words.
31934 (grub_ext2_uuid): New function.
31935 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
31936 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
31937 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
31938 (GRUB_DEVICE_BOOT_UUID): New variables.
31939 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
31940 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
31941 whenever possible.
31942 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
31943 just assume `root' variable has the right value.
31944 * util/grub.d/10_linux.in: Likewise.
31945 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
31946 via PRINT_FS_UUID.
31947 (main): Recognise `-t fs_uuid' argument.
31948
31949 2008-05-30 Robert Millan <rmh@aybabtu.com>
31950
31951 * util/biosdisk.c (map): Redefine structure to hold information
31952 about GRUB drive name.
31953 (get_drive): Reimplement without assuming (and verifying) BIOS-like
31954 drive names.
31955 (call_hook): Remove.
31956 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
31957 member. Assume drive has partitions.
31958 (grub_util_biosdisk_open): Access device names via `.device' struct
31959 member.
31960 (open_device): Likewise.
31961 (find_drive): Likewise.
31962 (read_device_map): Adjust map[] usage to match the new struct
31963 definition. Don't check for duplicates (still possible, but not cheap
31964 anymore).
31965 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
31966 (make_device_name): Remove assumption of BIOS-like drive names.
31967
31968 2008-05-30 Pavel Roskin <proski@gnu.org>
31969
31970 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
31971 compiling execute.c doesn't need grub_script.tab.h anymore.
31972 (normal/command.c_DEPENDENCIES): Likewise.
31973 (normal/function.c_DEPENDENCIES): Likewise.
31974 * conf/i386-ieee1275.rmk: Likewise.
31975 * conf/i386-linuxbios.rmk: Likewise.
31976 * conf/i386-pc.rmk: Likewise.
31977 * conf/powerpc-ieee1275.rmk: Likewise.
31978 * conf/sparc64-ieee1275.rmk: Likewise.
31979
31980 2008-05-29 Pavel Roskin <proski@gnu.org>
31981
31982 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
31983 when scanning metadata for volume group name.
31984
31985 * include/grub/script.h: Don't include grub_script.tab.h. It's
31986 a generated file, which may only be included from the files with
31987 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
31988 use union YYSTYPE, as the later allows forward declaration.
31989 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
31990
31991 2008-05-29 Robert Millan <rmh@aybabtu.com>
31992
31993 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
31994 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
31995 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
31996 (grub_console_checkkey): Add grub_dprintf() call to report unknown
31997 scan codes.
31998
31999 2008-05-29 Robert Millan <rmh@aybabtu.com>
32000
32001 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
32002 control key combinations.
32003
32004 2008-05-29 Robert Millan <rmh@aybabtu.com>
32005
32006 * util/powerpc/ieee1275/grub-install.in: Move from here ...
32007 * util/ieee1275/grub-install.in: ... to here.
32008 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
32009 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
32010 (grub_install_SOURCES): Likewise.
32011
32012 2008-05-29 Robert Millan <rmh@aybabtu.com>
32013
32014 * fs/affs.c: Update copyright year.
32015 * fs/ext2.c: Likewise.
32016 * fs/fshelp.c: Likewise.
32017 * fs/hfsplus.c: Likewise.
32018 * fs/ntfs.c: Likewise.
32019 * fs/xfs.c: Likewise.
32020 * include/grub/fshelp.h: Likewise.
32021 * util/grub-mkdevicemap.c: Likewise.
32022
32023 2008-05-28 Robert Millan <rmh@aybabtu.com>
32024
32025 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
32026 might need to be fatfs to support some firmware implementations
32027 (e.g. OFW or EFI).
32028
32029 2008-05-28 Robert Millan <rmh@aybabtu.com>
32030
32031 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
32032 devices.
32033 * util/grub-mkdevicemap.c (get_mmc_disk_name)
32034 (make_device_map): Likewise.
32035
32036 2008-05-20 Bean <bean123ch@gmail.com>
32037
32038 * fs/fshelp.c (grub_fshelp_map_block): New function.
32039 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
32040 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
32041
32042 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
32043 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
32044 (grub_fshelp_journal): New structure.
32045 (grub_fshelp_map_block): New function prototype.
32046 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
32047 (grub_fshelp_map_block): Likewise.
32048
32049 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
32050 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
32051 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
32052 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
32053 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
32054 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
32055 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
32056 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
32057 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
32058 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
32059 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
32060 (grub_ext2_sblock): New members for journal support.
32061 (grub_ext3_journal_header): New structure.
32062 (grub_ext3_journal_revoke_header): Likewise.
32063 (grub_ext3_journal_block_tag): Likewise.
32064 (grub_ext3_journal_sblock): Likewise.
32065 (grub_fshelp_node): New members logfile and journal.
32066 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
32067 grub_fshelp_map_block to get real block number.
32068 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
32069 number.
32070 (grub_ext2_read_inode): Likewise.
32071 (grub_ext3_get_journal): New function.
32072 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
32073 (grub_ext2_close): Release memory used by journal.
32074
32075 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
32076 (REISERFS_MAGIC_DESC_BLOCK): New macro.
32077 (grub_reiserfs_transaction_header): Renamed to
32078 grub_reiserfs_description_block, replace field data with real_blocks.
32079 (grub_reiserfs_commit_block): New structure.
32080 (grub_reiserfs_data): New member journal.
32081 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
32082 number.
32083 (grub_reiserfs_read_symlink): Likewise.
32084 (grub_reiserfs_iterate_dir): Likewise.
32085 (grub_reiserfs_open): Likewise.
32086 (grub_reiserfs_read): Likewise.
32087 (grub_reiserfs_get_journal): New function.
32088 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
32089 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
32090 using grub_reiserfs_get_journal.
32091 (grub_reiserfs_close): Release memory used by journal.
32092
32093 * fs/affs.c (grub_affs_read_block): Change block type to
32094 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
32095
32096 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
32097
32098 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
32099
32100 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
32101
32102 * fs/udf.c (grub_udf_read_block): Change block type to
32103 grub_disk_addr_t. Use type cast to avoid warning.
32104
32105 * fs/xfs.c (grub_xfs_read_block): Likewise.
32106
32107 2008-05-16 Christian Franke <franke@computer.org>
32108
32109 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
32110 to ensure that break with ESC will always work.
32111 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
32112 Remove ESC from keyboard queue.
32113
32114 2008-05-16 Christian Franke <franke@computer.org>
32115
32116 * util/biosdisk.c: [__CYGWIN__] Add includes.
32117 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
32118 (get_os_disk): Move variable declarations to OS specific
32119 parts to avoid warning.
32120 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
32121 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
32122 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
32123 Cygwin.
32124 * util/getroot.c: [__CYGWIN__] Add includes.
32125 (strip_extra_slashes): Fix "/" case.
32126 [__CYGWIN__] (get_win32_path): New function.
32127 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
32128 [__CYGWIN__] (find_root_device): Disable.
32129 [__CYGWIN__] (get_bootsec_serial): New function.
32130 [__CYGWIN__] (find_cygwin_root_device): Likewise.
32131 [__linux__] (grub_guess_root_device): Add early returns to simplify
32132 structure.
32133 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
32134 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
32135 check for Linux only.
32136
32137 2008-05-15 Bean <bean123ch@gmail.com>
32138
32139 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
32140 keyboard hang problem in apple's intel mac.
32141
32142 2008-05-09 Robert Millan <rmh@aybabtu.com>
32143
32144 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
32145 devices.
32146 * util/grub-mkdevicemap.c (get_virtio_disk_name)
32147 (make_device_map): Likewise.
32148 Reported by Aurelien Jarno <aurel32@debian.org>
32149
32150 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
32151
32152 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
32153 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
32154 (make_device_map): Output entries for xvd type disks.
32155
32156 2008-05-07 Robert Millan <rmh@aybabtu.com>
32157
32158 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
32159 devices.
32160 * util/grub-mkdevicemap.c (get_cciss_disk_name)
32161 (make_device_map): Likewise.
32162 Reported by Roland Dreier <rdreier@cisco.com>
32163
32164 2008-05-07 Robert Millan <rmh@aybabtu.com>
32165
32166 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
32167 grub_strstr() call. Correct a few mistakes in failure path handling.
32168
32169 2008-05-06 Robert Millan <rmh@aybabtu.com>
32170
32171 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
32172 Do not print a trailing slash (therefore, the root directory is an
32173 empty string).
32174 (convert_system_path_to_grub_path): Do not remove trailing slash
32175 from make_system_path_relative_to_its_root() output.
32176
32177 * util/i386/pc/grub-install.in: Add trailing slash to output from
32178 make_system_path_relative_to_its_root().
32179
32180 2008-05-06 Robert Millan <rmh@aybabtu.com>
32181
32182 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
32183 ensures that output lines aren't intermangled with those sent to
32184 stderr (via grub_util_info()).
32185 * util/grub-probe.c (grub_refresh): Likewise.
32186 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
32187
32188 2008-05-05 Christian Franke <franke@computer.org>
32189
32190 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
32191 Add Cygwin device names.
32192 (get_ide_disk_name) [__CYGWIN__]: Likewise.
32193 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
32194 (check_device): Return error instead of success on empty name.
32195 (make_device_map): Move label inside linux specific code to
32196 prevent compiler warning.
32197
32198 2008-04-30 Robert Millan <rmh@aybabtu.com>
32199
32200 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
32201 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
32202 first boot option.
32203 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
32204
32205 2008-04-29 Robert Millan <rmh@aybabtu.com>
32206
32207 * docs/grub.cfg: New file (example GRUB configuration).
32208
32209 2008-04-26 Robert Millan <rmh@aybabtu.com>
32210
32211 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
32212 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
32213 and `disk/ieee1275/nand.c'.
32214
32215 2008-04-25 Bean <bean123ch@gmail.com>
32216
32217 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
32218 i386-linuxbios.
32219
32220 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
32221 change the buffer size to 4096 for cdrom device.
32222
32223 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
32224 and nand.mod.
32225 (_linux_mod_SOURCES): New variable.
32226 (_linux_mod_CFLAGS): Likewise.
32227 (_linux_mod_LDFLAGS): Likewise.
32228 (linux_mod_SOURCES): Likewise.
32229 (linux_mod_CFLAGS): Likewise.
32230 (linux_mod_LDFLAGS): Likewise.
32231 (nand_mod_SOURCES): Likewise.
32232 (nand_mod_CFLAGS): Likewise.
32233 (nand_mod_LDFLAGS): Likewise.
32234
32235 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
32236 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
32237 type property. (nand device in olpc don't have this property)
32238
32239 * include/grub/disk.h (grub_disk_dev_id): New macro
32240 GRUB_DISK_DEVICE_NAND_ID.
32241
32242 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
32243 function prototype.
32244 (grub_rescue_cmd_initrd): Likewise.
32245
32246 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
32247 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
32248 ofw_cif_handler and ofw_idt, adjust padding number.
32249
32250 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
32251 GRUB_MACHINE_IEEE1275 is defined.
32252
32253 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
32254 Use NESTED_FUNC_ATTR attribute on the hook parameter.
32255
32256 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
32257 on nested function heap_init.
32258 (grub_upper_mem): New variable for i386-ieee1275.
32259 (grub_get_extended_memory): New function for i386-ieee1275.
32260 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
32261
32262 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
32263 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
32264 property.
32265
32266 * loader/i386/ieee1275/linux.c: New file.
32267
32268 * loader/i386/ieee1275/linux_normal.c: New file.
32269
32270 * disk/ieee1275/nand.c: New file.
32271
32272 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
32273
32274 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
32275 value.
32276 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
32277
32278 2008-04-18 Robert Millan <rmh@aybabtu.com>
32279
32280 Restructures early code path on ieee1275 to unify grub_main() as
32281 the first C function that is executed in every platform.
32282
32283 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
32284 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
32285 cmain().
32286 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
32287 * kern/ieee1275/cmain.c (cmain): Rename to ...
32288 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32289 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32290 at the beginning.
32291
32292 2008-04-18 Robert Millan <rmh@aybabtu.com>
32293
32294 * util/update-grub.in: Fix syntax error when setting
32295 `GRUB_PRELOAD_MODULES'.
32296 Reported by Stephane Chazelas <stephane@artesyncp.com>
32297
32298 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32299
32300 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32301 section into account, newer toolchains generate unique build ids
32302 * configure.ac: remove the test for --build-id=none acceptance,
32303 we want build ids to be preserved
32304 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32305 far from other sections don't cause the raw binary images grow
32306 size
32307
32308 2008-04-15 Robert Millan <rmh@aybabtu.com>
32309
32310 * disk/lvm.c: Update copyright year.
32311 * kern/misc.c: Likewise.
32312
32313 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32314
32315 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
32316 there is no memory left for physical volume name.
32317
32318 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32319
32320 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32321 volume name mapping to support bigger than 9 character names properly.
32322
32323 2008-04-13 Robert Millan <rmh@aybabtu.com>
32324
32325 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32326 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32327
32328 2008-04-13 Christian Franke <franke@computer.org>
32329
32330 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32331 to create a floppy emulation boot CD when non emulation mode
32332 does not work.
32333 Enable Joliet CD filesystem extension.
32334
32335 2008-04-13 Robert Millan <rmh@aybabtu.com>
32336
32337 * kern/misc.c (grub_strncat): Fix off-by-one error.
32338 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32339
32340 * kern/env.c (grub_env_context_close): Clear current context, not
32341 previous one.
32342 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32343
32344 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32345
32346 2008-04-13 Robert Millan <rmh@aybabtu.com>
32347
32348 Improve robustness when handling LVM.
32349
32350 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
32351 (and leave `*p' unmodified).
32352 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32353 through it.
32354 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32355 iterating through it.
32356 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32357 through it.
32358 (grub_lvm_scan_device): Check the return value (and fail gracefully
32359 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32360 Don't assume `vg->pvs != NULL' when iterating through it.
32361
32362 2008-04-13 Robert Millan <rmh@aybabtu.com>
32363
32364 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32365 * genmk.rb (partmap): New variable.
32366 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32367 (#{partmap}): New target rule.
32368 * genpartmaplist.sh: New file.
32369 * Makefile.in (pkglib_DATA): Add partmap.lst.
32370 (partmap.lst): New target rule.
32371 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32372 modules (including all partition maps), instead of preloading them.
32373
32374 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32375
32376 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32377 `linux-boot-prober' (if installed) to detect other operating
32378 systems which are installed on the computer and add them to
32379 the boot menu.
32380 * conf/common.rmk: Build and install 30_os-prober.
32381
32382 2008-04-12 Robert Millan <rmh@aybabtu.com>
32383
32384 * kern/powerpc/ieee1275/init.c: Move from here ...
32385 * kern/ieee1275/init.c: ... to here. Update all users.
32386
32387 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32388 * kern/ieee1275/cmain.c: ... to here. Update all users.
32389
32390 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32391 * kern/ieee1275/openfw.c: ... to here. Update all users.
32392
32393 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32394 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32395
32396 2008-04-10 Pavel Roskin <proski@gnu.org>
32397
32398 * configure.ac: Always use "_cv_" in cache variables for
32399 compatibility with Autoconf 2.62.
32400
32401 2008-04-07 Robert Millan <rmh@aybabtu.com>
32402
32403 Revert grub/machine/init.h addition by Pavel (since it breaks on
32404 i386-ieee1275 and others):
32405 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32406 * util/powerpc/ieee1275/misc.c: Likewise.
32407
32408 2008-04-07 Robert Millan <rmh@aybabtu.com>
32409
32410 * util/grub-probe.c (probe): Improve error message.
32411
32412 2008-04-07 Robert Millan <rmh@aybabtu.com>
32413
32414 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32415 (this prevents the presence of a bogus entry from ruining the whole
32416 thing).
32417
32418 2008-04-06 Pavel Roskin <proski@gnu.org>
32419
32420 * util/biosdisk.c: Include grub/util/biosdisk.h.
32421 * util/grub-fstest.c (execute_command): Make static.
32422 * util/grub-mkdevicemap.c (check_device): Likewise.
32423 * util/i386/pc/misc.c: Include grub/machine/init.h.
32424 * util/powerpc/ieee1275/misc.c: Likewise.
32425 * util/lvm.c: Include grub/util/lvm.h.
32426 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32427 grub/cache.h.
32428 * util/raid.c: Include grub/util/raid.h.
32429 (grub_util_getdiskname): Make static.
32430
32431 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32432 grub_hostfs_fini(), as they are called from grub_init_all() and
32433 grub_fini_all() respectively. This fixes an infinite loop in
32434 grub-fstest due to double registration of hostfs.
32435 Reported by Christian Franke <Christian.Franke@t-online.de>
32436
32437 2008-04-05 Pavel Roskin <proski@gnu.org>
32438
32439 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32440 all 8 functions. Otherwise, probe function 0 only.
32441
32442 2008-04-04 Pavel Roskin <proski@gnu.org>
32443
32444 * commands/lspci.c (grub_lspci_iter): Print the bus number
32445 correctly.
32446
32447 * commands/lspci.c (grub_pci_classes): Fix typos.
32448 (grub_lspci_iter): Don't print func twice. Print vendor ID
32449 before device ID, as it's normally done.
32450
32451 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32452 Fix signedness warnings.
32453 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32454 Likewise.
32455 * util/ieee1275/get_disk_name.c: Include config.h so that
32456 _GNU_SOURCE is defined and getline() is declared. Mark an
32457 unused argument as such. Fix a signedness warning.
32458
32459 2008-04-02 Pavel Roskin <proski@gnu.org>
32460
32461 * genkernsyms.sh.in: Use more robust assignments for CC and
32462 srcdir. Quote srcdir.
32463 * gensymlist.sh.in: Likewise. Assert at the compile time that
32464 the symbol table is not empty.
32465
32466 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32467 * fs/cpio.c (grub_cpio_read): Likewise.
32468
32469 2008-04-01 Pavel Roskin <proski@gnu.org>
32470
32471 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32472 * disk/host.c (grub_host_open): Likewise.
32473 * disk/loopback.c (grub_loopback_open): Likewise.
32474 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32475 disk->id as in disk/host.c, not a multi-character constant.
32476
32477 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32478 later is obsolete, potentially dangerous and sets a bad example.
32479 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32480 * util/misc.c (grub_util_get_image_size): Likewise.
32481
32482 * disk/loopback.c (options): Improve help for "--partitions".
32483
32484 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32485 options to align them with the short options, e.g. "echo -e".
32486
32487 2008-03-31 Bean <bean123ch@gmail.com>
32488
32489 * video/reader/png.c (grub_png_data): New member is_16bit and
32490 image_data.
32491 (grub_png_decode_image_header): Detect 16 bit png image.
32492 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32493 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32494 (grub_video_reader_png): Release memory occupied by image_data.
32495
32496 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32497 4096 bytes.
32498 (grub_nfs_mount): Skip the test for sector per cluster.
32499
32500 * include/grub/ntfs.h (MAX_SPC): Removed.
32501
32502 2008-03-31 Bean <bean123ch@gmail.com>
32503
32504 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32505 (grub_probe_SOURCES): Add fs/afs.c.
32506 (grub_fstest_SOURCES): Likewise.
32507 (afs_mod_SOURCES): New variable.
32508 (afs_mod_CFLAGS): Likewise.
32509 (afs_mod_LDFLAGS): Likewise.
32510
32511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32512 (grub_emu_SOURCES): Likewise.
32513
32514 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32515
32516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32517
32518 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32519
32520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32521
32522 * fs/afs.c: New file.
32523
32524 2008-03-30 Pavel Roskin <proski@gnu.org>
32525
32526 * disk/host.c: Include grub/misc.h to fix a warning.
32527 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32528 warnings about implicit declarations.
32529
32530 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32531 variable.
32532 * include/grub/i386/loader.h: Change declaration of
32533 grub_linux_boot() to match what grub_loader_set() expects.
32534 * util/getroot.c (grub_guess_root_device): Return const char* to
32535 fix a warning.
32536 * util/grub-probe.c (probe): Fix a warning about uninitialized
32537 abstraction_name variable.
32538 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32539 second argument as unused to fix a warning.
32540
32541 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32542 missing grub_error() call.
32543
32544 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32545 2.60 and newer uses it to define datadir.
32546
32547 * commands/sleep.c: Fix warning about implicit declaration.
32548 * disk/memdisk.c: Likewise.
32549 * loader/aout.c: Likewise.
32550 * loader/i386/bsd_normal.c: Likewise.
32551 * util/grub-probe.c: Likewise.
32552
32553 * commands/i386/cpuid.c (has_longmode): Make static.
32554 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32555 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32556
32557 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32558 GDT. This is more robust, as %ds can change.
32559 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32560 calling real_to_prot().
32561 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32562
32563 2008-03-28 Pavel Roskin <proski@gnu.org>
32564
32565 * kern/i386/pc/startup.S: Assert that uncompressed functions
32566 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32567 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32568 code, as they push parts of the code (error handlers) beyond
32569 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32570 code as correctness and size.
32571
32572 2008-03-28 Pavel Roskin <proski@gnu.org>
32573
32574 * kern/i386/pc/startup.S
32575 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32576 data block address to the real mode, keep offset minimal. This
32577 works around a bug in AWARD BIOS on old Athlon systems, which
32578 makes CD detection hang.
32579
32580 2008-03-26 Pavel Roskin <proski@gnu.org>
32581
32582 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32583 const.
32584 * include/grub/normal.h: Add grub_parse_color_name_pair()
32585 declaration.
32586
32587 2008-03-24 Bean <bean123ch@gmail.com>
32588
32589 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32590 (cd_count): Removed.
32591 (cd_drive): New variable.
32592 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32593 (grub_biosdisk_call_hook): Likewise.
32594 (grub_biosdisk_iterate): Change cdrom detection method.
32595 (grub_biosdisk_open): Replace cd_start with cd_drive.
32596 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32597 detect cdrom device.
32598
32599 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32600 Removed.
32601 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32602 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32603 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32604 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32605 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32606 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32607 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32608 (grub_biosdisk_cdrp): New structure.
32609 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32610
32611 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32612
32613 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32614 device.
32615
32616 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32617 New function.
32618
32619 2008-03-20 Robert Millan <rmh@aybabtu.com>
32620
32621 Remove 2 TiB limit in ata.mod.
32622 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32623 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32624 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32625 grub_uint64_t instead of grub_uint32_t.
32626
32627 2008-03-05 Bean <bean123ch@gmail.com>
32628
32629 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32630 (grub_multiboot): Set boot device.
32631
32632 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32633
32634 2008-03-02 Bean <bean123ch@gmail.com>
32635
32636 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32637 symlink_buffer.
32638
32639 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32640
32641 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32642 texinfo.tex.
32643
32644 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32645 modified.
32646
32647 * docs/fdl.texi: New file.
32648
32649 * docs/mdate-sh: New file. Copied from gnulib.
32650 * docs/texinfo.tex: Likewise.
32651
32652 * config.guess: Updated from gnulib.
32653 * install-sh: Likewise.
32654
32655 2008-02-28 Robert Millan <rmh@aybabtu.com>
32656
32657 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32658 (aout_mod_SOURCES): New variable.
32659 (aout_mod_CFLAGS): Likewise.
32660 (aout_mod_LDFLAGS): Likewise.
32661
32662 * conf/i386-ieee1275.rmk: Likewise.
32663
32664 2008-02-28 Robert Millan <rmh@aybabtu.com>
32665
32666 * util/update-grub.in: Reorganise terminal validity check. Accept
32667 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32668 Based on suggestion by Franklin PIAT.
32669
32670 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32671
32672 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32673 function.
32674 * util/getroot.c (grub_util_check_block_device): New function that
32675 returns the given argument if it is a block device and returns NULL else.
32676 * util/grub-probe.c (argument_is_device): New variable.
32677 (probe): Promote device_name from a variable to an argument. Receive
32678 device_name from grub_util_check_block_device() if path is NULL and from
32679 grub_guess_root_device() else. Do not free() device_name anymore.
32680 (options): Introduce new parameter '-d, --device'.
32681 (main): Add description of the new parameter to the help screen.
32682 Rename path variable to argument. Set argument_is_device if the '-d'
32683 option is given. Pass argument to probe() depending on
32684 argument_is_device.
32685
32686 2008-02-24 Bean <bean123ch@gmail.com>
32687
32688 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32689 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32690 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32691 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32692 (GRUB_ISO9660_VOLDESC_END): Likewise.
32693 (grub_iso9660_primary_voldesc): New member escape.
32694 (grub_iso9660_data): New member joliet.
32695 (grub_iso9660_convert_string): New function.
32696 (grub_iso9660_mount): Detect joliet extension.
32697 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32698 (grub_iso9660_iso9660_label): Likewise.
32699
32700 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32701 (grub_setup_SOURCES): Add fs/udf.c.
32702 (grub_fstest_SOURCES): Likewise.
32703 (udf_mod_SOURCES): New variable.
32704 (udf_mod_CFLAGS): Likewise.
32705 (udf_mod_LDFLAGS): Likewise.
32706
32707 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32708 (grub_emu_SOURCES): Likewise.
32709
32710 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32711
32712 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32713
32714 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32715
32716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32717
32718 * fs/udf.c: New file.
32719
32720 2008-02-24 Robert Millan <rmh@aybabtu.com>
32721
32722 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32723 (normal/lexer.c_DEPENDENCIES): New variables.
32724 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32725 (normal/lexer.c_DEPENDENCIES): Likewise.
32726 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32727 (normal/lexer.c_DEPENDENCIES): Likewise.
32728 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32729 (normal/lexer.c_DEPENDENCIES): Likewise.
32730 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32731 (normal/lexer.c_DEPENDENCIES): Likewise.
32732 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32733 (normal/lexer.c_DEPENDENCIES): Likewise.
32734
32735 2008-02-23 Robert Millan <rmh@aybabtu.com>
32736
32737 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32738 since they were intended to be in hex. This didn't break previously
32739 because of a bug in gpt_partition_map_iterate() (see below).
32740
32741 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32742 when checking the validity of GPT header.
32743 Remove `partno', since it always provides the same information as `i'.
32744
32745 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32746
32747 * include/grub/efi/time.h: Fix a wrong comment.
32748
32749 2008-02-19 Pavel Roskin <proski@gnu.org>
32750
32751 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32752 message.
32753
32754 2008-02-19 Bean <bean123ch@gmail.com>
32755
32756 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32757 (aout_mod_SOURCES): New variable.
32758 (aout_mod_CFLAGS): Likewise.
32759 (aout_mod_LDFLAGS): Likewise.
32760 (_bsd_mod_SOURCES): New variable.
32761 (_bsd_mod_CFLAGS): Likewise.
32762 (_bsd_mod_LDFLAGS): Likewise.
32763 (bsd_mod_SOURCES): New variable.
32764 (bsd_mod_CFLAGS): Likewise.
32765 (bsd_mod_LDFLAGS): Likewise.
32766
32767 * include/grub/aout.h: New file.
32768
32769 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32770
32771 * include/grub/i386/bsd.h: New file.
32772
32773 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32774 to make it public.
32775
32776 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32777 function is called, so that it's possible to change it inside the hook.
32778 (grub_elf64_load): Likewise.
32779 (grub_elf_file): Don't close the file if elf header is not found.
32780 (grub_elf_close): Close the file if grub_elf_file fails (The new
32781 grub_elf_file won't close it).
32782 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32783 (grub_elf64_size): Likewise.
32784
32785 * kern/i386/loader.S (grub_unix_real_boot): New function.
32786
32787 * loader/aout.c: New file.
32788
32789 * loader/i386/bsd.c: New file.
32790
32791 * loader/i386/bsd_normal.c: New file.
32792
32793 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32794
32795 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
32796 can test other formats.
32797
32798 2008-02-19 Robert Millan <rmh@aybabtu.com>
32799
32800 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32801 (grub_gpt_partition_type_empty): Redefine with macro from
32802 `<grub/gpt_partition.h>'.
32803 (gpt_partition_map_iterate): Adjust partition type comparison.
32804
32805 Export `entry' as partmap-specific `part.data' struct.
32806 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32807
32808 * include/grub/gpt_partition.h (grub_gpt_header)
32809 (grub_gpt_partentry): ... to here (new file).
32810
32811 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32812
32813 (grub_gpt_partition_type_bios_boot): New const variable, defined
32814 with macro from `<grub/gpt_partition.h>'.
32815
32816 (setup): Replace `first_start' with `embed_region', which keeps
32817 track of the embed region (and is partmap-agnostic).
32818
32819 Replace find_first_partition_start() with find_usable_region(),
32820 which finds a usable region for embedding using partmap-specific
32821 knowledge (supports PC/MSDOS and GPT).
32822
32823 Fix all assumptions that the embed region start at sector 1, using
32824 `embed_region.start' from now on. Similarly, use `embed_region.end'
32825 rather than `first_start' to calculate available size.
32826
32827 In grub_util_info() message, replace "into after the MBR" with an
32828 indication of the specific sector our embed region starts at.
32829
32830 2008-02-19 Robert Millan <rmh@aybabtu.com>
32831
32832 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32833 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32834 `commands/reboot.c'.
32835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32836 (halt_mod_SOURCES): Likewise.
32837 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32838 (halt_mod_SOURCES): Likewise.
32839
32840 2008-02-17 Christian Franke <franke@computer.org>
32841
32842 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32843
32844 2008-02-17 Robert Millan <rmh@aybabtu.com>
32845
32846 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32847 set `first_start' to 0 for non-PC/MSDOS partition maps.
32848
32849 2008-02-16 Robert Millan <rmh@aybabtu.com>
32850
32851 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32852 do not assume partition map is PC/MSDOS before performing checks that
32853 are specific to that layout.
32854
32855 2008-02-13 Robert Millan <rmh@aybabtu.com>
32856
32857 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32858 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32859 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32860
32861 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32862
32863 * configure.ac: Only a cosmetic change on the handling of
32864 -fno-stack-protector.
32865
32866 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
32867
32868 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32869 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32870 reboot.c.
32871 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32872 (halt_mod_SOURCES): New variable.
32873 (halt_mod_CFLAGS): Likewise.
32874 (halt_mod_LDFLAGS): Likewise.
32875 (reboot_mod_SOURCES): Likewise.
32876 (reboot_mod_CFLAGS): Likewise.
32877 (reboot_mod_LDFLAGS): Likewise.
32878
32879 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32880 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32881 reboot.c.
32882 (halt_mod_SOURCES): Likewise.
32883 (reboot_mod_SOURCES): Likewise.
32884
32885 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32886 commands/i386/pc/reboot.c by commands/reboot.c.
32887 (reboot_mod_SOURCES): Likewise.
32888
32889 * commands/i386/pc/reboot.c: merge this file ...
32890
32891 * commands/ieee1275/reboot.c: ... and this file ...
32892
32893 * commands/reboot.c: ... to this file.
32894 Add some precompiler directive to include the correct header for
32895 each machine.
32896
32897 * commands/ieee1275/halt.c: move this file ...
32898
32899 * commands/halt.c: ... to here.
32900 Add some precompiler directive to include the correct header for
32901 each machine.
32902
32903 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32904 (grub_halt): Likewise.
32905
32906 * kern/efi/efi.c (grub_reboot): New function.
32907 (grub_halt): Likewise.
32908
32909 2008-02-12 Robert Millan <rmh@aybabtu.com>
32910
32911 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
32912 /dev (like it is done for /dev/mapper). This doesn't provide support
32913 for EVMS, but at least it is now easy to identify the problem when it
32914 arises.
32915
32916 2008-02-11 Robert Millan <rmh@aybabtu.com>
32917
32918 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
32919 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
32920 comparing it with -1, not 0.
32921
32922 2008-02-10 Robert Millan <rmh@aybabtu.com>
32923
32924 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
32925 `disk/lvm.c'.
32926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32927 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32928
32929 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
32930 `disk/lvm.c' to the end of the list.
32931 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32932 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32933
32934 2008-02-10 Robert Millan <rmh@aybabtu.com>
32935
32936 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
32937 grub_print_error() instead. This will let user know why we're entering
32938 rescue mode.
32939 Based on suggestions from Sam Morris.
32940
32941 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
32942
32943 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
32944 on remaining N args, instead of "--" arg N times.
32945
32946 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
32947
32948 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
32949 (fill_with_default_glyph): Changed to use unknown_glyph for fill
32950 pattern for unknown glyphs.
32951
32952 2008-02-09 Robert Millan <rmh@aybabtu.com>
32953
32954 * configure.ac: Probe for `help2man'.
32955 * Makefile.in (builddir): New variable.
32956 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
32957 or otherwise add a few flags/options to it.
32958 (install-local): For every executable utility or script that is
32959 installed, invoke $(HELP2MAN) to install a manpage based on --help
32960 output.
32961
32962 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
32963 that it doesn't prevent --help from working in build tree.
32964
32965 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
32966 with `bug-grub@gnu.org'.
32967 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
32968 * util/update-grub.in (usage): New function.
32969 Implement proper argument check, with support for --help and --version
32970 (as well as existing -y).
32971
32972 2008-02-09 Christian Franke <franke@computer.org>
32973
32974 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
32975 avoid overwriting previous output.
32976 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
32977
32978 2008-02-09 Robert Millan <rmh@aybabtu.com>
32979
32980 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
32981 drawing the menu.
32982
32983 2008-02-09 Robert Millan <rmh@aybabtu.com>
32984
32985 * commands/sleep.c: New file.
32986 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
32987 (sleep_mod_SOURCES): New variable.
32988 (sleep_mod_CFLAGS): Likewise.
32989 (sleep_mod_LDFLAGS): Likewise.
32990
32991 2008-02-09 Robert Millan <rmh@aybabtu.com>
32992
32993 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
32994 situations in which we can deduce the RAID size and the superblock
32995 doesn't match it.
32996
32997 2008-02-09 Robert Millan <rmh@aybabtu.com>
32998
32999 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
33000 and return a grub_diskmemberlist_t composed of LVM physical volumes.
33001 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
33002
33003 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
33004 and return a grub_diskmemberlist_t composed of physical array members.
33005 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
33006
33007 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
33008 prototype.
33009 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
33010 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
33011 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
33012
33013 * util/grub-probe.c (probe): Move partmap probing code from here ...
33014 (probe_partmap): ... to here.
33015 (probe): Use probe_partmap() once for the disk we're probing, and
33016 additionally, when such disk contains a memberlist() struct member,
33017 once for each disk that is contained in the structure returned by
33018 memberlist().
33019
33020 2008-02-09 Robert Millan <rmh@aybabtu.com>
33021
33022 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
33023 environment variable to 'all' in order to obtain debug output from
33024 non-util/ code.
33025 * util/i386/pc/grub-setup.c (main): Likewise.
33026
33027 2008-02-08 Robert Millan <rmh@aybabtu.com>
33028
33029 * disk/raid.c (grub_raid_scan_device): Check for
33030 `array->device[sb.this_disk.number]' rather than for
33031 `array->device[sb.this_disk.number]->name', since the latter is not
33032 guaranteed to be accessible.
33033
33034 2008-02-08 Robert Millan <rmh@aybabtu.com>
33035
33036 * disk/raid.c: Update copyright.
33037 * fs/cpio.c: Likewise.
33038 * include/grub/raid.h: Likewise.
33039 * loader/i386/pc/multiboot.c: Likewise.
33040 * util/hostfs.c: Likewise.
33041
33042 2008-02-08 Robert Millan <rmh@aybabtu.com>
33043
33044 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
33045 to a grub_disk_t array.
33046 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
33047 `device[x]'.
33048 (grub_raid_scan_device): Replace `device[x].name' accesses with
33049 `device[x]->name'. Simplify initialization of `array->device[x]'.
33050
33051 2008-02-08 Robert Millan <rmh@aybabtu.com>
33052
33053 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
33054 grub_dprintf() calls.
33055 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
33056 error message.
33057
33058 2008-02-07 Christian Franke <franke@computer.org>
33059
33060 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
33061 instead of fseek and ftell to support large files.
33062 (grub_hostfs_read): Likewise.
33063
33064 2008-02-07 Robert Millan <rmh@aybabtu.com>
33065
33066 Patch from Jeroen Dekkers.
33067 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
33068 failure, since successfully reading all array members might not be
33069 required.
33070
33071 2008-02-06 Robert Millan <rmh@aybabtu.com>
33072
33073 * util/grub-probe.c (probe): Simplify partmap probing (with the
33074 assumption that the first word up to the underscore equals to
33075 the module name).
33076
33077 2008-02-06 Christian Franke <franke@computer.org>
33078
33079 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
33080 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
33081 last block of a cpio or tar stream.
33082 Check for "TRAILER!!!" instead of any empty data
33083 block to detect last block of a cpio stream.
33084 (grub_cpio_dir): Fix constness of variable np.
33085 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
33086 cpio or tar trailer is detected. This fixes a crash
33087 on open of a non existing file.
33088
33089 2008-02-05 Bean <bean123ch@gmail.com>
33090
33091 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
33092 address of entry.
33093 (grub_multiboot_load_elf64): Likewise.
33094 (grub_multiboot): Initialize mbi structure.
33095
33096 * util/grub-fstest.c: Don't include unused header file script.h.
33097
33098 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
33099 of file.
33100 (grub_fstest_SOURCES): Likewise.
33101
33102 2008-02-05 Robert Millan <rmh@aybabtu.com>
33103
33104 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
33105 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
33106 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
33107 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
33108
33109 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
33110 (translation_table): Replace hardcoded values with macros
33111 provided by `<grub/term.h>'.
33112
33113 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
33114 (keyboard_map): Correct/add a few values, with macros provided
33115 by `<grub/term.h>'.
33116 (keyboard_map_shift): Zero values that don't differ from their
33117 `keyboard_map' equivalents.
33118 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
33119 Discard the second scan code that is always sent by Caps lock.
33120 Only use `keyboard_map_shift' when it provides a non-zero value,
33121 otherwise fallback to `keyboard_map'.
33122
33123 2008-02-04 Bean <bean123ch@gmail.com>
33124
33125 * Makefile.in (enable_grub_fstest): New variable.
33126
33127 * conf/common.rmk (grub_fstest_init.lst): New rule.
33128 (grub_fstest_init.h): Likewise.
33129 (grub_fstest_init.c): Likewise.
33130 (util/grub-fstest.c_DEPENDENCIES): New variable.
33131 (grub_fstest_SOURCES): Likewise.
33132
33133 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
33134
33135 * util/grub-fstest.c: New file.
33136
33137 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33138
33139 Make grub-setup handle a separate root device.
33140
33141 * util/i386/pc/grub-setup.c (setup): Always open the root device,
33142 so that the root device can be compared with the destination
33143 device.
33144 When embedding the core image, if the root and destination devices
33145 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
33146 0xFF.
33147 When not embedding, set ROOT_DRIVE to 0xFF.
33148
33149 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33150
33151 Add support for having a grub directory in a different drive. This
33152 is still only the data handling part.
33153
33154 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
33155 (codestart): Save %dh in GRUB_ROOT_DRIVE.
33156 (grub_root_drive): New variable.
33157
33158 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
33159 instead of GRUB_BOOT_DRIVE to construct a device name. Set
33160 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
33161 as it was.
33162
33163 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
33164
33165 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
33166 macro.
33167 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
33168
33169 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
33170 is bogus, because PXE booting does not specify any drive
33171 correctly.
33172
33173 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
33174 am not sure if this is really correct.
33175
33176 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
33177 is always identical to the boot drive when booting from a CD.
33178
33179 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
33180 longer.
33181 (root_drive): New variable.
33182 (real_start): Unconditionally set %dh to ROOT_DRIVE.
33183 (setup_sectors): Push %dx right after popping it, because %dh will
33184 be modified later.
33185 (copy_buffer): Restore %dx.
33186
33187 2008-02-03 Robert Millan <rmh@aybabtu.com>
33188
33189 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
33190 use `cdboot.img' for cdrom images.
33191
33192 2008-02-03 Robert Millan <rmh@aybabtu.com>
33193
33194 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
33195 only setup gfxterm when `font' command has succeeded.
33196
33197 2008-02-03 Robert Millan <rmh@aybabtu.com>
33198
33199 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
33200 (grub_rescue_cmd_multiboot_loader)
33201 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
33202
33203 2008-02-03 Pavel Roskin <proski@gnu.org>
33204
33205 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
33206 %edx and %esi from stack only after grub_gate_a20() is called.
33207 grub_gate_a20() clobbers %edx.
33208
33209 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
33210
33211 * configure.ac (AC_INIT): Bumped to 1.96.
33212
33213 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
33214 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
33215 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
33216 video/readers/png.c.
33217
33218 2008-02-03 Bean <bean123ch@gmail.com>
33219
33220 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
33221 (cdboot_img_SOURCES): New variable.
33222 (cdboot_img_ASFLAGS): New variable.
33223 (cdboot_img_LDFLAGS): New variable.
33224
33225 * boot/i386/pc/cdboot.S: New file.
33226
33227 * disk/i386/pc/biosdisk.c (cd_start): New variable.
33228 (cd_count): Likewise.
33229 (grub_biosdisk_get_drive): Add support for cd device.
33230 (grub_biosdisk_call_hook): Likewise.
33231 (grub_biosdisk_iterate): Likewise.
33232 (grub_biosdisk_open): Likewise.
33233 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
33234 (grub_biosdisk_rw): Support reading from cd device.
33235 (GRUB_MOD_INIT): Iterate cd devices.
33236
33237 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
33238 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
33239 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
33240
33241 * kern/i386/pc/init.c (make_install_device): Check for cd device.
33242
33243 2008-02-02 Robert Millan <rmh@aybabtu.com>
33244
33245 * commands/read.c: New file.
33246 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
33247 (read_mod_SOURCES): New variable.
33248 (read_mod_CFLAGS): Likewise.
33249 (read_mod_LDFLAGS): Likewise.
33250
33251 2008-02-02 Robert Millan <rmh@aybabtu.com>
33252
33253 * normal/main.c (grub_normal_execute): Check for `menu->size' when
33254 determining whether menu has to be displayed.
33255
33256 2008-02-02 Marco Gerards <marco@gnu.org>
33257
33258 * bus/pci.c: New file.
33259
33260 * include/grub/pci.h: Likewise.
33261
33262 * include/grub/i386/pc/pci.h: Likewise.
33263
33264 * commands/lspci.c: Likewise.
33265
33266 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
33267 `lspci.mod'.
33268 (pci_mod_SOURCES): New variable.
33269 (pci_mod_CFLAGS): Likewise.
33270 (pci_mod_LDFLAGS): Likewise.
33271 (lspci_mod_SOURCES): Likewise.
33272 (lspci_mod_CFLAGS): Likewise.
33273 (lspci_mod_LDFLAGS): Likewise.
33274
33275 2008-02-02 Bean <bean123ch@gmail.com>
33276
33277 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
33278 (grub_ufs_get_file_block): Fix indirect block calculation problem.
33279
33280 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
33281 (grub_xfs_btree_node): New structure.
33282 (grub_xfs_btree_root): New structure.
33283 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
33284 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
33285 (GRUB_XFS_EXTENT_BLOCK): Likewise.
33286 (GRUB_XFS_EXTENT_SIZE): Likewise.
33287 (grub_xfs_read_block): Support btree format type.
33288 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33289 Use directory block as basic unit.
33290
33291 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33292
33293 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33294 __attribute__ ((__regparm__ (1))).
33295
33296 2008-02-01 Robert Millan <rmh@aybabtu.com>
33297
33298 Correct a mistake in previous commit.
33299
33300 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33301 top.
33302 (normal/command.c_DEPENDENCIES): New variable.
33303
33304 2008-02-01 Robert Millan <rmh@aybabtu.com>
33305
33306 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33307 top.
33308 (normal/command.c_DEPENDENCIES): New variable.
33309 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33310 * conf/i386-ieee1275.rmk: Likewise.
33311 * conf/i386-linuxbios.rmk: Likewise.
33312 * conf/i386-pc.rmk: Likewise.
33313 * conf/sparc64-ieee1275.rmk: Likewise.
33314 * conf/powerpc-ieee1275.rmk: Likewise.
33315 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33316
33317 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33318
33319 2008-02-01 Robert Millan <rmh@aybabtu.com>
33320
33321 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33322 call at beginning of function.
33323
33324 2008-01-31 Pavel Roskin <proski@gnu.org>
33325
33326 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
33327 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33328 (grub_mkrescue_SOURCES): Likewise.
33329 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33330
33331 2008-01-30 Robert Millan <rmh@aybabtu.com>
33332
33333 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33334 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33335 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33336 (grub_probe_SOURCES): ... to here.
33337
33338 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33339 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33340 * conf/i386-ieee1275.rmk: Likewise.
33341 * conf/i386-linuxbios.rmk: Likewise.
33342 * conf/powerpc-ieee1275.rmk: Likewise.
33343
33344 2008-01-30 Tristan Gingold <gingold@free.fr>
33345
33346 * kern/rescue.c: Silently accept empty lines.
33347
33348 2008-01-29 Bean <bean123ch@gmail.com>
33349
33350 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33351 (real_code_2): Code cleanup and change comment style.
33352 (move_memory): Avoid using 32-bit address mode.
33353
33354 2008-01-29 Bean <bean123ch@gmail.com>
33355
33356 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33357 (png_mod_SOURCES): New variable.
33358 (png_mod_CFLAGS): Likewise.
33359 (png_mod_LDFLAGS): Likewise.
33360
33361 * video/readers/png.c: New file.
33362
33363 2008-01-28 Robert Millan <rmh@aybabtu.com>
33364
33365 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33366 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33367 `ifndef GRUB_MOD_GAP' hack.
33368 * util/elf/grub-mkimage.c (add_segments): Likewise.
33369
33370 2008-01-27 Robert Millan <rmh@aybabtu.com>
33371
33372 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33373 `GRUB_MOD_GAP' for platforms in which it's not defined.
33374 * util/elf/grub-mkimage.c (add_segments): Likewise.
33375
33376 2008-01-27 Robert Millan <rmh@aybabtu.com>
33377
33378 Get grub-emu to build again (including parallel builds).
33379
33380 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33381 Split into ...
33382 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33383 (normal/execute.c_DEPENDENCIES): ... this, ...
33384 (grub-emu_DEPENDENCIES): ... and this.
33385
33386 * conf/i386-efi.rmk: Likewise.
33387 * conf/i386-linuxbios.rmk: Likewise.
33388 * conf/i386-ieee1275.rmk: Likewise.
33389 * conf/powerpc-ieee1275.rmk: Likewise.
33390 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33391
33392 2008-01-27 Robert Millan <rmh@aybabtu.com>
33393
33394 * NEWS: Add a few items.
33395
33396 2008-01-27 Robert Millan <rmh@aybabtu.com>
33397
33398 Fix parallel builds with grub-emu. Based on earlier commit for
33399 grub-probe and grub-setup.
33400
33401 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33402 (util/grub-emu.c_DEPENDENCIES): ... this.
33403 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33404 (util/grub-emu.c_DEPENDENCIES): ... this.
33405 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33406 (util/grub-emu.c_DEPENDENCIES): ... this.
33407 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33408 (util/grub-emu.c_DEPENDENCIES): ... this.
33409 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33410 (util/grub-emu.c_DEPENDENCIES): ... this.
33411
33412 2008-01-27 Pavel Roskin <proski@gnu.org>
33413
33414 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33415 to create a gap between _end and the modules added to the image
33416 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33417 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33418 * util/elf/grub-mkimage.c (add_segments): Likewise.
33419
33420 2008-01-26 Pavel Roskin <proski@gnu.org>
33421
33422 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33423 just return an error.
33424
33425 2008-01-26 Bean <bean123ch@gmail.com>
33426
33427 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33428 (grub_reiserfs_get_item): Save offset of the next item.
33429 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33430
33431 2008-01-25 Robert Millan <rmh@aybabtu.com>
33432
33433 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33434 make all filesystem sources appear together (possibly fixing omissions
33435 while at it).
33436 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33437 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33438 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33440
33441 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33442 add `kern/file.c'.
33443 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33444 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33445 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33446 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33447
33448 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33449 (probe): Add a sanity check to make sure of our ability to read
33450 requested files when probing for filesystem type.
33451
33452 * genmk.rb: Update copyright year (2007).
33453
33454 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33455 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33456 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33457 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33458 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33459 : Remove function prototypes.
33460
33461 2008-01-25 Robert Millan <rmh@aybabtu.com>
33462
33463 Revert my previous commits (based on wrong assumption of how grub_errno
33464 works).
33465
33466 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
33467 * kern/file.c (grub_file_open): Likewise.
33468
33469 2008-01-24 Pavel Roskin <proski@gnu.org>
33470
33471 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33472 that hang if GRUB tries to setup colors.
33473 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33474 colors for firmwares that don't support it.
33475 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33476 Recognize Open Hack'Ware, set flags to work around its
33477 limitations.
33478
33479 2008-01-24 Robert Millan <rmh@aybabtu.com>
33480
33481 * kern/file.c (grub_file_open): Do not account previous failures of
33482 unrelated functions when grub_errno is checked for.
33483 Reported by Oleg Strikov.
33484
33485 2008-01-24 Bean <bean123ch@gmail.com>
33486
33487 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33488 (grub_ufs_sblock): New member volume name.
33489 (grub_ufs_find_file): Fix string copy bug.
33490 (grub_ufs_label): Implement this function properly.
33491
33492 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33493 (grub_hfs_iterate_records): Use the correct file number for extents
33494 and catalog file. Fix problem in next index calculation.
33495 (grub_hfs_find_node): Replace recursive function call with loop.
33496 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33497
33498 2008-01-23 Robert Millan <rmh@aybabtu.com>
33499
33500 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33501 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33502 (grub_multiboot2_real_boot): New function prototype.
33503
33504 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33505 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33506
33507 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33508 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33509
33510 2008-01-23 Robert Millan <rmh@aybabtu.com>
33511
33512 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33513 #ifdef'ed out grub_printf().
33514
33515 2008-01-23 Robert Millan <rmh@aybabtu.com>
33516
33517 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33518 grub_dprintf calls, since they make "debug=all" mode unusable.
33519 (grub_console_checkkey): Likewise.
33520
33521 2008-01-23 Robert Millan <rmh@aybabtu.com>
33522
33523 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33524 `term/i386/pc/at_keyboard.c'.
33525 (pkglib_MODULES): Add `serial.mod'.
33526 (serial_mod_SOURCES): New variable.
33527 (serial_mod_CFLAGS): Likewise.
33528 (serial_mod_LDFLAGS): Likewise.
33529
33530 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33531 `<grub/powerpc/ieee1275/console.h>'.
33532 (grub_keyboard_controller_init): New function prototype.
33533 (grub_console_checkkey): Likewise.
33534 (grub_console_getkey): Likewise.
33535
33536 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33537 keyboard on i386.
33538
33539 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33540 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33541
33542 2008-01-23 Robert Millan <rmh@aybabtu.com>
33543
33544 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33545 present, "(memdisk)/boot/grub" becomes the default prefix.
33546
33547 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33548 a memdisk tarball with all the modules. Add --overlay=DIR option that
33549 allows users to overlay additional files into the image.
33550
33551 2008-01-23 Robert Millan <rmh@aybabtu.com>
33552
33553 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33554 and `machine/memory.h'.
33555 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33556 (_multiboot_mod_SOURCES): New variable.
33557 (_multiboot_mod_CFLAGS): Likewise.
33558 (_multiboot_mod_LDFLAGS): Likewise.
33559 (multiboot_mod_SOURCES): Likewise.
33560 (multiboot_mod_CFLAGS): Likewise.
33561 (multiboot_mod_LDFLAGS): Likewise.
33562
33563 * include/grub/i386/ieee1275/loader.h: New file.
33564
33565 * include/grub/i386/ieee1275/machine.h: Likewise.
33566
33567 * include/grub/i386/ieee1275/memory.h: Likewise.
33568
33569 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33570 variable declaration.
33571 (grub_os_area_size): Likewise.
33572
33573 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33574 (grub_lower_mem, grub_upper_mem): New variables.
33575 (grub_stop_floppy): New function (just to make
33576 grub_multiboot2_real_boot() happy).
33577
33578 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33579 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33580 (grub_stop): New function.
33581 Include `"../realmode.S"' and `"../loader.S"'.
33582
33583 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33584 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33585
33586 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33587 rely on grub_multiboot2_real_boot() for final boot.
33588
33589 2008-01-22 Robert Millan <rmh@aybabtu.com>
33590
33591 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33592 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33593 device that doesn't look like an SD card.
33594 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33595 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33596 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33597 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33598 found.
33599
33600 2008-01-22 Robert Millan <rmh@aybabtu.com>
33601
33602 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33603 avoid claiming over our own code.
33604
33605 2008-01-22 Bean <bean123ch@gmail.com>
33606
33607 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33608 (jpeg_mod_SOURCES): New variable.
33609 (jpeg_mod_CFLAGS): Likewise.
33610 (jpeg_mod_LDFLAGS): Likewise.
33611
33612 * video/readers/jpeg.c : New file.
33613
33614 2008-01-22 Bean <bean123ch@gmail.com>
33615
33616 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33617 there are no more items.
33618
33619 2008-01-21 Robert Millan <rmh@aybabtu.com>
33620
33621 * kern/mm.c (grub_mm_init_region): Improve debug message.
33622
33623 2008-01-21 Robert Millan <rmh@aybabtu.com>
33624
33625 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33626 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33627 address.
33628 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33629 a C macro.
33630 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33631 Indicates start of upper memory.
33632 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33633 (generate_image): Abort when image size is big enough to corrupt
33634 upper memory.
33635
33636 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33637 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33638 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33639 instead of hardcoding 0xA0000.
33640 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33641 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33642 instead of hardcoding 0xA0000.
33643
33644 2008-01-21 Robert Millan <rmh@aybabtu.com>
33645
33646 * disk/memdisk.c (memdisk_size): New variable.
33647 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33648 `memdisk_size'.
33649 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33650 image to dynamic memory.
33651 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33652 `memdisk_size'. Free memdisk block.
33653
33654 2008-01-21 Robert Millan <rmh@aybabtu.com>
33655
33656 Fix detection of very small filesystems (like tar).
33657
33658 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33659 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33660 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33661 a problem with this disk).
33662
33663 2008-01-21 Robert Millan <rmh@aybabtu.com>
33664
33665 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33666 on grub_biosdisk_rw_standard() error.
33667
33668 2008-01-21 Robert Millan <rmh@aybabtu.com>
33669
33670 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33671 recent changes.
33672 * kern/elf.c: Likewise.
33673 * kern/ieee1275/ieee1275.c: Likewise.
33674 * kern/powerpc/ieee1275/openfw.c: Likewise.
33675 * term/ieee1275/ofconsole.c: Likewise.
33676
33677 2008-01-21 Robert Millan <rmh@aybabtu.com>
33678
33679 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33680
33681 * include/grub/kernel.h (grub_arch_memdisk_addr)
33682 (grub_arch_memdisk_size): Moved from here ...
33683
33684 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33685 (grub_arch_memdisk_size): ... to here.
33686
33687 2008-01-21 Robert Millan <rmh@aybabtu.com>
33688
33689 Mostly based on bugfix from Bean.
33690
33691 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33692 attribute with hook() parameter.
33693 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33694 declaration.
33695 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33696 attribute with hook() parameter.
33697 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33698 declaration.
33699
33700 2008-01-21 Robert Millan <rmh@aybabtu.com>
33701
33702 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33703 (pkglib_MODULES): Add `memdisk.mod'.
33704 (memdisk_mod_SOURCES): New variable.
33705 (memdisk_mod_CFLAGS): Likewise.
33706 (memdisk_mod_LDFLAGS): Likewise.
33707
33708 * disk/memdisk.c: New file.
33709
33710 * include/grub/disk.h (grub_disk_dev_id): Add
33711 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33712
33713 * include/grub/i386/pc/kernel.h
33714 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33715 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33716 (grub_kernel_image_size): New variable declaration.
33717 (grub_total_module_size): Likewise.
33718 (grub_memdisk_image_size): Likewise.
33719
33720 * include/grub/i386/pc/memory.h
33721 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33722
33723 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33724 (grub_arch_memdisk_addr): New variable declaration.
33725 (grub_arch_memdisk_size): Likewise.
33726
33727 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33728 (grub_arch_memdisk_size): Likewise.
33729
33730 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33731 (codestart): Replace hardcoded `0x100000' with
33732 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33733
33734 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33735 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33736 not NULL, append the contents of the file it refers to, at the end of
33737 the compressed kernel image. Initialize `grub_memdisk_image_size'
33738 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33739 (options): Add "memdisk"|'m' option.
33740 (main): Parse --memdisk|-m option, and pass user-provided path as
33741 parameter to generate_image().
33742
33743 2008-01-20 Robert Millan <rmh@aybabtu.com>
33744
33745 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33746 grub_dprintf() calls from here ...
33747 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33748
33749 2008-01-20 Robert Millan <rmh@aybabtu.com>
33750
33751 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33752
33753 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33754 declaration.
33755 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33756 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33757 `GRUB_IEEE1275_FLAG_REAL_MODE'.
33758 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
33759 property).
33760 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33761 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33762
33763 2008-01-19 Robert Millan <rmh@aybabtu.com>
33764
33765 Get rid of confusing function (superseded by
33766 `grub_ieee1275_get_integer_property')
33767 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33768 prototype.
33769 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33770 function.
33771 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33772 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
33773 in native endianness from grub_ieee1275_get_integer_property().
33774
33775 2008-01-19 Robert Millan <rmh@aybabtu.com>
33776
33777 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33778 command after "shut-down", since implementations differ on which
33779 the command for halt is.
33780
33781 2008-01-19 Robert Millan <rmh@aybabtu.com>
33782
33783 * include/grub/i386/linuxbios/console.h: Add header protection.
33784 (grub_keyboard_controller_init): New function prototype.
33785 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33786 (KEYBOARD_COMMAND_READ): Likewise.
33787 (KEYBOARD_COMMAND_WRITE): Likewise.
33788 (KEYBOARD_SCANCODE_SET1): Likewise.
33789 (grub_keyboard_controller_write): New function.
33790 (grub_keyboard_controller_read): Likewise.
33791 (grub_keyboard_controller_init): Likewise.
33792
33793 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33794 (grub_console_init): On coreboot/LinuxBIOS, call
33795 grub_keyboard_controller_init().
33796
33797 2008-01-19 Robert Millan <rmh@aybabtu.com>
33798
33799 PowerPC changes provided by Pavel Roskin.
33800
33801 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33802 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33803 don't rely on cmain() doing it.
33804 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33805 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33806
33807 2008-01-16 Robert Millan <rmh@aybabtu.com>
33808
33809 * include/grub/i386/linuxbios/memory.h
33810 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33811 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33812 receive `table_header' as argument. Instead, probe for it in the
33813 known memory ranges where it can be present.
33814 (grub_available_iterate): Do not pass a fixed `table_header' address
33815 to grub_linuxbios_table_iterate().
33816
33817 2008-01-15 Robert Millan <rmh@aybabtu.com>
33818
33819 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33820 * conf/i386-ieee1275.rmk: New file.
33821 * include/grub/i386/ieee1275/console.h: Likewise.
33822 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33823 * include/grub/i386/ieee1275/kernel.h: Likewise.
33824 * include/grub/i386/ieee1275/time.h: Likewise.
33825 * kern/i386/ieee1275/init.c: Likewise.
33826 * kern/i386/ieee1275/startup.S: Likewise.
33827
33828 2008-01-15 Robert Millan <rmh@aybabtu.com>
33829
33830 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33831 when pointers are 32-bit (but still do set it to one when they are
33832 64-bit).
33833
33834 2008-01-15 Robert Millan <rmh@aybabtu.com>
33835
33836 * include/grub/ieee1275/ieee1275.h
33837 (grub_ieee1275_get_integer_property): New function prototype.
33838
33839 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33840 (grub_ieee1275_get_integer_property): New function. Wraps around
33841 grub_ieee1275_get_property() to handle endianness.
33842
33843 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33844 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
33845 where appropriate.
33846 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33847 (grub_map): Likewise.
33848 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33849
33850 2008-01-15 Bean <bean123ch@gmail.com>
33851
33852 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33853 (grub_script_execute_cmdline): Reset grub_errno.
33854
33855 * normal/main.c (read_config_file): Reset grub_errno.
33856
33857 * normal/parse.y (script_init): New.
33858 (script): Move function and menuentry here.
33859 (delimiter): New.
33860 (command): Add delimiter at the end of command.
33861 (commands): Adjust to match the new command.
33862 (commandblock): Remove grub_script_lexer_record_start.
33863 (menuentry): Add grub_script_lexer_record_start, use the new commands.
33864 (if): Use the new commands.
33865
33866 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33867
33868 2008-01-15 Robert Millan <rmh@aybabtu.com>
33869
33870 * normal/menu.c (run_menu): Move timeout message from here ...
33871 (print_timeout): ... to here.
33872 (run_menu): Use print_timeout() once during initial draw to print
33873 the whole message, and again in every clock tick to update only
33874 the number of seconds.
33875
33876 2008-01-15 Robert Millan <rmh@aybabtu.com>
33877
33878 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33879 actual size of `available' from grub_ieee1275_get_property(), and
33880 restrict parsing to that bound.
33881
33882 2008-01-15 Christian Franke <franke@computer.org>
33883
33884 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33885 (argp_program_version): Remove variable.
33886 (argp_program_bug_address): Likewise.
33887 (options): Convert from struct argp_option to struct option.
33888 (struct arguments): Remove.
33889 (parse_opt): Remove.
33890 (usage): New function.
33891 (main): Replace struct args members by simple variables.
33892 Replace argp_parse() by getopt_long().
33893 Add switch to evaluate options.
33894 Add missing "(...)" around root_dev in prefix string.
33895
33896 2008-01-14 Robert Millan <rmh@aybabtu.com>
33897
33898 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33899 for grub_ieee1275_exit(), in order to improve portability.
33900
33901 2008-01-14 Robert Millan <rmh@aybabtu.com>
33902
33903 * util/grub.d/10_linux.in (prefix): Define.
33904 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33905
33906 2008-01-13 Pavel Roskin <proski@gnu.org>
33907
33908 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
33909 grub_errno if no errors have been detected.
33910
33911 2008-01-12 Robert Millan <rmh@aybabtu.com>
33912
33913 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
33914 (grub_util_get_dev_abstraction): New function prototype.
33915
33916 * util/getroot.c: Include `<grub/util/getroot.h>'
33917 (grub_util_get_grub_dev): Move detection of abstraction type to ...
33918 (grub_util_get_dev_abstraction): ... here (new function).
33919
33920 * util/grub-probe.c: Convert PRINT_* to an enum. Add
33921 `PRINT_ABSTRACTION'.
33922 (probe): Probe for abstraction type when requested.
33923 (main): Understand `--target=abstraction'.
33924
33925 * util/i386/efi/grub-install.in: Add abstraction module to core
33926 image when it is found to be necessary.
33927 * util/i386/pc/grub-install.in: Likewise.
33928 * util/powerpc/ieee1275/grub-install.in: Likewise.
33929
33930 * util/update-grub_lib.in (font_path): Return system path without
33931 converting to GRUB path.
33932 * util/update-grub.in: Convert system path returned by font_path()
33933 to a GRUB path. Use `grub-probe -t abstraction' to determine what
33934 abstraction module is needed for loading fonts (if any). Export
33935 that as `GRUB_PRELOAD_MODULES'.
33936 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
33937 insmod commands).
33938
33939 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
33940
33941 Remove some unused code from reiserfs.
33942
33943 * fs/reiserfs.c (struct grub_reiserfs_key)
33944 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
33945 (struct grub_reiserfs_node_body): Removed.
33946 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33947 Likewise.
33948 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33949 Likewise.
33950 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33951 Likewise.
33952 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33953 Likewise.
33954 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33955 Likewise.
33956 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
33957 Likewise.
33958 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33959 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33960 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33961
33962 2008-01-10 Robert Millan <rmh@aybabtu.com>
33963
33964 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
33965 Determines if a file is garbage left by packaging systems, etc.
33966 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
33967 for processing /etc/grub.d scripts.
33968 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
33969 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
33970 as a condition for processing Linux images.
33971
33972 2008-01-10 Pavel Roskin <proski@gnu.org>
33973
33974 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
33975 to compile reiserfs.c on PowerPC.
33976
33977 2008-01-10 Robert Millan <rmh@aybabtu.com>
33978
33979 * kern/device.c (grub_device_iterate): Do not abort device iteration
33980 when one of the devices cannot be opened.
33981 * kern/disk.c (grub_disk_open): Do not account previous failures of
33982 unrelated functions when grub_errno is checked for.
33983
33984 2008-01-08 Robert Millan <rmh@aybabtu.com>
33985
33986 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
33987 `! grub_linux_is_bzimage', change order of address comparison to make
33988 it more intuitive, and improve "too big zImage" error message.
33989
33990 2008-01-08 Robert Millan <rmh@aybabtu.com>
33991
33992 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
33993 `$(update-grub_DATA)'.
33994 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
33995 targets.
33996
33997 2008-01-07 Robert Millan <rmh@aybabtu.com>
33998
33999 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
34000 which instruction is modified by grub-setup during installation
34001 (since it wasn't obvious by only looking at this file).
34002
34003 2008-01-07 Robert Millan <rmh@aybabtu.com>
34004
34005 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
34006 listing actual TODO items.
34007
34008 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34009
34010 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
34011 correctly.
34012 (grub_reiserfs_get_key_offset): Likewise.
34013 (grub_reiserfs_set_key_offset): Likewise.
34014 (grub_reiserfs_set_key_type): Likewise.
34015 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
34016
34017 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
34018 better to remove the bitfield version completely.
34019
34020 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34021
34022 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
34023 allocated from the heap, due to the fshelp implementation.
34024 (grub_reiserfs_dir): Free NODE, due to the same reason.
34025
34026 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34027
34028 Mostly from Vincent Pelletier:
34029
34030 * fs/reiserfs.c: New file.
34031
34032 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
34033 (reiserfs_mod_SOURCES): New variable.
34034 (reiserfs_mod_CFLAGS): Likewise.
34035 (reiserfs_mod_LDFLAGS): Likewise.
34036
34037 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
34038 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
34039 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
34040 normal/color.c.
34041
34042 2008-01-06 Robert Millan <rmh@aybabtu.com>
34043
34044 * normal/color.c: Remove `<grub/env.h>'.
34045
34046 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
34047
34048 * include/grub/normal.h: Include <grub/env.h>.
34049
34050 2008-01-05 Robert Millan <rmh@aybabtu.com>
34051
34052 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
34053 usage example with `(hd0,1)'.
34054 Reported by Samuel Thibault.
34055
34056 2008-01-05 Robert Millan <rmh@aybabtu.com>
34057
34058 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
34059 (grub_linux_boot_zimage): Rename to ...
34060 (grub_linux_boot): ... this.
34061 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
34062 (grub_linux_boot_zimage): Conditionalize zImage copy.
34063
34064 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
34065 (grub_linux_boot_bzimage): Remove prototype.
34066 (grub_linux_boot_zimage): Rename to ...
34067 (grub_linux_boot): ... this.
34068
34069 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
34070 (grub_linux_boot): Remove function.
34071
34072 2008-01-05 Robert Millan <rmh@aybabtu.com>
34073
34074 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
34075 (grub_env_write_color_highlight): Likewise.
34076 (grub_wait_after_message): Likewise.
34077
34078 * normal/color.c: New file.
34079
34080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34081 (normal_mod_DEPENDENCIES): Likewise.
34082
34083 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34084 (normal_mod_DEPENDENCIES): Likewise.
34085
34086 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34087 (normal_mod_DEPENDENCIES): Likewise.
34088
34089 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
34090 (normal_mod_DEPENDENCIES): Likewise.
34091
34092 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
34093 for waiting after a message is printed.
34094 * normal/main.c (read_config_file): Likewise.
34095 (grub_normal_init): Register grub_env_write_color_normal() and
34096 grub_env_write_color_highlight() hooks. Mark `color_normal' and
34097 `color_highlight' variables as global.
34098
34099 * normal/menu.c (grub_wait_after_message): New function.
34100 (grub_color_menu_normal): New variable. Replaces ...
34101 (GRUB_COLOR_MENU_NORMAL): ... this macro.
34102 (grub_color_menu_highlight): New variable. Replaces ...
34103 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
34104 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
34105 `GRUB_TERM_COLOR_STANDARD'.
34106 (print_message): Use `grub_setcolorstate' to reload colors. Rename
34107 `normal_code' and `highlight_code' to `old_color_normal' and
34108 `old_color_highlight', respectively.
34109 (grub_menu_init_page): Update colors when drawing the menu, based on
34110 `menu_color_normal' and `menu_color_highlight' variables.
34111 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
34112 a message is printed.
34113
34114 2008-01-05 Robert Millan <rmh@aybabtu.com>
34115
34116 * kern/env.c (grub_env_context_open): Propagate hooks for global
34117 variables to new context.
34118
34119 * kern/main.c (grub_set_root_dev): Export `root' variable.
34120
34121 2008-01-05 Robert Millan <rmh@aybabtu.com>
34122
34123 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
34124 discs unconditionally, since udev and others have options to provide
34125 them.
34126
34127 2008-01-05 Robert Millan <rmh@aybabtu.com>
34128
34129 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
34130
34131 2008-01-04 Christian Franke <franke@computer.org>
34132
34133 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
34134 of eisa_mmap.
34135
34136 2008-01-03 Pavel Roskin <proski@gnu.org>
34137
34138 * kern/i386/linuxbios/init.c: Put "void" to all function
34139 declarations with no arguments.
34140 * kern/powerpc/ieee1275/init.c: Likewise.
34141 * term/i386/pc/at_keyboard.c: Likewise.
34142 * term/i386/pc/vga_text.c: Likewise.
34143 * util/grub-mkdevicemap.c: Likewise.
34144
34145 2008-01-02 Robert Millan <rmh@aybabtu.com>
34146
34147 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
34148 message when loaded image is out of bounds.
34149 (grub_multiboot_load_elf64): Likewise.
34150
34151 2008-01-02 Pavel Roskin <proski@gnu.org>
34152
34153 * util/grub.d/10_linux.in: Try version without ".old" when
34154 looking for initrd. It's better to use initrd from the newer
34155 kernel of the same version than no initrd at all.
34156
34157 2008-01-01 Robert Millan <rmh@aybabtu.com>
34158
34159 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
34160
34161 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
34162
34163 * include/grub/video.h: Added grub_video_unmap_color and
34164 grub_video_get_active_render_target.
34165 (grub_video_adapter): Added unmap_color and get_active_render_target.
34166
34167 * video/video.c: Added grub_video_unmap_color and
34168 grub_video_get_active_render_target.
34169 (grub_video_get_info): Changed method to accept NULL pointer as an
34170 argument to allow detection of active video adapter.
34171
34172 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
34173 grub_video_vbe_unmap_color_int.
34174 Added grub_video_vbe_unmap_color and
34175 grub_video_vbe_get_active_render_target.
34176 (grub_video_vbe_adapter): Added unmap_color and
34177 get_active_render_target.
34178
34179 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
34180 with grub_video_vbe_unmap_color_int.
34181
34182 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
34183 (DEFAULT_NORMAL_COLOR): Likewise.
34184 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
34185 (DEFAULT_FG_COLOR): Removed.
34186 (DEFAULT_BG_COLOR): Likewise.
34187 (DEFAULT_CURSOR_COLOR): Changed value.
34188 (grub_virtual_screen): Added standard_color_setting,
34189 normal_color_setting, highlight_color_setting and term_color.
34190 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
34191 (bitmap_width): Added.
34192 (bitmap_height): Likewise.
34193 (bitmap): Likewise.
34194 (set_term_color): Likewise.
34195 (grub_virtual_screen_setup): Changed to use new terminal coloring
34196 settings.
34197 (grub_gfxterm_init): Added init for bitmap.
34198 (grub_gfxterm_fini): Added destroy for bitmap.
34199 (redraw_screen_rect): Updated to use background bitmap and new
34200 terminal coloring.
34201 (scroll_up): Added optimization for case when there is no bitmap.
34202 (grub_gfxterm_cls): Fixed to use correct background color.
34203 (grub_virtual_screen_setcolorstate): Changed to use new terminal
34204 coloring.
34205 (grub_virtual_screen_setcolor): Likewise.
34206 (grub_virtual_screen_getcolor): Added.
34207 (grub_gfxterm_background_image_cmd): Likewise.
34208 (grub_video_term): Added setcolor and getcolor.
34209 (MOD_INIT): Added registration of background_image command.
34210 (MOD_TERM): Added unregistration for background_image command.
34211
34212 2007-12-30 Pavel Roskin <proski@gnu.org>
34213
34214 * loader/multiboot_loader.c: Fix multiboot command
34215 unregistration. Fix all typos in the word "multiboot".
34216
34217 2007-12-29 Pavel Roskin <proski@gnu.org>
34218
34219 * util/grub.d/10_linux.in: Refactor search for initrd. Add
34220 support for initrd names used in Fedora.
34221
34222 2007-12-26 Bean <bean123ch@gmail.com>
34223
34224 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
34225 (cpio_mod_SOURCES): New variable.
34226 (cpio_mod_CFLAGS): Likewise.
34227 (cpio_mod_LDFLAGS): Likewise.
34228
34229 * fs/cpio.c: New file.
34230
34231 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
34232
34233 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34234
34235 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
34236
34237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34238
34239 2007-12-25 Robert Millan <rmh@aybabtu.com>
34240
34241 * include/grub/term.h (struct grub_term): Add `getcolor' function.
34242 (grub_getcolor): New function.
34243
34244 * kern/term.c (grub_getcolor): New function.
34245 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
34246 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
34247 (print_entry): Set normal and highlight colors to
34248 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
34249 respectively, before printing and restore them to old
34250 values afterwards.
34251 (grub_menu_init_page): Likewise. Fill an additional colored space
34252 that would otherwise be left blank.
34253
34254 * term/efi/console.c (grub_console_getcolor): New function.
34255 (struct grub_console_term.getcolor): New variable.
34256 * term/i386/pc/console.c (grub_console_getcolor): New function.
34257 (struct grub_console_term.getcolor): New variable.
34258 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
34259 (struct grub_console_term.getcolor): New variable.
34260
34261 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
34262 (struct grub_console_term.setcolor): Remove variable.
34263 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
34264 (struct grub_console_term.setcolor): Remove variable.
34265 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
34266 (struct grub_console_term.setcolor): Remove variable.
34267 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
34268 (struct grub_console_term.setcolor): Remove variable.
34269
34270 2007-12-25 Robert Millan <rmh@aybabtu.com>
34271
34272 * configure.ac: Search for possible unifont.hex locations, and
34273 define UNIFONT_HEX if found.
34274
34275 * Makefile.in (UNIFONT_HEX): Define variable.
34276 (DATA): Rename to ...
34277 (PKGLIB): ... this. Update all users.
34278 (PKGDATA): New variable.
34279 (pkgdata_IMAGES): Rename to ...
34280 (pkglib_IMAGES): ... this. Update all users.
34281 (pkgdata_MODULES): Rename to ...
34282 (pkglib_MODULES): ... this. Update all users.
34283 (pkgdata_PROGRAMS): Rename to ...
34284 (pkglib_PROGRAMS): ... this. Update all users.
34285 (pkgdata_DATA): Rename to ...
34286 (pkglib_DATA): ... this. Update all users.
34287 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34288 (unicode.pff, ascii.pff): New rules.
34289 (all-local): Add `$(PKGDATA)' dependency.
34290 (install-local): Process `$(PKGDATA)'.
34291
34292 * util/update-grub_lib.in (font_path): Search for *.pff files in
34293 a few more locations, including `${pkgdata}'.
34294
34295 2007-12-23 Robert Millan <rmh@aybabtu.com>
34296
34297 Patch from Bean <bean123ch@gmail.com>:
34298 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34299 `size'.
34300
34301 2007-12-21 Bean <bean123ch@gmail.com>
34302
34303 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34304 (ntfscomp_mod_SOURCES): New variable.
34305 (ntfscomp_mod_CFLAGS): Likewise.
34306 (ntfscomp_mod_LDFLAGS): Likewise.
34307
34308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34309 (grub_probe_SOURCES): Likewise.
34310 (grub_emu_SOURCES): Likewise.
34311
34312 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34313 (grub_emu_SOURCES): Likewise.
34314
34315 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34316 (grub_emu_SOURCES): Likewise.
34317
34318 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34319 (grub_emu_SOURCES): Likewise.
34320
34321 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34322 (read_run_list): Renamed to grub_ntfs_read_run_list.
34323 (decomp_nextvcn): Moved to ntfscomp.c.
34324 (decomp_getch): Likewise.
34325 (decomp_get16): Likewise.
34326 (decomp_block): Likewise.
34327 (read_block): Likewise.
34328 (read_data): Partially moved to ntfscomp.c.
34329 (fixup): Change unsigned to grub_uint16_t.
34330 (read_mft): Change unsigned long to grub_uint32_t.
34331 (read_attr): Likewise.
34332 (read_data): Likewise.
34333 (read_run_data): Likewise.
34334 (read_run_list): Likewise.
34335 (read_mft): Likewise.
34336
34337 * fs/ntfscomp.c: New file.
34338
34339 * include/grub/ntfs.h: New file.
34340
34341 2007-12-16 Robert Millan <rmh@aybabtu.com>
34342
34343 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34344 IDE disk check, since Linux is known to support 20 IDE disks.
34345 Reported by Colin Watson.
34346
34347 2007-12-15 Bean <bean123ch@gmail.com>
34348
34349 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34350 (lnxboot_img_SOURCES): New variable.
34351 (lnxboot_img_ASFLAGS): Likewise.
34352 (lnxboot_img_LDFLAGS): Likewise.
34353
34354 * boot/i386/pc/lnxboot.S: New file.
34355
34356 2007-11-24 Pavel Roskin <proski@gnu.org>
34357
34358 * configure.ac: Test if '--build-id=none' is supported by the
34359 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34360 objcopy to generate incorrect binary files (binutils
34361 2.17.50.0.18-1 as shipped by Fedora 8).
34362 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34363 linking, so that build ID doesn't break the test.
34364
34365 2007-11-24 Pavel Roskin <proski@gnu.org>
34366
34367 * include/grub/i386/time.h: use "void" in the argument list
34368 of grub_cpu_idle().
34369 * include/grub/powerpc/time.h: Likewise.
34370 * include/grub/sparc64/time.h: Likewise.
34371
34372 2007-11-18 Christian Franke <franke@computer.org>
34373
34374 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34375 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34376 This fixes the problem that function keys did not work in grub-emu.
34377
34378 2007-11-18 Christian Franke <franke@computer.org>
34379
34380 * disk/host.c (grub_host_open): Remove attribute unused from
34381 name parameter. Add check for "host". This fixes the problem
34382 that grub-emu does not find partitions.
34383
34384 2007-11-18 Christian Franke <franke@computer.org>
34385
34386 * util/hostfs.c (is_dir): New function.
34387 (grub_hostfs_dir): Handle missing dirent.d_type case.
34388 (grub_hostfs_read): Add missing fseek().
34389 (grub_hostfs_label): Clear label pointer. This fixes a crash
34390 of grub-emu on "ls (host)".
34391
34392 2007-11-18 Christian Franke <franke@computer.org>
34393
34394 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34395 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34396 to 64 bit boundary by default.
34397
34398 2007-11-18 Bean <bean123ch@gmail.com>
34399
34400 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34401 (hexdump_mod_SOURCES): New variable.
34402 (hexdump_mod_CFLAGS): Likewise.
34403 (hexdump_mod_LDFLAGS): Likewise.
34404
34405 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34406
34407 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34408
34409 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34410
34411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34412
34413 * include/grub/hexdump.h: New file.
34414
34415 * commands/hexdump.c: New file.
34416
34417 2007-11-10 Robert Millan <rmh@aybabtu.com>
34418
34419 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34420 in grub_outb() calls.
34421 (beep_on): Likewise.
34422
34423 2007-11-10 Christian Franke <franke@computer.org>
34424
34425 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34426 (grub_menu_run): Likewise.
34427
34428 2007-11-10 Robert Millan <rmh@aybabtu.com>
34429
34430 * include/grub/i386/efi/machine.h: New file.
34431 * include/grub/i386/linuxbios/machine.h: Likewise.
34432 * include/grub/i386/pc/machine.h: Likewise.
34433 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34434 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34435
34436 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34437 (serial_hw_io_addr): New variable.
34438 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34439 instead of `(unsigned short *) 0x400'.
34440
34441 2007-11-10 Bean <bean123ch@gmail.com>
34442
34443 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34444
34445 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34446
34447 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34448 (vga_mod_SOURCES): Added.
34449 (vga_mod_CFLAGS): Likewise.
34450 (vga_mod_LDFLAGS): Likewise.
34451
34452 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34453 grub_outb() calls.
34454 (set_map_mask): Likewise.
34455 (set_read_map): Likewise.
34456 (set_read_address): Likewise.
34457 (vga_font): Removed variable.
34458 (get_vga_glyph): Removed function.
34459 (invalidate_char): Likewise.
34460 (write_char): Changed to use grub_font_get_glyph() for font
34461 information.
34462 (grub_vga_putchar): Likewise.
34463 (grub_vga_getcharwidth): Likewise.
34464
34465 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34466
34467 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34468 flags.
34469 (pxeboot_img_LDFLAGS): Likewise.
34470 (diskboot_img_LDFLAGS): Likewise.
34471 (kernel_img_LDFLAGS): Likewise.
34472
34473 2007-11-06 Robert Millan <rmh@aybabtu.com>
34474
34475 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34476 in grub_outb() calls.
34477 (serial_hw_init): Likewise.
34478
34479 2007-11-05 Robert Millan <rmh@aybabtu.com>
34480
34481 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34482 spaces. Skip non-regular files.
34483
34484 2007-11-05 Robert Millan <rmh@aybabtu.com>
34485
34486 * kern/disk.c (grub_disk_firmware_fini)
34487 (grub_disk_firmware_is_tainted): New variables.
34488
34489 * include/grub/disk.h (grub_disk_firmware_fini)
34490 (grub_disk_firmware_is_tainted): Likewise.
34491
34492 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34493 (grub_disk_biosdisk_fini): ... to here.
34494 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34495 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34496 is set. Register grub_disk_biosdisk_fini() in
34497 `grub_disk_firmware_fini'.
34498
34499 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34500 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34501 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34502 to finish existing firmware disk interface.
34503
34504 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34505 (ata_mod_SOURCES): New variable.
34506 (ata_mod_CFLAGS): Likewise.
34507 (ata_mod_LDFLAGS): Likewise.
34508
34509 2007-11-05 Robert Millan <rmh@aybabtu.com>
34510
34511 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34512 (grub_ata_wait): Reimplement using grub_millisleep().
34513
34514 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34515 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34516
34517 2007-11-03 Marco Gerards <marco@gnu.org>
34518
34519 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34520 (CRTC_ADDR_PORT): New macro.
34521 (CRTC_DATA_PORT): Likewise.
34522 (CRTC_CURSOR): Likewise.
34523 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34524 (CRTC_CURSOR_ADDR_LOW): Likewise.
34525 (update_cursor): New function.
34526 (grub_console_real_putchar): Call `update_cursor'.
34527 (grub_console_gotoxy): Likewise.
34528 (grub_console_cls): Set the default color when clearing the
34529 screen.
34530 (grub_console_setcursor): Implemented.
34531
34532 2007-11-03 Marco Gerards <marco@gnu.org>
34533
34534 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34535 become activate.
34536 (grub_ata_pio_write): Likewise.
34537
34538 (grub_atapi_identify): Wait after issuing an ATA command.
34539 (grub_atapi_packet): Likewise.
34540 (grub_ata_identify): Likewise.
34541 (grub_ata_readwrite): Likewise.
34542
34543 2007-11-03 Marco Gerards <marco@gnu.org>
34544
34545 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34546 (grub_ata_pio_write): Likewise.
34547 (grub_ata_readwrite): Use `grub_error', instead of
34548 returning `grub_errno'.
34549
34550 2007-11-03 Marco Gerards <marco@gnu.org>
34551
34552 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34553 grub_ata_pio_write once for every single sector, instead of for
34554 multiple sectors.
34555
34556 2007-10-31 Robert Millan <rmh@aybabtu.com>
34557
34558 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34559
34560 * conf/i386-linuxbios.rmk: New file.
34561
34562 * kern/i386/pc/hardware.c: Likewise.
34563 * term/i386/pc/at_keyboard.c: Likewise.
34564 * term/i386/pc/vga_text.c: Likewise.
34565
34566 * include/grub/i386/linuxbios/boot.h: Likewise.
34567 * include/grub/i386/linuxbios/console.h: Likewise.
34568 * include/grub/i386/linuxbios/init.h: Likewise.
34569 * include/grub/i386/linuxbios/kernel.h: Likewise.
34570 * include/grub/i386/linuxbios/loader.h: Likewise.
34571 * include/grub/i386/linuxbios/memory.h: Likewise.
34572 * include/grub/i386/linuxbios/serial.h: Likewise.
34573 * include/grub/i386/linuxbios/time.h: Likewise.
34574
34575 * kern/i386/linuxbios/init.c: Likewise.
34576 * kern/i386/linuxbios/startup.S: Likewise.
34577 * kern/i386/linuxbios/table.c: Likewise.
34578
34579 2007-10-31 Marco Gerards <marco@gnu.org>
34580
34581 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34582 (ata_mod_SOURCES): New variable.
34583 (ata_mod_CFLAGS): Likewise.
34584 (ata_mod_LDFLAGS): Likewise.
34585
34586 * disk/ata.c: New file.
34587
34588 * include/grub/disk.h (grub_disk_dev_id): Add
34589 `GRUB_DISK_DEV_ATA_ID'.
34590
34591 2007-10-31 Robert Millan <rmh@aybabtu.com>
34592
34593 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34594 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34595
34596 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34597 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34598
34599 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34600 `<grub/types.h>'.
34601
34602 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34603
34604 2007-10-27 Robert Millan <rmh@aybabtu.com>
34605
34606 * include/grub/types.h (ULONG_MAX): Define macro.
34607
34608 2007-10-22 Robert Millan <rmh@aybabtu.com>
34609
34610 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34611 `"../realmode.S"'.
34612 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34613
34614 2007-10-22 Robert Millan <rmh@aybabtu.com>
34615
34616 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34617 (pkgdata_MODULES): Add `biosdisk.mod'.
34618 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34619 variables.
34620
34621 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34622 (grub_biosdisk_init): Replace with ...
34623 (GRUB_MOD_INIT(biosdisk)): ... this.
34624 (grub_biosdisk_fini): Replace with ...
34625 (GRUB_MOD_FINI(biosdisk)): ... this.
34626
34627 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34628 (grub_machine_init): Remove call to grub_biosdisk_init().
34629 (grub_machine_fini): Remove call to grub_machine_fini().
34630
34631 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34632
34633 2007-10-22 Robert Millan <rmh@aybabtu.com>
34634
34635 * include/grub/time.h: New file.
34636 * include/grub/i386/time.h: Likewise.
34637 * include/grub/powerpc/time.h: Likewise.
34638 * include/grub/sparc64/time.h: Likewise.
34639
34640 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34641 instances to ...
34642 (KERNEL_MACHINE_TIME_HEADER): ... this.
34643 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34644 instances to ...
34645 (KERNEL_MACHINE_TIME_HEADER): ... this.
34646 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34647 instances to ...
34648 (KERNEL_MACHINE_TIME_HEADER): ... this.
34649
34650 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34651 (grub_millisleep): New function.
34652 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34653 (grub_millisleep): New function.
34654 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34655 Remove `grub/machine/time.h' include.
34656 (grub_millisleep): New function.
34657 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34658 Remove `grub/machine/time.h' include.
34659 (grub_millisleep): New function.
34660
34661 * include/grub/misc.h (grub_div_roundup): New function.
34662
34663 * kern/misc.c: Include `<grub/time.h>'.
34664 (grub_millisleep_generic): New function.
34665
34666 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34667 Add `time.h'.
34668 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34669 Add `time.h'.
34670 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34671 `machine/time.h'. Add `time.h'.
34672 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34673
34674 2007-10-21 Robert Millan <rmh@aybabtu.com>
34675
34676 * include/grub/misc.h (grub_max): New function.
34677
34678 2007-10-21 Robert Millan <rmh@aybabtu.com>
34679
34680 * util/misc.c (grub_util_info): Call fflush() before returning.
34681
34682 2007-10-20 Robert Millan <rmh@aybabtu.com>
34683
34684 * genmk.rb (Image): Copy `extra_flags' from here ...
34685 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34686
34687 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34688 to `argc' and `args' arguments.
34689
34690 2007-10-17 Robert Millan <rmh@aybabtu.com>
34691
34692 * kern/i386/loader.S: New file.
34693
34694 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34695 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34696 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34697 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34698 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34699 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34700 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34701 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34702 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34703 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34704 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34705 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34706 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34707 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34708
34709 * kern/i386/realmode.S: New file.
34710
34711 * kern/i386/pc/startup.S (protstack): Moved from here ...
34712 * kern/i386/realmode.S (protstack)... to here.
34713 * kern/i386/pc/startup.S (gdt): Moved from here ...
34714 * kern/i386/realmode.S (gdt)... to here.
34715 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34716 * kern/i386/realmode.S (prot_to_real)... to here.
34717
34718 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34719 `kern/i386/realmode.S'.
34720
34721 2007-10-17 Robert Millan <rmh@aybabtu.com>
34722
34723 * include/grub/i386/loader.h: New file.
34724
34725 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34726 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34727 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34728 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34729 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34730 * include/grub/i386/loader.h (grub_linux_prot_size)
34731 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34732 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34733 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34734 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34735
34736 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34737
34738 2007-10-15 Robert Millan <rmh@aybabtu.com>
34739
34740 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34741 filesystem when dev->disk is unset.
34742 Do probe for filesystem even when dev->disk->has_partitions is set.
34743 In case a filesystem is found, always report it.
34744 In case it isn't, if dev->disk->has_partitions is set, report that
34745 a partition table was found instead of reporting that no filesystem
34746 could be identified.
34747
34748 2007-10-12 Robert Millan <rmh@aybabtu.com>
34749
34750 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34751 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34752
34753 * include/grub/types.h (grub_host_to_target16): New macro.
34754 (grub_host_to_target32): Likewise.
34755 (grub_host_to_target64): Likewise.
34756 (grub_target_to_host16): Likewise.
34757 (grub_target_to_host32): Likewise.
34758 (grub_target_to_host64): Likewise.
34759
34760 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34761 Renamed from to ...
34762 (GRUB_MOD_ALIGN): ...this. Update all users.
34763
34764 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34765 grub_host_to_target32.
34766 Replace grub_be_to_cpu32 with grub_target_to_host32.
34767 (load_modules): Likewise.
34768 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34769 Replace grub_be_to_cpu32 with grub_target_to_host32.
34770 Replace grub_cpu_to_be16 with grub_host_to_target16.
34771 Replace grub_cpu_to_be32 grub_host_to_target32.
34772
34773 2007-10-12 Robert Millan <rmh@aybabtu.com>
34774
34775 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34776 * util/elf/grub-mkimage.c: ... here.
34777
34778 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34779 `util/powerpc/ieee1275/grub-mkimage.c'.
34780
34781 2007-10-07 Robert Millan <rmh@aybabtu.com>
34782
34783 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34784 and make it easier to figure out.
34785 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34786 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34787 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34788 leave us with less than HEAP_MIN_SIZE total heap.
34789 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
34790
34791 2007-10-03 Robert Millan <rmh@aybabtu.com>
34792
34793 * include/grub/i386/io.h: New file.
34794 * commands/i386/pc/play.c (inb): Removed.
34795 (outb): Removed.
34796 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34797 with grub_outb().
34798 * term/i386/pc/serial.c (inb): Removed.
34799 (outb): Removed.
34800 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34801 with grub_outb().
34802 * term/i386/pc/vga.c (inb): Removed.
34803 (outb): Removed.
34804 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34805 with grub_outb().
34806
34807 2007-10-02 Robert Millan <rmh@aybabtu.com>
34808
34809 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34810 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34811 Reported by Marcin Kurek.
34812
34813 2007-09-07 Robert Millan <rmh@aybabtu.com>
34814
34815 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34816 SmartFirmware version updates (as released by Sven Luther), and avoid
34817 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34818 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34819 known broken.
34820
34821 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34822
34823 From Hitoshi Ozeki:
34824 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34825 when merging two regions.
34826
34827 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34828
34829 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34830 * normal/completion.c (grub_normal_do_completion): Likewise.
34831 Reported by Hitoshi Ozeki.
34832
34833 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34834
34835 Do not use devices at boot in chainloading.
34836
34837 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34838 (boot_part_addr): Likewise.
34839 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34840 with BOOT_DRIVE and BOOT_PART_ADDR.
34841 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34842 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34843
34844 2007-08-29 Robert Millan <rmh@aybabtu.com>
34845
34846 Patch from Simon Peter <dn.tlp@gmx.net>:
34847 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34848 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34849 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34850 util/i386/pc/grub-setup.c_DEPENDENCIES.
34851 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34852 util/grub-probe.c_DEPENDENCIES.
34853 * conf/powerpc-ieee1275.rmk: Likewise.
34854
34855 2007-08-28 Robert Millan <rmh@aybabtu.com>
34856
34857 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34858 to tell grub-mkdevicemap how to name devices.
34859 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34860 feature).
34861
34862 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34863 util/i386/get_disk_name.c.
34864 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34865 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34866 util/ieee1275/get_disk_name.c.
34867
34868 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34869
34870 * DISTLIST: Add util/i386/get_disk_name.c and
34871 util/ieee1275/get_disk_name.c.
34872
34873 * util/grub-mkdevicemap.c: Replace device naming logic with
34874 grub_util_get_disk_name() calls.
34875
34876 2007-08-20 Robert Millan <rmh@aybabtu.com>
34877
34878 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34879 (so that it works for both plural and singular quantities).
34880
34881 2007-08-05 Robert Millan <rmh@aybabtu.com>
34882
34883 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34884 so that [xz] isn't taken into account when determining order.
34885
34886 2007-08-02 Marco Gerards <marco@gnu.org>
34887
34888 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34889 `include/multiboot2.h', `include/grub/elfload.h',
34890 `include/multiboot.h', `include/grub/multiboot.h',
34891 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34892 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34893 `kern/elf.c', `loader/multiboot_loader.c',
34894 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34895 `loader/i386/pc/multiboot2.c',
34896 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34897 `util/i386/pc/grub-mkrescue.in'. Remove
34898 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34899 `include/grub/i386/pc/util/biosdisk.h' and
34900 `include/grub/powerpc/ieee1275/multiboot.h'.
34901
34902 2007-08-02 Bean <bean123ch@gmail.com>
34903
34904 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34905 (ntfs_mod_SOURCES): New variable.
34906 (ntfs_mod_CFLAGS): Likewise.
34907 (ntfs_mod_LDFLAGS): Likewise.
34908
34909 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
34910 (grub_probe_SOURCES): Likewise.
34911 (grub_emu_SOURCES): Likewise.
34912
34913 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34914 (grub_emu_SOURCES): Likewise.
34915
34916 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34917 (grub_emu_SOURCES): Likewise.
34918
34919 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
34920
34921 * fs/ntfs.c: New file.
34922
34923 2007-08-02 Bean <bean123ch@gmail.com>
34924
34925 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
34926
34927 * file.h (grub_file): Likewise.
34928
34929 * fshelp.h (grub_fshelp_read_file): Likewise.
34930
34931 * util/i386/pc/grub-setup.c (setup): Likewise.
34932 (save_first_sector): Likewise.
34933 (save_blocklists): Likewise.
34934
34935 * fs/affs.c (grub_affs_read_file): Likewise.
34936
34937 * fs/ext2.c (grub_ext2_read_file): Likewise.
34938
34939 * fs/fat.c (grub_fat_read_data): Likewise.
34940
34941 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
34942
34943 * fs/hfs.c (grub_hfs_read_file): Likewise.
34944
34945 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34946
34947 * fs/jfs.c (grub_jfs_read_file): Likewise.
34948
34949 * fs/minix.c (grub_minix_read_file): Likewise.
34950
34951 * fs/sfs.c (grub_sfs_read_file): Likewise.
34952
34953 * fs/ufs.c (grub_ufs_read_file): Likewise.
34954
34955 * fs/xfs.c (grub_xfs_read_file): Likewise.
34956
34957 * command/blocklist.c (read_blocklist): Likewise.
34958 (print_blocklist): Likewise.
34959
34960 2007-08-02 Marco Gerards <marco@gnu.org>
34961
34962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
34963 `util/hostfs.c'.
34964
34965 * disk/host.c: New file.
34966
34967 * util/hostfs.c: Likewise.
34968
34969 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
34970 return `GRUB_ERR_BAD_FS'.
34971 * fs/sfs.c (grub_sfs_mount): Likewise.
34972 * fs/xfs.c (grub_xfs_mount): Likewise.
34973
34974 * include/grub/disk.h (enum grub_disk_dev_id): Add
34975 `GRUB_DISK_DEVICE_HOST_ID'.
34976
34977 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
34978
34979 2007-07-24 Jerone Young <jerone@gmail.com>
34980
34981 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
34982 modules for compilation.
34983 * conf/powerpc-ieee1275.rmk: Likewise.
34984
34985 * include/multiboot.h: Move multiboot definitions to one file. Rename
34986 many definitions to not get grub specific.
34987 * include/multiboot2.h: Create header with multiboot 2 definitions.
34988 * include/grub/multiboot.h: Header for grub specific function
34989 prototypes and definitions.
34990 * include/grub/multiboot2.h: Likewise.
34991 * include/grub/multiboot_loader.h: Likewise.
34992 * include/grub/i386/pc/multiboot.h: Removed.
34993 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
34994
34995 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
34996 and 2 to allow for one multiboot and module commands.
34997 * loader/multiboot2.c: Add multiboot2 functionality.
34998 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
34999 and definition names.
35000 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
35001 2 functions.
35002 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
35003 ieee1275 specific multiboot2 code.
35004
35005 * kern/i386/pc/startup.S: Change headers and definition names for
35006 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
35007
35008 2007-07-22 Robert Millan <rmh@aybabtu.com>
35009
35010 * geninitheader.sh: Process file specified in first parameter rather
35011 than hardcoding grub_modules_init.lst.
35012 * geninit.sh: Likewise. Also, construct header name dynamically rather
35013 than hardcoding grub_modules_init.h.
35014
35015 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
35016 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
35017 grub_probe_init.[ch] and grub_setup_init.[ch].
35018
35019 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
35020 grub_modules_init.h with grub_emu_init.h.
35021 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
35022 grub_probe_init.[ch] files.
35023 * conf/i386-efi.rmk: Likewise.
35024 * conf/i386-pc.rmk: Likewise.
35025 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
35026 grub_setup_init.[ch] files.
35027
35028 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
35029 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
35030 to initialize modules rather than a list of hardcoded functions.
35031 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
35032 grub_init_all() to initialize modules rather than a list of hardcoded
35033 functions.
35034
35035 2007-07-22 Robert Millan <rmh@aybabtu.com>
35036
35037 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
35038 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
35039
35040 2007-07-22 Robert Millan <rmh@aybabtu.com>
35041
35042 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
35043 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
35044 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
35045 flag when running on SmartFirmware.
35046 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
35047 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
35048 was set.
35049
35050 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35051 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
35052 rather than decreasing it.
35053
35054 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
35055 there's not enough space to do it, fail in the same way as when it
35056 can't be done because there are no partitions.
35057
35058 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
35059 when nvsetenv failed.
35060
35061 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35062
35063 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
35064 because this rule is automatically generated.
35065 (grub-mkrescue): Removed for the same reason as above.
35066
35067 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
35068
35069 Migrate to GNU General Public License Version 3.
35070
35071 * COPYING: Replaced with the plain text version of GPLv3.
35072
35073 * config.guess: Updated from gnulib.
35074 * config.sub: Likewise.
35075
35076 * geninit.sh: Output a GPLv3 copyright notice.
35077 * geninitheader.sh: Likewise.
35078 * genmodsrc.sh: Likewise.
35079 * gensymlist.sh.in: Likewise.
35080
35081 * boot/i386/pc/boot.S: Upgraded to GPLv3.
35082 * boot/i386/pc/diskboot.S: Likewise.
35083 * boot/i386/pc/pxeboot.S: Likewise.
35084 * commands/blocklist.c: Likewise.
35085 * commands/boot.c: Likewise.
35086 * commands/cat.c: Likewise.
35087 * commands/cmp.c: Likewise.
35088 * commands/configfile.c: Likewise.
35089 * commands/echo.c: Likewise.
35090 * commands/help.c: Likewise.
35091 * commands/ls.c: Likewise.
35092 * commands/search.c: Likewise.
35093 * commands/terminal.c: Likewise.
35094 * commands/test.c: Likewise.
35095 * commands/videotest.c: Likewise.
35096 * commands/i386/cpuid.c: Likewise.
35097 * commands/i386/pc/halt.c: Likewise.
35098 * commands/i386/pc/play.c: Likewise.
35099 * commands/i386/pc/reboot.c: Likewise.
35100 * commands/i386/pc/vbeinfo.c: Likewise.
35101 * commands/i386/pc/vbetest.c: Likewise.
35102 * commands/ieee1275/halt.c: Likewise.
35103 * commands/ieee1275/reboot.c: Likewise.
35104 * commands/ieee1275/suspend.c: Likewise.
35105 * disk/loopback.c: Likewise.
35106 * disk/lvm.c: Likewise.
35107 * disk/raid.c: Likewise.
35108 * disk/efi/efidisk.c: Likewise.
35109 * disk/i386/pc/biosdisk.c: Likewise.
35110 * disk/ieee1275/ofdisk.c: Likewise.
35111 * font/manager.c: Likewise.
35112 * fs/affs.c: Likewise.
35113 * fs/ext2.c: Likewise.
35114 * fs/fat.c: Likewise.
35115 * fs/fshelp.c: Likewise.
35116 * fs/hfs.c: Likewise.
35117 * fs/hfsplus.c: Likewise.
35118 * fs/iso9660.c: Likewise.
35119 * fs/jfs.c: Likewise.
35120 * fs/minix.c: Likewise.
35121 * fs/sfs.c: Likewise.
35122 * fs/ufs.c: Likewise.
35123 * fs/xfs.c: Likewise.
35124 * hello/hello.c: Likewise.
35125 * include/grub/acorn_filecore.h: Likewise.
35126 * include/grub/arg.h: Likewise.
35127 * include/grub/bitmap.h: Likewise.
35128 * include/grub/boot.h: Likewise.
35129 * include/grub/cache.h: Likewise.
35130 * include/grub/device.h: Likewise.
35131 * include/grub/disk.h: Likewise.
35132 * include/grub/dl.h: Likewise.
35133 * include/grub/elfload.h: Likewise.
35134 * include/grub/env.h: Likewise.
35135 * include/grub/err.h: Likewise.
35136 * include/grub/file.h: Likewise.
35137 * include/grub/font.h: Likewise.
35138 * include/grub/fs.h: Likewise.
35139 * include/grub/fshelp.h: Likewise.
35140 * include/grub/gzio.h: Likewise.
35141 * include/grub/hfs.h: Likewise.
35142 * include/grub/kernel.h: Likewise.
35143 * include/grub/loader.h: Likewise.
35144 * include/grub/lvm.h: Likewise.
35145 * include/grub/misc.h: Likewise.
35146 * include/grub/mm.h: Likewise.
35147 * include/grub/net.h: Likewise.
35148 * include/grub/normal.h: Likewise.
35149 * include/grub/parser.h: Likewise.
35150 * include/grub/partition.h: Likewise.
35151 * include/grub/pc_partition.h: Likewise.
35152 * include/grub/raid.h: Likewise.
35153 * include/grub/rescue.h: Likewise.
35154 * include/grub/script.h: Likewise.
35155 * include/grub/setjmp.h: Likewise.
35156 * include/grub/symbol.h: Likewise.
35157 * include/grub/term.h: Likewise.
35158 * include/grub/terminfo.h: Likewise.
35159 * include/grub/tparm.h: Likewise.
35160 * include/grub/types.h: Likewise.
35161 * include/grub/video.h: Likewise.
35162 * include/grub/efi/api.h: Likewise.
35163 * include/grub/efi/chainloader.h: Likewise.
35164 * include/grub/efi/console.h: Likewise.
35165 * include/grub/efi/console_control.h: Likewise.
35166 * include/grub/efi/disk.h: Likewise.
35167 * include/grub/efi/efi.h: Likewise.
35168 * include/grub/efi/pe32.h: Likewise.
35169 * include/grub/efi/time.h: Likewise.
35170 * include/grub/i386/linux.h: Likewise.
35171 * include/grub/i386/setjmp.h: Likewise.
35172 * include/grub/i386/types.h: Likewise.
35173 * include/grub/i386/efi/kernel.h: Likewise.
35174 * include/grub/i386/efi/loader.h: Likewise.
35175 * include/grub/i386/efi/time.h: Likewise.
35176 * include/grub/i386/pc/biosdisk.h: Likewise.
35177 * include/grub/i386/pc/boot.h: Likewise.
35178 * include/grub/i386/pc/chainloader.h: Likewise.
35179 * include/grub/i386/pc/console.h: Likewise.
35180 * include/grub/i386/pc/init.h: Likewise.
35181 * include/grub/i386/pc/kernel.h: Likewise.
35182 * include/grub/i386/pc/loader.h: Likewise.
35183 * include/grub/i386/pc/memory.h: Likewise.
35184 * include/grub/i386/pc/multiboot.h: Likewise.
35185 * include/grub/i386/pc/serial.h: Likewise.
35186 * include/grub/i386/pc/time.h: Likewise.
35187 * include/grub/i386/pc/vbe.h: Likewise.
35188 * include/grub/i386/pc/vbeblit.h: Likewise.
35189 * include/grub/i386/pc/vbefill.h: Likewise.
35190 * include/grub/i386/pc/vbeutil.h: Likewise.
35191 * include/grub/i386/pc/vga.h: Likewise.
35192 * include/grub/ieee1275/ieee1275.h: Likewise.
35193 * include/grub/ieee1275/ofdisk.h: Likewise.
35194 * include/grub/powerpc/libgcc.h: Likewise.
35195 * include/grub/powerpc/setjmp.h: Likewise.
35196 * include/grub/powerpc/types.h: Likewise.
35197 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
35198 * include/grub/powerpc/ieee1275/console.h: Likewise.
35199 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
35200 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
35201 * include/grub/powerpc/ieee1275/loader.h: Likewise.
35202 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
35203 * include/grub/powerpc/ieee1275/time.h: Likewise.
35204 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
35205 * include/grub/sparc64/libgcc.h: Likewise.
35206 * include/grub/sparc64/setjmp.h: Likewise.
35207 * include/grub/sparc64/types.h: Likewise.
35208 * include/grub/sparc64/ieee1275/console.h: Likewise.
35209 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35210 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35211 * include/grub/sparc64/ieee1275/time.h: Likewise.
35212 * include/grub/util/biosdisk.h: Likewise.
35213 * include/grub/util/getroot.h: Likewise.
35214 * include/grub/util/lvm.h: Likewise.
35215 * include/grub/util/misc.h: Likewise.
35216 * include/grub/util/raid.h: Likewise.
35217 * include/grub/util/resolve.h: Likewise.
35218 * io/gzio.c: Likewise.
35219 * kern/device.c: Likewise.
35220 * kern/disk.c: Likewise.
35221 * kern/dl.c: Likewise.
35222 * kern/elf.c: Likewise.
35223 * kern/env.c: Likewise.
35224 * kern/err.c: Likewise.
35225 * kern/file.c: Likewise.
35226 * kern/fs.c: Likewise.
35227 * kern/loader.c: Likewise.
35228 * kern/main.c: Likewise.
35229 * kern/misc.c: Likewise.
35230 * kern/mm.c: Likewise.
35231 * kern/parser.c: Likewise.
35232 * kern/partition.c: Likewise.
35233 * kern/rescue.c: Likewise.
35234 * kern/term.c: Likewise.
35235 * kern/efi/efi.c: Likewise.
35236 * kern/efi/init.c: Likewise.
35237 * kern/efi/mm.c: Likewise.
35238 * kern/i386/dl.c: Likewise.
35239 * kern/i386/efi/init.c: Likewise.
35240 * kern/i386/efi/startup.S: Likewise.
35241 * kern/i386/pc/init.c: Likewise.
35242 * kern/i386/pc/lzo1x.S: Likewise.
35243 * kern/i386/pc/startup.S: Likewise.
35244 * kern/ieee1275/ieee1275.c: Likewise.
35245 * kern/powerpc/cache.S: Likewise.
35246 * kern/powerpc/dl.c: Likewise.
35247 * kern/powerpc/ieee1275/cmain.c: Likewise.
35248 * kern/powerpc/ieee1275/crt0.S: Likewise.
35249 * kern/powerpc/ieee1275/init.c: Likewise.
35250 * kern/powerpc/ieee1275/openfw.c: Likewise.
35251 * kern/sparc64/cache.S: Likewise.
35252 * kern/sparc64/dl.c: Likewise.
35253 * kern/sparc64/ieee1275/init.c: Likewise.
35254 * kern/sparc64/ieee1275/openfw.c: Likewise.
35255 * loader/efi/chainloader.c: Likewise.
35256 * loader/efi/chainloader_normal.c: Likewise.
35257 * loader/i386/efi/linux.c: Likewise.
35258 * loader/i386/efi/linux_normal.c: Likewise.
35259 * loader/i386/pc/chainloader.c: Likewise.
35260 * loader/i386/pc/chainloader_normal.c: Likewise.
35261 * loader/i386/pc/linux.c: Likewise.
35262 * loader/i386/pc/linux_normal.c: Likewise.
35263 * loader/i386/pc/multiboot.c: Likewise.
35264 * loader/i386/pc/multiboot_normal.c: Likewise.
35265 * loader/powerpc/ieee1275/linux.c: Likewise.
35266 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
35267 * normal/arg.c: Likewise.
35268 * normal/cmdline.c: Likewise.
35269 * normal/command.c: Likewise.
35270 * normal/completion.c: Likewise.
35271 * normal/execute.c: Likewise.
35272 * normal/function.c: Likewise.
35273 * normal/lexer.c: Likewise.
35274 * normal/main.c: Likewise.
35275 * normal/menu.c: Likewise.
35276 * normal/menu_entry.c: Likewise.
35277 * normal/misc.c: Likewise.
35278 * normal/parser.y: Likewise.
35279 * normal/script.c: Likewise.
35280 * normal/i386/setjmp.S: Likewise.
35281 * normal/powerpc/setjmp.S: Likewise.
35282 * normal/sparc64/setjmp.S: Likewise.
35283 * partmap/acorn.c: Likewise.
35284 * partmap/amiga.c: Likewise.
35285 * partmap/apple.c: Likewise.
35286 * partmap/gpt.c: Likewise.
35287 * partmap/pc.c: Likewise.
35288 * partmap/sun.c: Likewise.
35289 * term/gfxterm.c: Likewise.
35290 * term/terminfo.c: Likewise.
35291 * term/efi/console.c: Likewise.
35292 * term/i386/pc/console.c: Likewise.
35293 * term/i386/pc/serial.c: Likewise.
35294 * term/i386/pc/vesafb.c: Likewise.
35295 * term/i386/pc/vga.c: Likewise.
35296 * term/ieee1275/ofconsole.c: Likewise.
35297 * util/biosdisk.c: Likewise.
35298 * util/console.c: Likewise.
35299 * util/genmoddep.c: Likewise.
35300 * util/getroot.c: Likewise.
35301 * util/grub-emu.c: Likewise.
35302 * util/grub-mkdevicemap.c: Likewise.
35303 * util/grub-probe.c: Likewise.
35304 * util/lvm.c: Likewise.
35305 * util/misc.c: Likewise.
35306 * util/raid.c: Likewise.
35307 * util/resolve.c: Likewise.
35308 * util/update-grub.in: Likewise.
35309 * util/update-grub_lib.in: Likewise.
35310 * util/grub.d/00_header.in: Likewise.
35311 * util/grub.d/10_hurd.in: Likewise.
35312 * util/grub.d/10_linux.in: Likewise.
35313 * util/i386/efi/grub-install.in: Likewise.
35314 * util/i386/efi/grub-mkimage.c: Likewise.
35315 * util/i386/pc/grub-install.in: Likewise.
35316 * util/i386/pc/grub-mkimage.c: Likewise.
35317 * util/i386/pc/grub-mkrescue.in: Likewise.
35318 * util/i386/pc/grub-setup.c: Likewise.
35319 * util/i386/pc/misc.c: Likewise.
35320 * util/powerpc/ieee1275/grub-install.in: Likewise.
35321 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35322 * util/powerpc/ieee1275/misc.c: Likewise.
35323 * video/bitmap.c: Likewise.
35324 * video/video.c: Likewise.
35325 * video/i386/pc/vbe.c: Likewise.
35326 * video/i386/pc/vbeblit.c: Likewise.
35327 * video/i386/pc/vbefill.c: Likewise.
35328 * video/i386/pc/vbeutil.c: Likewise.
35329 * video/readers/tga.c: Likewise.
35330
35331 2007-07-02 Robert Millan <rmh@aybabtu.com>
35332
35333 * conf/i386-efi.rmk: Replace obsolete reference to
35334 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35335 with util/getroot.c.
35336 * conf/powerpc-ieee1275.rmk: Likewise.
35337 * conf/sparc64-ieee1275.rmk: Likewise.
35338
35339 * util/grub-emu.c (main): Fix unchecked pointer handling.
35340
35341 2007-07-02 Robert Millan <rmh@aybabtu.com>
35342
35343 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35344 invocation to fail, in order to support partition-less media.
35345
35346 * util/i386/pc/grub-install.in: Likewise.
35347
35348 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35349 which fs or partmap modules are needed (akin to its sister scripts).
35350
35351 Also use grub-probe to get rid of unportable /proc/mounts check.
35352
35353 Print the same informational message that the other scripts do, before
35354 exiting.
35355
35356 2007-06-23 Robert Millan <rmh@aybabtu.com>
35357
35358 * util/update-grub_lib.in (font_path): New function. Determine whether
35359 a font file can be found and, if so, echo the GRUB path to it.
35360
35361 * util/update-grub.in: Handle multiple terminals depending on user
35362 input, platform availability and font file presence. Propagate
35363 variables of our findings to /etc/grub.d/ children.
35364
35365 * util/grub.d/00_header.in: Handle multiple terminals, based on
35366 environment setup by update-grub.
35367
35368 2007-06-23 Robert Millan <rmh@aybabtu.com>
35369
35370 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
35371
35372 2007-06-21 Robert Millan <rmh@aybabtu.com>
35373
35374 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35375 indicate end of data section in kernel image.
35376 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35377 GRUB_KERNEL_MACHINE_DATA_END.
35378
35379 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35380 space for it.
35381 * kern/i386/efi/startup.S: Likewise.
35382
35383 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35384 during image generation. Implement --prefix option to override this
35385 patch.
35386 * util/i386/efi/grub-mkimage.c: Likewise.
35387
35388 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35389 code to make path relative to its root into a separate function.
35390
35391 * util/i386/pc/grub-install.in: Use newly provided
35392 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35393 pass the result to grub-install --prefix.
35394
35395 2007-06-13 Robert Millan <rmh@aybabtu.com>
35396
35397 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35398 DEFAULT_DEVICE_MAP.
35399 * util/grub-emu.c: Use above definitions from misc.h instead of
35400 defining them.
35401 * util/grub-mkdevicemap.c: Likewise.
35402 * util/i386/pc/grub-setup.c: Likewise.
35403 * util/grub-probe.c: Likewise.
35404 (probe): Abort with grub_util_error() when either
35405 grub_guess_root_device or grub_util_get_grub_dev fails.
35406
35407 2007-06-12 Robert Millan <rmh@aybabtu.com>
35408
35409 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35410 "pager" assignment.
35411 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35412 "pcdata".
35413 * util/grub-probe.c (probe): Likewise for "drive_name".
35414
35415 2007-06-11 Robert Millan <rmh@aybabtu.com>
35416
35417 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35418 not just the cdrom one.
35419
35420 2007-06-11 Robert Millan <rmh@aybabtu.com>
35421
35422 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35423 Add --pkglibdir=DIR option to override pkglibdir.
35424 Mention --image-type=TYPE in help output.
35425 Fix --grub-mkimage (it was a no-op).
35426 Abort gracefully when no parameter is given.
35427
35428 2007-06-11 Robert Millan <rmh@aybabtu.com>
35429
35430 * util/i386/pc/grub-mkrescue.in: New file.
35431 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35432 * Makefile.in: Handle bin_SCRIPTS.
35433
35434 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35435
35436 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35437 list of video modes.
35438
35439 2007-06-06 Robert Millan <rmh@aybabtu.com>
35440
35441 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35442 file doesn't exist, or if it is in a filesystem grub can't read.
35443
35444 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35445 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35446 header comment to fit in 80 columns when the variables are resolved.
35447
35448 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35449 could be identified by update-grub. Remove redundant check for
35450 unifont.pff existence (since convert_system_path_to_grub_path now
35451 handles that).
35452
35453 2007-06-04 Robert Millan <rmh@aybabtu.com>
35454
35455 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35456
35457 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35458
35459 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35460
35461 2007-06-04 Robert Millan <rmh@aybabtu.com>
35462
35463 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35464
35465 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35466 grub_apple_partition_map_fini.
35467
35468 * util/biosdisk.c
35469 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35470 to access >2 TiB disks).
35471
35472 Print disk->total_sectors with %llu instead of %lu, since this
35473 variable is always 64-bit (prevents wrong disk size from being displayed
35474 on either >2 TiB disk or big-endian CPU).
35475
35476 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35477 into a generic case that supports all (sane) partition maps.
35478
35479 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35480 breaks big-endian.
35481
35482 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35483 and grub_apple_partition_map_fini() after that.
35484
35485 2007-06-01 Robert Millan <rmh@aybabtu.com>
35486
35487 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35488
35489 * util/grub.d/00_header.in: Only enable gfxterm when
35490 convert_system_path_to_grub_path() succeeds.
35491
35492 2007-05-20 Robert Millan <rmh@aybabtu.com>
35493
35494 * util/update-grub_lib.in: New file.
35495 * DISTLIST: Add update-grub_lib.in.
35496 * conf/common.rmk: Generate update-grub_lib and install it in
35497 $(lib_DATA).
35498 * Makefile.in: Add install routine for $(lib_DATA).
35499
35500 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35501 function provided by update-grub_lib to support arbitrary paths of
35502 unifont.pff.
35503 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35504 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35505
35506 2007-05-19 Robert Millan <rmh@aybabtu.com>
35507
35508 * commands/i386/cpuid.c: New module.
35509 * DISTLIST: Add it.
35510 * conf/i386-efi.rmk: Enable cpuid.mod.
35511 * conf/i386-pc.rmk: Likewise.
35512
35513 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35514
35515 * kern/disk.c (grub_disk_read): Check return value of
35516 grub_realloc().
35517
35518 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35519
35520 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35521 arrays.
35522 * disk/raid.c (grub_raid_open): Likewise.
35523
35524 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35525
35526 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35527 stack instead of on the heap.
35528
35529 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35530 before doing a read on it.
35531
35532 * configure.ac: Only use -fno-stack-protector for the target
35533 environment.
35534
35535 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35536
35537 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35538 __attribute_ ((unused)) to mode_type argument.
35539
35540 * util/getroot.c (grub_guess_root_device): Fix #endif.
35541
35542 * kern/misc.c (memcmp): Fix prototype.
35543
35544 * include/grub/partition.h [GRUB_UTIL]
35545 (grub_gpt_partition_map_init): Add prototype.
35546 (grub_gpt_partition_map_fini): Likewise.
35547
35548 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35549 at the right place.
35550
35551 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35552 (grub_fat_read_data): Likewise.
35553 (grub_fat_find_dir): Likewise.
35554
35555 * font/manager.c (find_glyph): Make table a const.
35556 (grub_font_get_glyph): Remove bitmap from if statement.
35557
35558 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35559
35560 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35561 code, first search for device in /dev/mapper, then in /dev.
35562 (grub_util_get_grub_dev): New function.
35563 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35564 prototype.
35565 * util/grub-probe.c (probe): Remove check for RAID, call
35566 grub_util_get_grub_dev() instead of
35567 grub_util_biosdisk_get_grub_dev().
35568 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35569 grub_util_biosdisk_get_grub_dev().
35570 * util/i386/pc/grub-setup.c (main): Likewise.
35571
35572 2007-05-16 Robert Millan <rmh@aybabtu.com>
35573
35574 * DISTLIST: Update for the latest changes.
35575 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35576 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35577 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35578 grub/util/biosdisk.h.
35579 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35580 grub/util/biosdisk.h.
35581
35582 2007-05-16 Robert Millan <rmh@aybabtu.com>
35583
35584 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35585
35586 2007-05-16 Robert Millan <rmh@aybabtu.com>
35587
35588 * util/i386/efi/grub-install.in: New.
35589 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35590 newly added grub-install.
35591 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35592 include.
35593 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35594 grub/util/biosdisk.h.
35595 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35596 grub/util/biosdisk.h.
35597
35598 2007-05-16 Robert Millan <rmh@aybabtu.com>
35599
35600 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35601 * include/grub/util/biosdisk.h: ... here.
35602 * util/i386/pc/biosdisk.c: Moved to ...
35603 * util/biosdisk.c: ... here.
35604 * util/i386/pc/getroot.c: Moved to ...
35605 * util/getroot.c: ... here.
35606 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35607 * util/grub-mkdevicemap.c: ... here.
35608 * util/i386/pc/grub-probe.c: Moved to ...
35609 * util/grub-probe.c: ... here.
35610
35611 2007-05-15 Robert Millan <rmh@aybabtu.com>
35612
35613 * util/update-grub.in: Remove duplicated line in grub.cfg header
35614 message.
35615
35616 2007-05-13 Robert Millan <rmh@aybabtu.com>
35617
35618 * util/update-grub.in: Fix a few assumptions about the devices holding
35619 /, /boot and /boot/grub being the same.
35620 * util/grub.d/00_header.in: Likewise.
35621 * util/grub.d/10_hurd.in: Likewise.
35622 * util/grub.d/10_linux.in: Likewise.
35623
35624 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35625 patterns. Use that to define the `.old' suffix as older than `'.
35626
35627 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35628
35629 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35630 the grub.cfg header message.
35631
35632 2007-05-11 Robert Millan <rmh@aybabtu.com>
35633
35634 * util/update-grub.in: Create device.map if it doesn't already exist,
35635 before attempting to run grub-probe.
35636 Check for grub-probe and grub-mkdevicemap with the same code
35637 grub-install is using.
35638 Remove test mode.
35639
35640 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35641
35642 * Makefile.in: Add the datarootdir autoconf variable.
35643
35644 2007-05-09 Robert Millan <rmh@aybabtu.com>
35645
35646 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
35647 fail gracefully if dev->disk->partition == NULL.
35648
35649 2007-05-07 Robert Millan <rmh@aybabtu.com>
35650
35651 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35652 determine partition map module.
35653 * util/i386/pc/grub-install.in: Use this feature to decide which
35654 partition module to load, instead of hardcoding pc and gpt.
35655
35656 2007-05-07 Robert Millan <rmh@aybabtu.com>
35657
35658 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35659 source directory differs from build directory.
35660
35661 2007-05-05 Robert Millan <rmh@aybabtu.com>
35662
35663 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35664 initialisation.
35665
35666 2007-05-05 Robert Millan <rmh@aybabtu.com>
35667
35668 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35669
35670 2007-05-05 Robert Millan <rmh@aybabtu.com>
35671
35672 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35673 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35674
35675 2007-05-05 Robert Millan <rmh@aybabtu.com>
35676
35677 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35678 (grub_probe_SOURCES): Likewise.
35679 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35680 GPT and initialize dos_part and bsd_part accordingly.
35681 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35682 install_bsd_part.
35683 (main): Activate gpt module for use during partition identification,
35684 and deactivate it afterwards.
35685 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35686 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35687 partition identification, and deactivate it afterwards.
35688
35689 2007-05-05 Robert Millan <rmh@aybabtu.com>
35690
35691 * term/i386/pc/console.c (grub_console_fini): Call
35692 grub_term_set_current() before grub_term_unregister().
35693
35694 2007-05-04 Robert Millan <rmh@aybabtu.com>
35695
35696 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35697 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35698 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35699 and update-grub_DATA.
35700 * conf/common.rmk: Build and install update-grub components.
35701 * conf/common.mk: Regenerate.
35702 * util/update-grub.in: New. Core of update-grub.
35703 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35704 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35705 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35706 * util/grub.d/README: New. Document grub.d directory layout.
35707
35708 2007-05-01 Robert Millan <rmh@aybabtu.com>
35709
35710 * util/grub-emu.c: Move initialization functions
35711 grub_util_biosdisk_init() and grub_init_all() before
35712 grub_util_biosdisk_get_grub_dev(), which relies on them.
35713
35714 2007-04-19 Robert Millan <rmh@aybabtu.com>
35715
35716 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35717 it is used later.
35718
35719 2007-04-18 Jerone Young <jerone@gmail.com>
35720
35721 * kernel/elf.c: Add missing parenthesis for conditional statement
35722 stanza.
35723
35724 2007-04-10 Jerone Young <jerone@gmail.com>
35725
35726 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35727 continue on and look for device node with real device name.
35728
35729 2007-04-10 Jerone Young <jerone@gmail.com>
35730
35731 * configure.ac: Add argument for autoconf to use transformation
35732 ability.
35733 * Makefile.in: Add autoconf package transformation code.
35734 * util/i386/pc/grub-install.in: Likewise.
35735 * util/powerpc/ieee1275/grub-install.in: Likewise.
35736
35737 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35738
35739 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35740 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35741 (EXT2_REVISION): Likewise.
35742 (EXT2_INODE_SIZE): Likewise.
35743 (struct grub_ext2_block_group): Added a missing member
35744 "used_dirs".
35745 (grub_ext2_read_inode): Divide by the inode size in a superblock
35746 instead of 128 to obtain INODES_PER_BLOCK.
35747 Use the macro EXT2_INODE_SIZE instead of directly using
35748 SBLOCK->INODE_SIZE.
35749
35750 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35751
35752 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35753 superblock instead of the structure size to compute an
35754 offset. This fixes the problem that GRUB could not read a
35755 filesystem when inode size is different from 128-byte.
35756
35757 2007-03-05 Marco Gerards <marco@gnu.org>
35758
35759 * normal/main.c (read_config_file): When "menu" is not set, create
35760 an initial context.
35761
35762 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35763
35764 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35765 (HEAP_LIMIT): New macro.
35766 (grub_claim_heap): Claim memory up to `heaplimit'.
35767
35768 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35769
35770 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35771 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35772 (_start): Likewise.
35773 (grub_arch_modules_addr): Return address after `_end'.
35774 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35775 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35776 (add_segments): Calculate `_end' from phdr size and location.
35777 (ALIGN_UP): Moved to ...
35778 * include/grub/misc.h: here.
35779 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35780 New macro.
35781 (GRUB_IEEE1275_MODULE_BASE): Removed.
35782
35783 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35784
35785 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35786 loop boundary.
35787
35788 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35789
35790 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35791 All users updated.
35792 (grub_elf64_load_hook_t): Likewise.
35793 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35794 debug output.
35795
35796 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35797
35798 * kern/mm.c: Update copyright.
35799 (grub_mm_debug): Correct syntax error.
35800 (grub_mm_dump_free): New function.
35801 (grub_debug_free): Call `grub_free'.
35802 * include/grub/mm.h: Update copyright.
35803 (grub_mm_dump_free): Add declaration.
35804
35805 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35806
35807 * include/grub/ieee1275/ieee1275.h: Update copyright.
35808 * kern/powerpc/ieee1275/init.c: Likewise.
35809 * kern/powerpc/ieee1275/openfw.c: Likewise.
35810
35811 * loader/powerpc/ieee1275/linux.c: Likewise.
35812 * include/grub/elfload.h: Likewise.
35813 * kern/elf.c: Likewise.
35814 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35815 callers.
35816 (grub_elf64_load): Likewise.
35817 (grub_elf32_load_segment): Move to a nested function.
35818 (grub_elf64_load_segment): Likewise.
35819
35820 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35821
35822 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35823 prototype.
35824 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35825 (grub_heap_len): Likewise.
35826 (HEAP_SIZE): New macro.
35827 (grub_claim_heap): New function.
35828 (grub_machine_init): Don't claim heap directly. Call
35829 `grub_claim_heap'.
35830 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35831 (grub_available_iterate): New function.
35832
35833 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35834
35835 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35836 * configure.ac: Use it for testing the HOST and TARGET compilers.
35837
35838 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35839
35840 * Makefile.in (enable_grub_emu): New variable.
35841 * configure.ac (--enable-grub-emu): New option.
35842 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35843 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35844 * conf/i386-pc.rmk: Likewise.
35845 * conf/powerpc-ieee1275.rmk: Likewise.
35846 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35847
35848 2006-12-12 Marco Gerards <marco@gnu.org>
35849
35850 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35851
35852 * kern/env.c (grub_env_unset): Don't free the member `value' when
35853 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35854 pointer.
35855
35856 * normal/main.c (current_menu): Removed.
35857 (free_menu): Unset the `menu' environment variable.
35858 (grub_normal_menu_addentry): Make use of the environment variable
35859 `menu', instead of using the global `current_menu'. Allocate
35860 memory for the sourcecode of this entry.
35861 (read_config_file): New argument `nested', changed all callers.
35862 Only in the case of a new context, initialize a new menu. Set the
35863 `menu' environment variable.
35864 (grub_normal_execute): Don't set and unset the environment
35865 variable `menu' here anymore. Only free the menu when leaving the
35866 context.
35867
35868 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35869 leak.
35870
35871 2006-12-11 Marco Gerards <marco@gnu.org>
35872
35873 * normal/menu_entry.c (run): Fix off by one bug so the last line
35874 is executed. Move the loader check to outside the loop.
35875
35876 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35877
35878 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35879
35880 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35881
35882 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35883 the number of sectors. Reported by Andrey Shuvikov
35884 <mr_hyro@yahoo.com>.
35885
35886 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35887
35888 * kern/disk.c (grub_disk_read): When there is a read error, always
35889 try to read only the necessary data.
35890
35891 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35892 disk/raid.c.
35893 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35894 prototype.
35895 [GRUB_UTIL] (grub_raid_fini): Likewise.
35896 [GRUB_UTIL] (grub_lvm_init): Likewise.
35897 [GRUB_UTIL] (grub_lvm_fini): Likewise.
35898 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35899 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35900 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35901 and grub_raid_fini().
35902
35903 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35904
35905 * include/grub/types.h (__unused): Rename to UNUSED.
35906 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35907 (grub_elf64_size): Likewise.
35908
35909 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35910
35911 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
35912 grub_error_push and grub_error_pop in the error-handling path.
35913 (grub_elf32_load_segment): Only call grub_file_read with non-zero
35914 length.
35915
35916 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35917
35918 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
35919 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35921 (kernel_elf_SOURCES): Likewise.
35922 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
35923 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
35924 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35925 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35926 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
35927 (elf_mod_SOURCES): New variable.
35928 (elf_mod_CFLAGS): Likewise.
35929 (elf_mod_LDFLAGS): Likewise.
35930 * include/grub/types.h (__unused): New macro.
35931 * include/grub/elfload.h: New file.
35932 * kern/elf.c: Likewise.
35933 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
35934 (ELF32_LOADMASK): New macro.
35935 (ELF64_LOADMASK): Likewise.
35936 (vmlinux): Removed.
35937 (grub_linux_load32): New function.
35938 (grub_linux_load64): Likewise.
35939 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
35940 Use grub_elf_t instead of grub_file_t.
35941
35942 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
35943
35944 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
35945 `catch_result' to struct set_color_args.
35946
35947 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35948
35949 * normal/menu.c: Include grub/script.h.
35950 * normal/menu_entry.c: Likewise.
35951 * include/grub/normal.h: Do not include grub/script.h.
35952
35953 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35954
35955 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
35956
35957 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35958
35959 * kern/disk.c (grub_disk_open): Print debug messages when opening a
35960 disk.
35961 (grub_disk_close): Print debug messages when closing a disk.
35962 (grub_disk_read): Print debug messages when disk read fails.
35963 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
35964 filesystem type.
35965 * kern/partition.c: Include misc.h.
35966 (grub_partition_iterate): Print debug messages when detecting
35967 partition type.
35968
35969 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35970
35971 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
35972 is negative.
35973 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
35974
35975 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
35976
35977 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35978 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
35979
35980 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
35981
35982 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
35983 instead of sizeof(lv). Patch by Michael Guntsche.
35984
35985 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
35986
35987 * disk/lvm.c: Rename VGS to VG_LIST.
35988 (grub_lvm_iterate): Change VGS->LV to VG-LV.
35989 (grub_lvm_open): Likewise.
35990 Thanks to Michael Guntsche for finding this bug.
35991
35992 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35993
35994 * configure.ac (AC_INIT): Bumped to 1.95.
35995
35996 2006-10-14 Robert Millan <rmh@aybabtu.com>
35997
35998 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
35999 with "/dev/.static/dev/md".
36000
36001 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36002
36003 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
36004 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
36005 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
36006 DRIVE_NAME are always freed.
36007
36008 * util/i386/pc/biosdisk.c (make_device_name): Add one into
36009 DOS_PART, as a DOS partition is counted from one instead of zero
36010 now. Reported by Robert Millan.
36011
36012 2006-10-14 Robert Millan <rmh@aybabtu.com>
36013
36014 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
36015 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
36016 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
36017 string returned by grub_guess_root_device.
36018 * util/i386/pc/grub-setup.c: Likewise.
36019 * util/i386/pc/grub-probefs.c: Likewise.
36020
36021 * util/i386/pc/grub-probefs.c: Rename to ...
36022 * util/i386/pc/grub-probe.c: ... this.
36023 * DISTLIST: Remove grub-probefs, add grub-probe.
36024 * conf/i386-efi.rmk: Likewise.
36025 * conf/i386-pc.rmk: Likewise.
36026 * util/i386/pc/grub-install.in: Likewise.
36027
36028 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
36029 choose which information we want to print.
36030
36031 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
36032
36033 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
36034 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
36035 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
36036 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
36037 video/readers/tga.c and video/i386/pc/vbeutil.c.
36038
36039 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
36040
36041 Added support for RAID and LVM.
36042
36043 * disk/lvm.c: New file.
36044 * disk/raid.c: Likewise.
36045 * include/grub/lvm.h: Likewise.
36046 * include/grub/raid.h: Likewise.
36047 * include/grub/util/lvm.h: Likewise.
36048 * include/grub/util/raid.h: Likewise.
36049 * util/lvm.c: Likewise.
36050 * util/raid.c: Likewise.
36051
36052 * include/grub/disk.h (grub_disk_dev_id): Add
36053 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
36054 (grub_disk_get_size): New prototype.
36055 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
36056 returns a partition.
36057 (grub_disk_get_size): New function.
36058
36059 * kern/i386/pc/init.c (make_install_device): Copy the prefix
36060 verbatim if grub_install_dos_part is -2.
36061
36062 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
36063 and LVM devices.
36064
36065 * util/i386/pc/grub-setup.c (setup): New argument
36066 MUST_EMBED. Force embedding of GRUB when the argument is
36067 true. Close FILE before returning.
36068 (main): Add support for RAID and LVM.
36069
36070 * conf/common.rmk: Add RAID and LVM modules.
36071 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
36072 util/lvm.c.
36073 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
36074
36075 * kern/misc.c (grub_strstr): New function.
36076 * include/grub/misc.h (grub_strstr): New prototype.
36077
36078 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
36079
36080 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
36081
36082 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
36083
36084 * kern/misc.c (grub_strtoull): Guess the base only if not
36085 specified.
36086
36087 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36088
36089 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
36090 PowerMac support.
36091
36092 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36093
36094 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
36095
36096 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
36097 Remove `flags' argument. All callers changed.
36098 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
36099 (IEEE1275_IHANDLE_INVALID): New variable.
36100 (IEEE1275_CELL_INVALID): New variable.
36101 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
36102 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
36103 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
36104 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
36105 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
36106 codes from Open Firmware. All callers updated.
36107 (grub_ieee1275_next_property): Directly return Open Firmware return
36108 code.
36109 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36110 Standardize error checking from `grub_ieee1275_get_property'.
36111 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
36112 `devalias' to `aliases'. Correct comments. Consolidate error paths.
36113
36114 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
36115
36116 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
36117 `instance_to_package_args' to `instance_to_path_args'.
36118
36119 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
36120 `grub_ieee1275_chosen'.
36121
36122 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
36123 `grub_ieee1275_interpret'.
36124
36125 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
36126
36127 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
36128
36129 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
36130
36131 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
36132 (__cmpdi): Likewise.
36133
36134 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
36135 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
36136 `grub_ssize_t'.
36137
36138 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
36139
36140 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
36141 to type `grub_ssize_t'.
36142 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
36143
36144 2006-09-22 Marco Gerards <marco@gnu.org>
36145
36146 * normal/script.c (grub_script_create_cmdmenu): Skip leading
36147 newlines.
36148
36149 2006-09-22 Marco Gerards <marco@gnu.org>
36150
36151 * commands/echo.c: New file.
36152
36153 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
36154
36155 * conf/common.rmk (echo_mod_SOURCES): New variable.
36156 (echo_mod_CFLAGS): Likewise.
36157 (echo_mod_LDFLAGS): Likewise.
36158
36159 2006-09-22 Marco Gerards <marco@gnu.org>
36160
36161 * normal/main.c (get_line): Malloc memory instead of using
36162 preallocated memory. Removed the arguments `cmdline' and
36163 `max_len'. Updated all callers.
36164
36165 2006-09-22 Marco Gerards <marco@gnu.org>
36166
36167 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
36168 (normal_mod_DEPENDENCIES): Likewise.
36169
36170 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
36171 (normal_mod_DEPENDENCIES): Likewise.
36172
36173 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
36174
36175 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
36176
36177 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
36178 programs.
36179 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
36180 (normal_mod_DEPENDENCIES): Likewise.
36181 * conf/i386-pc.mk: Regenerate.
36182 * conf/i386-efi.mk: Likewise
36183 * conf/common.mk: Likewise.
36184 * conf/powerpc-ieee1275.mk: Likewise.
36185 * conf/sparc64-ieee1275.mk: Likewise.
36186
36187 2006-09-22 Robert Millan <rmh@aybabtu.com>
36188
36189 Sync with i386 version.
36190 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
36191 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
36192
36193 2006-09-21 Robert Millan <rmh@aybabtu.com>
36194
36195 Import from GRUB Legacy (lib/device.c):
36196 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
36197 (init_device_map) [__linux__]: Add support for I2O devices.
36198
36199 2006-09-14 Marco Gerards <marco@gnu.org>
36200
36201 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
36202 `-melf_i386'.
36203
36204 2006-09-14 Robert Millan <rmh@aybabtu.com>
36205
36206 * util/i386/pc/grub-install.in: Skip menu.lst when removing
36207 /boot/grub/*.lst.
36208
36209 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
36210
36211 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
36212 before adding it to device.map.
36213
36214 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
36215
36216 * genmk.rb: Let GCC generate dependencies the first time it
36217 compiles a file; using the -MD option.
36218 * conf/common.mk: Regenerate.
36219 * conf/i386-pc.mk: Likewise.
36220 * conf/i386-efi.mk: Likewise.
36221 * conf/powerpc-ieee1275.mk: Likewise.
36222 * conf/sparc64-ieee1275.mk: Likewise.
36223
36224 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
36225
36226 Move the prototypes of grub_setjmp and grub_longjmp to
36227 cpu/setjmp.h, so that each architecture may specify different
36228 attributes.
36229
36230 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
36231 (grub_longjmp): Likewise.
36232 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
36233 (grub_longjmp): Likewise.
36234 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
36235 (grub_longjmp): Likewise.
36236
36237 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
36238 [!GRUB_UTIL] (grub_longjmp): Removed.
36239
36240 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
36241
36242 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
36243 "color!" method does not return any value.
36244
36245 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36246
36247 * include/grub/bitmap.h: New file.
36248
36249 * include/grub/i386/pc/vbeutil.h: Likewise.
36250
36251 * video/bitmap.c: Likewise.
36252
36253 * video/readers/tga.c: Likewise.
36254
36255 * video/i386/pc/vbeutil.c: Likewise.
36256
36257 * commands/videotest.c: Code cleanup and updated to reflect to new
36258 video API.
36259
36260 * term/gfxterm.c: Likewise.
36261
36262 * video/video.c: Likewise.
36263
36264 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
36265 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
36266 (bitmap_mod_SOURCES): New entry.
36267 (bitmap_mod_CFLAGS): Likewise.
36268 (bitmap_mod_LDFLAGS): Likewise.
36269 (tga_mod_SOURCES): Likewise.
36270 (tga_mod_CFLAGS): Likewise.
36271 (tga_mod_LDFLAGS): Likewise.
36272
36273 * include/grub/video.h (grub_video_blit_operators): New enum type.
36274 (grub_video_render_target): Changed as forward declaration and moved
36275 actual definition to be video driver specific.
36276 (grub_video_adapter.blit_bitmap): Added blitting operator.
36277 (grub_video_adapter.blit_render_target): Likewise.
36278 (grub_video_blit_bitmap): Likewise.
36279 (grub_video_blit_render_target): Likewise.
36280
36281 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
36282 driver specific render target definition.
36283 (grub_video_vbe_map_rgba): Added driver internal helper.
36284 (grub_video_vbe_unmap_color): Updated to use
36285 grub_video_i386_vbeblit_info.
36286 (grub_video_vbe_get_video_ptr): Likewise.
36287
36288 * include/grub/i386/pc/vbeblit.h
36289 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36290 grub_video_i386_vbeblit_info.
36291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36292 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36293 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36294 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36295 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36296 (grub_video_i386_vbeblit_index_index): Likewise.
36297 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36298 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36299 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36300 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36301 operator.
36302 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36303 operator.
36304
36305 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36306 include/grub/i386/pc/vbeblit.h.
36307
36308 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36309 Updated to use grub_video_i386_vbeblit_info.
36310 (grub_video_i386_vbefill_R8G8B8): Likewise.
36311 (grub_video_i386_vbefill_index): Likewise.
36312 (grub_video_i386_vbefill): Added generic filler.
36313
36314 * video/i386/pc/vbefill.c: Updated to reflect changes on
36315 include/grub/i386/pc/vbefill.h.
36316
36317 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36318 grub_video_i386_vbeblit_info.
36319 (grub_video_vbe_unmap_color): Likewise.
36320 (grub_video_vbe_blit_glyph): Likewise.
36321 (grub_video_vbe_scroll): Likewise.
36322 (grub_video_vbe_draw_pixel): Removed function.
36323 (grub_video_vbe_get_pixel): Likewise.
36324 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36325 updated code to use it.
36326 (common_blitter): Added common blitter for render target and bitmap.
36327 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36328 (grub_video_vbe_blit_render_target): Likewise.
36329
36330 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
36331
36332 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36333 is in text mode if there is no console control protocol instance
36334 available.
36335
36336 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36337
36338 * include/grub/video.h: Code cleanup.
36339
36340 * include/grub/i386/pc/vbe.h: Likewise.
36341
36342 * video/i386/pc/vbe.c: Likewise.
36343
36344 * video/i386/pc/vbeblit.c: Likewise.
36345
36346 * video/i386/pc/vbefill.c: Likewise.
36347
36348 * video/video.c: Likewise. Also added more comments.
36349
36350 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36351
36352 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36353 (struct grub_biosdisk_dap): Likewise.
36354
36355 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36356 linkage settings for all functions.
36357
36358 2006-07-12 Marco Gerards <marco@gnu.org>
36359
36360 * configure.ac (--enable-mm-debug): Fix typo.
36361
36362 * genkernsyms.sh.in: Use proper quoting for `CC'.
36363
36364 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36365
36366 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36367 (normal_mod_ASFLAGS): Remove "-m32".
36368
36369 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36370
36371 * util/misc.c: Include config.h.
36372 [!HAVE_MEMALIGN]: Do not include malloc.h.
36373 (grub_memalign): Use posix_memalign, if present. Then, use
36374 memalign, if present. Otherwise, emit an error.
36375
36376 * util/grub-emu.c: Do not include malloc.h.
36377
36378 * include/grub/util/misc.h: Include unistd.h. This is required for
36379 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36380 D. Eades III <hde@foobar-qux.org>.
36381
36382 * configure.ac (AC_GNU_SOURCE): Added.
36383 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36384 type.
36385
36386 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36387
36388 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36389 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36390
36391 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36392
36393 * include/grub/types.h (grub_host_addr_t): Rename to
36394 grub_target_addr_t.
36395 (grub_host_off_t): Rename to grub_target_off_t.
36396 (grub_host_size_t): Rename to grub_target_size_t.
36397 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36398 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36399
36400 * include/grub/kernel.h (struct grub_module_header): Change type
36401 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36402 (grub_module_info): Likewise.
36403
36404 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36405
36406 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36407 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36408 Velazquez <jesus.velazquez@gmail.com>.
36409
36410 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36411
36412 Count partitions from 1 instead of 0 in the string representation
36413 of partitions. Still use 0-based internally.
36414
36415 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36416 (sun_partition_map_iterate): Use grub_partition_t instead of
36417 struct grub_partition *. Cast DESC->START_CYLINDER to
36418 grub_uint64_t after converting the endian.
36419 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36420 (sun_partition_map_get_name): Add 1 to P->INDEX.
36421
36422 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36423 PCDATA->DOS_PART.
36424 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36425
36426 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36427 zero instead of one.
36428 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36429 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36430
36431 * partmap/apple.c (apple_partition_map_iterate): Change the type
36432 of POS to unsigned.
36433 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36434 (apple_partition_map_get_name): Add 1 into P->INDEX.
36435
36436 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36437 of POS to unsigned.
36438 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36439 calculate the offset of a partition.
36440 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36441 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36442
36443 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36444 SECTOR to grub_disk_addr_t.
36445 (acorn_partition_map_iterate): Likewise.
36446 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36447 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36448 top.
36449 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36450
36451 * kern/i386/pc/init.c (make_install_device): Add 1 into
36452 GRUB_INSTALL_DOS_PART.
36453
36454 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36455 conditional.
36456
36457 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36458
36459 Clean up the code to support 64-bit addressing in disks and
36460 files. This change is not enough for filesystems yet.
36461
36462 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36463 type of "start" to grub_uint64_t.
36464 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36465 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36466 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36467 convert addresses.
36468
36469 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36470 to grub_disk_addr_t.
36471
36472 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36473 string.
36474
36475 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36476
36477 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36478 to char *.
36479
36480 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36481
36482 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36483
36484 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36485
36486 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36487 to grub_off_t, to detect an error from grub_file_seek.
36488 (grub_multiboot_load_elf32): Likewise.
36489
36490 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36491 maximum unsigned long value when an overflow is detected.
36492 (grub_strtoull): New function.
36493 (grub_divmod64): Likewise.
36494 (grub_lltoa): use grub_divmod64.
36495
36496 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36497 grub_disk_addr_t.
36498 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36499 the pointer to next character. Use grub_strtoull instead of
36500 grub_strtoul.
36501 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36502 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36503 respectively.
36504
36505 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
36506 return value is signed.
36507 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36508 test if OFFSET is less than zero, as OFFSET is unsigned now.
36509
36510 * kern/disk.c (struct grub_disk_cache): Change the type of
36511 "sector" to grub_disk_addr_t.
36512 (grub_disk_cache_get_index): Change the type of SECTOR to
36513 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36514 unsigned after shifting.
36515 (grub_disk_cache_invalidate): Change the type of SECTOR to
36516 grub_disk_addr_t.
36517 (grub_disk_cache_unlock): Likewise.
36518 (grub_disk_cache_store): Likewise.
36519 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36520 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36521 grub_disk_addr_t and grub_uint64_t, respectively.
36522 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36523 body, as the value of OFFSET is tweaked by
36524 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36525 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36526 respectively.
36527 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36528 body, as the value of OFFSET is tweaked by
36529 grub_disk_check_range. Change the types of LEN and N to
36530 grub_size_t.
36531
36532 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36533 and "saved_offset" to grub_off_t.
36534 (test_header): Cast BUF to char *.
36535 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36536 to char *.
36537 (grub_gzio_read): Change the types of OFFSET and SIZE to
36538 grub_off_t and grub_size_t, respectively.
36539
36540 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36541 Removed.
36542 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36543 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36544 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36545 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36546 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36547
36548 * include/grub/types.h (grub_off_t): Unconditionally set to
36549 grub_uint64_t.
36550 (grub_disk_addr_t): Changed to grub_uint64_t.
36551
36552 * include/grub/partition.h (struct grub_partition): Change the
36553 types of "start", "len" and "offset" to grub_disk_addr_t,
36554 grub_uint64_t and grub_disk_addr_t, respectively.
36555 (grub_partition_get_start): Return grub_disk_addr_t.
36556 (grub_partition_get_len): Return grub_uint64_t.
36557
36558 * include/grub/misc.h (grub_strtoull): New prototype.
36559 (grub_divmod64): Likewise.
36560
36561 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36562 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36563 grub_off_t, respectively.
36564 All callers and references changed.
36565
36566 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36567 grub_size_t in "read".
36568 All callers and references changed.
36569
36570 * include/grub/file.h (struct grub_file): Change the types of
36571 "offset" and "size" to grub_off_t and grub_off_t,
36572 respectively. Change the type of SECTOR to grub_disk_addr_t in
36573 "read_hook".
36574 (grub_file_read): Change the type of LEN to grub_size_t.
36575 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36576 grub_off_t.
36577 (grub_file_size): Return grub_off_t.
36578 (grub_file_tell): Likewise.
36579 All callers and references changed.
36580
36581 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36582 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36583 "write".
36584 (struct grub_disk): Change the type of "total_sectors" to
36585 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
36586 "read_hook".
36587 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36588 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36589 (grub_disk_write): Likewise.
36590 All callers and references changed.
36591
36592 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36593 char * for grub_strncmp to silence gcc.
36594 (grub_iso9660_mount): Likewise.
36595 (grub_iso9660_mount): Likewise.
36596 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36597 return statement.
36598 (grub_iso9660_iterate_dir): Likewise.
36599 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36600
36601 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36602 LEN to grub_disk_addr_t and grub_size_t, respectively.
36603
36604 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36605
36606 * fs/jfs.c (grub_jfs_read_file): Likewise.
36607
36608 * fs/minix.c (grub_jfs_read_file): Likewise.
36609
36610 * fs/sfs.c (grub_jfs_read_file): Likewise.
36611
36612 * fs/ufs.c (grub_jfs_read_file): Likewise.
36613
36614 * fs/xfs.c (grub_jfs_read_file): Likewise.
36615
36616 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36617 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36618 respectively.
36619
36620 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36621 BLKNR to -1 instead of returning GRUB_ERRNO.
36622 (grub_ext2_read_file): Change the types of SECTOR and
36623 LEN to grub_disk_addr_t and grub_size_t, respectively.
36624
36625 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36626 LEN to grub_disk_addr_t and grub_size_t, respectively.
36627
36628 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36629 grub_file_read.
36630
36631 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36632 string. Do not cast SECTOR explicitly.
36633
36634 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36635 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36636 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36637 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36638 over 2TB and LBA mode is not supported, raise an error.
36639 (get_safe_sectors): New function.
36640 (grub_biosdisk_read): Use get_safe_sectors.
36641 (grub_biosdisk_write): Likewise.
36642
36643 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36644 (grub_efidisk_write): Likewise.
36645
36646 * disk/loopback.c (delete_loopback): Cosmetic changes.
36647 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36648 correctly.
36649 (grub_loopback_open): Likewise.
36650 (grub_loopback_read): Likewise. Also, change the type of POS to
36651 grub_off_t, and fix the usage of grub_memset.
36652
36653 * commands/i386/pc/play.c: Include grub/machine/time.h.
36654
36655 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36656 print FILE->SIZE.
36657
36658 * commands/configfile.c: Include grub/env.h.
36659
36660 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36661 GRUB_ERRNO directly instead. Change the type of POS to
36662 grub_off_t. Follow the coding standard.
36663
36664 * commands/blocklist.c: Include grub/partition.h.
36665 (grub_cmd_blocklist): Return an error if the underlying device is
36666 not a disk. Take the starting sector of a partition into account,
36667 if a partition is used.
36668
36669 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36670 a length field.
36671 (lba_mode): Support 64-bit addresses.
36672 (chs_mode): Likewise.
36673 (copy_buffer): Adapted to the new offsets of a length field and a
36674 segment field.
36675 (blocklist_default_start): Allocate 64-bit space.
36676
36677 * boot/i386/pc/boot.S (force_lba): Removed.
36678 (boot_drive): Moved to under KERNEL_SECTOR.
36679 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
36680 space.
36681 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36682 is useless.
36683 (lba_mode): Refactored to support a 64-bit address. More size
36684 optimization.
36685 (setup_sectors): Likewise.
36686
36687 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36688
36689 * DISTLIST: Added include/grub/i386/linux.h. Removed
36690 include/grub/i386/pc/linux.h
36691
36692 * configure.ac (AC_INIT): Bumped to 1.94.
36693
36694 * config.guess: Updated from gnulib.
36695 * config.sub: Likewise.
36696 * install-sh: Likewise.
36697 * mkinstalldirs: Likewise.
36698
36699 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36700
36701 * conf/common.rmk (grub_modules_init.lst): Depended on
36702 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36703 MODSRCFILES.
36704
36705 * genmk.rb (PModule::rule): Reverted the previous change.
36706
36707 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36708
36709 * conf/common.rmk (grub_modules_init.lst): Depends on
36710 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36711 that the target does not exist before producing.
36712 (grub_modules_init.h): Remove the target before generating.
36713 (grub_emu_init.c): Likewise.
36714
36715 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36716
36717 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36718
36719 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36720 for the target-specific tests. Make sure that we also have the
36721 up-to-date target variables for those tests.
36722
36723 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36724
36725 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36726 (PModule::rule): Likewise.
36727
36728 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36729
36730 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36731 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36732 target-specific flags should be prefixed.
36733 (PModule::rule): Likewise.
36734
36735 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36736
36737 * configure.ac (CMP): Check if cmp is available explicitly.
36738
36739 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36740
36741 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36742 (target_cpu): New variable.
36743 (pkglibdir): Use target_cpu instead of host_cpu.
36744
36745 * util/i386/pc/grub-install.in (host_cpu): Removed.
36746 (target_cpu): New variable.
36747 (pkglibdir): Use target_cpu instead of host_cpu.
36748
36749 * util/genmoddep.c: Removed.
36750
36751 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36752 instead of GRUB_HOST_SIZEOF_VOID_P.
36753 * kern/dl.c: Likewise.
36754
36755 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36756 ...
36757 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36758 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36759 (GRUB_TARGET_SIZEOF_LONG): ... this.
36760 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36761 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36762 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36763 to ...
36764 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36765 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36766 (GRUB_TARGET_SIZEOF_LONG): ... this.
36767 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36768 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36769 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36770 to ...
36771 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36772 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36773 (GRUB_TARGET_SIZEOF_LONG): ... this.
36774 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36775 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36776
36777 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36778 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36779 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36780 instead of GRUB_HOST_SIZEOF_LONG.
36781 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36782 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36783 GRUB_CPU_WORDS_BIGENDIAN.
36784 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36785 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36786 grub_host_ssize_t.
36787
36788 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36789 (genmoddep_SOURCES): Likewise.
36790 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36791 (genmoddep_SOURCES): Likewise.
36792 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36793 (genmoddep_SOURCES): Likewise.
36794 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36795 Likewise.
36796 (genmoddep_SOURCES): Likewise.
36797
36798 * genmoddep.awk: New file.
36799
36800 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36801 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36802 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36803 (PModule::rule): Likewise.
36804 (Program::rule): Likewise.
36805 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36806 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36807 respectively.
36808
36809 * configure.ac: Rewritten intensively to use host and target
36810 instead of build and host, respectively.
36811
36812 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36813 (host_cpu): Removed.
36814 (target_cpu): New variable.
36815 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36816 (BUILD_CC): Removed.
36817 (BUILD_CFLAGS): Likewise.
36818 (BUILD_CPPFLAGS): Likewise.
36819 (TARGET_CC): New variable.
36820 (TARGET_CFLAGS): Likewise.
36821 (TARGET_CPPFLAGS): Likewise.
36822 (TARGET_LDFLAGS): Likewise.
36823 (AWK): Likewise.
36824 (include): Use target_cpu instead of host_cpu.
36825 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
36826
36827 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36828
36829 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36830
36831 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36832 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36833 field 'false' to 'exec_on_false'.
36834 (grub_script_create_cmdif): Renamed argument names to reflect above
36835 changes.
36836
36837 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36838
36839 * normal/script.c (grub_script_create_cmdif): Likewise.
36840
36841 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36842
36843 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36844 top.
36845 (grub_hfsplus_btree_recptr): Likewise.
36846 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36847 FILEBLOCK both to pass a block number and store next block
36848 number.
36849 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36850 overflow file correctly. Specify errors appropriately, because
36851 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36852 grub_hfsplus_btree_recptr to get the pointer to a found key.
36853 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36854 is found.
36855
36856 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36857 linux.mod.
36858 (_linux_mod_SOURCES): New variable.
36859 (_linux_mod_CFLAGS): Likewise.
36860 (_linux_mod_LDFLAGS): Likewise.
36861 (linux_mod_SOURCES): Likewise.
36862 (linux_mod_CFLAGS): Likewise.
36863 (linux_mod_LDFLAGS): Likewise.
36864
36865 * DISTLIST: Added loader/i386/efi/linux.c,
36866 loader/i386/efi/linux_normal.c and
36867 include/grub/i386/efi/loader.h.
36868
36869 * loader/i386/efi/linux.c: New file.
36870 * loader/i386/efi/linux_normal.c: Likewise.
36871 * include/grub/i386/efi/loader.h: Likewise.
36872
36873 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 * commands/blocklist.c: New file.
36876
36877 * DISTLIST: Added commands/blocklist.c.
36878
36879 * term/efi/console.c (grub_console_highlight_color): Use a lighter
36880 color for the background, and a darker color for the foreground.
36881 (grub_console_checkkey): Return READ_KEY.
36882 (grub_console_cls): Set the background to
36883 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36884
36885 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36886
36887 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36888 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36889
36890 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36891 prototype.
36892
36893 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36894 BG. The spec is wrong again.
36895
36896 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36897 prototype.
36898 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36899
36900 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36901 commands/blocklist.c.
36902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36903
36904 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36905 (blocklist_mod_SOURCES): New variable.
36906 (blocklist_mod_CFLAGS): Likewise.
36907 (blocklist_mod_LDFLAGS): Likewise.
36908
36909 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
36910
36911 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
36912 duplication.
36913 (lba_mode): Use %eax more intensively to reduce the code size.
36914
36915 2006-05-20 Marco Gerards <marco@gnu.org>
36916
36917 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
36918
36919 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
36920 for `menuentry'.
36921 (script): Accept leading newlines.
36922 (newlines): New rule to describe 0 or more newlines.
36923 (commands): Accept `command' with trailing newline. Fixed the
36924 order in which arguments were passed to `grub_script_add_cmd'.
36925 Accept commands separated by newlines.
36926 (function): Changed to accept newlines.
36927 (menuentry) Rewritten.
36928
36929 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
36930 front of the list, instead of to the end.
36931
36932 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
36933
36934 * util/i386/pc/grub-install.in (bindir): New variable.
36935 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
36936 Shaver <lbgwjl@gmail.com>.
36937
36938 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
36939
36940 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
36941 grub/machine/linux.h
36942 * loader/i386/pc/linux.c: Likewise.
36943
36944 * include/grub/i386/pc/linux.h: Moved to ...
36945 * include/grub/i386/linux.h: ... here.
36946
36947 * include/grub/i386/linux.h (struct linux_kernel_params): New
36948 struct.
36949
36950 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
36951
36952 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
36953 checking.
36954 (grub_video_vbe_blit_glyph): Likewise.
36955 (grub_video_vbe_blit_bitmap): Likewise.
36956 (grub_video_vbe_blit_render_target): Likewise.
36957
36958 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
36959
36960 * configure.ac (--with-platform): Properly quote the square
36961 brackets.
36962
36963 2006-05-08 Marco Gerards <marco@gnu.org>
36964
36965 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
36966 this...
36967 (kernel_elf_HEADERS): ...to this. Updated all users.
36968 (grubof_symlist.c): Renamed from this...
36969 (kernel_elf_symlist.c): ...to this. Updated all users.
36970 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36971 (grubof_SOURCES): Renamed from this...
36972 (kernel_elf_SOURCES): ...to this.
36973 (grubof_HEADERS): Renamed from this...
36974 (kernel_elf_HEADERS): ...to this.
36975 (grubof_CFLAGS): Renamed from this...
36976 (kernel_elf_CFLAGS): ...to this.
36977 (grubof_ASFLAGS): Renamed from this...
36978 (kernel_elf_ASFLAGS): ...to this.
36979 (grubof_LDFLAGS): Renamed from this...
36980 (kernel_elf_LDFLAGS): ...to this.
36981
36982 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
36983 this...
36984 (kernel_elf_HEADERS): ...to this. Updated all users.
36985 (grubof_symlist.c): Renamed from this...
36986 (kernel_elf_symlist.c): ...to this. Updated all users.
36987 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36988 (grubof_SOURCES): Renamed from this...
36989 (kernel_elf_SOURCES): ...to this.
36990 (grubof_HEADERS): Renamed from this...
36991 (kernel_elf_HEADERS): ...to this.
36992 (grubof_CFLAGS): Renamed from this...
36993 (kernel_elf_CFLAGS): ...to this.
36994 (grubof_ASFLAGS): Renamed from this...
36995 (kernel_elf_ASFLAGS): ...to this.
36996 (grubof_LDFLAGS): Renamed from this...
36997 (kernel_elf_LDFLAGS): ...to this.
36998
36999 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
37000 `kernel.elf' instead of `grubof'.
37001
37002 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
37003
37004 Add --with-platform to configure. Use pkglibdir instead of
37005 pkgdatadir. This is reported by Roger Leigh.
37006
37007 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
37008 (host_vendor): Likewise.
37009 (host_os): Likewise.
37010 (pkgdatadir): Likewise.
37011 (platform): New variable.
37012 (pkglibdir): Likewise.
37013 Use PKGLIBDIR instead of PKGDATADIR.
37014
37015 * util/i386/pc/grub-install.in (datadir): Removed.
37016 (host_vendor): Likewise.
37017 (host_os): Likewise.
37018 (pkgdatadir): Likewise.
37019 (platform): New variable.
37020 (pkglibdir): Likewise.
37021 Use PKGLIBDIR instead of PKGDATADIR.
37022
37023 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
37024 instead of GRUB_DATADIR.
37025 (main): Likewise.
37026 * util/i386/pc/grub-mkimage.c (usage): Likewise.
37027 (main): Likewise.
37028 * util/i386/efi/grub-mkimage.c (usage): Likewise.
37029 (main): Likewise.
37030
37031 * configure.ac (--with-platform): New option.
37032 Use PLATFORM instead of HOST_VENDOR to specify a platform.
37033
37034 * Makefile.in: Include a makefile based on PLATFORM instead of
37035 HOST_VENDOR.
37036 (pkgdatadir): Not appended by the machine type.
37037 (pkglibdir): Appended by the machine type.
37038 (host_vendor): Removed.
37039 (platform): New variable.
37040 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
37041 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
37042 (uninstall): Likewise.
37043
37044 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
37045
37046 Use the environment context in the menu. Remove the commands
37047 "default" and "timeout", and use variables instead.
37048
37049 * normal/menu.c: Include grub/env.h.
37050 (print_entry): Cast TITLE to silence gcc.
37051 (get_timeout): New function.
37052 (set_timeout): Likewise.
37053 (get_entry_number): Likewise.
37054 (run_menu): Use a default entry, a fallback entry and a timeout
37055 in the environment variables "default", "fallback" and
37056 "timeout". Also, tweak the default entry if it is not within the
37057 current menu entries.
37058 (grub_menu_run): Use a fallback entry in the environment variable
37059 "fallback".
37060
37061 * normal/main.c (read_config_file): Do not initialize
37062 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
37063 NEWMENU->TIMEOUT.
37064 (grub_normal_execute): Use a data slot to store the menu.
37065
37066 * include/grub/normal.h (struct grub_menu): Removed default_entry,
37067 fallback_entry and timeout.
37068 (struct grub_menu_list): Removed.
37069 (grub_menu_list_t): Likewise.
37070 (struct grub_context): Likewise.
37071 (grub_context_t): Likewise.
37072 (grub_context_get): Likewise.
37073 (grub_context_get_current_menu): Likewise.
37074 (grub_context_push_menu): Likewise.
37075 (grub_context_pop_menu): Likewise.
37076 (grub_default_init): Likewise.
37077 (grub_default_fini): Likewise.
37078 (grub_timeout_init): Likewise.
37079 (grub_timeout_fini): Likewise.
37080
37081 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
37082 and timeout.mod.
37083 (normal_mod_SOURCES): Removed normal/context.c.
37084
37085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
37086 commands/default.c, commands/timeout.c and normal/context.c.
37087 (normal_mod_SOURCES): Removed normal/context.c.
37088
37089 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
37090 commands/timeout.c and normal/context.c.
37091 (normal_mod_SOURCES): Removed normal/context.c.
37092
37093 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
37094 commands/default.c, commands/timeout.c and normal/context.c.
37095 (normal_mod_SOURCES): Removed normal/context.c.
37096
37097 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
37098 timeout.mod.
37099 (default_mod_SOURCES): Removed.
37100 (default_mod_CFLAGS): Likewise.
37101 (default_mod_LDFLAGS): Likewise.
37102 (timeout_mod_SOURCES): Removed.
37103 (timeout_mod_CFLAGS): Likewise.
37104 (timeout_mod_LDFLAGS): Likewise.
37105
37106 * DISTLIST: Removed commands/default.c, commands/timeout.c and
37107 normal/context.c.
37108
37109 * commands/default.c: Removed.
37110 * commands/timeout.c: Likewise.
37111 * normal/context.c: Likewise.
37112
37113 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
37114
37115 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
37116
37117 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
37118
37119 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
37120 "next" to "prev" for readability.
37121 (struct grub_env_sorted_var): New struct.
37122 (grub_env_context): Renamed to ...
37123 (initial_context): ... this.
37124 (grub_env_var_context): Renamed to ...
37125 (current_context): ... this.
37126 (grub_env_find): Look only at CURRENT_CONTEXT.
37127 (grub_env_context_open): Rewritten to copy exported variables from
37128 previous context.
37129 (grub_env_context_close): Rewritten according to the new
37130 scheme. Also, add an assertion to prevent the initial context from
37131 removed.
37132 (grub_env_insert): Removed the code for the sorted list.
37133 (grub_env_remove): Likewise.
37134 (grub_env_export): Simply mark the variable with
37135 GRUB_ENV_VAR_GLOBAL.
37136 (grub_env_set): A cosmetic change for naming consistency.
37137 (grub_env_get): Likewise.
37138 (grub_env_unset): Likewise.
37139 (grub_env_iterate): Rewritten to sort variables within this
37140 function.
37141 (grub_register_variable_hook): Fixed for naming consistency. Call
37142 grub_env_find again, only if NAME is not found at the first time.
37143 (mangle_data_slot_name): New function.
37144 (grub_env_set_data_slot): Likewise.
37145 (grub_env_get_data_slot): Likewise.
37146 (grub_env_unset_data_slot): Likewise.
37147
37148 * include/grub/env.h (grub_env_var_type): New enum.
37149 (GRUB_ENV_VAR_LOCAL): New constant.
37150 (GRUB_ENV_VAR_GLOBAL): Likewise.
37151 (GRUB_ENV_VAR_DATA): Likewise.
37152 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
37153 "type".
37154 (grub_env_set): Replace VAR with NAME for consistency.
37155 (grub_register_variable_hook): Likewise.
37156 (grub_env_export): Specify the name of the argument.
37157 (grub_env_set_data_slot): New prototype.
37158 (grub_env_get_data_slot): Likewise.
37159 (grub_env_unset_data_slot): Likewise.
37160
37161 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37162
37163 Extend the loader so that GRUB can accept a loader which comes
37164 back to GRUB when a loaded image exits. Also, this change adds
37165 support for a chainloader on EFI.
37166
37167 * term/efi/console.c: Include grub/misc.h.
37168 (grub_console_checkkey): Display a scan code on the top for
37169 debugging. This will be removed once the EFI port gets stable.
37170 Correct the scan code mapping.
37171
37172 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
37173 allocate memory from larger regions, in order to reduce the number
37174 of allocated regions. Otherwise, the MacOSX loader panics.
37175 (filter_memory_map): Avoid less than 1MB for compatibility with
37176 other loaders.
37177 (add_memory_regions): Allocate from the tail of a region, if
37178 possible, to avoid allocating a region near to 1MB, for the MacOSX
37179 loader.
37180
37181 * kern/efi/init.c (grub_efi_set_prefix): Specify
37182 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
37183
37184 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
37185 argument IMAGE_HANDLE and specify it to get a loaded image.
37186 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
37187 grub_efi_get_loaded_image.
37188 (grub_efi_get_filename): Divide the length by the size of
37189 grub_efi_char16_t.
37190 (grub_efi_get_device_path): New function.
37191 (grub_efi_print_device_path): Print End Device Path nodes. Divide
37192 the length by the size of grub_efi_char16_t for a file path device
37193 path node.
37194
37195 * kern/loader.c (grub_loader_noreturn): New variable.
37196 (grub_loader_set): Accept a new argument NORETURN. Set
37197 GRUB_LOADER_NORETURN to NORETURN.
37198 All callers changed.
37199 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
37200 grub_machine_fini.
37201
37202 * include/grub/efi/efi.h (grub_efi_get_device_path): New
37203 prototype.
37204 (grub_efi_get_loaded_image): Take an argument to specify an image
37205 handle.
37206
37207 * include/grub/loader.h (grub_loader_set): Added one more argument
37208 NORETURN.
37209
37210 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
37211 instead of grub_efi_open_protocol.
37212 (grub_efidisk_get_device_name): Likewise.
37213 (grub_efidisk_close): Print a newline.
37214 (grub_efidisk_get_device_handle): Fixed to use
37215 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
37216 GRUB_EFI_DEVICE_PATH_TYPE.
37217
37218 * disk/efi/efidisk.c (device_path_guid): Moved to ...
37219 * kern/efi/efi.c (device_path_guid): ... here.
37220
37221 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
37222 chain.mod.
37223 (kernel_mod_HEADERS): Added efi/disk.h.
37224 (_chain_mod_SOURCES): New variable.
37225 (_chain_mod_CFLAGS): Likewise.
37226 (_chain_mod_LDFLAGS): Likewise.
37227 (chain_mod_SOURCES): Likewise.
37228 (chain_mod_CFLAGS): Likewise.
37229 (chain_mod_LDFLAGS): Likewise.
37230
37231 * DISTLIST: Added include/grub/efi/chainloader.h,
37232 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
37233
37234 * include/grub/efi/chainloader.h: New file.
37235 * loader/efi/chainloader.c: Likewise.
37236 * loader/efi/chainloader_normal.c: Likewise.
37237
37238 2006-04-30 Marco Gerards <marco@gnu.org>
37239
37240 * commands/configfile.c (grub_cmd_source): New function.
37241 (GRUB_MOD_INIT): Register the commands `source' and `.'.
37242 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
37243
37244 2006-04-30 Marco Gerards <marco@gnu.org>
37245
37246 * normal/execute.c (grub_script_execute_cmd): Change the return
37247 type to `grub_err_t'. Correctly return the error.
37248 (grub_script_execute_cmdline): In case a command line is not a
37249 command or a function, try to interpret it as an assignment.
37250
37251 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
37252
37253 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
37254 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
37255 skip a node whose name is obviously invalid as UTF-16,
37256 i.e. contains a NUL character. Stop the iteration when the last
37257 directory entry is found. Instead of using the return value of
37258 grub_hfsplus_btree_iterate_node, store the value in RET and use
37259 it, because the iterator can be stopped by the last directory
37260 entry.
37261
37262 2006-04-30 Marco Gerards <marco@gnu.org>
37263
37264 * include/grub/env.h (grub_env_export): New prototype. Reported
37265 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
37266
37267 2006-04-30 Marco Gerards <marco@gnu.org>
37268
37269 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
37270 size of the extents in a catalog file record.
37271
37272 2006-04-29 Marco Gerards <marco@gnu.org>
37273
37274 * commands/configfile.c (grub_cmd_configfile): Execute the
37275 configfile within its own context.
37276
37277 * include/grub/env.h (grub_env_context_open): New prototype.
37278 (grub_env_context_close): Likewise.
37279
37280 * kern/env.c (grub_env): Removed.
37281 (grub_env_sorted): Likewise.
37282 (grub_env_context): New variable.
37283 (grub_env_var_context): Likewise.
37284 (grub_env_find): Search both the active context and the global
37285 context.
37286 (grub_env_context_open): New function.
37287 (grub_env_context_close): Likewise.
37288 (grub_env_insert): Likewise.
37289 (grub_env_remove): Likewise.
37290 (grub_env_export): Likewise.
37291 (grub_env_set): Changed to use helper functions to avoid code
37292 duplication.
37293 (grub_env_iterate): Rewritten so both the current context and the
37294 global context are being used.
37295
37296 * normal/command.c (export_command): New function.
37297 (grub_command_init): Register the `export' function.
37298
37299 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37300
37301 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37302 explicitly to suppress gcc's warnings.
37303 * fs/fat.c (grub_fat_find_dir): Likewise.
37304 (grub_fat_label): Likewise.
37305 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37306 (grub_xfs_mount): Likewise.
37307 (grub_xfs_label): Likewise.
37308 * fs/affs.c (grub_affs_mount): Likewise.
37309 (grub_affs_label): Likewise.
37310 (grub_affs_iterate_dir): Likewise.
37311 * fs/sfs.c (grub_sfs_mount): Likewise.
37312 (grub_sfs_iterate_dir): Likewise.
37313 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37314 * fs/hfs.c (grub_hfs_mount): Likewise.
37315 (grub_hfs_cmp_catkeys): Likewise.
37316 (grub_hfs_find_dir): Likewise.
37317 (grub_hfs_dir): Likewise.
37318 (grub_hfs_label): Likewise.
37319 * fs/jfs.c (grub_jfs_mount): Likewise.
37320 (grub_jfs_opendir): Likewise.
37321 (grub_jfs_getent): Likewise.
37322 (grub_jfs_lookup_symlink): Likewise.
37323 (grub_jfs_label): Likewise.
37324 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37325 (grub_hfsplus_iterate_dir): Likewise.
37326 (grub_hfsplus_btree_iterate_node): Made static.
37327
37328 * util/grub-emu.c (prefix): New variable.
37329 (grub_machine_set_prefix): New function.
37330 (main): Do not set the environment variable "prefix" here. Only
37331 set PREFIX, which is used later by grub_machine_set_prefix.
37332
37333 * include/grub/video.h: Do not include grub/symbol.h.
37334 (grub_video_register): Not exported. This symbol is not defined in
37335 the kernel.
37336 (grub_video_unregister): Likewise.
37337 (grub_video_iterate): Likewise.
37338 (grub_video_setup): Likewise.
37339 (grub_video_restore): Likewise.
37340 (grub_video_get_info): Likewise.
37341 (grub_video_get_blit_format): Likewise.
37342 (grub_video_set_palette): Likewise.
37343 (grub_video_get_palette): Likewise.
37344 (grub_video_set_viewport): Likewise.
37345 (grub_video_get_viewport): Likewise.
37346 (grub_video_map_color): Likewise.
37347 (grub_video_map_rgb): Likewise.
37348 (grub_video_map_rgba): Likewise.
37349 (grub_video_fill_rect): Likewise.
37350 (grub_video_blit_glyph): Likewise.
37351 (grub_video_blit_bitmap): Likewise.
37352 (grub_video_blit_render_target): Likewise.
37353 (grub_video_scroll): Likewise.
37354 (grub_video_swap_buffers): Likewise.
37355 (grub_video_create_render_target): Likewise.
37356 (grub_video_delete_render_target): Likewise.
37357 (grub_video_set_active_render_target): Likewise.
37358
37359 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37360 Undefined.
37361 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37362
37363 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37364 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37365 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37366 instead of $(srcdir)/genkernsyms.sh.
37367
37368 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37369 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37370 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37371 instead of $(srcdir)/genkernsyms.sh.
37372
37373 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37374 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37375 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37376 instead of $(srcdir)/genkernsyms.sh.
37377
37378 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37379 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37380 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37381 instead of $(srcdir)/genkernsyms.sh.
37382
37383 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37384 genkernsyms.sh.
37385
37386 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37387 genkernsyms.sh.
37388 (gensymlist.sh): New target.
37389 (genkernsyms.sh): Likewise.
37390
37391 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37392 genkernsyms.sh.in and gensymlist.sh.in.
37393
37394 * genkernsyms.sh: Removed.
37395 * gensymlist.sh: Likewise.
37396
37397 * genkernsyms.sh.in: New file.
37398 * gensymlist.sh.in: Likewise.
37399
37400 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37401
37402 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37403 clobber "prefix", since we may have already set it manually.
37404
37405 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37406
37407 * kern/misc.c (abort): New alias for grub_abort.
37408
37409 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37410
37411 A new machine-specific function "grub_machine_set_prefix" is
37412 defined. This is called after loading modules, so that a prefix
37413 initialization can use modules. Also, this change adds an
37414 intensive debugging feature for the memory manager via the
37415 configure option "--enable-mm-debug".
37416
37417 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37418 PART.LEN.
37419
37420 * kern/sparc64/ieee1275/init.c (abort): Removed.
37421 (grub_stop): Likewise.
37422 (grub_exit): New function.
37423 (grub_set_prefix): Renamed to ...
37424 (grub_machine_set_prefix): ... this.
37425 (grub_machine_init): Do not call grub_set_prefix.
37426
37427 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37428 (grub_machine_set_prefix): ... this.
37429 (grub_machine_init): Do not call grub_set_prefix.
37430
37431 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37432 (grub_machine_init): Do not set the prefix here.
37433
37434 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37435
37436 * kern/efi/init.c: Include grub/mm.h.
37437 (grub_efi_set_prefix): New function.
37438
37439 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37440 (grub_efi_get_filename): New function.
37441 (grub_print_device_path): Renamed to ...
37442 (grub_efi_print_device_path): ... this.
37443
37444 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37445 [MM_DEBUG] (grub_realloc): Likewise.
37446 [MM_DEBUG] (grub_free): Likewise.
37447 [MM_DEBUG] (grub_memalign): Likewise.
37448 [MM_DEBUG] (grub_mm_debug): New variable.
37449 [MM_DEBUG] (grub_debug_malloc): New function.
37450 [MM_DEBUG] (grub_debug_free): New function.
37451 [MM_DEBUG] (grub_debug_realloc): New function.
37452 [MM_DEBUG] (grub_debug_memalign): New function.
37453
37454 * kern/misc.c (grub_abort): Print a newline to distinguish
37455 the message.
37456
37457 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37458 grub_set_root_dev after loading modules. This is necessary when
37459 setting a prefix depends on modules.
37460
37461 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37462 (grub_efi_print_device_path): ... this.
37463 (grub_efi_get_filename): New prototype.
37464 (grub_efi_set_prefix): Likewise.
37465
37466 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37467 and grub/disk.h.
37468 (grub_efidisk_get_device_handle): New prototype.
37469 (grub_efidisk_get_device_name): Likewise.
37470
37471 * include/grub/mm.h: Include config.h.
37472 (MM_DEBUG): Removed.
37473 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37474 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37475 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37476 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37477 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37478 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37479 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37480 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37481 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37482
37483 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37484
37485 * disk/efi/efidisk.c: Include grub/partition.h.
37486 (iterate_child_devices): New function.
37487 (add_device): First, compare only last device path nodes, so that
37488 devices are sorted by the types.
37489 (grub_efidisk_get_device_handle): New function.
37490 (grub_efidisk_get_device_name): Likewise.
37491
37492 * configure.ac (--enable-mm-debug): New option to enable the
37493 memory manager debugging feature. This makes the binary much
37494 bigger, so is disabled by default.
37495
37496 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37497
37498 Use grub_abort instead of grub_stop, and grub_exit must be
37499 define in each architecture now. Also, this change adds support
37500 for EFI disks.
37501
37502 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37503 (grub_getkey): New function.
37504 (grub_term_get_current): Likewise.
37505
37506 * util/i386/pc/grub-setup.c: Include grub/term.h.
37507 (grub_getkey): New function.
37508 (grub_term_get_current): Likewise.
37509
37510 * util/misc.c (grub_stop): Renamed to ...
37511 (grub_exit): ... this.
37512
37513 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37514 (grub_exit): ... this.
37515 (grub_machine_init): Use grub_abort instead of abort.
37516 (grub_stop): Removed.
37517
37518 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37519 abort.
37520
37521 * kern/i386/pc/startup.S (grub_exit): New function.
37522 (cold_reboot): New label.
37523
37524 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37525 (grub_efi_init): Call grub_efidisk_init.
37526 (grub_efi_fini): Call grub_efidisk_fini.
37527
37528 * kern/efi/efi.c: Include grub/mm.h.
37529 (grub_efi_console_control_guid): Renamed to ...
37530 (console_control_guid): ... this.
37531 (grub_efi_loaded_image_guid): Renamed to ...
37532 (loaded_image_guid): ... this.
37533 (grub_efi_locate_handle): New function.
37534 (grub_efi_open_protocol): Likewise.
37535 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37536 GRUB_EFI_CONSOLE_CONTROL_GUID.
37537 (grub_efi_exit): Removed.
37538 (grub_stop): Likewise.
37539 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37540 (grub_exit): New function.
37541 (grub_print_device_path): Likewise.
37542
37543 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37544 (grub_enter_rescue_mode): Register "exit".
37545
37546 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37547 (grub_abort): New function.
37548
37549 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37550
37551 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37552
37553 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37554
37555 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37556 (grub_print_device_path): New prototype.
37557 (grub_efi_locate_handle): Likewise.
37558 (grub_efi_open_protocol): Likewise.
37559
37560 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37561 * disk/efi/efidisk.c: Likewise.
37562
37563 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37564
37565 * include/grub/efi/console_control.h
37566 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37567
37568 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37569 last 8 bytes as an array.
37570 (GRUB_EFI_DISK_IO_GUID): New macro.
37571 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37572 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37573 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37574 grub_uint8_t.
37575 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37576 (struct grub_efi_device_path): Rename the member "sub_type" to
37577 "subtype".
37578 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37579 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37580 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37581 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37582 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37583 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37584 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37585 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37586 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37587 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37588 (struct grub_efi_pci_device_path): New structure.
37589 (grub_efi_pci_device_path_t): New type.
37590 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37591 (struct grub_efi_pccard_device_path): New structure.
37592 (grub_efi_pccard_device_path_t): New type.
37593 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37594 (struct grub_efi_memory_mapped_device_path): New structure.
37595 (grub_efi_memory_mapped_device_path_t): New type.
37596 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37597 (struct grub_efi_vendor_device_path): New structure.
37598 (grub_efi_vendor_device_path_t): New type.
37599 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37600 (struct grub_efi_controller_device_path): New structure.
37601 (grub_efi_controller_device_path_t): New type.
37602 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37603 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37604 (struct grub_efi_acpi_device_path): New structure.
37605 (grub_efi_acpi_device_path_t): New type.
37606 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37607 (struct grub_efi_expanded_acpi_device_path): New structure.
37608 (grub_efi_expanded_acpi_device_path_t): New type.
37609 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37610 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37611 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37612 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37613 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37614 (struct grub_efi_atapi_device_path): New structure.
37615 (grub_efi_atapi_device_path_t): New type.
37616 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37617 (struct grub_efi_fibre_channel_device_path): New structure.
37618 (grub_efi_fibre_channel_device_path_t): New type.
37619 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37620 (struct grub_efi_1394_device_path): New structure.
37621 (grub_efi_1394_device_path_t): New type.
37622 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37623 (struct grub_efi_usb_device_path): New structure.
37624 (grub_efi_usb_device_path_t): New type.
37625 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37626 (struct grub_efi_usb_class_device_path): New structure.
37627 (grub_efi_usb_class_device_path_t): New type.
37628 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37629 (struct grub_efi_i2o_device_path): New structure.
37630 (grub_efi_i2o_device_path_t): New type.
37631 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37632 (struct grub_efi_mac_address_device_path): New structure.
37633 (grub_efi_mac_address_device_path_t): New type.
37634 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37635 (struct grub_efi_ipv4_device_path): New structure.
37636 (grub_efi_ipv4_device_path_t): New type.
37637 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37638 (struct grub_efi_ipv6_device_path): New structure.
37639 (grub_efi_ipv6_device_path_t): New type.
37640 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37641 (struct grub_efi_infiniband_device_path): New structure.
37642 (grub_efi_infiniband_device_path_t): New type.
37643 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37644 (struct grub_efi_uart_device_path): New structure.
37645 (grub_efi_uart_device_path_t): New type.
37646 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37647 (struct grub_efi_vendor_messaging_device_path): New structure.
37648 (grub_efi_vendor_messaging_device_path_t): New type.
37649 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37650 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37651 (struct grub_efi_hard_drive_device_path): New structure.
37652 (grub_efi_hard_drive_device_path_t): New type.
37653 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37654 (struct grub_efi_cdrom_device_path): New structure.
37655 (grub_efi_cdrom_device_path_t): New type.
37656 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37657 (struct grub_efi_vendor_media_device_path): New structure.
37658 (grub_efi_vendor_media_device_path_t): New type.
37659 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37660 (struct grub_efi_file_path_device_path): New structure.
37661 (grub_efi_file_path_device_path_t): New type.
37662 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37663 (struct grub_efi_protocol_device_path): New structure.
37664 (grub_efi_protocol_device_path_t): New type.
37665 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37666 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37667 (struct grub_efi_bios_device_path): New structure.
37668 (grub_efi_bios_device_path_t): New type.
37669 (struct grub_efi_disk_io): New structure.
37670 (grub_efi_disk_io_t): New type.
37671 (struct grub_efi_block_io_media): New structure.
37672 (grub_efi_block_io_media_t): New type.
37673 (struct grub_efi_block_io): New structure.
37674 (grub_efi_block_io_t): New type.
37675
37676 * include/grub/misc.h (grub_stop): Removed.
37677 (grub_exit): New prototype.
37678 (grub_abort): Likewise.
37679
37680 * include/grub/disk.h (enum grub_disk_dev_id): Added
37681 GRUB_DISK_DEVICE_EFIDISK_ID.
37682
37683 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37684 disk/efi/efidisk.c.
37685 (kernel_syms.lst): Remove the target if an error occurs.
37686
37687 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37688
37689 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37690 as it was simply too buggy.
37691
37692 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37693
37694 * kern/misc.c (grub_lltoa): New function.
37695 (grub_vsprintf): Added support for the long long suffix,
37696 i.e. "ll".
37697
37698 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37699
37700 * Makefile.in (LDFLAGS): Add variable.
37701 (LD): Remove variable.
37702 * configure.ac: Add -m32 to LDFLAGS.
37703 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37704 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37705 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37706 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37707 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37708 variables.
37709 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37710 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37711 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37712
37713 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37714
37715 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37716 length for unknown glyph.
37717
37718 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37719
37720 Add support for pre-loaded modules into the EFI port.
37721
37722 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37723 completely. Accept one more argument DIR. The caller has changed.
37724
37725 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37726
37727 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37728 (grub_efi_loaded_image_guid): New variable.
37729 (grub_efi_get_loaded_image): New function.
37730 (grub_arch_modules_addr): Likewise.
37731
37732 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37733 prototype.
37734
37735 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37736 (struct grub_efi_loaded_image): New structure.
37737 (grub_efi_loaded_image_t): New type.
37738
37739 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37740
37741 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37742 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37743 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37744
37745 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37746
37747 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37748
37749 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37750
37751 * DISTLIST: Added include/grub/efi/console.h,
37752 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37753 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37754
37755 * include/grub/efi/console.h: New file.
37756 * include/grub/efi/time.h: Likewise.
37757 * include/grub/i386/efi/kernel.h: Likewise.
37758 * kern/efi/init.c: Likewise.
37759 * kern/efi/mm.c: Likewise.
37760 * term/efi/console.c: Likewise.
37761
37762 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37763 (grub_stop): Removed.
37764 (grub_get_rtc): Likewise.
37765 (grub_machine_init): Simply call grub_efi_init.
37766 (grub_machine_fini): Call grub_efi_fini.
37767
37768 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37769 (grub_efi_output_string): Removed.
37770 (grub_efi_stall): New function.
37771 (grub_stop): Likewise.
37772 (grub_get_rtc): Likewise.
37773
37774 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37775 (grub_efi_stall): New prototype.
37776 (grub_efi_allocate_pages): Likewise.
37777 (grub_efi_free_pages): Likewise.
37778 (grub_efi_get_memory_map): Likewise.
37779 (grub_efi_mm_init): Likewise.
37780 (grub_efi_mm_fini): Likewise.
37781 (grub_efi_init): Likewise.
37782 (grub_efi_fini): Likewise.
37783
37784 * include/grub/i386/efi/time.h: Do not include
37785 grub/symbol.h. Include grub/efi/time.h.
37786 (GRUB_TICKS_PER_SECOND): Removed.
37787 (grub_get_rtc): Likewise.
37788
37789 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37790 Added padding. The EFI spec is buggy.
37791 (GRUB_EFI_BLACK): New macro.
37792 (GRUB_EFI_BLUE): Likewise.
37793 (GRUB_EFI_GREEN): Likewise.
37794 (GRUB_EFI_CYAN): Likewise.
37795 (GRUB_EFI_RED): Likewise.
37796 (GRUB_EFI_MAGENTA): Likewise.
37797 (GRUB_EFI_BROWN): Likewise.
37798 (GRUB_EFI_LIGHTGRAY): Likewise.
37799 (GRUB_EFI_BRIGHT): Likewise.
37800 (GRUB_EFI_DARKGRAY): Likewise.
37801 (GRUB_EFI_LIGHTBLUE): Likewise.
37802 (GRUB_EFI_LIGHTGREEN): Likewise.
37803 (GRUB_EFI_LIGHTCYAN): Likewise.
37804 (GRUB_EFI_LIGHTRED): Likewise.
37805 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37806 (GRUB_EFI_YELLOW): Likewise.
37807 (GRUB_EFI_WHITE): Likewise.
37808 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37809 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37810 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37811 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37812 (GRUB_EFI_BACKGROUND_RED): Likewise.
37813 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37814 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37815 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37816 (GRUB_EFI_TEXT_ATTR): Likewise.
37817
37818 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37819 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37820 (kernel_mod_HEADERS): Added efi/time.h.
37821
37822 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37823
37824 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37825 include/grub/efi/api.h, include/grub/efi/console_control.h,
37826 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37827 include/grub/i386/efi/time.h, kern/efi/efi.c,
37828 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37829 and util/i386/efi/grub-mkimage.c.
37830
37831 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37832
37833 * genmk.rb (PModule#rule): Do not export symbols if
37834 #{prefix}_EXPORTS is set to "no".
37835
37836 * conf/i386-efi.mk: New file.
37837 * conf/i386-efi.rmk: Likewise.
37838 * include/grub/efi/api.h: Likewise.
37839 * include/grub/efi/console_control.h: Likewise.
37840 * include/grub/efi/efi.h: Likewise.
37841 * include/grub/efi/pe32.h: Likewise.
37842 * include/grub/i386/efi/time.h: Likewise.
37843 * kern/efi/efi.c: Likewise.
37844 * kern/i386/efi/init.c: Likewise.
37845 * kern/i386/efi/startup.S: Likewise.
37846 * util/i386/efi/grub-mkimage.c: Likewise.
37847
37848 2006-04-17 Marco Gerards <marco@gnu.org>
37849
37850 * include/grub/script.h: Include <grub/parser.h> and
37851 "grub_script.tab.h".
37852 (struct grub_lexer_param): New struct.
37853 (struct grub_parser_param): Likewise.
37854 (grub_script_create_arglist): Pass the state in an argument.
37855 (grub_script_add_arglist): Likewise.
37856 (grub_script_create_cmdline): Likewise.
37857 (grub_script_create_cmdblock): Likewise.
37858 (grub_script_create_cmdif): Likewise.
37859 (grub_script_create_cmdmenu): Likewise.
37860 (grub_script_add_cmd): Likewise.
37861 (grub_script_arg_add): Likewise.
37862 (grub_script_lexer_ref): Likewise.
37863 (grub_script_lexer_deref): Likewise.
37864 (grub_script_lexer_record_start): Likewise.
37865 (grub_script_lexer_record_stop): Likewise.
37866 (grub_script_mem_record): Likewise.
37867 (grub_script_mem_record_stop): Likewise.
37868 (grub_script_malloc): Likewise.
37869 (grub_script_yylex): Likewise.
37870 (grub_script_yyparse): Likewise.
37871 (grub_script_yyerror): Likewise.
37872 (grub_script_yylex): Likewise.
37873 (grub_script_lexer_init): Return the state.
37874
37875 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37876 (grub_script_lexer_done): Likewise.
37877 (grub_script_lexer_getline): Likewise.
37878 (grub_script_lexer_refs): Likewise.
37879 (script): Likewise.
37880 (newscript): Likewise.
37881 (record): Likewise.
37882 (recording): Likewise.
37883 (recordpos): Likewise.
37884 (recordlen): Likewise.
37885 (grub_script_lexer_init): Return the state instead of setting
37886 global variables.
37887 (grub_script_lexer_ref): Use the newly added argument for state
37888 instead of globals.
37889 (grub_script_lexer_deref): Likewise.
37890 (grub_script_lexer_record_start): Likewise.
37891 (grub_script_lexer_record_stop): Likewise.
37892 (recordchar): Likewise.
37893 (nextchar): Likewise.
37894 (grub_script_yylex2): Likewise.
37895 (grub_script_yylex): Likewise.
37896 (grub_script_yyerror): Likewise.
37897
37898 * normal/parser.y (func_mem): Removed variable.
37899 (menu_entry): Likewise.
37900 (err): Likewise.
37901 (%lex-param): New parser option.
37902 (%parse-param): Likewise.
37903 (script): Always return the AST.
37904 (argument): Pass the state around.
37905 (arguments): Likewise.
37906 (grubcmd): Likewise.
37907 (commands): Likewise.
37908 (function): Likewise.
37909 (menuentry): Likewise.
37910 (if_statement): Likewise.
37911 (if): Likewise.
37912
37913 * normal/script.c (grub_script_memused): Removed variable.
37914 (grub_script_parsed): Likewise.
37915 (grub_script_malloc): Added a state argument. Use that instead of
37916 global variables.
37917 (grub_script_mem_record): Likewise.
37918 (grub_script_mem_record_stop): Likewise.
37919 (grub_script_arg_add): Likewise.
37920 (grub_script_add_arglist): Likewise.
37921 (grub_script_create_cmdline): Likewise.
37922 (grub_script_create_cmdif): Likewise.
37923 (grub_script_create_cmdmenu): Likewise.
37924 (grub_script_add_cmd): Likewise.
37925 (grub_script_parse): Setup the state before calling the parser.
37926
37927 2006-04-16 Marco Gerards <marco@gnu.org>
37928
37929 * normal/command.c (grub_command_init): Remove the title command.
37930
37931 * normal/lexer.c (grub_script_yylex): Renamed from this...
37932 (grub_script_yylex2): ... to this.
37933 (grub_script_yylex): New function. Temporary
37934 introduced to filter some tokens.
37935 (grub_script_yyerror): Print a newline.
37936
37937 * normal/main.c (read_config_file): Output information about the
37938 lines that contain errors. Wait for a key after all lines have
37939 been processed. Don't return an empty menu.
37940
37941 * normal/parser.y (func_mem): Don't initialize.
37942 (menu_entry): Likewise.
37943 (err): New variable.
37944 (script): Don't return anything when an error was encountered.
37945 (ws, returns): Removed rules.
37946 (argument): Disabled concatenated variable support.
37947 (arguments): Remove explicit separators.
37948 (grubcmd): Likewise.
37949 (function): Likewise.
37950 (menuentry): Likewise.
37951 (if): Likewise.
37952 (commands): Likewise. Add error handling.
37953
37954 * normal/script.c (grub_script_create_cmdline): If
37955 `grub_script_parsed' is 0, assume the parser encountered an error.
37956
37957 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
37958
37959 * configure.ac: Add support for EFI. Fix the typo
37960 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
37961
37962 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37963
37964 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
37965 foreign multibyte characters should be shown correctly.
37966
37967 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37968
37969 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
37970 calculation.
37971 (read_config_file): Made it to close file before returning.
37972
37973 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
37974
37975 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
37976 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
37977 video/i386/pc/vbefill.c.
37978
37979 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
37980 video/i386/pc/vbefill.c.
37981
37982 * include/grub/video.h (grub_video_blit_format): New enum.
37983 (grub_video_mode_info): Added new member blit_format.
37984 (grub_video_get_blit_format): New function prototype.
37985
37986 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
37987 function prototype.
37988 (grub_video_vbe_map_rgb): Likewise.
37989 (grub_video_vbe_unmap_color): Likewise.
37990
37991 * include/grub/i386/pc/vbeblit.h: New file.
37992
37993 * include/grub/i386/pc/vbefill.h: New file.
37994
37995 * video/video.c (grub_video_get_blit_format): New function.
37996 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
37997 (grub_video_vbe_map_rgb): Likewise.
37998 (grub_video_vbe_unmap_color): Likewise.
37999
38000 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
38001 optimized fills.
38002 (grub_video_vbe_blit_render_target): Changed to use more optimized
38003 blits.
38004 (grub_video_vbe_setup): Added detection for optimized settings.
38005 (grub_video_vbe_create_render_target): Likewise.
38006
38007 * video/i386/pc/vbeblit.c: New file.
38008
38009 * video/i386/pc/vbefill.c: New file.
38010
38011 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
38012
38013 * font/manager.c (grub_font_get_glyph): Removed font fixup from
38014 here...
38015
38016 * util/unifont2pff.rb: ... and moved it to here. Improved argument
38017 parsing to support both hex and dec ranges. If filename was missing
38018 show usage information.
38019
38020 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
38021
38022 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
38023 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
38024
38025 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
38026 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
38027 (video_mod_SOURCES): Added.
38028 (video_mod_CFLAGS): Likewise.
38029 (video_mod_LDFLAGS): Likewise.
38030 (gfxterm_mod_SOURCES): Likewise.
38031 (gfxterm_mod_CFLAGS): Likewise.
38032 (gfxterm_mod_LDFLAGS): Likewise.
38033 (videotest_mod_SOURCES): Likewise.
38034 (videotest_mod_CFLAGS): Likewise.
38035 (videotest_mod_LDFLAGS): Likewise.
38036 (vesafb_mod_SOURCES): Removed.
38037 (vesafb_mod_CFLAGS): Likewise.
38038 (vesafb_mod_LDFLAGS): Likewise.
38039 (vga_mod_SOURCES): Likewise.
38040 (vga_mod_CFLAGS): Likewise.
38041 (vga_mod_LDFLAGS): Likewise.
38042
38043 * commands/videotest.c: New file.
38044
38045 * font/manager.c (fill_with_default_glyph): Modified to use
38046 grub_font_glyph.
38047 (grub_font_get_glyph): Likewise.
38048 (fontmanager): Renamed from this...
38049 (font_manager): ... to this.
38050
38051 * include/grub/font.h (grub_font_glyph): Added new structure.
38052 (grub_font_get_glyph): Modified to use grub_font_glyph.
38053
38054 * include/grub/misc.h (grub_abs): Added as inline function.
38055
38056 * include/grub/video.h: New file.
38057
38058 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
38059 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
38060 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
38061 (grub_vbe_get_controller_info): Renamed from this...
38062 (grub_vbe_bios_get_controller_info): ... to this.
38063 (grub_vbe_get_mode_info): Renamed from this...
38064 (grub_vbe_bios_get_mode_info): ... to this.
38065 (grub_vbe_set_mode): Renamed from this...
38066 (grub_vbe_bios_set_mode): ... to this.
38067 (grub_vbe_get_mode): Renamed from this...
38068 (grub_vbe_bios_get_mode): ... to this.
38069 (grub_vbe_set_memory_window): Renamed from this...
38070 (grub_vbe_bios_set_memory_window): ... to this.
38071 (grub_vbe_get_memory_window): Renamed from this...
38072 (grub_vbe_bios_get_memory_window): ... to this.
38073 (grub_vbe_set_scanline_length): Renamed from this...
38074 (grub_vbe_set_scanline_length): ... to this.
38075 (grub_vbe_get_scanline_length): Renamed from this...
38076 (grub_vbe_bios_get_scanline_length): ... to this.
38077 (grub_vbe_set_display_start): Renamed from this...
38078 (grub_vbe_bios_set_display_start): ... to this.
38079 (grub_vbe_get_display_start): Renamed from this...
38080 (grub_vbe_bios_get_display_start): ... to this.
38081 (grub_vbe_set_palette_data): Renamed from this...
38082 (grub_vbe_bios_set_palette_data): ... to this.
38083 (grub_vbe_set_pixel_rgb): Removed.
38084 (grub_vbe_set_pixel_index): Likewise.
38085
38086 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
38087 from this...
38088 (grub_vbe_bios_get_controller_info): ... to this.
38089 (grub_vbe_get_mode_info): Renamed from this...
38090 (grub_vbe_bios_get_mode_info): ... to this.
38091 (grub_vbe_set_mode): Renamed from this...
38092 (grub_vbe_bios_set_mode): ... to this.
38093 (grub_vbe_get_mode): Renamed from this...
38094 (grub_vbe_bios_get_mode): ... to this.
38095 (grub_vbe_set_memory_window): Renamed from this...
38096 (grub_vbe_bios_set_memory_window): ... to this.
38097 (grub_vbe_get_memory_window): Renamed from this...
38098 (grub_vbe_bios_get_memory_window): ... to this.
38099 (grub_vbe_set_scanline_length): Renamed from this...
38100 (grub_vbe_set_scanline_length): ... to this.
38101 (grub_vbe_get_scanline_length): Renamed from this...
38102 (grub_vbe_bios_get_scanline_length): ... to this.
38103 (grub_vbe_set_display_start): Renamed from this...
38104 (grub_vbe_bios_set_display_start): ... to this.
38105 (grub_vbe_get_display_start): Renamed from this...
38106 (grub_vbe_bios_get_display_start): ... to this.
38107 (grub_vbe_set_palette_data): Renamed from this...
38108 (grub_vbe_bios_set_palette_data): ... to this.
38109 (grub_vbe_bios_get_controller_info): Fixed problem with registers
38110 getting corrupted after calling it. Added more pushes and pops.
38111 (grub_vbe_bios_set_mode): Likewise.
38112 (grub_vbe_bios_get_mode): Likewise.
38113 (grub_vbe_bios_get_memory_window): Likewise.
38114 (grub_vbe_bios_set_scanline_length): Likewise.
38115 (grub_vbe_bios_get_scanline_length): Likewise.
38116 (grub_vbe_bios_get_display_start): Likewise.
38117 (grub_vbe_bios_set_palette_data): Likewise.
38118
38119 * normal/cmdline.c (cl_set_pos): Refresh the screen.
38120 (cl_insert): Likewise.
38121 (cl_delete): Likewise.
38122
38123 * term/gfxterm.c: New file.
38124
38125 * term/i386/pc/vesafb.c: Removed file.
38126
38127 * video/video.c: New file.
38128
38129 * video/i386/pc/vbe.c (real2pm): Added new function.
38130 (grub_video_vbe_draw_pixel): Likewise.
38131 (grub_video_vbe_get_video_ptr): Likewise.
38132 (grub_video_vbe_get_pixel): Likewise
38133 (grub_video_vbe_init): Likewise.
38134 (grub_video_vbe_fini): Likewise.
38135 (grub_video_vbe_setup): Likewise.
38136 (grub_video_vbe_get_info): Likewise.
38137 (grub_video_vbe_set_palette): Likewise.
38138 (grub_video_vbe_get_palette): Likewise.
38139 (grub_video_vbe_set_viewport): Likewise.
38140 (grub_video_vbe_get_viewport): Likewise.
38141 (grub_video_vbe_map_color): Likewise.
38142 (grub_video_vbe_map_rgb): Likewise.
38143 (grub_video_vbe_map_rgba): Likewise.
38144 (grub_video_vbe_unmap_color): Likewise.
38145 (grub_video_vbe_fill_rect): Likewise.
38146 (grub_video_vbe_blit_glyph): Likewise.
38147 (grub_video_vbe_blit_bitmap): Likewise.
38148 (grub_video_vbe_blit_render_target): Likewise.
38149 (grub_video_vbe_scroll): Likewise.
38150 (grub_video_vbe_swap_buffers): Likewise.
38151 (grub_video_vbe_create_render_target): Likewise.
38152 (grub_video_vbe_delete_render_target): Likewise.
38153 (grub_video_vbe_set_active_render_target): Likewise.
38154 (grub_vbe_set_pixel_rgb): Remove function.
38155 (grub_vbe_set_pixel_index): Likewise.
38156 (index_color_mode): Remove static variable.
38157 (active_mode): Likewise.
38158 (framebuffer): Likewise.
38159 (bytes_per_scan_line): Likewise.
38160 (grub_video_vbe_adapter): Added new static variable.
38161 (framebuffer): Likewise.
38162 (render_target): Likewise.
38163 (initial_mode): Likewise.
38164 (mode_in_use): Likewise.
38165 (mode_list): Likewise.
38166
38167 2006-03-10 Marco Gerards <marco@gnu.org>
38168
38169 * configure.ac (AC_INIT): Bumped to 1.93.
38170
38171 * DISTLIST: Added `include/grub/hfs.h'.
38172
38173 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
38174
38175 * boot/i386/pc/boot.S (general_error): Before looping, try INT
38176 18H, which might help the BIOS falling back to next boot media.
38177
38178 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
38179
38180 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
38181 Poe Chen <poe.poechen@gmail.com>.
38182
38183 2006-01-17 Marco Gerards <marco@gnu.org>
38184
38185 * include/grub/normal.h: Include <grub/script.h>.
38186 (grub_command_list): Removed struct.
38187 (grub_command_list_t): Removed type.
38188 (grub_menu_entry): Remove members `num' and `command_list'. Add
38189 members `commands' and `sourcecode'.
38190 * include/grub/script.h: Add inclusion guards.
38191 (grub_script_cmd_menuentry): New struct.
38192 (grub_script_execute_menuentry): New prototype.
38193 (grub_script_lexer_record_start): Likewise.
38194 (grub_script_lexer_record_stop): Likewise.
38195 * normal/execute.c (grub_script_execute_menuentry): New function.
38196 * normal/lexer.c (record, recording, recordpos, recordlen): New
38197 variables.
38198 (grub_script_lexer_record_start): New function.
38199 (grub_script_lexer_record_stop): Likewise.
38200 (recordchar): Likewise.
38201 (nextchar): Likewise.
38202 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
38203 2048 as the buffer size. Add the tokens `menuentry' and `@'.
38204 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
38205 (current_menu): New variable.
38206 (free_menu): Mainly rewritten.
38207 (grub_normal_menu_addentry): New function.
38208 (read_config_file): Rewritten.
38209 * normal/menu.c (run_menu_entry): Mainly rewritten.
38210 * normal/menu_entry.c (make_screen): Rewritten the code to insert
38211 the menu entry.
38212 (run): Mainly rewritten.
38213 * normal/parser.y (menu_entry): New variable.
38214 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
38215 (menuentry): New rule.
38216 (command): Add `menuentry'.
38217 (if_statement): Allow additional returns before `fi'.
38218 * normal/script.c (grub_script_create_cmdmenu): New function.
38219
38220 2006-01-03 Marco Gerards <marco@gnu.org>
38221
38222 * INSTALL: GNU Bison is required.
38223 * configure.ac: Rewritten the test to detect Bison.
38224 * Makefile.in (YACC): New variable. Reported by Xun Sun
38225 <xun.sun.cn@gmail.com>.
38226
38227 2006-01-03 Marco Gerards <marco@gnu.org>
38228
38229 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
38230 the HFS+ filesystem to filesystem blocks.
38231 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
38232 GCC warning is silenced.
38233
38234 2006-01-03 Marco Gerards <marco@gnu.org>
38235
38236 * partmap/apple.c (apple_partition_map_iterate): Convert the data
38237 read from disk from big endian to host byte order.
38238
38239 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
38240
38241 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
38242 documentation.
38243 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
38244 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
38245 embedded HFS+ filesystem.
38246 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
38247 (grub_hfs_sblock): Move from here...
38248 * include/grub/hfs.h: To here... New file.
38249 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
38250 documentation.
38251 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
38252 New macros.
38253 (grub_hfsplus_volheader): Change type of member `magic' to
38254 `grub_uint16_t'.
38255 (grub_hfsplus_data): Add new member `embedded_offset'.
38256 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
38257 returned block.
38258 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
38259 Calculate the offset.
38260
38261 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38262
38263 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
38264 Removed.
38265 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
38266
38267 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38268
38269 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
38270 ENV->NAME is NULL after allocating ENV->VALUE.
38271
38272 2005-12-25 Marco Gerards <marco@gnu.org>
38273
38274 * kern/env.c (grub_env_set): Rewritten the error handling code.
38275
38276 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38277
38278 * geninit.sh: Made more robust, and more portable.
38279
38280 2005-12-25 Marco Gerards <marco@gnu.org>
38281
38282 Add support for Apple HFS+ filesystems.
38283
38284 * fs/hfsplus.c: New file.
38285
38286 * DISTLIST: Added `fs/hfsplus.c'.
38287
38288 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38289 (hfsplus_mod_SOURCES): New variable.
38290 (hfsplus_mod_CFLAGS): Likewise.
38291 (hfsplus_mod_LDFLAGS): Likewise.
38292 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38293 (grub_setup_SOURCES): Likewise.
38294 (grub_mkdevicemap_SOURCES): Likewise.
38295 (grub_emu_SOURCES): Likewise.
38296 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38297
38298 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38299
38300 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38301
38302 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38303
38304 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38305 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38306 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38307 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38308 normal/lexer.c, normal/parser.y, normal/script.c, and
38309 partmap/gpt.c.
38310 Removed kern/sparc64/cache.c.
38311
38312 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38313 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38314 grub_emu_init.c.
38315
38316 * configure.ac (AC_INIT): Bumped to 1.92.
38317
38318 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38319
38320 * kern/err.c (grub_error_push): Added new function to support error
38321 stacks.
38322 (grub_error_pop): Likewise.
38323 (grub_error_stack_items): New local variable to support error stacks.
38324 (grub_error_stack_pos): Likewise.
38325 (grub_error_stack_assert): Likewise.
38326 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38327 stack depth.
38328 (grub_print_error): Added support to print errors from error stack.
38329
38330 * include/grub/err.h (grub_error_push): Added function prototype.
38331 (grub_error_pop): Likewise.
38332
38333 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38334
38335 * configure.ac: Accept `powerpc64' as host_cpu.
38336 (amd64): Rename to `biarch32'.
38337
38338 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38339 non-cacheline-aligned addresses.
38340
38341 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38342 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38343 if `size' is non-zero.
38344
38345 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
38346
38347 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38348 and `cd' to make sure the filename is not prefixed with a
38349 directory name.
38350 (pkgdata_MODULES): Add `gpt.mod'.
38351 (gpt_mod_SOURCES): New variable.
38352 (gpt_mod_CFLAGS): Likewise.
38353 (gpt_mod_LDFLAGS): Likewise.
38354
38355 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38356
38357 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38358 New macro.
38359
38360 * partmap/gpt.c: New file.
38361
38362 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38363 GPT partition map is detected.
38364
38365 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38366
38367 * commands/i386/pc/play.c: New file.
38368 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38369 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38370 macros.
38371
38372 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
38373
38374 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38375 ((unused))' to silence gcc warning.
38376
38377 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38378
38379 * configure.ac: Correct `AC_PROG_YACC' test.
38380
38381 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38382
38383 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38384 check before installing files.
38385
38386 2005-11-22 Mike Small <smallm@panix.com>
38387
38388 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38389 number regex so multidigit numbers are recognized correctly.
38390
38391 2005-11-22 Mike Small <smallm@panix.com>
38392
38393 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38394 debugging message before attempting to claim memory.
38395 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38396 multiple addresses in case of failure.
38397
38398 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38399
38400 * term/tparm.c (get_space): Remove empty `if' statement.
38401
38402 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38403
38404 * kern/parser.c (check_varstate): Rename `state' to 's'.
38405
38406 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38407
38408 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38409 variable definitions to the beginning of each function. Sort stack
38410 variables by size.
38411 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38412 `buf' argument to `char *'.
38413
38414 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38415
38416 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38417 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38418 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38419 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38420 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38421 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38422 configfile.mod, search.mod, gzio.mod and test.mod.
38423 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38424 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38425 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38426 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38427 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38428 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38429 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38430 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38431 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38432 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38433 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38434 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38435 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38436 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38437 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38438 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38439 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38440 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38441 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38442 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38443 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38444 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38445 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38446
38447 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38448 `grep --include'.
38449 (pkgdata_MODULES): Add test.mod.
38450
38451 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38452
38453 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38454 appending to variables with "+=".
38455 (PModule): Use full pathname to generate *.lst filenames.
38456
38457 * Makefile.in: Fixed list rules moved from genmk.rb.
38458 (.DELETE_ON_ERROR): New special target.
38459 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38460
38461 * conf/i386-pc.rmk: Include conf/common.mk.
38462 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38463 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38464 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38465 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38466 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38467 configfile.mod, search.mod, gzio.mod and test.mod.
38468 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38469 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38470 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38471 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38472 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38473 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38474 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38475 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38476 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38477 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38478 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38479 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38480 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38481 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38482 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38483 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38484 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38485 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38486 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38487 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38488 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38489 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38490 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38491 here...
38492 * conf/common.rmk: ... to here. New file.
38493
38494 * conf/common.mk: New file.
38495
38496 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38497
38498 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38499 (grub_script.tab.c): ... here.
38500
38501 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38502 (grub_script.tab.c): ... here.
38503
38504 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38505 (grub_script.tab.c): ... here.
38506
38507 * normal/command.c (grub_command_find): Fixed a memory leak of
38508 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38509
38510 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38511
38512 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38513 "@" which marks the start of a comment on ARM.
38514 (VARIABLE): Likewise.
38515
38516 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38517
38518 Add support for Linux/ADFS partition tables.
38519
38520 * partmap/acorn.c: New file.
38521
38522 * include/grub/acorn_filecore.h: Likewise.
38523
38524 * DISTLIST: Added `partmap/acorn.c' and
38525 `include/grub/acorn_filecore.h'.
38526
38527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38528 `partmap/acorn.c'.
38529 (pkgdata_MODULES): Add `acorn.mod'.
38530 (acorn_mod_SOURCES): New variable.
38531 (acorn_mod_CFLAGS): Likewise.
38532
38533 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38534 `partmap/acorn.c'.
38535 (pkgdata_MODULES): Add `acorn.mod'.
38536 (acorn_mod_SOURCES): New variable.
38537 (acorn_mod_CFLAGS): Likewise.
38538
38539 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38540 (pkgdata_MODULES): Add `acorn.mod'.
38541 (acorn_mod_SOURCES): New variable.
38542 (acorn_mod_CFLAGS): Likewise.
38543 (acorn_mod_LDFLAGS): Likewise.
38544
38545 * include/types.h (grub_disk_addr_t): New typedef.
38546
38547 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
38548
38549 * geninit.sh: New file.
38550
38551 * geninitheader.sh: Likewise.
38552
38553 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38554 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38555 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38556 * commands/configfile.c (grub_configfile_init)
38557 (grub_configfile_fini): Likewise.
38558 * commands/default.c (grub_default_init, grub_default_fini):
38559 Likewise.
38560 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38561 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38562 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38563 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38564 Likewise.
38565 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38566 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38567 Likewise.
38568 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
38569 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
38570 Likewise.
38571 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38572 Likewise.
38573 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
38574 Likewise.
38575 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38576 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38577 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38578 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38579 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38580 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38581 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38582 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38583 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38584 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38585 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38586 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38587 * partmap/amiga.c (grub_amiga_partition_map_init)
38588 (grub_amiga_partition_map_fini): Likewise.
38589 * partmap/apple.c (grub_apple_partition_map_init)
38590 (grub_apple_partition_map_fini): Likewise.
38591 * partmap/pc.c (grub_pc_partition_map_init)
38592 (grub_pc_partition_map_fini): Likewise.
38593 * partmap/sun.c (grub_sun_partition_map_init,
38594 grub_sun_partition_map_fini): Likewise.
38595 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38596 Likewise.
38597
38598 * util/grub-emu.c: Include <grub_modules_init.h>.
38599 (main): Don't initialize and de-initialize any modules directly,
38600 use `grub_init_all' and `grub_fini_all' instead.
38601
38602 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38603 `grub_vesafb_mod_init'.
38604 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38605 all users.
38606 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38607 `grub_vga_mod_init'. Updated all users.
38608 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
38609
38610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38611 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38612 rules.
38613
38614 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38615 Generate a function to initialize the module in utilities.
38616 Updated all callers.
38617 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38618 initialize the module in utilities. Updated all callers.
38619
38620 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38621
38622 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38623 escape sequence and a literal ^L to clear the screen.
38624
38625 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38626 when returning from Open Firmware.
38627
38628 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38629
38630 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38631 (grub_ofconsole_height): Likewise.
38632 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38633 manually insert a '\n'.
38634 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38635 `grub_ofconsole_height'. Return early if these are already set.
38636
38637 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38638
38639 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38640 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38641 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38642 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38643 and `normal/script.c'.
38644 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38645 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38646 (test_mod_SOURCES): New variable.
38647 (test_mod_CFLAGS): Likewise.
38648 (test_mod_LDFLAGS): Likewise.
38649 (pkgdata_MODULES): Add `test.mod'.
38650 (grub_script.tab.c): New rule.
38651 (grub_script.tab.h): Likewise.
38652
38653 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
38654
38655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38656 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38657 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38658 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38659 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38660 (test_mod_SOURCES): New variable.
38661 (test_mod_CFLAGS): Likewise.
38662 (pkgdata_MODULES): Add `test.mod'.
38663 (grub_script.tab.c): New rule.
38664 (grub_script.tab.h): Likewise.
38665
38666 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
38667
38668 Add initial scripting support.
38669
38670 * commands/test.c: New file.
38671 * include/grub/script.h: Likewise.
38672 * normal/execute.c: Likewise.
38673 * normal/function.c: Likewise.
38674 * normal/lexer.c: Likewise.
38675 * normal/parser.y: Likewise.
38676 * normal/script.c: Likewise.
38677
38678 * configure.ac: Add `AC_PROG_YACC' test.
38679
38680 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38681 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38682 `normal/function.c' and `normal/script.c'.
38683 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38684 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38685 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38686 variables.
38687 (pkgdata_MODULES): Add `test.mod'.
38688 (grub_script.tab.c): New rule.
38689 (grub_script.tab.h): Likewise.
38690
38691 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38692
38693 * include/grub/normal.h (grub_test_init): New prototype.
38694 (grub_test_fini): Likewise.
38695
38696 * normal/command.c: Include <grub/script.h>.
38697 (grub_command_execute): Rewritten.
38698
38699 * util/grub-emu.c (main): Call `grub_test_init' and
38700 `grub_test_fini'.
38701
38702 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38703
38704 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38705 to 0.
38706 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38707 there are no pending characters.
38708
38709 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38710
38711 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38712 `grub_strndup' to drop device arguments. Replace unnecessary
38713 `grub_strndup' with `grub_strdup'.
38714
38715 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38716
38717 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38718 `debug' environment variable has been set.
38719
38720 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
38721
38722 * Makefile.in (install-local): Use $(DATA).
38723 (uninstall): Likewise.
38724 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38725 (sbin_UTILITIES): ... to here.
38726 (sbin_SCRIPTS): New variable.
38727 (grub_install_SOURCES): New variable.
38728 * util/powerpc/ieee1275/grub-install.in: New file.
38729 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38730 variable.
38731 (add_segments): Call `grub_util_get_path'.
38732
38733 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38734
38735 From Timothy Baldwin:
38736 * commands/ls.c (grub_ls_list_files): Close FILE with
38737 grub_file_close.
38738 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38739
38740 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
38741
38742 * include/grub/parser.h: New file.
38743
38744 * kern/parser.c: Likewise.
38745
38746 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38747 (grub_setup_SOURCES): Likewise.
38748 (grub_probefs_SOURCES): Likewise.
38749 (grub_emu_SOURCES): Likewise.
38750 (kernel_img_HEADERS): Add `parser.h'.
38751
38752 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38753 (grub_emu_SOURCES): Add `kern/parser.c'.
38754 (grubof_SOURCES): Likewise.
38755
38756 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38757 (grubof_SOURCES): Add `kern/parser.c'.
38758
38759 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38760
38761 * kern/misc.c (grub_split_cmdline): Removed function.
38762
38763 * kern/rescue.c: Include <grub/parser.h>.
38764 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38765 of `grub_split_cmdline'.
38766
38767 * normal/command.c: Include <grub/parser.h>.
38768 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38769 of `grub_split_cmdline'.
38770
38771 * normal/completion.c: Include <grub/parser.h>.
38772 (cmdline_state): New variable.
38773 (iterate_dir): End the filename with a quote depending on the
38774 command line state.
38775 (get_state): new function.
38776 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38777 split the arguments and determine the current argument. When the
38778 argument string is not quoted, escape all spaces.
38779
38780 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38781
38782 * normal/sparc64/setjmp.S: New file.
38783
38784 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38785
38786 * include/grub/sparc64/libgcc.h: New file.
38787 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38788 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38789 normal/sparc64/setjmp.c.
38790
38791 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38792
38793 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38794 * kern/sparc64/cache.S: New file.
38795 * kern/sparc64/cache.c: Removed.
38796 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38797 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38798 -mtune=ultrasparc.
38799 (COMMON_LDFLAGS): Add -melf64_sparc.
38800 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38801 (grubof_SOURCES): Use cache.S instead of cache.c.
38802 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38803 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38804 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38805 commented though.
38806 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38807 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38808 (linux_mod_CFLAGS): Commented out.
38809 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38810 out because module isn't built.
38811 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38812 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38813 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38814 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38815 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38816 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38817 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38818 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38819 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38820 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38821 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38822 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38823 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38824 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38825
38826 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38827
38828 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38829 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38830 longer, because HFS should not be used on PC.
38831
38832 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38833
38834 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38835 consistently within the loop.
38836
38837 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
38838
38839 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38840 directory can not be read.
38841
38842 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38843
38844 * configure.ac (AC_INIT): Increase the version number to 1.91.
38845
38846 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38847 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38848 term/i386/pc/serial.c.
38849
38850 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38851
38852 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38853 file size must be permitted.
38854
38855 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38856 between %ah and %al.
38857
38858 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38859
38860 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38861 grub_uint64_t.
38862 Call the hook with a NUL-terminated filename.
38863 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38864 grub_cpu_to_be32.
38865
38866 * kern/term.c (cursor_state): New variable.
38867 (grub_term_set_current): Reset the cursor state on a new
38868 terminal.
38869 (grub_setcursor): Rewritten to use CURSOR_STATE.
38870 (grub_getcursor): New function.
38871
38872 * include/grub/term.h (grub_getcursor): New prototype.
38873
38874 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38875 integers on ARM. Reported by Timothy Baldwin
38876 <T.E.Baldwin99@members.leeds.ac.uk>.
38877
38878 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
38879
38880 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38881 allocated.
38882 (grub_sfs_dir): Likewise.
38883
38884 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
38885
38886 Add support for the SFS filesystem.
38887
38888 * fs/sfs.c: New file.
38889
38890 * DISTLIST: Added `fs/sfs.c'.
38891
38892 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38893 (grub_probefs_SOURCES): Likewise.
38894 (grub_emu_SOURCES): Likewise.
38895 (pkgdata_MODULES): Add `sfs.mod'.
38896 (sfs_mod_SOURCES): New variable.
38897 (sfs_mod_CFLAGS): Likewise.
38898 (sfs_mod_LDFLAGS): Likewise.
38899
38900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38901 (pkgdata_MODULES): Add `sfs.mod'.
38902 (sfs_mod_SOURCES): New variable.
38903 (sfs_mod_CFLAGS): Likewise.
38904
38905 * util/grub-emu.c (main): Call `grub_sfs_init' and
38906 `grub_sfs_fini'.
38907
38908 * include/grub/fs.h (grub_sfs_init): New prototype.
38909 (grub_sfs_fini): Likewise.
38910
38911 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
38912
38913 Add support for the AFFS filesystem.
38914
38915 * fs/affs.c: New file.
38916
38917 * DISTLIST: Added `fs/affs.c'.
38918
38919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
38920 (grub_probefs_SOURCES): Likewise.
38921 (grub_emu_SOURCES): Likewise.
38922 (pkgdata_MODULES): Add `affs.mod'.
38923 (affs_mod_SOURCES): New variable.
38924 (affs_mod_CFLAGS): Likewise.
38925 (affs_mod_LDFLAGS): Likewise.
38926
38927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
38928 (pkgdata_MODULES): Add `affs.mod'.
38929 (affs_mod_SOURCES): New variable.
38930 (affs_mod_CFLAGS): Likewise.
38931
38932 * util/grub-emu.c (main): Call `grub_affs_init' and
38933 `grub_affs_fini'.
38934
38935 * include/grub/fs.h (grub_affs_init): New prototype.
38936 (grub_affs_fini): Likewise.
38937
38938 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
38939
38940 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
38941
38942 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
38943
38944 * configure.ac: Accept `x86_64' as host_cpu. In that case add
38945 `-m32' to CFLAGS.
38946
38947 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
38948 linking.
38949
38950 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
38951 (COMMON_LDFLAGS): New variable.
38952 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
38953 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
38954 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
38955 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
38956 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
38957 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
38958 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
38959 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
38960 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
38961 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
38962 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38963 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38964 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
38965 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
38966 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
38967 variables.
38968 (normal_mod_ASFLAGS): Add `-m32'.
38969
38970 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
38971 (grub_host_size_t, grub_host_ssize_t): New types.
38972 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
38973 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
38974 `GRUB_HOST_SIZEOF_VOID_P'.
38975
38976 * include/grub/kernel.h (struct grub_module_header): Type of
38977 member offset changed to `grub_host_off_t'. Type of member size
38978 changed to `grub_host_size_t'.
38979 (struct grub_module_info): Type of member offset changed to
38980 `grub_host_off_t'. Type of member size changed to
38981 `grub_host_size_t'.
38982
38983 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
38984
38985 Make GRUB's kernel compliant to Multiboot Specification.
38986
38987 * kern/i386/pc/startup.S (multiboot_header): New label.
38988 (multiboot_entry): Likewise.
38989 (multiboot_trampoline): Likewise.
38990
38991 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38992 Increased to 0x4A0.
38993
38994 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
38995 put parentheses after a question mark.
38996 [!GRUB_UTIL] (my_mod): New variable.
38997
38998 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
38999
39000 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
39001
39002 Adds support for the XFS filesystem. Btrees are not supported
39003 yet.
39004
39005 * fs/xfs.c: New file.
39006
39007 * DISTLIST: Added `fs/xfs.c'.
39008
39009 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
39010 (grub_probefs_SOURCES): Likewise.
39011 (grub_emu_SOURCES): Likewise.
39012 (pkgdata_MODULES): Add `xfs.mod'.
39013 (xfs_mod_SOURCES): New variable.
39014 (xfs_mod_CFLAGS): Likewise.
39015
39016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
39017 (pkgdata_MODULES): Add `xfs.mod'.
39018 (xfs_mod_SOURCES): New variable.
39019 (xfs_mod_CFLAGS): Likewise.
39020
39021 * util/grub-emu.c (main): Call `grub_xfs_init' and
39022 `grub_xfs_fini'.
39023
39024 * include/grub/fs.h (grub_xfs_init): New prototype.
39025 (grub_xfs_fini): Likewise.
39026
39027
39028 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
39029
39030 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
39031 color modes, allow greater than 16 colors to be configured as
39032 a default palette.
39033
39034 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39035
39036 * normal/completion.c (complete_arguments): Add the qualifier
39037 const into OPTIONS.
39038
39039 From Omniflux <omniflux+lists@omniflux.com>:
39040 * include/grub/terminfo.h: New file.
39041 * include/grub/tparm.h: Likewise.
39042 * include/grub/i386/pc/serial.h: Likewise.
39043 * term/terminfo.c: Likewise.
39044 * term/tparm.c: Likewise.
39045 * term/i386/pc/serial.c: Likewise.
39046 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
39047 serial.mod.
39048 (terminfo_mod_SOURCES): New variable.
39049 (terminfo_mod_CFLAGS): Likewise.
39050 (serial_mod_SOURCES): Likewise.
39051 (serial_mod_CFLAGS): Likewise.
39052
39053 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
39054
39055 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
39056 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
39057 and kern/powerpc/ieee1275/cmain.c, respectively.
39058
39059 * boot/powerpc/ieee1275/crt0.S: Moved to ...
39060 * kern/powerpc/ieee1275/crt0.S: ... here.
39061
39062 * boot/powerpc/ieee1275/cmain.c: Moved to ...
39063 * kern/powerpc/ieee1275/cmain.c: ... here.
39064
39065 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
39066 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
39067 instead of boot/powerpc/ieee1275/crt0.S and
39068 boot/powerpc/ieee1275/cmain.c, respectively.
39069
39070 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
39071 sectors. It was not used anyway.
39072
39073 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39074
39075 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
39076 `unused parameter' warning.
39077
39078 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
39079
39080 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
39081 function.
39082 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
39083 getcharwidth.
39084
39085 2005-08-28 Marco Gerards <metgerards@student.han.nl>
39086
39087 * include/grub/normal.h (enum grub_completion_type): Added
39088 `GRUB_COMPLETION_TYPE_ARGUMENT'.
39089
39090 * normal/cmdline.c (print_completion): Handle
39091 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
39092 * normal/menu_entry.c (store_completion): Likewise.
39093
39094 * normal/completion.c (complete_arguments): New function.
39095 (grub_normal_do_completion): Call `complete_arguments' when the
39096 current words start with a dash.
39097
39098 2005-08-27 Marco Gerards <metgerards@student.han.nl>
39099
39100 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
39101 `gzio.mod' instead of `io.mod').
39102
39103 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
39104
39105 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
39106 (DISTDIRS): Added io and video.
39107 Rewrite the search routine to make an output consistently.
39108
39109 * DISTLIST: Added conf/sparc64-ieee1275.mk,
39110 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
39111 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
39112 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
39113 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
39114 util/powerpc/ieee1275/misc.c.
39115
39116 * include/grub/gzio.h: New file.
39117 * io/gzio.c: Likewise.
39118
39119 * kern/file.c (grub_file_close): Call grub_device_close only if
39120 FILE->DEVICE is not NULL.
39121
39122 * include/grub/mm.h [!NULL] (NULL): New macro.
39123
39124 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
39125
39126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
39127 (pkgdata_MODULES): Added gzio.mod.
39128 (gzio_mod_SOURCES): New variable.
39129 (gzio_mod_CFLAGS): Likewise.
39130
39131 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
39132 (pkgdata_MODULES): Added gzio.mod.
39133 (gzio_mod_SOURCES): New variable.
39134 (gzio_mod_CFLAGS): Likewise.
39135
39136 * commands/cat.c: Include grub/gzio.h.
39137 (grub_cmd_cat): Use grub_gzfile_open instead of
39138 grub_file_open.
39139
39140 * commands/cmp.c: Include grub/gzio.h.
39141 (grub_cmd_cmp): Use grub_gzfile_open instead of
39142 grub_file_open.
39143
39144 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
39145 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
39146 grub_file_open.
39147 (grub_rescue_cmd_module): Likewise.
39148
39149 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39150
39151 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
39152 kern/sparc64/ieee1275/init.c because it contains _start.
39153 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
39154
39155 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
39156
39157 * configure.ac: Add support for sparc64 host with ieee1275
39158 firmware.
39159 * configure: Generated from configure.ac.
39160 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
39161 instead of int.
39162 (grub_ofdisk_read): Likewise.
39163 (grub_ofdisk_open): Use %p to print pointer values, and cast the
39164 pointers as (void *) to remove a warning.
39165 (grub_ofdisk_close): Likewise.
39166 (grub_ofdisk_read): Likewise.
39167 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
39168 returns, so make it return void to remove a warning.
39169 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
39170 Corresponding prototype change.
39171 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
39172 values, and cast the pointers as (void *) to remove a warning.
39173 (grub_mm_dump): Likewise.
39174 * conf/sparc64-ieee1275.mk: New file.
39175 * conf/sparc64-ieee1275.rmk: Likewise.
39176 * include/grub/sparc64/setjmp.h: Likewise.
39177 * include/grub/sparc64/types.h: Likewise.
39178 * include/grub/sparc64/ieee1275/console.h: Likewise.
39179 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39180 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39181 * include/grub/sparc64/ieee1275/time.h: Likewise.
39182 * kern/sparc64/cache.c: Likewise.
39183 * kern/sparc64/dl.c: Likewise.
39184 * kern/sparc64/ieee1275/init.c: Likewise.
39185 * kern/sparc64/ieee1275/openfw.c: Likewise.
39186
39187 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39188
39189 * util/console.c (grub_ncurses_putchar): If C is greater than
39190 0x7f, set C to a question mark.
39191 (grub_ncurses_getcharwidth): New function.
39192 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
39193 getcharwidth.
39194
39195 * normal/menu.c (print_entry): Made aware of Unicode. First,
39196 convert TITLE to UCS-4, and predict the cursor position by
39197 grub_getcharwidth.
39198
39199 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
39200 const to SRC.
39201 * kern/misc.c (grub_utf16_to_utf8): Likewise.
39202
39203 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39204
39205 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
39206 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39207 grub_strcat.
39208
39209 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
39210 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
39211 grub_strcpy and grub_strlen. Take it into account that a space
39212 character is inserted as a delimiter.
39213
39214 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39215
39216 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
39217 invalid magic in the error.
39218
39219 * commands/search.c: New file.
39220
39221 * util/grub-emu.c (main): Call grub_search_init and
39222 grub_search_fini.
39223
39224 * kern/rescue.c (grub_rescue_print_disks): Removed.
39225 (grub_rescue_print_devices): New function.
39226 (grub_rescue_cmd_ls): Use grub_device_iterate with
39227 grub_rescue_print_devices instead of grub_disk_dev_iterate with
39228 grub_rescue_print_disks.
39229
39230 * kern/partition.c (grub_partition_iterate): Return the result of
39231 PARTMAP->ITERATE instead of GRUB_ERRNO.
39232
39233 * kern/device.c: Include grub/partition.h.
39234 (grub_device_iterate): New function.
39235
39236 * include/grub/partition.h (grub_partition_iterate): Return int
39237 instead of grub_err_t.
39238
39239 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
39240 prototype.
39241 [GRUB_UTIL] (grub_search_fini): Likewise.
39242
39243 * include/grub/device.h (grub_device_iterate): New prototype.
39244
39245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39246 commands/search.c.
39247 (pkgdata_MODULES): Added search.mod.
39248 (search_mod_SOURCES): New variable.
39249 (search_mod_CFLAGS): Likewise.
39250
39251 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
39252 (pkgdata_MODULES): Added search.mod.
39253 (search_mod_SOURCES): New variable.
39254 (search_mod_CFLAGS): Likewise.
39255
39256 * commands/ls.c (grub_ls_list_disks): Renamed to ...
39257 (grub_ls_list_devices): ... this, and use grub_device_iterate.
39258 All callers changed.
39259
39260 * DISTLIST: Added commands/search.c.
39261
39262 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
39263
39264 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
39265 conversion.
39266 (grub_getcharwidth): New function.
39267
39268 * kern/misc.c (grub_utf8_to_ucs4): New function.
39269
39270 * include/grub/term.h (struct grub_term): Added a new member
39271 "getcharwidth".
39272 (grub_getcharwidth): New prototype.
39273
39274 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
39275
39276 * term/i386/pc/console.c (map_char): New function. Segregated from
39277 grub_console_putchar.
39278 (grub_console_putchar): Use map_char.
39279 (grub_console_getcharwidth): New function.
39280 (grub_console_term): Specified grub_console_getcharwidth as
39281 getcharwidth.
39282
39283 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
39284 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
39285
39286 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
39287 GRUB_ERRNO.
39288 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39289 on grub_strtoul completely.
39290 (write_char): Declare local variables in the beginning of the
39291 function.
39292 (grub_vesafb_getcharwidth): New function.
39293 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39294 getcharwidth.
39295
39296 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39297
39298 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39299 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39300 commands/i386/pc/vbetest.c.
39301
39302 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39303 call grub_vbe_get_controller_info again, because the returned
39304 information is volatile.
39305 (grub_vbe_set_video_mode): Mostly rewritten.
39306 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39307 grub_vbe_status_t correctly.
39308 (grub_vbe_get_video_mode_info): Likewise.
39309 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39310 several if statements.
39311
39312 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39313 * commands/i386/pc/vbeinfo.c: ... this.
39314
39315 * commands/i386/pc/vbe_test.c: Renamed to ...
39316 * commands/i386/pc/vbetest.c: ... this.
39317
39318 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39319 ...
39320 (grub_cmd_vbeinfo): ... this. Save video modes before
39321 iterating. Skip a video mode, if it is not available, not enough
39322 information is given or it is monochrome. Show the memory
39323 model. Leave the interpretation of MODEVAR to grub_strtoul
39324 completely.
39325 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39326 (GRUB_MOD_FINI): Likewise.
39327
39328 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39329 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39330 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39331 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39332 grub_strtoul completely.
39333 (real2pm): Removed.
39334 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39335 (GRUB_MOD_FINI): Likewise.
39336
39337 * normal/misc.c: Include grub/mm.h.
39338
39339 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39340 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39341 (vbe_list_modes_mod_SOURCES): Removed.
39342 (vbe_list_modes_mod_CFLAGS): Likewise.
39343 (vbe_test_mod_SOURCES): Likewise.
39344 (vbe_test_mod_CFLAGS): Likewise.
39345 (vbeinfo_mod_SOURCES): New variable.
39346 (vbeinfo_mod_CFLAGS): Likewise.
39347 (vbetest_mod_SOURCES): Likewise.
39348 (vbetest_mod_CFLAGS): Likewise.
39349
39350 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39351
39352 * normal/misc.c: New file.
39353
39354 * DISTLIST: Added normal/misc.c.
39355
39356 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39357 DISK to HOOK. Call HOOK with DISK.
39358 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39359 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39360 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39361
39362 * normal/menu_entry.c (struct screen): Added a new member
39363 "completion_shown".
39364 (completion_buffer): New global variable.
39365 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39366 (store_completion): New function.
39367 (complete): Likewise.
39368 (clear_completions): Likewise.
39369 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39370 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39371 a tab, call complete.
39372
39373 * normal/completion.c (disk_dev): Removed.
39374 (print_simple_completion): Likewise.
39375 (print_partition_completion): Likewise.
39376 (print_func): New global variable.
39377 (add_completion): Do not take the arguments WHAT or PRINT any
39378 longer. Added a new argument TYPE. Instead of printing directly,
39379 call PRINT_FUNC if not NULL.
39380 All callers changed.
39381 (complete_device): Use a local variable DEV instead of
39382 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39383 (grub_normal_do_completion): Take a new argument HOOK. Do not
39384 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39385 empty string, return NULL instead.
39386 All callers changed.
39387
39388 * normal/cmdline.c (print_completion): New function.
39389
39390 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39391 to HOOK.
39392 All callers changed.
39393
39394 * kern/disk.c (grub_print_partinfo): Removed.
39395
39396 * include/grub/partition.h (struct grub_partition_map): Add a new
39397 argument DISK into HOOK of ITERATE.
39398 (grub_partition_iterate): Add a new argument DISK to HOOK.
39399
39400 * include/grub/normal.h (enum grub_completion_type): New enum.
39401 (grub_completion_type_t): New type.
39402 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39403 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39404 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39405 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39406 (grub_normal_do_completion): Added a new argument HOOK.
39407 (grub_normal_print_device_info): New prototype.
39408
39409 * include/grub/disk.h (grub_print_partinfo): Removed.
39410
39411 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39412 (normal_mod_SOURCES): Likewise.
39413 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39414 (normal_mod_SOURCES): Likewise.
39415
39416 * commands/ls.c (grub_ls_list_disks): Use
39417 grub_normal_print_device_info instead of grub_print_partinfo. Free
39418 PNAME.
39419 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39420 duplicating the code.
39421
39422 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39423
39424 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
39425 follow GCS more precisely.
39426 * commands/i386/pc/vbe_test.c: Likewise.
39427 * include/grub/i386/pc/vbe.h: Likewise.
39428 * term/i386/pc/vesafb.c: Likewise.
39429 * video/i386/pc/vbe.c: Likewise.
39430
39431 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39432
39433 * DISTLIST: Added term/i386/pc/vesafb.c
39434 DISTLIST: Added video/i386/pc/vbe.c
39435 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39436 DISTLIST: Added commands/i386/pc/vbe_test.c.
39437 * commands/i386/pc/vbe_list_modes.c: New file.
39438 * commands/i386/pc/vbe_test.c: Likewise.
39439 * term/i386/pc/vesafb.c: Likewise.
39440 * video/i386/pc/vbe.c: Likewise.
39441 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39442 (grub_vbe_probe) Added prototype.
39443 (grub_vbe_set_video_mode) Likewise.
39444 (grub_vbe_get_video_mode) Likewise.
39445 (grub_vbe_get_video_mode_info) Likewise.
39446 (grub_vbe_set_pixel_rgb) Likewise.
39447 (grub_vbe_set_pixel_index) Likewise.
39448 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39449 (pkgdata_MODULES): Added vesafb.mod.
39450 (pkgdata_MODULES): Added vbe_list_modes.mod.
39451 (pkgdata_MODULES): Added vbe_test.mod.
39452 (vbe_mod_SOURCES): Added.
39453 (vbe_mod_CFLAGS): Likewise.
39454 (vesafb_mod_SOURCES): Likewise.
39455 (vesafb_mod_CFLAGS): Likewise.
39456 (vbe_list_modes_mod_SOURCES): Likewise.
39457 (vbe_list_modes_mod_CFLAGS): Likewise.
39458 (vbe_test_mod_SOURCES): Likewise.
39459 (vbe_test_mod_CFLAGS): Likewise.
39460
39461 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39462
39463 * normal/command.c (grub_command_execute): If INTERACTIVE is
39464 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39465 CMDLINE. Disable the pager if INTERACTIVE is true.
39466 All callers are changed.
39467
39468 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39469 before reading a config file.
39470 * normal/main.c (read_config_file): Even if a command is not
39471 found, register it if it is within an entry.
39472
39473 * util/grub-emu.c: Include sys/types.h and unistd.h.
39474 (options): Added --hold.
39475 (struct arguments): Added a new member "hold".
39476 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39477 missing.
39478 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39479 cleared by a debugger, if it is not zero.
39480
39481 * include/grub/normal.h (grub_command_execute): Add an argument
39482 INTERACTIVE.
39483
39484 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39485
39486 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39487
39488 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39489
39490 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39491 program with another one, because the old one didn't detect a bug
39492 in gcc-3.4. Always use regparm 2, because the new test is still
39493 not enough for gcc-4.0. Someone must investigate a simple test
39494 case which detects a bug in gcc-4.0.
39495
39496 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39497
39498 * DISTLIST: Added normal/completion.c.
39499
39500 * normal/completion.c: New file.
39501
39502 * term/i386/pc/console.c (grub_console_getwh): New function.
39503 (grub_console_term): Assign grub_console_getwh to getwh.
39504
39505 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39506 function is defined in normal/completion.c as
39507 grub_normal_do_completion.
39508 (grub_cmdline_get): Use grub_normal_do_completion instead of
39509 grub_tab_complete.
39510
39511 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39512 returns non-zero, otherwise return 0.
39513 (grub_partition_iterate): First, probe the partition map. Then,
39514 call ITERATE only for this partition map.
39515
39516 * kern/misc.c (grub_strncmp): Rewritten.
39517
39518 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39519 returns non-zero. Otherwise return 0.
39520
39521 * include/grub/partition.h (grub_partition_map_iterate): Return
39522 int instead of void.
39523
39524 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39525
39526 * include/grub/misc.h (grub_strncmp): Change the type of N to
39527 grub_size_t.
39528
39529 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39530 of void.
39531
39532 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
39533 unsigned explicitly before comparing it with I.
39534
39535 * kern/main.c (grub_env_write_root): Add the attribute unused into
39536 VAR.
39537
39538 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39539 normal/completion.c.
39540 (normal_mod_SOURCES): Likewise.
39541 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39542 (normal_mod_SOURCES): Likewise.
39543
39544 * normal/command.c (grub_iterate_commands): If ITERATE returns
39545 non-zero, return one immediately.
39546
39547 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39548
39549 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39550 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39551 descriptions.
39552 (grub_vbe_get_controller_info): New function.
39553 (grub_vbe_get_mode_info): Likewise.
39554 (grub_vbe_set_mode): Likewise.
39555 (grub_vbe_get_mode): Likewise.
39556 (grub_vbe_set_memory_window): Likewise.
39557 (grub_vbe_get_memory_window): Likewise.
39558 (grub_vbe_set_scanline_length): Likewise.
39559 (grub_vbe_get_scanline_length): Likewise.
39560 (grub_vbe_set_display_start): Likewise.
39561 (grub_vbe_get_display_start): Likewise.
39562 (grub_vbe_set_palette_data): Likewise.
39563 * include/grub/i386/pc/vbe.h: New file.
39564
39565 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39566
39567 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39568 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39569 * DISTLIST: Likewise.
39570 * kern/ieee1275/of.c: Moved to ...
39571 * kern/ieee1275/ieee1275.c: ... here.
39572
39573 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39574
39575 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39576 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39577 Pass 0 as `end' parameter to grub_strtoul().
39578
39579 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39580
39581 * include/grub/powerpc/ieee1275/console.h: Do not include
39582 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39583 ifdef.
39584 (grub_console_cur_color): Remove i386-specific prototype.
39585 (grub_console_real_putchar): Likewise.
39586 (grub_console_checkkey): Likewise.
39587 (grub_console_getkey): Likewise.
39588 (grub_console_getxy): Likewise.
39589 (grub_console_gotoxy): Likewise.
39590 (grub_console_cls): Likewise.
39591 (grub_console_setcursor): Likewise.
39592 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39593 Include <grub/machine/console.h>.
39594 * term/ieee1275/ofconsole.c: Likewise.
39595
39596 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39597
39598 * Makefile.in (LIBLZO): New variable.
39599
39600 * configure.ac: Check for LZO version 2.
39601
39602 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39603 lzo/lzo1x.h instead of lzo1x.h.
39604
39605 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39606 of -llzo.
39607
39608 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39609 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39610
39611 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39612 copying the data from PARTITION to P.
39613
39614 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39615
39616 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39617 negative, unload the module.
39618
39619 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39620 map is "pc_partition_map" but not "pc".
39621 (usage): Fix the description. The options are --boot-image and
39622 --core-image but not --boot-file or --core-file.
39623 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39624 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39625 DEFAULT_DIRECTORY.
39626
39627 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39628 --core-file. Specify INSTALL_DEVICE as an argument.
39629
39630 * util/console.c: Include config.h.
39631 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39632 [HAVE_NCURSES_H]: Include ncurses.h.
39633 [HAVE_CURSES_H]: Include curses.h.
39634 [!A_NORMAL] (A_NORMAL): Defined as zero.
39635 [!A_STANDOUT] (A_STANDOUT): Likewise.
39636
39637 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39638 -lncurses.
39639 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39640
39641 * configure.ac: Check for curses libraries and headers.
39642
39643 * Makefile.in (LIBCURSES): New variable.
39644
39645 * genmk.rb (Script::rule): Set the executable bits.
39646
39647 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39648 name of the PC partition map is "pc_partition_map" but not "pc".
39649
39650 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39651
39652 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39653 (modules): Likewise.
39654 (usage): Added descriptions for --modules and --grub-probefs.
39655 Handle --modules and --grub-probefs. Save the arguments in MODULES
39656 and GRUB_PROBEFS, respectively.
39657 Auto-detect a filesystem module against GRUBDIR. If the result is
39658 empty and modules are not specified explicitly, abort the
39659 installation. Add the result to MODULES.
39660
39661 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39662 disk/powerpc/ieee1275/ofdisk.c,
39663 include/grub/powerpc/ieee1275/init.h and
39664 term/powerpc/ieee1275/ofconsole.c.
39665 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39666 term/ieee1275/ofconsole.c.
39667
39668 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39669
39670 * COPYING: Upgraded to the latest version. Only the address of the
39671 FSF office has changed.
39672
39673 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39674
39675 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39676 kern/ieee1275.c with kern/ieee1275/of.c.
39677
39678 * kern/ieee1275.c: Moved to ...
39679 * kern/ieee1275/of.c: ... here.
39680
39681 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39682
39683 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
39684 readability.
39685
39686 * config.guess: Updated to the latest version from gnulib.
39687 * config.sub: Likewise.
39688 * install.sh: Likewise.
39689 * mkinstalldirs: Likewise.
39690
39691 * include/grub/console.h: Removed. This file is arch-specific. Do
39692 not put this in include/grub.
39693
39694 * include/grub/i386/pc/console.h: Resurrected.
39695
39696 * util/console.c: Include grub/machine/console.h instead of
39697 grub/console.h.
39698 * util/grub-emu.c: Likewise.
39699
39700 2005-08-04 Marco Gerards <metgerards@student.han.nl>
39701
39702 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39703 hardcoded value.
39704
39705 From Vincent Pelletier <subdino2004@yahoo.fr>
39706 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39707 Redefined to use grub_getwh.
39708 (grub_term): New member named getwh.
39709 (grub_getwh): New prototype.
39710 * kern/term.c (grub_getwh): New function.
39711 * term/i386/pc/console.c (grub_console_getwh): New function.
39712 (grub_console_term): New member `getwh'.
39713 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39714 (grub_vga_term): New member `getwh'.
39715 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
39716 grub_ssize_t.
39717 (grub_ofconsole_getw): New function.
39718 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39719 (grub_ofconsole_term): New field named getwh and new initial
39720 value.
39721
39722 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39723
39724 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39725 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39726 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39727 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39728 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39729 of <grub/machine/ieee1275.h>.
39730 * commands/ieee1275/reboot.c: Likewise.
39731 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39732 * kern/ieee1275.c: ... to here. All users updated. Change all
39733 parameter structs to use new type `grub_ieee1275_cell_t'.
39734 * term/powerpc/ieee1275/ofconsole.c: Move ...
39735 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39736 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39737 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39738 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39739 to return int.
39740 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39741 Remove unused prototypes. All users updated.
39742 * include/grub/powerpc/ieee1275/console.h: Removed.
39743 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39744 `grub_ieee1275_cell_t'.
39745 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39746 Cast comparisons with -1 to the correct type.
39747 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39748 type to match `grub_ieee1275_entry_fn'.
39749
39750 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39751
39752 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39753
39754 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39755 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39756 partmap/sun.c.
39757 (grub_probefs_SOURCES): New variable.
39758
39759 * util/i386/pc/grub-probefs.c: New file.
39760
39761 * util/i386/pc/grub-setup.c (main): Call
39762 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39763 grub_hfs_init and grub_jfs_init to initialize the system. Call
39764 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39765 grub_pc_partition_map_fini to finish the system.
39766
39767 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39768
39769 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39770 function.
39771 (grub_multiboot_load_elf32): Likewise.
39772 (grub_multiboot_is_elf64): Likewise.
39773 (grub_multiboot_load_elf64): Likewise.
39774 (grub_multiboot_load_elf): Likewise.
39775 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39776 an ELF32 or ELF64 file.
39777 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39778
39779 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39780 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39781 NULL before calling FS->LABEL.
39782 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39783 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39784 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39785 before calling FS->LABEL.
39786
39787 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39788
39789 * util/i386/pc/grub-install.in (datadir): New variable.
39790 (libdir): Removed.
39791 (pkgdatadir): New variable.
39792 (pkglibdir): Removed.
39793
39794 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39795
39796 * DISTLIST: Added util/i386/pc/grub-install.in.
39797
39798 * util/i386/pc/grub-install.in: New file.
39799
39800 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39801 (grub_install_SOURCES): Likewise.
39802
39803 * genmk.rb: Added support for scripts.
39804 (Script): New class.
39805 (scripts): New variable.
39806
39807 * Makefile.in (install-local): Install sbin_SCRIPTS by
39808 INSTALL_SCRIPT.
39809 (uninstall): Remove sbin_SCRIPTS.
39810
39811 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39812 device, try to get a GRUB device by
39813 grub_util_biosdisk_get_grub_dev.
39814 Free DEST_DEV.
39815
39816 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39817 description for --device-map.
39818
39819 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39820
39821 Change the semantics of variable hooks. They now return strings
39822 instead of error values.
39823
39824 * util/i386/pc/grub-setup.c: Include grub/env.h.
39825 (setup): Use grub_device_set_root instead of grub_env_set.
39826
39827 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39828 grub_env_get instead of grub_device_set_root and
39829 grub_device_get_root, respectively.
39830
39831 * kern/main.c (grub_env_write_root): New function.
39832 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39833 grub_env_set instead of grub_device_set_root.
39834
39835 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39836 many variables.
39837 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39838 rather than calling ENV->WRITE_HOOK afterwards.
39839 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39840 passing a pointer of a pointer.
39841 (grub_register_variable_hook): Change the types of "read_hook" and
39842 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39843 respectively.
39844 Allocate the default empty string on the heap, because this string
39845 may be freed later.
39846
39847 * kern/device.c: Include grub/env.h.
39848 (grub_device_set_root): Removed.
39849 (grub_device_get_root): Likewise.
39850 (grub_device_open): Use grub_env_get instead of
39851 grub_device_get_root.
39852
39853 * include/grub/env.h (grub_env_read_hook_t): New type.
39854 (grub_env_write_hook_t): Likewise.
39855 (grub_env_var): Change the types of "read_hook" and "write_hook"
39856 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39857 (grub_register_variable_hook): Likewise.
39858
39859 * include/grub/device.h (grub_device_set_root): Removed.
39860 (grub_device_set_root): Likewise.
39861
39862 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39863 make sure that DIRNAME terminates with '/', so that
39864 grub_fat_find_dir will fail if PATH is not a directory.
39865
39866 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39867 from DIRNAME.
39868 Use the qualifier auto for print_files and print_files_long.
39869 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39870 as a regular file.
39871 Put a newline only if there is no error.
39872 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39873 used.
39874
39875 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39876
39877 * kern/partition.c (grub_partition_probe): Initialize PART to
39878 NULL. Otherwise, when no partition map is registered, this returns
39879 a garbage.
39880
39881 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39882
39883 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39884 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39885 valid.
39886
39887 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39888
39889 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39890 information on each device, if it does not have partitions. Print
39891 "Device" instead of "Disk", because this function is not specific
39892 to disk devices.
39893
39894 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39895 static to ensure that it is put on the memory rather than a
39896 register.
39897
39898 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39899
39900 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39901 (grub_cat_init): Likewise.
39902 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39903 (options): Likewise.
39904 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39905 (grub_configfile_init): Likewise.
39906 * font/manager.c (GRUB_MOD_INIT): Likewise.
39907 * commands/help.c (GRUB_MOD_INIT): Likewise.
39908 (grub_help_init): Likewise.
39909 * normal/command.c (grub_command_init): Likewise.
39910 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
39911 * disk/loopback.c (grub_loop_init): Likewise.
39912 (GRUB_MOD_INIT): Likewise.
39913 * commands/ls.c (grub_ls_init): Likewise.
39914 (GRUB_MOD_INIT): Likewise.
39915 (options): Likewise.
39916 * commands/boot.c (grub_boot_init): Likewise.
39917 (GRUB_MOD_INIT): Likewise.
39918 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
39919 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
39920 (GRUB_MOD_INIT): Likewise.
39921 * commands/cmp.c (grub_cmp_init): Likewise.
39922 (GRUB_MOD_INIT): Likewise.
39923
39924 * normal/arg.c: Use <> instead of "" to include header files.
39925 (SHORT_ARG_HELP): New macro.
39926 (SHORT_ARG_USAGE): Likewise.
39927 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
39928 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
39929 descriptions.
39930 (find_short): Check if C is 'h' or 'u' explicitly.
39931 (grub_arg_show_help): Use space characters instead of tabs. Treat
39932 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
39933 are shown with --help and --usage only if they are not used for
39934 the command itself.
39935 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
39936 'h' and 'u'.
39937
39938 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
39939 const into "longarg". Change the type of "shortarg" to int.
39940
39941 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39942
39943 * boot/i386/pc/boot.S (boot_drive_check): New label.
39944
39945 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
39946 macro.
39947
39948 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
39949 which do not pass a boot drive correctly. Copied from GRUB Legacy.
39950
39951 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39952
39953 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
39954 When turning off Gate A20, skip the check and return immediately,
39955 because this is not fatal usually.
39956
39957 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39958
39959 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
39960 be 0x7C00 instead of 0x8000.
39961
39962 * boot/i386/pc/pxeboot.S: Rewritten.
39963
39964 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
39965 EXT_C.
39966 (gate_a20_check_state): Read a byte from 0x108000. Invert the
39967 result.
39968
39969 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
39970
39971 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
39972 robustness. This routine now supports a BIOS call and System
39973 Control Port A to modify the gate A20.
39974
39975 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39976 Increased to 0x440.
39977
39978 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
39979
39980 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
39981 device path and resulting ihandle.
39982 (grub_ofdisk_close): dprintf the ihandle being closed.
39983 (grub_ofdisk_read): dprintf function parameters.
39984 * kern/mm.c (grub_mm_init_region): Likewise.
39985 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
39986 (grub_linux_boot): dprintf the Linux entry point, initrd address and
39987 size, and boot arguments.
39988 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
39989 before loading into memory.
39990 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
39991 before loading into memory.
39992
39993 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
39994
39995 * kern/mm.c: Added much documentation.
39996 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
39997 8, set to 5 instead of 8.
39998
39999 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
40000
40001 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
40002
40003 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
40004 (grub_mkdevicemap_SOURCES): New variable.
40005
40006 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
40007 lib/device.c of GRUB Legacy.
40008
40009 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
40010
40011 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
40012 instead of PATH is NULL.
40013
40014 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
40015
40016 * commands/cmp.c (BUFFER_SIZE): New macro.
40017 (grub_cmd_cmp): Close the right file at the right time. Compare
40018 only data just read. Don't report files of different size as
40019 identical. Dynamically allocate buffers. Move variable
40020 declarations at the beginning of function.
40021
40022 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
40023
40024 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
40025 reverse.
40026
40027 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
40028
40029 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
40030 when backspace is pressed at beginning of line.
40031
40032 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
40033
40034 * DISTLIST: Added genfslist.sh.
40035
40036 * normal/main.c (fs_module_list): New variable.
40037 (autoload_fs_module): New function.
40038 (read_fs_list): Likewise.
40039 (grub_normal_execute): Call read_fs_list.
40040
40041 * kern/fs.c (grub_fs_autoload_hook): New variable.
40042 (grub_fs_probe): Added support for auto-loading.
40043
40044 * include/grub/normal.h (struct grub_fs_module_list): New struct.
40045 (grub_fs_module_list_t): New type.
40046
40047 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
40048 (grub_fs_autoload_hook): New prototype.
40049
40050 * genfslist.sh: New file.
40051
40052 * genmk.rb: Added a rule to generate a filesystem list.
40053
40054 2005-06-30 Marco Gerards <metgerards@student.han.nl>
40055
40056 * configure.ac: Fix the test for cross-compiling.
40057
40058 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
40059 define GRUB_UTIL anymore.
40060
40061 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
40062 so this function works on other systems than just big endian.
40063 (load_modules): Likewise.
40064 (add_segments): Likewise.
40065
40066 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
40067
40068 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
40069 contains `l' modifier, get a long from va_arg().
40070
40071 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
40072
40073 * kern/mm.c (grub_free): If the next free block which is being
40074 merged is the first free block, set the first block to the block
40075 being freed.
40076 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
40077
40078 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40079
40080 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
40081 `grub_ieee1275_chosen'.
40082
40083 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
40084
40085 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
40086 (grub_ieee1275_chosen): New variable.
40087 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
40088 `chosen'.
40089 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
40090 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40091 Rename first argument to `phandle' for consistency.
40092 (grub_ieee1275_get_property_length): Likewise.
40093 (grub_ieee1275_next_property): Likewise. Change type of first argument
40094 to grub_ieee1275_phandle_t.
40095 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
40096 Move export next to declaration.
40097 (grub_ieee1275_chosen): New variable.
40098 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
40099 Correct cosmetic typo.
40100 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
40101 `grub_ieee1275_chosen'.
40102 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
40103 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
40104 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
40105 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
40106 `grub_ieee1275_chosen'.
40107
40108 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
40109
40110 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
40111 /chosen/bootargs.
40112 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
40113 /chosen/bootargs as "variable=value" pairs.
40114
40115 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
40116
40117 * include/grub/misc.h (grub_dprintf): New macro.
40118 (grub_real_dprintf): New prototype.
40119 (grub_strword): Likewise.
40120 (grub_iswordseparator): Likewise.
40121 * kern/misc.c (grub_real_dprintf): New function.
40122 (grub_strword): Likewise.
40123 (grub_iswordseparator): Likewise.
40124
40125 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
40126
40127 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
40128 (roundup): Remove macro.
40129 (grub_ieee1275_flags): Make static.
40130 (grub_ieee1275_realmode): Remove.
40131 (grub_ieee1275_test_flag): New function.
40132 (grub_ieee1275_set_flag): Likewise.
40133 (find_options): Rename to `grub_ieee1275_find_options'; update
40134 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
40135 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
40136 (cmain): New prototype.
40137 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
40138 `grub_ieee1275_flags' directly.
40139 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
40140 machine/biosdisk.h.
40141 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
40142 Don't include grub/machine/init.h.
40143 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
40144 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40145 Remove prototype.
40146 (grub_ieee1275_realmode): Likewise.
40147 (grub_ieee1275_flag): New enum.
40148 (grub_ieee1275_test_flag): New prototype.
40149 (grub_ieee1275_set_flag): New prototype.
40150 * include/grub/powerpc/ieee1275/init.h: Remove file.
40151 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
40152 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
40153 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
40154 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
40155 comment.
40156 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
40157 `grub_ieee1275_test_flag'.
40158 (grub_ieee1275_encode_devname): Likewise.
40159
40160 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
40161
40162 * include/grub/powerpc/ieee1275/ieee1275.h
40163 (grub_ieee1275_encode_devname): New prototype.
40164 (grub_ieee1275_get_filename): Likewise.
40165 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
40166 function.
40167 (grub_set_prefix): Likewise.
40168 (grub_machine_init): Call grub_set_prefix.
40169 * kern/powerpc/ieee1275/openfw.c: Fix typos.
40170 (grub_parse_type): New enum.
40171 (grub_ieee1275_get_devargs): New function.
40172 (grub_ieee1275_get_devname): Likewise.
40173 (grub_ieee1275_parse_args): Likewise.
40174 (grub_ieee1275_get_filename): Likewise.
40175 (grub_ieee1275_encode_devname): Likewise.
40176
40177 2005-03-30 Marco Gerards <metgerards@student.han.nl>
40178
40179 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
40180 `grub_loader_unset'.
40181
40182 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
40183
40184 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
40185 instead of grub_ieee1275_interpret.
40186 (grub_halt_init): New function.
40187 (grub_halt_fini): Likewise.
40188 (GRUB_MOD_INIT): Correct message grammar.
40189 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
40190 instead of grub_ieee1275_interpret.
40191 (grub_reboot_init): New function.
40192 (grub_reboot_fini): Likewise.
40193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
40194 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
40195 util/i386/pc/misc.c with commands/ieee1275/halt.c,
40196 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
40197 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
40198 function.
40199 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
40200 Add prototype.
40201 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
40202 prototype.
40203 (grub_halt): Likewise.
40204 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
40205 (cmain): Remove __attribute__((unused)).
40206 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
40207 (grub_heap_len): Likewise.
40208 (grub_machine_fini): New function.
40209 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
40210 (grub_halt): Likewise.
40211 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
40212 function.
40213 * util/powerpc/ieee1275/misc.c: New file.
40214
40215 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40216
40217 * DISTLIST: New file.
40218 * gendistlist.sh: Likewise.
40219
40220 * Makefile.in (COMMON_DISTFILES): Removed.
40221 (BOOT_DISTFILES): Likewise.
40222 (CONF_DISTFILES): Likewise.
40223 (DISK_DISTFILES): Likewise.
40224 (FS_DISTFILES): Likewise.
40225 (INCLUDE_DISTFILES): Likewise.
40226 (KERN_DISTFILES): Likewise.
40227 (LOADER_DISTFILES): Likewise.
40228 (TERM_DISTFILES): Likewise.
40229 (UTIL_DISTFILES): Likewise.
40230 (DISTFILES): Likewise.
40231 (uninstall): Uninstall files in $(pkgdata_DATA).
40232 (DISTLIST): New target.
40233 (distdir): Use the contents of the file DISTLIST to get a list of
40234 distributed files.
40235
40236 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40237
40238 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
40239 descriptor. This is ported from GRUB Legacy.
40240
40241 * gencmdlist.sh: Added an extra semicolon to make it work with
40242 old sed versions. Reported by Robert Bihlmeyer
40243 <robbe@orcus.priv.at>.
40244
40245 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
40246
40247 Automatic loading of commands is supported.
40248
40249 * normal/main.c (read_command_list): New function.
40250 (grub_normal_execute): Call read_command_list.
40251
40252 * normal/command.c (grub_register_command): Return zero or CMD.
40253 Allocate CMD->NAME from the heap.
40254 Initialize CMD->MODULE_NAME to zero.
40255 Find the same name as well. If the same command is found and it is
40256 a dummy command, overwrite members. If it is not a dummy command,
40257 return zero.
40258 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
40259 (grub_command_find): If a dummy command is found, load a module
40260 and retry to find a command only once.
40261
40262 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
40263 make sure that each command is loaded.
40264
40265 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
40266 macro.
40267 (struct grub_command): Remove const from the member `name'.
40268 Add a new member `module_name'.
40269 (grub_register_command): Return grub_command_t.
40270
40271 * commands/help.c (grub_cmd_help): Call grub_command_find to make
40272 sure that each command is loaded.
40273
40274 * genmk.rb (PModule::rule): Specify a module name without the
40275 suffix ".mod" to gencmdlist.sh.
40276
40277 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40278
40279 * gencmdlist.sh: New file.
40280
40281 * genmk.rb (PModule::rule): Generate a rule for a command list.
40282 Clean command.lst.
40283 Generate command.lst from $(COMMANDFILES).
40284
40285 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
40286 (DATA): Added $(pkgdata_DATA).
40287 (install-local): Install files in $(pkgdata_DATA).
40288
40289 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40290
40291 * term/i386/pc/vga.c (debug_command): Removed.
40292 (GRUB_MOD_INIT): Do not register the command "debug".
40293
40294 From Hollis Blanchard:
40295 * commands/configfile.c: New file.
40296 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40297 commands/configfile.c.
40298 (pkgdata_MODULES): Added configfile.mod.
40299 (configfile_mod_SOURCES): New variable.
40300 (configfile_mod_CFLAGS): Likewise.
40301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40302 commands/configfile.c.
40303 (pkgdata_MODULES): Added configfile.mod.
40304 (configfile_mod_SOURCES): New variable.
40305 (configfile_mod_CFLAGS): Likewise.
40306 * util/grub-emu.c (main): Call grub_configfile_init and
40307 grub_configfile_fini.
40308 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40309 prototype.
40310 [GRUB_UTIL] (grub_configfile_fini): Likewise.
40311
40312 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40313
40314 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40315 address.
40316
40317 * commands/help.c (grub_cmd_help): Do not print newlines after
40318 the last command in print_command_help.
40319
40320 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40321
40322 * commands/default.h: New file.
40323 * commands/timeout.h: Likewise.
40324 * normal/context.c: Likewise.
40325
40326 * util/misc.c: Do not include sys/times.h.
40327 Include sys/time.h and grub/machine/time.h.
40328 (grub_get_rtc): Rewritten with gettimeofday.
40329
40330 * util/grub-emu.c (main): Call grub_default_init and
40331 grub_timeout_init before grub_normal_init, and call
40332 grub_timeout_fini and grub_default_fini after grub_main.
40333
40334 * util/console.c (grub_ncurses_checkkey): Return the read
40335 character or -1.
40336
40337 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40338 timeouts.
40339
40340 * normal/main.c (read_config_file): Push MENU. If this fails,
40341 print an error and wait for a user input.
40342 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40343 If a menu is empty or an error occurs, pop MENU.
40344 (grub_normal_execute): Pop and free MENU after grub_menu_run
40345 returns.
40346
40347 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40348
40349 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40350 include time.h.
40351 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40352 without GRUB_UTIL.
40353 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40354 time.h.
40355 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40356 without GRUB_UTIL.
40357
40358 * include/grub/normal.h (struct grub_menu_list): New struct.
40359 (grub_menu_list_t): New type.
40360 (struct grub_context): New struct.
40361 (grub_context_t): New type.
40362 (grub_register_command): Got rid of EXPORT_FUNC.
40363 (grub_unregister_command): Likewise.
40364 (grub_context_get): New prototype.
40365 (grub_context_get_current_menu): Likewise.
40366 (grub_context_push_menu): Likewise.
40367 (grub_context_pop_menu): Likewise.
40368 [GRUB_UTIL] (grub_default_init): Likewise.
40369 [GRUB_UTIL] (grub_default_fini): Likewise.
40370 [GRUB_UTIL] (grub_timeout_init): Likewise.
40371 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40372
40373 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40374 commands/timeout.c and normal/context.c.
40375 (pkgdata_MODULES): Added default.mod and timeout.mod.
40376 (normal_mod_SOURCES): Added normal/context.c.
40377 (default_mod_SOURCES): New variable.
40378 (default_mod_CFLAGS): Likewise.
40379 (timeout_mod_SOURCES): Likewise.
40380 (timeout_mod_CFLAGS): Likewise.
40381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40382 conf/i386-pc.rmk.
40383 (pkgdata_MODULES): Added default.mod and timeout.mod.
40384 (normal_mod_SOURCES): Added normal/context.c.
40385 (default_mod_SOURCES): New variable.
40386 (default_mod_CFLAGS): Likewise.
40387 (timeout_mod_SOURCES): Likewise.
40388 (timeout_mod_CFLAGS): Likewise.
40389
40390 * Makefile.in (all-local): Added $(MKFILES).
40391
40392 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40393
40394 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40395 (grub_emu_SOURCES): Likewise.
40396 (pkgdata_MODULES): Add `sun.mod'.
40397 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40399 `partmap/sun.c'.
40400 (pkgdata_MODULES): Add `sun.mod'.
40401 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40402 * include/grub/partition.h (grub_sun_partition_map_init): New
40403 prototype.
40404 (grub_sun_partition_map_fini): Likewise.
40405 * partmap/sun.c: New file.
40406 * util/grub-emu.c (main): Initialize and de-initialize the sun
40407 partitionmap support.
40408
40409 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40410
40411 This implements an Emacs-like menu entry editor.
40412
40413 * normal/menu_entry.c: New file.
40414
40415 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40416 characters to ASCII.
40417 (saved_char): New variable.
40418 (grub_ncurses_checkkey): Rewritten completely.
40419 (grub_ncurses_getkey): Likewise.
40420 (grub_ncurses_init): Call raw instead of cbreak.
40421
40422 * normal/menu.c (print_entry): Do not put a space.
40423 (init_page): Renamed to ...
40424 (grub_menu_init_page): ... this. All callers changed.
40425 (edit_menu_entry): Removed.
40426 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40427
40428 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40429
40430 * kern/misc.c (grub_vprintf): Call grub_refresh.
40431
40432 * normal/menu.c (DISP_LEFT): Renamed to ...
40433 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40434 * normal/menu.c (DISP_UP): Renamed to ...
40435 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40436 * normal/menu.c (DISP_RIGHT): Renamed to ...
40437 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40438 * normal/menu.c (DISP_DOWN): Renamed to ...
40439 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40440 * normal/menu.c (DISP_HLINE): Renamed to ...
40441 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40442 * normal/menu.c (DISP_VLINE): Renamed to ...
40443 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40444 * normal/menu.c (DISP_UL): Renamed to ...
40445 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40446 * normal/menu.c (DISP_UR): Renamed to ...
40447 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40448 * normal/menu.c (DISP_LL): Renamed to ...
40449 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40450 * normal/menu.c (DISP_LR): Renamed to ...
40451 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40452 * normal/menu.c (TERM_WIDTH): Renamed to ...
40453 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40454 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40455 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40456 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40457 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40458 * normal/menu.c (TERM_MARGIN): Renamed to ...
40459 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40460 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40461 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40462 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40463 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40464 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40465 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40466 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40467 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40468 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40469 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40470 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40471 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40472 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40473 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40474 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40475 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40476 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40477 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40478 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40479 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40480 All callers changed.
40481
40482 * include/grub/normal.h: New prototype.
40483
40484 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40485 normal/menu_entry.c.
40486 (normal_mod_SOURCES): Likewise.
40487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40488 (normal_mod_SOURCES): Likewise.
40489
40490 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40491
40492 * include/grub/normal.h (grub_halt_init): New prototype.
40493 (grub_halt_fini): Likewise.
40494 (grub_reboot_init): Likewise.
40495 (grub_reboot_fini): Likewise.
40496
40497 * util/grub-emu.c: Include signal.h.
40498 (main_env): New global variable.
40499 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40500 catch C-c.
40501 (grub_machine_fini): New function.
40502 (main): Call grub_halt_init and grub_reboot_init before
40503 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40504 Call setjmp with MAIN_ENV to go back afterwards.
40505 Call grub_machine_fini right before return.
40506
40507 * include/grub/util/misc.h: Include setjmp.h.
40508 (main_env): New prototype.
40509
40510 * include/grub/kernel.h (grub_machine_fini): New prototype.
40511 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40512 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40513
40514 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40515 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40516 * term/i386/pc/console.c (grub_console_fini): Likewise.
40517
40518 * util/i386/pc/misc.c: New file.
40519
40520 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40521 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40522 commands/i386/pc/reboot.c.
40523
40524 2005-02-14 Guillem Jover <guillem@hadrons.org>
40525
40526 * include/grub/dl.h (grub_dl_check_header): New prototype.
40527 (grub_arch_dl_check_header): Change return type to grub_err_t,
40528 remove size parameter and export function. Update all callers.
40529 * kern/dl.c (grub_dl_check_header): New function.
40530 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40531 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40532 are inside the core.
40533 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40534 independent ELF header checks.
40535 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40536 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40537 `grub_dl_check_header' instead of explicit checks. Check for the
40538 ELF type.
40539 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40540 `grub_dl_check_header' instead of explicit checks. Remove arch
40541 specific ELF header checks.
40542
40543 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40544 argument SIZE.
40545
40546 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40547
40548 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40549 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40550
40551 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40552
40553 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
40554 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
40555 (part_map_iterate): Clear `grub_errno' and return 0 if
40556 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
40557 * partmap/amiga.c (amiga_partition_map_iterate): Return
40558 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40559 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40560
40561 2005-02-01 Guillem Jover <guillem@hadrons.org>
40562
40563 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40564 help info.
40565
40566 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40567
40568 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40569 Removed prototype.
40570 (grub_rescue_cmd_linux): New prototype.
40571 (grub_rescue_cmd_initrd): Likewise.
40572 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40573 `bi_rec'.
40574 (grub_linux_release_mem): Release the memory for the initrd.
40575 (grub_load_linux): Renamed from this...
40576 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40577 Changed `entry' not to be static. Loop over memory regions to
40578 find another one when the default fails.
40579 (grub_rescue_cmd_initrd): New function.
40580 (grub_linux_init): Remove function.
40581 (grub_linux_fini): Likewise.
40582 (GRUB_MOD_INIT): Register `initrd'.
40583 (GRUB_MOD_FINI): Unregister `initrd'.
40584 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40585 Function removed.
40586 (grub_linux_normal_fini): Likewise.
40587 (GRUB_MOD_INIT): Register `initrd'.
40588 (GRUB_MOD_FINI): Unregister `initrd'.
40589
40590 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40591
40592 * commands/help.c: New file.
40593 * normal/arg.c (show_help): Renamed to...
40594 (grub_arg_show_help): ... this.
40595 * commands/i386/pc/halt.c: New file.
40596 * commands/i386/pc/reboot.c: Likewise.
40597 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40598 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40599 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40600 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40601 variables.
40602 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40603 `commands/help.c'.
40604 (pkgdata_MODULES): Add `help.mod'.
40605 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40606 * grub/i386/pc/init.h (grub_reboot): New prototype.
40607 (grub_halt): Likewise.
40608 * include/grub/normal.h (grub_arg_show_help): New prototype.
40609 (grub_help_init): Likewise.
40610 (grub_help_fini): Likewise.
40611 * util/grub-emu.c (main): Initialize and deinitialize the help
40612 command.
40613
40614 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40615
40616 * normal/command.c (grub_command_init): Fixed the description of
40617 the `set' and `unset' commands.
40618
40619 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40620
40621 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40622 function.
40623 * commands/ieee1275/halt.c: New file.
40624 * commands/ieee1275/reboot.c: Likewise.
40625 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40626 `__attribute__ ((unused))'. Some GCS related fixed.
40627 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40628 (grub_suspend_fini): Likewise.
40629 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40630 and `halt.mod'.
40631 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40632 (halt_mod_CFLAGS): New variables.
40633 * include/grub/powerpc/ieee1275/ieee1275.h
40634 (grub_ieee1275_interpret): New prototype.
40635
40636 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40637
40638 * include/grub/misc.h (memmove): New prototype.
40639 (memcpy): Likewise.
40640
40641 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40642
40643 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40644 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40645
40646 2005-01-22 Marco Gerards <metgerards@student.han.nl>
40647
40648 * kern/misc.c (grub_strndup): Function rewritten.
40649
40650 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40651
40652 * normal/menu.c (TERM_WIDTH): Macro redefined.
40653 (TERM_TOP_BORDER_Y): Likewise.
40654 (draw_border): Replaced while-loop by a for-loop. Make the number
40655 of lines consistent with the number of lines displayed in
40656 print_entries. Added a margin below the rectangle.
40657 (print_entry): Make the entry fit in the rectangle.
40658 (print_entries): Display the scroll arrows next to the right
40659 border.
40660
40661 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40662
40663 * fs/minix.c (grub_minix_find_file): Reserve more space for
40664 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40665 `grub_strncpy' to copy `path' into it.
40666
40667 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40668
40669 Add the loopback device, a device via which files can be accessed
40670 as devices.
40671
40672 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40673 (pkgdata_MODULES): Add loopback.mod.
40674 (loopback_mod_SOURCES): New variable.
40675 (loopback_mod_CFLAGS): Likewise.
40676 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40677 `disk/loopback.c'.
40678 (pkgdata_MODULES): Add loopback.mod.
40679 (loopback_mod_SOURCES): New variable.
40680 (loopback_mod_CFLAGS): Likewise.
40681 * disk/loopback.c: new file.
40682 * include/grub/normal.h (grub_loop_init): New prototype.
40683 (grub_loop_fini): New prototype.
40684 * util/grub-emu.c (main): Initialize and de-initialize loopback
40685 support.
40686 * include/grub/disk.h (grub_disk_dev_id): Add
40687 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40688
40689 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40690
40691 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40692 function.
40693 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40694 (suspend_mod_SOURCES): New variable.
40695 (suspend_mod_CFLAGS): Likewise.
40696 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40697 New prototype.
40698 * commands/ieee1275/suspend.c: New file.
40699
40700 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40701
40702 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
40703 ((unused))' to `__attribute__ ((used))'.
40704 (GRUB_MOD_FINI): Likewise.
40705 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40706 * genmk.rb (PModule): Assign space to common symbols when linking
40707 modules.
40708
40709 2005-01-20 Marco Gerards <metgerards@student.han.nl>
40710
40711 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40712 `unsigned' arguments to `grub_size_t'.
40713 (grub_malloc): Likewise.
40714 (grub_realloc): Likewise.
40715 (grub_memalign): Likewise.
40716 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40717 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40718 * util/misc.c (grub_malloc): Likewise.
40719 (grub_realloc): Likewise.
40720 * kern/mm.c (get_header_from_pointer): Change the casts to
40721 `unsigned' into a cast to `grub_size_t'.
40722
40723 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40724 point to `currnode' when `currnode' is changed.
40725
40726 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40727 Schottelius <nico-linux@schottelius.org>.
40728
40729 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40730
40731 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40732 (note_path): Remove variable.
40733 (GRUB_IEEE1275_NOTE_NAME): New macro.
40734 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40735 (grub_ieee1275_note_hdr): New structure.
40736 (grub_ieee1275_note_desc): Likewise.
40737 (grub_ieee1275_note): Likewise.
40738 (load_note): Remove `dir' argument. All callers updated. Remove
40739 `note_img' and `path'. Do not load a file from `note_path'.
40740 Initialize a struct grub_ieee1275_note and write that to `out'.
40741 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40742
40743 2005-01-05 Marco Gerards <metgerards@student.han.nl>
40744
40745 * util/misc.c (grub_util_read_image): Revert last change. It
40746 called `grub_util_read_at', which seeks from the beginning of the
40747 file.
40748
40749 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40750
40751 * TODO: Add note about endianness in grub-mkimage.
40752 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40753 section.
40754 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40755 (grub_mkimage_SOURCES): New target.
40756 * include/grub/kernel.h (grub_start_addr): Remove variable.
40757 (grub_end_addr): Likewise.
40758 (grub_total_module_size): Likewise.
40759 (grub_kernel_image_size): Likewise.
40760 (GRUB_MODULE_MAGIC): New constant.
40761 (grub_module_info): New structure.
40762 (grub_arch_modules_addr): New prototype.
40763 (grub_get_end_addr): Remove prototype.
40764 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40765 * include/grub/powerpc/ieee1275/kernel.h: New file.
40766 * include/grub/util/misc.h (grub_util_get_fp_size): New
40767 prototype.
40768 (grub_util_read_at): Likewise.
40769 (grub_util_write_image_at): Likewise.
40770 * kern/main.c (grub_get_end_addr): Remove function.
40771 (grub_load_modules): Call grub_arch_modules_addr instead of using
40772 grub_end_addr. Look for a grub_module_info struct in memory. Use
40773 the grub_module_info fields instead of calling grub_get_end_addr
40774 as loop conditions. Move grub_add_unused_region code here.
40775 (grub_add_unused_region): Remove function.
40776 * kern/i386/pc/init.c: Include grub/cache.h.
40777 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40778 one call to add_mem_region.
40779 (grub_arch_modules_addr): New function.
40780 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40781 (grub_total_module_size): Likewise.
40782 Include grub/machine/kernel.h.
40783 (grub_arch_modules_addr): New function.
40784 * util/grub-emu.c (grub_end_addr): Remove variable.
40785 (grub_total_module_size): Likewise.
40786 (grub_arch_modules_addr): New function.
40787 * util/misc.c: Include unistd.h.
40788 (grub_util_get_fp_size): New function.
40789 (grub_util_read_at): Likewise.
40790 (grub_util_write_image_at): Likewise.
40791 (grub_util_read_image): Call grub_util_read_at.
40792 (grub_util_write_image): Call grub_util_write_image_at.
40793 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40794 additional memory in kernel_img for a struct grub_module_info.
40795 Fill in that grub_module_info.
40796 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40797
40798 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40799
40800 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40801 New function.
40802 * include/grub/powerpc/ieee1275/ieee1275.h
40803 (grub_ieee1275_milliseconds): New prototype.
40804 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40805 Change to 1000.
40806 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40807 grub_ieee1275_milliseconds.
40808
40809 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40810
40811 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40812 variable.
40813 (find_options): New function.
40814 (cmain): Call find_options.
40815 * include/grub/powerpc/ieee1275/ieee1275.h
40816 (grub_ieee1275_realmode): New extern variable.
40817 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40818 grub_map if grub_ieee1275_realmode is false.
40819
40820 2004-12-29 Marco Gerards <metgerards@student.han.nl>
40821
40822 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40823 lines are inserted and make it work like readline. Reported by
40824 Vincent Pelletier <subdino2004@yahoo.fr>.
40825
40826 2004-12-28 Marco Gerards <metgerards@student.han.nl>
40827
40828 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40829
40830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40831 `kern/powerpc/cache.S'.
40832
40833 2004-12-27 Marco Gerards <metgerards@student.han.nl>
40834
40835 * genmk.rb: Handle the `Program' class in the main loop. Written
40836 by Johan Rydberg <jrydberg@gnu.org>.
40837 (Program): New class.
40838 (programs): New variable.
40839 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40840 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40841 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40842 (help_arch): Function removed.
40843 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40844 `powerpc/libgcc.h' and `loader.h'.
40845 (pkgdata_PROGRAMS): New variable.
40846 (sbin_UTILITIES): Variable removed.
40847 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40848 (grubof_SOURCES): Variable re-defined so it only includes the
40849 core functionality.
40850 (grubof_CFLAGS): Remove `-DGRUBOF'.
40851 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40852 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40853 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40854 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40855 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40856 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40857 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40858 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40859 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40860 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40861 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40862 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40863 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40864 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40865 (pc_mod_CFLAGS): New variables.
40866 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40867 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40868 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40869 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40870 Moved from here...
40871 * include/grub/i386/pc/init.h (grub_os_area_addr)
40872 (rub_os_area_size): ... to here.
40873 * include/grub/powerpc/ieee1275/ieee1275.h
40874 (grub_ieee1275_entry_fn): Export symbol.
40875 * include/grub/powerpc/ieee1275/init.h: New file.
40876 * include/grub/powerpc/libgcc.h: Likewise.
40877 * include/grub/cache.h: Likewise.
40878 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40879 <hollis@penguinppc.org>.
40880 * kern/dl.c: Include <grub/cache.h>.
40881 (grub_dl_flush_cache): New function.
40882 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40883 for this module.
40884 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40885 (grub_console_init): Removed prototypes.
40886 (grub_machine_init): Don't initialize the modules anymore.
40887 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40888 static.
40889 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40890 Macro undef removed.
40891 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40892 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40893 relocation `R_PPC_REL32'. Return an error when the relocation is
40894 unknown.
40895 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40896 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40897 * util/misc.c (grub_arch_sync_caches): Likewise.
40898
40899 2004-12-19 Marco Gerards <metgerards@student.han.nl>
40900
40901 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40902 `symlist.c', add `grubof_symlist.c'.
40903 (symlist.c): Variable removed.
40904 (grubof_HEADERS): Variable added.
40905 (grubof_symlist.c): New target.
40906 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40907 `kernel_img_HEADERS'.
40908 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
40909 * kern/powerpc/dl.c: New file.
40910 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
40911 Function removed.
40912 (grub_arch_dl_relocate_symbols): Likewise.
40913 (grub_register_exported_symbols): Likewise.
40914
40915 2004-12-13 Marco Gerards <metgerards@student.han.nl>
40916
40917 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
40918 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
40919 to fail instead. Reported by Vincent Pelletier
40920 <subdino2004@yahoo.fr>.
40921
40922 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
40923 it is not allocated. Reported by Vincent Pelletier
40924 <subdino2004@yahoo.fr>.
40925
40926 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
40927 output so the output looks better.
40928
40929 2004-12-04 Marco Gerards <metgerards@student.han.nl>
40930
40931 Modulize the partition map support and add support for the amiga
40932 partition map.
40933
40934 * commands/ls.c: Include <grub/partition.h> instead of
40935 <grub/machine/partition.h>.
40936 * kern/disk.c: Likewise.
40937 * kern/rescue.c: Likewise.
40938 * loader/i386/pc/chainloader.c: Likewise.
40939 * normal/cmdline.c: Likewise.
40940 * kern/powerpc/ieee1275/init.c: Likewise.
40941 (grub_machine_init): Call `grub_pc_partition_map_init',
40942 `grub_amiga_partition_map_init' and
40943 `grub_apple_partition_map_init'.
40944 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
40945 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
40946 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
40947 `partition.h' and `pc_partition.h'.
40948 (grub_setup_SOURCES): Remove
40949 `disk/i386/pc/partition.c'. Add `kern/partition.c',
40950 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40951 (grub_emu_SOURCES): Likewise.
40952 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
40953 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
40954 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
40955 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40956 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
40957 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40958 (grubof_SOURCES): Likewise.
40959 * disk/i386/pc/partition.c: File removed.
40960 * disk/powerpc/ieee1275/partition.c: Likewise.
40961 * include/grub/powerpc/ieee1275/partition.h: Likewise.
40962 * include/grub/i386/pc/partition.h: Likewise.
40963 * kern/partition.c: New file.
40964 * partmap/amiga.c: Likewise.
40965 * partmap/apple.c: Likewise.
40966 * partmap/pc.c: Likewise.
40967 * include/grub/partition.h: Likewise..
40968 * include/grub/pc_partition.h: Likewise.
40969 * util/grub-emu.c: Include <grub/partition.h> instead of
40970 <grub/machine/partition.h>.
40971 (main): Call `grub_pc_partition_map_init',
40972 `grub_amiga_partition_map_init' and
40973 `grub_apple_partition_map_init' and deinitialize afterwards.
40974 * util/i386/pc/biosdisk.c: Include `#include
40975 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40976 `<grub/machine/partition.h>'.
40977 * util/i386/pc/grub-setup.c: Likewise.
40978 * util/i386/pc/biosdisk.c: Likewise.
40979 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
40980 partition information in case of a PC partition.
40981 * util/i386/pc/grub-setup.c: Include `#include
40982 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40983 `<grub/machine/partition.h>'.
40984 (setup): Only access the PC specific partition information in case
40985 of a PC partition.
40986
40987 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
40988
40989 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
40990 (grub_longjmp): Likewise.
40991 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
40992 20.
40993 * normal/powerpc/setjmp.S: New file.
40994 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40995 `normal/powerpc/setjmp.S'.
40996 (grubof_CFLAGS): Add `-DGRUBOF'.
40997 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
40998 [GRUB_UTIL && !GRUBOF].
40999
41000 2004-11-16 Marco Gerards <metgerards@student.han.nl>
41001
41002 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
41003 property named `name'. Correctly handle the error returned by
41004 `grub_ieee1275_finddevice' if a device can not be opened.
41005
41006 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
41007
41008 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
41009 `actual' for negativity.
41010 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
41011 kern/fshelp.c.
41012
41013 2004-11-01 Marco Gerards <metgerards@student.han.nl>
41014
41015 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
41016 (PAGE_OFFSET): New macro.
41017 (CRTC_ADDR_PORT): Likewise.
41018 (CRTC_DATA_PORT): Likewise.
41019 (START_ADDR_HIGH_REGISTER): Likewise.
41020 (START_ADDR_LOW_REGISTER): Likewise.
41021 (GRAPHICS_ADDR_PORT): Likewise.
41022 (GRAPHICS_DATA_PORT): Likewise.
41023 (READ_MAP_REGISTER): Likewise.
41024 (INPUT_STATUS1_REGISTER): Likewise.
41025 (INPUT_STATUS1_VERTR_BIT): Likewise.
41026 (page): New variable.
41027 (wait_vretrace): New function.
41028 (set_read_map): Likewise.
41029 (set_start_address): Likewise.
41030 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
41031 the right page.
41032 (check_vga_mem): Take the page into account.
41033 (write_char): Likewise.
41034 (write_cursor): Likewise.
41035 (scroll_up): Likewise. Copy the page to the page that is not
41036 shown and switch between both pages.
41037 (grub_vga_putchar): Fix off by one error.
41038 (grub_vga_cls): Wait for the vertical retrace. Take the page into
41039 account.
41040
41041 2004-11-01 Marco Gerards <metgerards@student.han.nl>
41042
41043 Add support for iso9660 (including rockridge).
41044
41045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41046 (iso9660_mod_SOURCES): New variable.
41047 (iso9660_mod_CFLAGS): Likewise.
41048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
41049 * include/grub/fs.h (grub_iso9660_init): New prototype.
41050 * util/grub-emu.c (main): Call `grub_iso9660_init'.
41051 * fs/iso9660.c: New file.
41052
41053 * include/grub/misc.h (grub_strncat): New prototype.
41054 * kern/misc.c (grub_strncat): New function.
41055
41056 * fs/hfs.c (grub_hfs_mount): Translate the error
41057 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
41058 * fs/jfs.c (grub_jfs_mount): Likewise.
41059 * fs/ufs.c (grub_ufs_mount): Likewise.
41060
41061 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
41062
41063 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
41064 which initialized BAT registers.
41065 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
41066 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41067 Move from here...
41068 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
41069 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
41070 ... to here.
41071 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
41072 (grub_mapclaim): Likewise.
41073 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
41074 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
41075 hand.
41076
41077 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
41078
41079 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
41080 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
41081 -ffreestanding and -msoft-float.
41082
41083 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
41084
41085 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
41086 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
41087 set in grub_ieee1275_flags.
41088
41089 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
41090
41091 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
41092 prototype.
41093 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
41094 grub_console_init first.
41095 Change the memory range used for grub_ieee1275_claim and
41096 grub_mm_init_region.
41097 Print an error message if the claim fails.
41098 Include <grub/misc.h>.
41099
41100 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
41101
41102 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
41103 Call grub_children_iterate for device nodes of type `scsi',
41104 `ide', or `ata'.
41105 (grub_ofdisk_open): Remove manual device alias resolution.
41106 Fix memory leak when device cannot be opened.
41107 * include/grub/powerpc/ieee1275/ieee1275.h
41108 (grub_children_iterate): New prototype.
41109 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
41110 New function.
41111 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41112 Return -1 if args.size was -1.
41113
41114 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41115
41116 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
41117 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
41118 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
41119 Open Firmware's memory for it; claim memory from _start to _end.
41120 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
41121 (_end): New extern.
41122 (_start): Zero BSS from __bss_start to _end.
41123 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
41124 New extern.
41125 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
41126
41127 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
41128
41129 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
41130 -1 if args.base was -1.
41131
41132 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
41133
41134 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
41135 escape sequence instead of a literal ^L. Also call
41136 grub_ofconsole_gotoxy.
41137
41138 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
41139
41140 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
41141 void * arguments to grub_addr_t. All callers updated. Also make
41142 the `result' argument optional.
41143 (grub_ieee1275_release): change void * arguments to grub_addr_t.
41144 All callers updated.
41145
41146 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
41147
41148 * commands/ls.c (grub_ls_list_files): Use the string following the
41149 initial ')', if present, as the filesystem path.
41150 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
41151
41152 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
41153
41154 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
41155
41156 Make the source code of the menu interface more readable.
41157
41158 * normal/menu.c: Include grub/mm.h.
41159 (TERM_WIDTH): New macro.
41160 (TERM_HEIGHT): Likewise.
41161 (TERM_INFO_HEIGHT): Likewise.
41162 (TERM_MARGIN): Likewise.
41163 (TERM_SCROLL_WIDTH): Likewise.
41164 (TERM_TOP_BORDER_Y): Likewise.
41165 (TERM_LEFT_BORDER_X): Likewise.
41166 (TERM_BORDER_WIDTH): Likewise.
41167 (TERM_MESSAGE_HEIGHT): Likewise.
41168 (TERM_BORDER_HEIGHT): Likewise.
41169 (TERM_NUM_ENTRIES): Likewise.
41170 (TERM_FIRST_ENTRY_Y): Likewise.
41171 (TERM_ENTRY_WIDTH): Likewise.
41172 (TERM_CURSOR_X): Likewise.
41173 (draw_border): Use macros instead of magic numbers.
41174 (print_entry): Likewise.
41175 (print_entries): Likewise.
41176 (run_menu): Likewise. Also, handle the key 'e'.
41177 (run_menu_entry): Ignore empty command lines.
41178 (print_message): Added a new argument EDIT. If EDIT is true,
41179 print a different message.
41180 (init_page): Likewise.
41181 (edit_menu_entry): New function. Not implemented yet.
41182
41183 2004-09-17 Marco Gerards <metgerards@student.han.nl>
41184
41185 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
41186 can be loaded from normal mode.
41187
41188 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
41189 `multiboot.mod'.
41190 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
41191 (multiboot_mod_CFLAGS): New variables.
41192 * loader/i386/pc/linux_normal.c: New file.
41193 * loader/i386/pc/multiboot_normal.c: Likewise.
41194
41195 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
41196 attribute `unused'.
41197
41198 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
41199 `fdiro' to read the mode information from instead of `diro'.
41200
41201 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
41202 looking up a symlink.
41203
41204 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
41205 macro.
41206 * normal/command.c (grub_command_execute): Don't parse the
41207 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
41208 flags of the command.
41209
41210 * normal/menu.c (grub_menu_run): Fix typo.
41211
41212 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
41213
41214 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
41215
41216 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
41217 `y + 1' instead of `y - 1'.
41218
41219 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
41220
41221 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
41222
41223 From Hollis Blanchard <hollis@penguinppc.org>:
41224 * kern/misc.c (memmove): New alias for grub_memmove.
41225 (memcmp): New alias for grub_memcmp.
41226 (memset): New alias for grub_memset.
41227 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
41228 Change "int handle" to "grub_ieee1275_phandle_t handle".
41229 * include/grub/powerpc/ieee1275/ieee1275.h
41230 (grub_ieee1275_get_property): Likewise.
41231
41232 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
41233
41234 Added normal mode command `chainloader' as module chain.mod, which
41235 depends on normal.mod and _chain.mod.
41236
41237 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
41238 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
41239 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
41240 Deleted prototype.
41241 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
41242 but arguments parsing moved to ...
41243 (grub_chainloader_cmd): ... here. New function.
41244 * include/grub/i386/pc/chainloader.h: New file.
41245 * loader/i386/pc/chainloader_normal.c: Likewise.
41246
41247 2004-09-11 Marco Gerards <metgerards@student.han.nl>
41248
41249 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
41250 (grub_mkimage_LDFLAGS): Likewise.
41251 (grub_emu_SOURCES): Likewise.
41252 (kernel_img_HEADERS): Added fshelp.h.
41253 * fs/ext2.c: Include <grub/fshelp.h>.
41254 (FILETYPE_REG): New macro.
41255 (FILETYPE_INO_REG): Likewise.
41256 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
41257 Changed all users.
41258 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
41259 all users.
41260 (grub_fshelp_node): New struct.
41261 (grub_ext2_data): Added member `diropen'. Changed member `inode'
41262 to a pointer.
41263 (grub_ext2_get_file_block): Removed function.
41264 (grub_ext2_read_block): New function.
41265 (grub_ext2_read_file): Replaced parameter `data' by `node'.
41266 This function was written.
41267 (grub_ext2_mount): Read the root inode. Create a diropen struct.
41268 (grub_ext2_find_file): Removed function.
41269 (grub_ext2_read_symlink): New function.
41270 (grub_ext2_iterate_dir): Likewise.
41271 (grub_ext2_open): Rewritten.
41272 (grub_ext2_dir): Rewritten.
41273 * include/grub/fshelp.h: New file.
41274 * fs/fshelp.c: Likewise.
41275
41276 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
41277
41278 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
41279 (print_message): Add a missing newline.
41280 (run_menu): Added timeout support.
41281 (run_menu_entry): New local function.
41282 (grub_menu_run): Added support for booting.
41283
41284 * kern/loader.c (grub_loader_is_loaded): New function.
41285
41286 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
41287 (grub_get_rtc): Exported.
41288
41289 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41290 (grub_get_rtc): Exported.
41291
41292 * include/grub/normal.h (struct grub_command_list): Remove
41293 constant from the member `command'.
41294
41295 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41296
41297 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41298
41299 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41300
41301 2004-08-28 Marco Gerards <metgerards@student.han.nl>
41302
41303 Add support for the JFS filesystem.
41304
41305 * fs/jfs.c: New file.
41306 * include/grub/fs.h (grub_jfs_init): New prototype.
41307 (grub_jfs_fini): New prototype.
41308 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41309 (grub_emu_SOURCES): Likewise.
41310 (pkgdata_MODULES): Add jfs.mod.
41311 (jfs_mod_SOURCES): New variable.
41312 (jfs_mod_CFLAGS): Likewise.
41313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41314 (grubof_SOURCES): Likewise.
41315 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41316
41317 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41318 endian to the host endian.
41319 (grub_fat_utf16_to_utf8): Move function from there...
41320 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
41321 the endianness of the source string anymore.
41322 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41323
41324 2004-08-24 Marco Gerards <metgerards@student.han.nl>
41325
41326 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41327 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41328 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41329 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
41330
41331 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41332 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41333 for `node_found' and `it_dir'.
41334 (grub_hfs_dir): Add prototype for `dir_hook'.
41335
41336 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41337 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41338 and `indir32' to silence a gcc warning.
41339
41340 * include/grub/fs.h (grub_hfs_init): New prototype.
41341 (grub_hfs_fini): Likewise.
41342
41343
41344 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41345
41346 Each disk device has its own id now. This is useful to make use
41347 of multiple disk devices.
41348
41349 * include/grub/disk.h (grub_disk_dev_id): New enum.
41350 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41351 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41352
41353 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41354 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41355
41356 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41357 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41358
41359 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41360 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41361
41362 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41363 "id" which is used by the cache manager.
41364
41365 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41366 of just "GRUB".
41367
41368 2004-08-18 Marco Gerards <metgerards@student.han.nl>
41369
41370 * fs/hfs.c: New file.
41371 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41372 (grub_emu_SOURCES): Likewise.
41373 (pkgdata_MODULES): Add hfs.mod.
41374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41375 (grubof_SOURCES): Likewise.
41376 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41377
41378 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41379 * kern/misc.c (grub_strncasecmp): Add function.
41380
41381 2004-08-14 Marco Gerards <metgerards@student.han.nl>
41382
41383 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41384 with parentheses.
41385
41386 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41387 (grub_ext2_dir): In case the directory entry type is unknown, read
41388 it from the inode.
41389
41390 2004-08-02 Peter Bruin <pjbruin@dds.nl>
41391
41392 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41393 grub_load_linux instead of grub_rescue_cmd_linux as second
41394 argument of grub_rescue_register_command.
41395
41396 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41397
41398 2004-07-27 Marco Gerards <metgerards@student.han.nl>
41399
41400 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41401 function.
41402 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41403 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41404 `loader/powerpc/ieee1275/linux.c',
41405 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41406 * include/grub/powerpc/ieee1275/ieee1275.h
41407 (grub_ieee1275_release): New prototype.
41408 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41409 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41410 normal, boot, linux and linux_normal.
41411 * loader/powerpc/ieee1275/linux.c: New file.
41412 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41413
41414 2004-07-12 Marco Gerards <metgerards@student.han.nl>
41415
41416 * normal/arg.c (grub_arg_parse): Correct error handling after
41417 reallocating the argumentlist (check if `argl' is not null instead
41418 of checking if `args' is not null).
41419 * kern/mm.c (grub_realloc): Return the same pointer when using the
41420 same region, instead of returning the header address.
41421
41422 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41423
41424 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41425 one block instead of two when looking for the initial partition.
41426 (grub_partition_probe): Initialize the local variable `p' with 0.
41427 Use base 10 for the grub_strtoul call.
41428 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41429 need for one local variable.
41430 (grub_strtoul): Don't add the new value to `num', instead of that
41431 just assign it.
41432
41433 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41434
41435 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41436 (pxeboot_img_SOURCES): New variable.
41437 (pxeboot_img_ASFLAGS): Likewise.
41438 (pxeboot_img_LDFLAGS): Likewise.
41439 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41440 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41441 <lode_leroy@hotmail.com>.
41442
41443 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41444
41445 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41446 there was no input.
41447
41448 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41449
41450 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41451 the history buffer logic.
41452
41453 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41454
41455 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41456 (FILETYPE_INO_SYMLINK): New macros.
41457 (grub_ext2_find_file): Check if the node is a directory using the
41458 inode stat information instead of using the filetype in the
41459 dirent. Exclude the first character of an absolute symlink.
41460 (grub_ext2_dir): Mask out the filetype part of the mode member of
41461 the inode.
41462
41463 2004-05-24 Marco Gerards <metgerards@student.han.nl>
41464
41465 Add support for UFS version 1 and 2. Add support for the minix
41466 filesystem version 1 and 2, both the variants with 14 and 30 long
41467 filenames.
41468
41469 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41470 fs/minix.c.
41471 (grub_emu_SOURCES): Likewise.
41472 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41473 (ufs_mod_SOURCES): New variable.
41474 (ufs_mod_CFLAGS): Likewise.
41475 (minix_mod_SOURCES): Likewise.
41476 (minix_mod_CFLAGS): Likewise.
41477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41478 fs/minix.c.
41479 (grubof_SOURCES): Likewise.
41480 * fs/ufs.c: New file.
41481 * fs/minix.c: New file.
41482 * include/grub/fs.h (grub_ufs_init): New prototype.
41483 (grub_ufs_fini): Likewise.
41484 (grub_minix_init): Likewise.
41485 (grub_minix_fini): Likewise.
41486 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41487 minix fs.
41488
41489 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41490
41491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41492 commands/ls.c, commands/terminal.c, commands/boot.c,
41493 commands/cmp.c and commands/cat.c.
41494 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41495
41496 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41497 "env.h"
41498
41499 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41500
41501 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41502 and grub_, respectively. Because the conversion is trivial and
41503 mechanical, I omit the details here. Please refer to the CVS
41504 if you need more information.
41505
41506 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41507
41508 * include/pupa: Renamed to ...
41509 * include/grub: ... this.
41510 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41511 * util/i386/pc/grub-mkimage.c: ... this.
41512 * util/i386/pc/pupa-setup.c: Renamed to ...
41513 * util/i386/pc/grub-setup.c: ... this.
41514 * util/pupa-emu.c: Renamed to ...
41515 * util/grub-emu.c: ... this.
41516
41517 2004-03-29 Marco Gerards <metgerards@student.han.nl>
41518
41519 Add support for the newworld apple macintosh (PPC). This has been
41520 tested on the powerbook 2000 only. It only adds support for
41521 generic ieee1275 functions, console and disk support. This should
41522 be easy to port to other architectures with support for Open
41523 Firmware.
41524
41525 * configure.ac: Accept the powerpc as host_cpu. In the case of
41526 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41527 specific tests are only executed while building for the i386.
41528 Inverse test for crosscompile.
41529 * genmk.rb (Utility): Allow assembler files.
41530 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41531 * conf/powerpc-ieee1275.rmk: New file.
41532 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41533 * disk/powerpc/ieee1275/partition.c: Likewise.
41534 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41535 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41536 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41537 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41538 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41539 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41540 * include/pupa/powerpc/ieee1275/loader.h
41541 * include/pupa/powerpc/setjmp.h: Likewise.
41542 * include/pupa/powerpc/types.h: Likewise.
41543 * kern/powerpc/ieee1275/init.c: Likewise.
41544 * kern/powerpc/ieee1275/openfw.c: Likewise.
41545 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41546
41547 These files were written by Johan Rydberg
41548 (jrydberg@night.trouble.net) and I only modified them slightly.
41549
41550 * boot/powerpc/ieee1275/cmain.c: New file.
41551 * boot/powerpc/ieee1275/crt0.S: Likewise.
41552 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41553 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41554
41555 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41556
41557 * Makefile.in: Update copyright.
41558 * genmodsrc.sh: Likewise.
41559 * gensymlist.sh: Likewise.
41560 * term/i386/pc/vga.c: Indent correctly.
41561
41562 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41563 bugreporting address.
41564 * util/i386/pc/pupa-setup.c (usage): Likewise,
41565 (main): Call pupa_ext2_init and pupa_ext2_fini.
41566
41567 * fs/fat.c (log2): Renamed to ...
41568 (fat_log2): ... this.
41569 All callers changed.
41570 * kern/misc.c (memcpy): Alias to pupa_memmove.
41571 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41572 lvalue cast.
41573 * util/console.c (pupa_ncurses_fini): Return 0.
41574
41575 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41576 Move fail label here.
41577 [__GNU__]: Don't warn when using stat.
41578 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41579 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41580 long int. Use strtol instead of strtoul.
41581
41582 2004-03-14 Marco Gerards <metgerards@student.han.nl>
41583
41584 * commands/boot.c: New file.
41585 * commands/cat.c: Likewise.
41586 * commands/cmp.c: Likewise.
41587 * commands/ls.c: Likewise.
41588 * commands/terminal.c: Likewise.
41589 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41590 (pupa_register_command): Changed interface to match the new
41591 argument parser.
41592 (pupa_command_execute): Changed (almost rewritten) so it uses
41593 pupa_split_command. Added support for setting variables using the
41594 syntax `foo=bar'.
41595 (rescue_command): Changed to work with the new argument parser.
41596 (terminal_command): Moved from here to commands/terminal.c.
41597 (set_command): New function.
41598 (unset_command): New function.
41599 (insmod_command): New function.
41600 (rmmod_command): New function.
41601 (lsmod_command): New function.
41602 (pupa_command_init): Don't initialize the command terminal
41603 anymore. Initialize the commands set, unset, insmod, rmmod and
41604 lsmod.
41605 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41606 (kernel_img_HEADERS): Add arg.h and env.h.
41607 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41608 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41609 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41610 normal/arg.c.
41611 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41612 terminal.mod.
41613 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41614 (boot_mod_SOURCES): New variable.
41615 (terminal_mod_SOURCES): Likewise.
41616 (ls_mod_SOURCES): Likewise.
41617 (cmp_mod_SOURCES): Likewise.
41618 (cat_mod_SOURCES): Likewise.
41619
41620 * normal/arg.c: New file.
41621 * kern/env.c: Likewise.
41622 * include/pupa/arg.h: Likewise.
41623 * include/pupa/env.h: Likewise.
41624 * font/manager.c (font_command): Changed to match argument parsing
41625 interface changes.
41626 (PUPA_MOD_INIT): Likewise.
41627 * hello/hello.c (pupa_cmd_hello): Likewise.
41628 (PUPA_MOD_INIT): Likewise.
41629 * include/pupa/disk.h: Include <pupa/device.h>.
41630 (pupa_print_partinfo): New prototype.
41631 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41632 (pupa_dl_get_prefix): Likewise.
41633 * include/pupa/misc.h: Include <pupa/err.h>.
41634 (pupa_isgraph): New prototype.
41635 (pupa_isdigit): Likewise.
41636 (pupa_split_cmdline): Likewise.
41637 * include/pupa/normal.h: Include <pupa/arg.h>.
41638 (pupa_command): Changed the prototype of the member `func' to
41639 match the argument parsing interface. Added member `options'.
41640 (pupa_register_command): Updated to match function.
41641 (pupa_arg_parse): New prototype.
41642 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41643 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41644 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41645 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41646 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41647 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41648 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41649 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41650 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41651 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41652 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41653 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41654 * kern/disk.c: Include <pupa/file.h>.
41655 (pupa_print_partinfo): New function.
41656 * kern/dl.c: Include <pupa/env.h>.
41657 (pupa_dl_dir): Variable removed.
41658 (pupa_dl_load): Use the environment variable `prefix' instead of
41659 the variable pupa_dl_dir.
41660 (pupa_dl_set_prefix): Function removed.
41661 (pupa_dl_get_prefix): Likewise.
41662 * kern/i386/pc/init.c: Include <pupa/env.h>.
41663 (pupa_machine_init): Use the environment variable `prefix' instead of
41664 using pupa_dl_set_prefix to set the prefix.
41665 * kern/main.c: Include <pupa/env.h>.
41666 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41667 using pupa_dl_get_prefix to get the prefix.
41668 * kern/misc.c: Include <pupa/env.h>.
41669 (pupa_isdigit): New function.
41670 (pupa_isgraph): Likewise.
41671 (pupa_ftoa): Likewise.
41672 (pupa_vsprintf): Added support for printing values of the type
41673 `double'. Make it possible to format variable output when using
41674 formatting like `%1.2%f'.
41675 (pupa_split_cmdline): New function.
41676 * kern/rescue.c: Include <pupa/env.h>.
41677 (next_word): Removed function.
41678 (pupa_rescue_cmd_prefix): Likewise.
41679 (pupa_rescue_cmd_set): New function.
41680 (pupa_rescue_cmd_unset): New function.
41681 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41682 split the command line instead of splitting it here. Added
41683 support for setting variables using the syntax `foo=bar'. Don't
41684 initialize the prefix command anymore. Initialized the set and
41685 unset commands.
41686 * normal/cmdline.c: Include <pupa/env.h>.
41687 (pupa_tab_complete): Added prototypes for print_simple_completion,
41688 print_partition_completion, add_completion, iterate_commands,
41689 iterate_dev, iterate_part and iterate_dir. Moved code to print
41690 partition information from here to kern/disk.c.
41691 (pupa_cmdline_run): Don't check if the function exists anymore.
41692 * normal/main.c: Include <pupa/env.h>.
41693 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41694 instead of using pupa_dl_get_prefix to get the prefix.
41695 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41696 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41697 warning.
41698 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41699 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41700 ((unused))' to silence a gcc warning.
41701 (pupa_vga_setcolor): Likewise.
41702 (debug_command): Changed to match argument parsing
41703 interface changes.
41704 * util/pupa-emu.c: Include <pupa/env.h>.
41705 (options): Added 0's for unused fields to silence a gcc warning.
41706 (argp): Likewise.
41707 (main): Use the environment variable `prefix' instead of using
41708 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41709 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41710 and terminal.
41711
41712 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41713 * util/misc.c: Include <malloc.h>.
41714 (pupa_malloc): Rewritten so errors are correctly reported.
41715 (pupa_realloc): Likewise.
41716 (pupa_memalign): Likewise.
41717 (pupa_mm_init_region): Declare unused variables with
41718 `__attribute__ ((unused))' to silence a gcc warning.
41719 * normal/i386/setjmp.S: Remove tab at the end of the file to
41720 silence a gcc warning.
41721 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41722 variables with `__attribute__ ((unused))' to silence a gcc
41723 warning.
41724 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41725 local variable i unsigned to silence a gcc warning.
41726
41727 * kern/term.c: Include <pupa/misc.h>.
41728 (pupa_more_lines): New variable.
41729 (pupa_more): Likewise.
41730 (pupa_putcode): When the pager is active pause at the end of every
41731 screen.
41732 (pupa_set_more): New function.
41733 * include/pupa/term.h (pupa_set_more): New prototype.
41734
41735
41736 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41737
41738 Now this project is GRUB 2 rather than PUPA. The location of
41739 the CVS repository was moved to GRUB's.
41740
41741 * configure.ac: Use bug-grub as the reporting address.
41742 Use GRUB instead of PUPA.
41743 Change the version number to 1.90.
41744
41745 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41746
41747 * genkernsyms.sh: Updated copyright information.
41748 * genmk.rb: Likewise.
41749 * genmodsrc.sh: Likewise.
41750 * gensymlist.sh: Likewise.
41751 * boot/i386/pc/boot.S: Likewise.
41752 * boot/i386/pc/diskboot.S: Likewise.
41753 * disk/i386/pc/biosdisk.c: Likewise.
41754 * disk/i386/pc/partition.c: Likewise.
41755 * font/manager.c: Likewise.
41756 * fs/ext2.c: Likewise.
41757 * fs/fat.c: Likewise.
41758 * include/pupa/boot.h: Likewise.
41759 * include/pupa/device.h: Likewise.
41760 * include/pupa/disk.h: Likewise.
41761 * include/pupa/dl.h: Likewise.
41762 * include/pupa/elf.h: Likewise.
41763 * include/pupa/err.h: Likewise.
41764 * include/pupa/file.h: Likewise.
41765 * include/pupa/font.h: Likewise.
41766 * include/pupa/fs.h: Likewise.
41767 * include/pupa/kernel.h: Likewise.
41768 * include/pupa/loader.h: Likewise.
41769 * include/pupa/misc.h: Likewise.
41770 * include/pupa/mm.h: Likewise.
41771 * include/pupa/net.h: Likewise.
41772 * include/pupa/normal.h: Likewise.
41773 * include/pupa/rescue.h: Likewise.
41774 * include/pupa/setjmp.h: Likewise.
41775 * include/pupa/symbol.h: Likewise.
41776 * include/pupa/term.h: Likewise.
41777 * include/pupa/types.h: Likewise.
41778 * include/pupa/i386/setjmp.h: Likewise.
41779 * include/pupa/i386/types.h: Likewise.
41780 * include/pupa/i386/pc/biosdisk.h: Likewise.
41781 * include/pupa/i386/pc/boot.h: Likewise.
41782 * include/pupa/i386/pc/console.h: Likewise.
41783 * include/pupa/i386/pc/init.h: Likewise.
41784 * include/pupa/i386/pc/kernel.h: Likewise.
41785 * include/pupa/i386/pc/linux.h: Likewise.
41786 * include/pupa/i386/pc/loader.h: Likewise.
41787 * include/pupa/i386/pc/memory.h: Likewise.
41788 * include/pupa/i386/pc/multiboot.h: Likewise.
41789 * include/pupa/i386/pc/partition.h: Likewise.
41790 * include/pupa/i386/pc/time.h: Likewise.
41791 * include/pupa/i386/pc/vga.h: Likewise.
41792 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41793 * include/pupa/util/getroot.h: Likewise.
41794 * include/pupa/util/misc.h: Likewise.
41795 * include/pupa/util/resolve.h: Likewise.
41796 * kern/device.c: Likewise.
41797 * kern/disk.c: Likewise.
41798 * kern/dl.c: Likewise.
41799 * kern/err.c: Likewise.
41800 * kern/file.c: Likewise.
41801 * kern/fs.c: Likewise.
41802 * kern/loader.c: Likewise.
41803 * kern/main.c: Likewise.
41804 * kern/misc.c: Likewise.
41805 * kern/mm.c: Likewise.
41806 * kern/rescue.c: Likewise.
41807 * kern/term.c: Likewise.
41808 * kern/i386/dl.c: Likewise.
41809 * kern/i386/pc/init.c: Likewise.
41810 * kern/i386/pc/lzo1x.S: Likewise.
41811 * kern/i386/pc/startup.S: Likewise.
41812 * loader/i386/pc/chainloader.c: Likewise.
41813 * loader/i386/pc/linux.c: Likewise.
41814 * loader/i386/pc/multiboot.c: Likewise.
41815 * normal/cmdline.c: Likewise.
41816 * normal/command.c: Likewise.
41817 * normal/main.c: Likewise.
41818 * normal/menu.c: Likewise.
41819 * normal/i386/setjmp.S: Likewise.
41820 * term/i386/pc/console.c: Likewise.
41821 * term/i386/pc/vga.c: Likewise.
41822 * util/console.c: Likewise.
41823 * util/genmoddep.c: Likewise.
41824 * util/misc.c: Likewise.
41825 * util/pupa-emu.c: Likewise.
41826 * util/resolve.c: Likewise.
41827 * util/unifont2pff.rb: Likewise.
41828 * util/i386/pc/biosdisk.c: Likewise.
41829 * util/i386/pc/getroot.c: Likewise.
41830 * util/i386/pc/pupa-mkimage.c: Likewise.
41831 * util/i386/pc/pupa-setup.c: Likewise.
41832
41833 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41834
41835 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41836 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41837 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41838 reading and reset it after reading.
41839 (pupa_ext2_close): Return PUPA_ERR_NONE.
41840
41841 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41842 Correct value.
41843 (struct linux_kernel_header): Add kernel_version and
41844 initrd_addr_max.
41845 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41846 pupa_file_read succeeds.
41847 (pupa_rescue_cmd_initrd): Implement.
41848
41849 2003-12-03 Marco Gerards <metgerards@student.han.nl>
41850
41851 * fs/ext2.c (pupa_ext2_label): New function.
41852 (pupa_ext2_fs): Added label.
41853 * fs/fat.c (pupa_fat_label): New function.
41854 (pupa_fat_fs): Added label.
41855 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41856
41857 * kern/misc.c (pupa_strndup): New function.
41858 * include/pupa/misc.h (pupa_strndup): New prototype.
41859
41860 * include/pupa/normal.h: Include <pupa/err.h>.
41861 (pupa_set_history): New prototype.
41862 (pupa_iterate_commands): New prototype.
41863 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41864 <pupa/disk.h>, <pupa/file.h>.
41865 (hist_size): New variable.
41866 (hist_lines): Likewise.
41867 (hist_end): Likewise.
41868 (hist_used): Likewise.
41869 (pupa_set_history): New function.
41870 (pupa_history_get): Likewise.
41871 (pupa_history_add): Likewise.
41872 (pupa_history_replace): Likewise.
41873 (pupa_tab_complete): Likewise.
41874 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41875 completion shows partitionnames while completing partitions, this
41876 feature was suggested by Jeff Bailey.
41877 * normal/command.c (pupa_iterate_commands): New function.
41878 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41879 (pupa_normal_init): Initialize history buffer.
41880 (PUPA_MOD_INIT): Likewise.
41881 (pupa_normal_fini): Free the history buffer.
41882 (PUPA_MOD_FINI): Likewise.
41883
41884 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41885 key.
41886
41887 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41888 * configure.ac [i386]: Check for regparam bug.
41889 (NESTED_FUNC_ATTR) [! i386]: Defined.
41890
41891 2003-11-17 Marco Gerards <metgerards@student.han.nl>
41892
41893 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41894 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41895 (pupa_emu_SOURCES): New variable.
41896 (pupa_emu_LDFLAGS): Likewise.
41897 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41898 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41899 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41900 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41901 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41902 (pupa_jmp_buf): New typedef.
41903 (pupa_setjmp) [PUPA_UTIL]: New macro.
41904 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41905 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41906 (pupa_refresh): New prototype.
41907 * include/pupa/util/getroot.h: New file.
41908 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
41909 it.
41910 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
41911 (pupa_rescue_cmd_cat): Likewise.
41912 (pupa_rescue_cmd_ls): Likewise.
41913 (pupa_rescue_cmd_testload): Likewise.
41914 (pupa_rescue_cmd_lsmod): Likewise.
41915 * normal/cmdline.c (pupa_cmdline_get): Likewise.
41916 * normal/menu.c (run_menu): Likewise.
41917 * kern/term.c (pupa_cls): Likewise.
41918 (pupa_refresh): New function.
41919 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
41920 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41921 * util/console.c: New file.
41922
41923 * util/i386/pc/getroot.c: New file.
41924 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
41925 (pupa_putchar): New function.
41926 (pupa_refresh): Likewise.
41927 (xgetcwd): Function moved to ...
41928 (strip_extra_slashes): Likewise.
41929 (get_prefix): Likewise.
41930 * util/i386/pc/getroot.c: ... here.
41931 (find_root_device): Function moved and renamed to...
41932 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
41933 Changed all callers.
41934 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
41935 and renamed to...
41936 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
41937 Changed all callers.
41938 * util/misc.c (pupa_memalign): New function.
41939 (pupa_mm_init_region): Likewise.
41940 (pupa_register_exported_symbols): Likewise.
41941 (pupa_putchar): Function removed.
41942 * util/pupa-emu.c: New file.
41943
41944 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
41945
41946 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
41947 (_multiboot_mod_SOURCES): New variable.
41948 (_multiboot_mod_CFLAGS): Likewise.
41949 * loader/i386/pc/multiboot.c: New file.
41950 * include/pupa/i386/pc/multiboot.h: Likewise.
41951 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
41952 (pupa_multiboot_real_boot): New function.
41953 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
41954 (pupa_multiboot_real_boot): New prototype.
41955 (pupa_rescue_cmd_multiboot): Likewise
41956 (pupa_rescue_cmd_module): Likewise.
41957
41958 * kern/loader.c (pupa_loader_set): Continue when
41959 pupa_loader_unload_func() fails.
41960 (pupa_loader_unset): New function.
41961 * include/pupa/loader.h (pupa_loader_unset): New prototype.
41962
41963 * kern/misc.c (pupa_stpcpy): New function.
41964 * include/pupa/misc.h (pupa_stpcpy): New prototype.
41965
41966 2003-11-12 Marco Gerards <metgerards@student.han.nl>
41967
41968 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
41969 for available extensions.
41970
41971 * include/pupa/i386/pc/time.h: New file.
41972 * kern/disk.c: Include <pupa/machine/time.h>.
41973 (PUPA_CACHE_TIMEOUT): New macro.
41974 (pupa_last_time): New variable.
41975 (pupa_disk_open): Flush the cache when there was a timeout.
41976 (pupa_disk_close): Reset the timer.
41977 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
41978 pupa_currticks.
41979 * util/misc.c: Include <sys/times.h>
41980 (pupa_get_rtc): New function.
41981
41982 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41983
41984 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
41985 as blocks.
41986 (pupa_ext2_get_file_block): Use blocks member.
41987
41988 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
41989 first block. Return -1 instead of pupa_errno on error.
41990
41991 2003-10-27 Marco Gerards <metgerards@student.han.nl>
41992
41993 * README: In the pupa-mkimage example use _chain instead of chain
41994 and ext2 instead of fat.
41995 * TODO: Replace ext2fs with jfs as an example. Add an item for
41996 adding journal playback for ext2fs.
41997 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
41998 (pkgdata_MODULES): Added ext2.mod.
41999 (ext2_mod_SOURCES): New variable.
42000 (ext2_mod_CFLAGS): Likewise.
42001 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
42002 * include/pupa/misc.h (pupa_strncpy): New prototype.
42003 (pupa_strcat): Likewise.
42004 (pupa_strncmp): Likewise.
42005 * kern/misc.c (pupa_strcat): Enable function.
42006 (pupa_strncpy): New function.
42007 (pupa_strncmp): Likewise.
42008 * fs/ext2.c: New file.
42009
42010 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
42011 when the read failed before retrying.
42012 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
42013 (_FILE_OFFSET_BITS): Likewise.
42014 * configure.ac: Added AC_SYS_LARGEFILE.
42015
42016 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42017
42018 * genmk.rb (PModule#rule): Make sure to get only symbol names
42019 from the output of nm.
42020 Reported by Robert Millan <rmh.grub@aybabtu.com>.
42021
42022 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
42023
42024 I forgot to check in these changes for a long time. This adds
42025 incomplete support for VGA console, and this is still very
42026 buggy. Also, a lot of consideration is required for I18N,
42027 UNICODE, and VGA font issues. Therefore, assume that this is
42028 such that "better than nothing".
42029
42030 * font/manager.c: New file.
42031 * include/pupa/font.h: Likewise.
42032 * include/pupa/i386/pc/vga.h: Likewise.
42033 * term/i386/pc/vga.c: Likewise.
42034 * util/unifont2pff.rb: Likewise.
42035
42036 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
42037 (pkgdata_MODULES): Added vga.mod and font.mod.
42038 (vga_mod_SOURCES): New variables.
42039 (vga_mod_CFLAGS): Likewise.
42040 (font_mod_SOURCES): Likewise.
42041 (font_mod_CFLAGS): Likewise.
42042
42043 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
42044
42045 * include/pupa/term.h: Include pupa/err.h.
42046 (struct pupa_term): Added init and fini.
42047 Changed the argument of putchar to pupa_uint32_t.
42048
42049 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
42050 (pupa_console_real_putchar): New prototype.
42051 (pupa_console_putchar): Removed.
42052 (pupa_console_checkkey): Exported.
42053 (pupa_console_getkey): Likewise.
42054
42055 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
42056 characters.
42057
42058 * kern/term.c (pupa_term_set_current): Rewritten.
42059 (pupa_putchar): Likewise.
42060 (pupa_putcode): New function.
42061
42062 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
42063 (pupa_console_real_putchar): ... this.
42064 (pupa_vga_set_mode): New function.
42065 (pupa_vga_get_font): Likewise.
42066
42067 * normal/command.c: Include pupa/term.h.
42068 (terminal_command): New function.
42069 (pupa_command_init): Register the command "terminal".
42070
42071 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
42072 (DISP_UP): Likewise.
42073 (DISP_RIGHT): Likewise.
42074 (DISP_DOWN): Likewise.
42075 (DISP_HLINE): Likewise.
42076 (DISP_VLINE): Likewise.
42077 (DISP_UL): Likewise.
42078 (DISP_UR): Likewise.
42079 (DISP_LL): Likewise.
42080 (DISP_LR): Likewise.
42081
42082 * term/i386/pc/console.c (pupa_console_putchar): New function.
42083
42084 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
42085
42086 * util/resolve.c (pupa_util_resolve_dependencies): BUG
42087 FIX. Reverse the path_list.
42088
42089 * include/pupa/normal.h: Export pupa_register_command and
42090 pupa_unregister_command.
42091
42092 * hello/hello.c (pupa_cmd_hello): New module.
42093 * conf/i386-pc.rmk: Added hello.mod.
42094
42095 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
42096
42097 * kern/i386/pc/lzo1x.S: New file.
42098
42099 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
42100 (compress_kernel): New variable.
42101 (generate_image): Heavily modified to support compressing a
42102 large part of the core image.
42103
42104 * util/misc.c (pupa_util_read_image): Fix a file descriptor
42105 leak.
42106 (pupa_util_load_image): New function.
42107
42108 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
42109 (pupa_compressed_size): New variable.
42110 (codestart): Enable Gate A20 here.
42111 Decompress the compressed part of the core image.
42112 Rearrange the code to put functions and variables which are
42113 required for initialization in the non-compressed part.
42114 Include lzo1x.S.
42115
42116 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
42117 here.
42118
42119 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
42120
42121 * include/pupa/i386/pc/kernel.h
42122 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
42123 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
42124 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42125 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42126 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
42127
42128 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
42129
42130 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
42131 (Utility#rule): Likewise.
42132
42133 * configure.ac: Check if LZO is available.
42134
42135 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
42136
42137 * include/pupa/normal.h: New file.
42138 * include/pupa/setjmp.h: Likewise.
42139 * include/pupa/i386/setjmp.h: Likewise.
42140 * normal/cmdline.c: Likewise.
42141 * normal/command.c: Likewise.
42142 * normal/main.c: Likewise.
42143 * normal/menu.c: Likewise.
42144 * normal/i386/setjmp.S: Likewise.
42145
42146 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
42147 (pupa_rescue_cmd_initrd): Likewise.
42148
42149 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
42150 Likewise.
42151
42152 * kern/i386/pc/startup.S (translation_table): New variable.
42153 (translate_keycode): New function.
42154 (pupa_console_getkey): Call translate_keycode.
42155
42156 * kern/rescue.c (attempt_normal_mode): New function.
42157 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
42158 it failed, print a message.
42159
42160 * kern/mm.c (pupa_real_malloc): Print more information when a
42161 free magic is broken.
42162 (pupa_free): If the first free header is not free actually, set
42163 it to P.
42164
42165 * kern/main.c (pupa_load_normal_mode): Just load the module
42166 "normal".
42167 (pupa_main): Don't print the message
42168 "Entering into rescue mode..." here.
42169
42170 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
42171 Declared.
42172 (pupa_rescue_cmd_initrd): Likewise.
42173 (pupa_rescue_cmd_initrd): Likewise.
42174
42175 * include/pupa/symbol.h (FUNCTION): Specify the type.
42176 (VARIABLE): Likewise.
42177
42178 * include/pupa/err.h (pupa_err_t): Added
42179 PUPA_ERR_UNKNOWN_COMMAND.
42180
42181 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
42182 (pupa_dl_get_prefix): Likewise.
42183
42184 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
42185 Added _chain.mod and _linux.mod instead of chain.mod and
42186 linux.mod.
42187 (chain_mod_SOURCES): Renamed to ...
42188 (_chain_mod_SOURCES): ... this.
42189 (chain_mod_CFLAGS): Renamed to ...
42190 (_chain_mod_CFLAGS): ... this.
42191 (linux_mod_SOURCES): Renamed to ...
42192 (_linux_mod_SOURCES): ... this.
42193 (linux_mod_CFLAGS): Renamed to ...
42194 (_linux_mod_CFLAGS): ... this.
42195 (normal_mod_SOURCES): New variable.
42196 (normal_mod_CFLAGS): Likewise.
42197 (normal_mod_ASFLAGS): Likewise.
42198
42199 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
42200
42201 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
42202 possible.
42203
42204 * kern/dl.c (pupa_dl_ref): Refer depending modules
42205 recursively.
42206 (pupa_dl_unref): Unrefer depending modules recursively.
42207 Don't call pupa_dl_unload implicitly, because PUPA can crash if
42208 a module is unloaded before one depending on that module is
42209 unloaded.
42210 (pupa_dl_unload): Unload depending modules explicitly,
42211 if possible.
42212
42213 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
42214
42215 * include/pupa/i386/pc/linux.h: New file.
42216 * loader/i386/pc/linux.c: Likewise.
42217
42218 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
42219 Removed.
42220 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
42221 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
42222 of PUPA_CHAINLOADER_BOOT_SECTOR.
42223
42224 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
42225 (pupa_linux_prot_size): New variable.
42226 (pupa_linux_tmp_addr): Likewise.
42227 (pupa_linux_real_addr): Likewise.
42228 (pupa_linux_boot_zimage): New function.
42229 (pupa_linux_boot_bzimage): Likewise.
42230
42231 * kern/i386/pc/init.c (struct mem_region): New structure.
42232 (MAX_REGIONS): New macro.
42233 (mem_regions): New variable.
42234 (num_regions): Likewise.
42235 (pupa_os_area_addr): Likewise.
42236 (pupa_os_area_size): Likewise.
42237 (pupa_lower_mem): Likewise.
42238 (pupa_upper_mem): Likewise.
42239 (add_mem_region): New function.
42240 (compact_mem_regions): Likewise.
42241 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
42242 the size of the conventional memory and that of so-called upper
42243 memory (before the first memory hole).
42244 Instead of adding each found region to free memory, use
42245 add_mem_region and add them after removing overlaps.
42246 Also, add only 1/4 of the upper memory to free memory. The rest
42247 is used for loading OS images. Maybe this is ad hoc, but this
42248 makes it much easier to relocate OS images when booting.
42249
42250 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
42251 (pupa_enter_rescue_mode): Don't register initrd and module.
42252
42253 * kern/mm.c: Include pupa/dl.h.
42254
42255 * kern/main.c: Include pupa/file.h and pupa/device.h.
42256
42257 * kern/loader.c (pupa_loader_load_module_func): Removed.
42258 (pupa_loader_load_module): Likewise.
42259
42260 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
42261 ``.o''.
42262
42263 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
42264 (pupa_linux_tmp_addr): Likewise.
42265 (pupa_linux_real_addr): Likewise.
42266 (pupa_linux_boot_zimage): Likewise.
42267 (pupa_linux_boot_bzimage): Likewise.
42268
42269 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
42270 (pupa_upper_mem): Likewise.
42271 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
42272 module is too dangerous.
42273
42274 * include/pupa/loader.h (pupa_os_area_addr): Declared.
42275 (pupa_os_area_size): Likewise.
42276 (pupa_loader_set): Remove the first argument. Loader doesn't
42277 manage modules or initrd any longer.
42278 (pupa_loader_load_module): Removed.
42279
42280 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
42281 (linux_mod_SOURCES): New variable.
42282 (linux_mod_CFLAGS): Likewise.
42283
42284 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
42285
42286 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
42287 the length of a blocklist correctly.
42288
42289 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42290 Use ioctl only if the OS file is a block device.
42291 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42292 not very useful for normal files.
42293
42294 * kern/main.c (pupa_set_root_dev): New function.
42295 (pupa_load_normal_mode): Likewise.
42296 (pupa_main): Call those above.
42297
42298 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42299 pupa_uint16_t.
42300
42301 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42302
42303 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42304
42305 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42306 (setup): Configure the installed partition information and the
42307 dl prefix.
42308
42309 * loader/i386/pc/chainloader.c (my_mod): New variable.
42310 (pupa_chainloader_unload): New function.
42311 (pupa_rescue_cmd_chainloader): Refer itself.
42312 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42313
42314 * kern/i386/pc/startup.S (install_partition): Removed.
42315 (version_string): Likewise.
42316 (config_file): Likewise.
42317 (pupa_install_dos_part): New variable.
42318 (pupa_install_bsd_part): Likewise.
42319 (pupa_prefix): Likewise.
42320 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42321
42322 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42323 and pupa/misc.h.
42324 (make_install_device): New function.
42325 (pupa_machine_init): Set the dl prefix.
42326
42327 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42328 (buf): Renamed to ...
42329 (linebuf): ... this.
42330 (pupa_rescue_cmd_prefix): New function.
42331 (pupa_rescue_cmd_insmod): Likewise.
42332 (pupa_rescue_cmd_rmmod): Likewise.
42333 (pupa_rescue_cmd_lsmod): Likewise.
42334 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42335 rmmod and lsmod.
42336
42337 * kern/mm.c (pupa_memalign): If failed even after invalidating
42338 disk caches, unload unneeded modules and retry.
42339
42340 * kern/misc.c (pupa_memmove): New function.
42341 (pupa_memcpy): Removed.
42342 (pupa_strcpy): New function.
42343 (pupa_itoa): Made static.
42344
42345 * kern/dl.c (pupa_dl_iterate): New function.
42346 (pupa_dl_ref): Likewise.
42347 (pupa_dl_unref): Likewise.
42348 (pupa_dl_unload): Return if succeeded or not.
42349 (pupa_dl_unload_unneeded): New function.
42350 (pupa_dl_unload_all): Likewise.
42351 (pupa_dl_init): Renamed to ...
42352 (pupa_dl_set_prefix): ... this.
42353 (pupa_dl_get_prefix): New function.
42354
42355 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42356 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42357 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42358 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42359 (pupa_install_dos_part): Declared.
42360 (pupa_install_bsd_part): Likewise.
42361 (pupa_prefix): Likewise.
42362 (pupa_boot_drive): Likewise.
42363
42364 * include/pupa/types.h: Fix a typo.
42365
42366 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42367 pupa_memmove.
42368 (pupa_memmove): Declared.
42369 (pupa_strcpy): Likewise.
42370
42371 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42372 pupa_mod_init takes one argument, its own module.
42373 (pupa_dl_unload_unneeded): Declared.
42374 (pupa_dl_unload_all): Likewise.
42375 (pupa_dl_ref): Likewise.
42376 (pupa_dl_unref): Likewise.
42377 (pupa_dl_iterate): Likewise.
42378 (pupa_dl_init): Renamed to ...
42379 (pupa_dl_set_prefix): ... this.
42380 (pupa_dl_get_prefix): Declared.
42381
42382 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
42383 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
42384 unloaded.
42385 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42386 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42387
42388 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42389 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42390
42391 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42392
42393 * util/i386/pc/pupa-setup.c (setup): Define the internal
42394 function find_first_partition_start at the top level, because GCC
42395 3.0.x cannot compile internal functions in deeper scopes
42396 correctly.
42397 (find_root_device): Use lstat instead of stat.
42398 Don't follow symbolic links.
42399 Fix the path-constructing code.
42400
42401 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42402 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42403 by a BLKGETSIZE ioctl first, because block devices don't fill
42404 the member st_mode of the structure stat on Linux.
42405 [__linux__] (linux_find_partition): Use a temporary buffer
42406 REAL_DEV for the working space. Copy it to DEV before returning.
42407 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42408 buffer cache consistent.
42409 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42410 strncmp. The previous value was merely wrong.
42411 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42412
42413 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42414 FAT size is 12. The previous value was merely wrong.
42415
42416 * kern/main.c (pupa_main): Don't split the starting message from
42417 newlines.
42418
42419 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42420 LF, because BIOS goes crazy about character attributes in this
42421 case.
42422
42423 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42424
42425 * include/i386/pc/util/biosdisk.h: New file.
42426 * util/i386/pc/biosdisk.c: Likewise.
42427 * util/i386/pc/pupa-setup.c: Likewise.
42428
42429 * Makefile.in (INCLUDE_DISTFILES): Added
42430 include/pupa/i386/pc/util/biosdisk.h.
42431 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42432 directory util/i386/pc.
42433 (install-local): Added a rule for sbin_UTILITIES.
42434 (uninstall): Likewise.
42435
42436 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42437
42438 * util/misc.c (xrealloc): New function.
42439 (pupa_malloc): Likewise.
42440 (pupa_free): Likewise.
42441 (pupa_realloc): Likewise.
42442 (pupa_stop): Likewise.
42443 (pupa_putchar): Likewise.
42444
42445 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42446
42447 * include/pupa/util/misc.h (xrealloc): Declared.
42448
42449 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42450 macro.
42451 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42452 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42453
42454 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42455 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42456
42457 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42458 way should be implemented.
42459 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42460
42461 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42462 the size of NAME for safety.
42463 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42464 0x88.
42465
42466 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42467 (pupa_setup_SOURCES): Likewise.
42468
42469 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42470
42471 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42472
42473 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42474 bunch of pushl's from pusha, because this destroys the return
42475 value.
42476
42477 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42478
42479 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42480 This means that any missing prototypes could be fatal. Also, you
42481 must take care when writing assembly code. See the comments at
42482 the beginning of startup.S, for more details.
42483
42484 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42485 compilation mechanism.
42486 (pupa_chainloader_real_boot): Likewise.
42487 (pupa_biosdisk_rw_int13_extensions): Likewise.
42488 (pupa_biosdisk_rw_standard): Likewise.
42489 (pupa_biosdisk_check_int13_extensions): Likewise.
42490 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42491 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42492 (pupa_get_memsize): Likewise.
42493 (pupa_get_mmap_entry): Likewise.
42494 (pupa_console_putchar): Likewise.
42495 (pupa_console_setcursor): Likewise.
42496 (pupa_getrtsecs): Use pushl instead of push.
42497
42498 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42499 memory instead of the stack for a mmap entry, because some
42500 BIOSes may ignore the maximum size and overflow.
42501
42502 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42503
42504 * genmk.rb (PModule#rule): Compile automatically generated
42505 sources with module-specific CFLAGS as well as other sources.
42506
42507 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42508
42509 * configure.ac: Check ld.
42510 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42511 respectively, before checking endianness and sizes.
42512
42513 * Makefile.in (LD): New variable.
42514
42515 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42516
42517 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42518
42519 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42520
42521 * Changelog: New file.
42522