]> git.proxmox.com Git - grub2.git/blob - ChangeLog
2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
[grub2.git] / ChangeLog
1 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
2
3 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
5 command line.
6 * docs/grub.texi (Simple configuration): Document
7 GRUB_CMDLINE_GNUMACH.
8
9 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * conf/Makefile.common (platform_SCRIPTS): New variable.
12 (platform_PROGRAMS): Likewise.
13 * gentpl.py: Mark *,module and *.image for install.
14 * grub-core/gdb_grub.in: Add a notice of expected environment.
15 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
16 (gmodule.pl): Likewise.
17
18 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
19
20 Replace grub_checkkey with grub_getkey_noblock.
21
22 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
23 (grub_getkey_noblock): ... this. All users updated.
24
25 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
26
27 * grub-core/kern/emu/console.c: Move to ...
28 * grub-core/term/emu/console.c: ...here.
29 (grub_ncurses_getkey): Fix return value if no key is detected.
30
31 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
34 (grub_unit_test_fini): Likewise.
35 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
36
37 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * include/grub/test.h (GRUB_UNIT_TEST)
40
41 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
42
43 * grub-core/script/execute.c (grub_script_break): Clarify logic.
44 Better error handling.
45 (grub_script_return): Likewise.
46 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
47
48 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
51 rimplicit redifinition.
52
53 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
54
55 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
56 GRUB.
57
58 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
59
60 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
61 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
62 prompt here.
63
64 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
67 as GRUB_ERR_BUG. Don't malloc if no device is available.
68
69 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
70
71 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
72 Mark calling with invalid term as GRUB_ERR_BUG.
73
74 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
77 packets rather than raising an error.
78
79 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
80
81 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
82 in if.
83
84 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
85
86 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
87 diagnostic to dprintf.
88 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
89
90 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
93 device name.
94
95 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
98 (grub_ntfs_iterate_dir): Likewise.
99
100 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Efiemu stylistic fixes and gettext.
103
104 * grub-core/efiemu/i386/loadcore32.c
105 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
106 * grub-core/efiemu/i386/loadcore64.c
107 (grub_arch_efiemu_relocate_symbols64): Likewise.
108 * grub-core/efiemu/i386/pc/cfgtables.c
109 (grub_machine_efiemu_init_tables): Likewise.
110 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
111 (grub_efiemu_loadcore_initXX): Add a filename argument.
112 All users updated.
113 Improved error message.
114 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
115 Add a filename argument.
116 All users updated.
117 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
118 Reclassify double relocation as GRUB_ERR_BUG.
119
120 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
123 handling.
124
125 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
126
127 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
128 on partition.
129
130 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
131
132 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
133
134 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Improve string. Gettextize.
137
138 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
139
140 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
141 utils.
142 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
143
144 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
147 [GRUB_UTIL]: New function.
148 (insert_array) [GRUB_UTIL]: Store partmaps.
149 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
150 partmaps.
151 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
152 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
153 (probe_abstraction): Print diskfilter and not raid.
154 Reported by: Lennart Sorensen
155
156 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
157
158 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
159 * util/grub-mkimagexx.c (MASK3): New define.
160 (add_value_to_slot_20b): Use MASK3.
161 (add_value_to_slot_21): Likewise.
162 (relocate_addresses): Fix format specification.
163 (load_image): Explicitly init symtab_section.
164
165 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
166
167 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
168 (grub_util_biosdisk_get_grub_dev): Fix format specification.
169
170 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
173 on powerpc.
174 Reported by: Lennart Sorensen
175
176 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
177
178 * gentpl.py: Add missing license header.
179 * docs/grub.texi: Update copyright year.
180
181 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
182
183 Source grub-mkconfig_lib from the build directory at build time.
184 Suggested by: Vladimir Serbinenko.
185
186 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
187 * util/grub-install.in: Define pkgdatadir if not already set, and source
188 grub-mkconfig_lib from there.
189 * util/grub-kbdcomp.in: Likewise.
190 * util/grub-mkconfig.in: Likewise.
191 * util/grub-mknetdir.in: Likewise.
192 * util/grub-mkrescue.in: Likewise.
193 * util/grub-mkstandalone.in: Likewise.
194 * util/grub-reboot.in: Likewise.
195 * util/grub-set-default.in: Likewise.
196 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
197
198 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
199
200 Increase warning level.
201
202 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
203 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
204 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
205 (TARGET_CFLAGS): Likewise.
206 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
207 * grub-core/Makefile.core.def (decompressor_xz): Add
208 -Wno-unreachable-code.
209 (normal): Add -Wno-redundant-decls.
210 (xzio): Add -Wno-unreachable-code.
211 (lzopio): Add -Wno-redundant-decls -Wno-error.
212 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
213 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
214 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
215 * grub-core/kern/dl.c: Add exception to -Wcast-align.
216 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
217 * grub-core/kern/i386/coreboot/init.c: Add exception to
218 -Wsuggest-attribute=noreturn.
219 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
220 * grub-core/kern/ia64/dl_helper.c: Likewise.
221 * grub-core/kern/mips/dl.c: Likewise.
222 * grub-core/kern/sparc64/dl.c: Likewise.
223 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
224 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
225 (memcmp): Likewise.
226 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
227 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
228 * grub-core/loader/mips/linux.c: Likewise.
229 * grub-core/loader/multiboot_elfxx.c: Likewise.
230 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
231 * grub-core/video/sm712.c: Add exception to -Wcast-align.
232 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
233 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
234 fixme.
235 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
236 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
237 Fix prototype.
238
239 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
240
241 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
242 address.
243
244 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
245
246 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
247 Avoid improper use of strings.
248 (grub_cmd_legacy_initrdnounzip): Likewise.
249
250 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * include/grub/emu/misc.h (grub_util_warn): Add missing format
253 attribute.
254 (grub_util_info): Likewise.
255 (grub_util_error): Likewise.
256
257 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
260 * util/grub-fstest.c (fstest): Likewise.
261
262 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
265 (grub_md_sha512_real): Likewise.
266 (grub_util_get_geli_uuid): Likewise.
267 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
268 (grub_util_biosdisk_open): Fix format specification.
269 Respect format security.
270 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
271 (xrealloc): Likewise.
272 (xasprintf): Likewise.
273
274 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/import_gcry.py: Include grub/crypto.h in init.c.
277
278 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
281 (generate_image): Make prefix a const char *.
282 Fix format specifications. Respect format security.
283 Avoid void * arithmetics.
284 Avoid shadowing.
285 (argp_parser): Remove unused variable. Respect format security.
286 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
287 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
288 (count_funcs): Remove unused variable.
289 (relocate_addresses): Fix format specification.
290 Disable x86-64 with elf32. Remove unused variables.
291 (add_fixup_entry): Avoid shadowing.
292 (make_reloc_section): Fix format specification.
293 Use assert.
294 (locate_sections): Fix format specifications.
295 (load_image): Avoid shadowing.
296
297 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
300 Fix format specifications. Respect format security.
301 Don't translate already translated grub_errmsg.
302 (argp_parser): Remove unused variable
303
304 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
307
308 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
311 (main): Likewise. Use xmalloc. Respect format security.
312
313 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
314
315 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
316 a const char *.
317 (argp_parser): Remove unused variable.
318
319 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
322 (add_pixel): Make static.
323 (add_font): Likewise.
324 (write_string_section): Make name and str a const char *.
325 (write_be16_section): Make name a const char *.
326 (print_glyphs): Make static.
327 (write_font_ascii_bitmap): Likewise.
328 (write_font_width_spec): Likewise.
329 (write_font_pf2): Likewise.
330 (argp_parser): Remove unused variable.
331 Respect format security.
332 (main): Avoid shadowing. Respect format security.
333
334 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * util/grub-editenv.c (argp_parser): Make static.
337 (create_envblk_file): Use xmalloc.
338 (open_envblk_file): Likewise.
339 Resepect format security.
340 (set_variables): Respect format security.
341
342 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/getroot.c (grub_find_device): Respect format security.
345 (get_mdadm_uuid): Remove unused variable.
346 (grub_util_pull_device): Dont call gettext on already translated
347 grub_errmsg.
348 (find_system_device): Remove unused variable.
349 (grub_util_get_grub_dev): Likewise.
350 (grub_make_system_path_relative_to_its_root): Respect format security.
351
352 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * util/grub-fstest.c (execute_command): Make first argument
355 a const char *.
356 (read_file): Avoid shadowing.
357 Reuse underlying error message if device open fails.
358 (cmd_cmp): Respect format security.
359 (root): Make const char *.
360 (fstest): Remove args argument and use global copy.
361 Respect format security.
362 (argp_parser): Make static.
363 (main): Make default_root const char *.
364
365 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * util/grub-mount.c (root): Make const char *.
368 (execute_command): Make first argument a const char *.
369 (fuse_init): Respect format security.
370 (argp_parser): Make static. Remove unused variable.
371 (main): Make default_root a const char *.
372 Respect format security.
373
374 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * util/grub-probe.c (probe): Don't call gettext on already translated
377 grub_errmsg.
378 Remove unused variables.
379 (argp_parser): Remove unused variable.
380
381 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * util/grub-script-check.c (argp_parser): Remove unused variable.
384 (main): Rename read to curread to avoid shadowing.
385
386 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * util/misc.c (grub_util_write_image_at): Fix format specification.
389 (grub_util_write_image): Likewise.
390 (grub_script_execute_argument_to_string): Removed (unused).
391 (grub_script_execute_menuentry): Likewise.
392 (grub_putchar): Likewise.
393
394 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
397 (FUNCTION) [GRUB_UTIL]: Likewise.
398 (VARIABLE) [GRUB_UTIL]: Likewise.
399
400 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
403 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
404
405 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
408 buffer.
409
410 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
411
412 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
413 (LzmaEnc_SaveState): Removed (unused).
414 (LzmaEnc_RestoreState): Likewise.
415 (LzmaEnc_InitPriceTables): Made static.
416 (LzmaEnc_Construct): Likewise.
417 (LzmaEnc_FreeLits): Likewise.
418 (LzmaEnc_Destruct): Likewise.
419 (LzmaEnc_Init): Likewise.
420 (LzmaEnc_InitPrices): Likewise.
421 (LzmaEnc_Finish): Likewise.
422 (LzmaEnc_PrepareForLzma2): Removed (unused).
423 (LzmaEnc_MemPrepare): Likewise.
424 (LzmaEnc_GetNumAvailableBytes): Likewise.
425 (LzmaEnc_GetCurBuf): Likewise.
426 (LzmaEnc_CodeOneMemBlock): Likewise.
427
428 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
431 (grub_util_ldm_embed): Likewise.
432
433 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * util/grub-editenv.c (print_var): Rename name to varname to
436 avoid shadowing.
437 (main): Rename index to curindex to avoid shadowing.
438 Make filename a const char *.
439
440 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
443 to arg_getline to avoid shadowing.
444
445 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
448 disk_ to avoid shadowing.
449
450 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
453 curindex to avoid shadowing.
454 Make static.
455 (MatchFinder_GetNumAvailableBytes): Make static.
456
457 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
460 avoid shadowing.
461
462 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
465 argument from encrypt to do_encrypt to avoid shadowing.
466
467 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
470 incorrect nesting of #if's.
471
472 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
475 checks which are always false on some platforms.
476 (grub_cmd_lsacpi): Likewise.
477 * grub-core/kern/misc.c (grub_strtoul): Likewise.
478 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
479 Likewise.
480
481 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
484 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
485
486 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
489 re_dfa_t to avoid breaking alignment invariants.
490 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
491 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
492
493 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
496 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
497
498 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
501 Fix declaration.
502
503 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
506 conserve alignment invariants.
507 (grub_ehci_ehcc_read16): Likewise.
508 (grub_ehci_oper_read32): Likewise.
509 (grub_ehci_oper_write32): Likewise.
510 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
511 Conserve alignment invariants.
512
513 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
516 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
517 declarations.
518
519 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
522 Remove unused variable.
523
524 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
525
526 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
527 Remove set in if.
528
529 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * include/grub/net.h: Remove double declarations.
532
533 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
534
535 Remove "payload" command in ia64 Linux loader since I couldn't
536 find any evidence of it being used for anything.
537 Replace "relocate" command with an environment variable
538
539 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
540 fields.
541 (ia64_boot_payload): Removed.
542 (last_payload): Likewise.
543 (RELOCATE_OFF): Likewise.
544 (RELOCATE_ON): Likewise.
545 (RELOCATE_FORCE): Likewise.
546 (relocate): Likewise.
547 (free_pages): Don't free payloads.
548 (grub_load_elf64): Use common error messages.
549 Use "linux_relocate" variable.
550 Increase the space after boot_params.
551 (grub_cmd_payload): Removed.
552 (grub_cmd_relocate): Likewise.
553 (grub_cmd_fpswa): Improve messages.
554 (cmd_payload): Removed.
555 (cmd_relocate): Likewise.
556 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
557 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
558
559 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
560
561 Convert UHCI to DMA framework.
562
563 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
564 (grub_uhci_pci_iter): Fill new members
565 (grub_alloc_td): Use P2V and V2P functions.
566 (grub_free_queue): Likewise.
567 (grub_alloc_qh): Likewise.
568 (grub_uhci_setup_transfer): Likewise.
569 (grub_uhci_check_transfer): Likewise.
570
571 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
574 Remove assignment in if while on it.
575
576 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * util/grub-mkstandalone.in: Fix modules directory.
579
580 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
583 on i386-pc target.
584 (argp_parser): Accept "auto" as compression specification.
585
586 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
587
588 Fix `help' with unloaded modules.
589
590 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
591 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
592 (grub_dyncmd_dispatcher): Small stylistic fix.
593 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
594 explicit help is requested.
595
596 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
599 Explicitly init restart while on it.
600
601 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
604 uninited variable.
605
606 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * util/grub-mknetdir.in: Use . rather than source for POSIX
609 compatibility.
610
611 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
614
615 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
618 variable.
619
620 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
623 without quotes.
624
625 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
628
629 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
632 iteration of partitions.
633
634 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Improve gettext support. Stylistic fixes and error handling fixes while
637 on it.
638
639 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
642 part. Instead setup the correct stack in RM.
643 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
644 for stack.
645 * include/grub/i386/relocator_private.h: New file.
646
647 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
648
649 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
650 argument.
651 * util/grub-fstest.c (options): Add missing DEVICE part.
652
653 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
654
655 Clarify and unify messages.
656
657 * grub-core/commands/hashsum.c (options): Unify messages.
658 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
659 literal-only message as translatable.
660 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
661 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
662 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
663 commands.
664 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
665 key, not the key used to unlock. Clarify what it's used for.
666 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
667 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
668 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
669 * util/grub-editenv.c (options): Unify "verbose" message.
670 * util/grub-fstest.c (read_file): Unify error message.
671 (fstest): Add quotes around commands.
672 (options): Unify "verbose" message.
673 * util/grub-install.in: Add quotes around variable name.
674 * util/grub-kbdcomp.in: Unify error message.
675 * util/grub-mkfont.c (main): Likewise.
676 * util/grub-mkrescue.in: Likewise.
677 * util/grub-mklayout.c (options): Unify "verbose" message.
678 * util/grub-mkstandalone.in: Unify help and verbose messages.
679 * util/grub-mount.c (options): Unify "verbose" message.
680 * util/grub-probe.c (options): Likewise.
681 * util/grub-script-check.c (options): Likewise.
682 * util/grub-setup.c (setup): Unify no-terminator message.
683 (options): Use DEVICE and not DEV.
684 Unify "verbose" message.
685 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
686
687 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
688
689 Improve and unify messages.
690
691 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
692 name. All users updated.
693 Print filename in error.
694 (read_device_map): Print filename in error.
695 * util/getroot.c (grub_guess_root_devices): Print filename in error.
696 (grub_util_get_os_disk): Likewise.
697 (grub_util_biosdisk_get_grub_dev): Likewise.
698 (grub_util_check_block_device): Likewise.
699 (grub_util_check_char_device): Likewise.
700 (grub_make_system_path_relative_to_its_root): Likewise.
701 * util/grub-editenv.c (create_envblk_file): Likewise.
702 (open_envblk_file): Likewise.
703 (write_envblk): Likewise.
704 * util/grub-fstest.c (cmd_cp): Likewise.
705 (cmd_cat): Likewise.
706 (cmd_cmp): Likewise.
707 * util/grub-menulst2cfg.c (main): Likewise.
708 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
709 (write_font_width_spec): Likewise.
710 (write_font_pf2): Likewise.
711 * util/grub-mkimage.c (generate_image): New argument outname.
712 All users updated.
713 Remove unreacheable message.
714 (options): Unify messages.
715 (help_filter): Likewise.
716 * util/grub-mklayout.c (usage): Removed (unused).
717 (main): Print filename in error.
718 * util/grub-mkrescue.in: Fix wrong quoting.
719 * util/grub-setup.c (setup): Print filename in error.
720 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
721 (check_sas): Likewise.
722 * util/misc.c (grub_util_get_fp_size): Removed.
723 (grub_util_get_image_size): Print filename in error.
724 (grub_util_read_at): Removed.
725 (grub_util_read_image): Print filename in error.
726 (grub_util_load_image): Likewise.
727 (grub_util_write_image_at): New argument filename. All users updated.
728 Print filename in error.
729 (grub_util_write_image): New argument filename. All users updated.
730 Print filename in error.
731 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
732 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
733
734 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/Makefile.core.def (pxechain): New module.
737 * grub-core/loader/i386/pc/pxechainloader.c: New file.
738 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
739 function.
740 (grub_pc_net_config_real): Use grub_pxe_get_cached.
741 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
742
743 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
746 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
747 * include/grub/err.h (grub_error_saved): New struct.
748 (grub_errmsg): Make array size explicit.
749 * include/grub/misc.h (grub_error_save): New function.
750 (grub_error_load): Likewise.
751 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
752 (grub_error_push): Update `errno' member name.
753 (grub_error_pop): Likewise
754 * grub-core/net/tftp.c (tftp_data): New member save_err.
755 (tftp_receive): Save error.
756 (tftp_open): Restore error.
757
758 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
761 to real mode down to execute A20-related code in protected mode as
762 intended.
763
764 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
765
766 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
767 NULL when the argument `level' has an unexpected value.
768
769 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
770
771 Move platform-dependent files from $prefix to $prefix/$platform.
772
773 * config.h.in (GRUB_TARGET_CPU): New definition.
774 (GRUB_PLATFORM): Likewise.
775 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
776 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
777 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
778 * grub-core/kern/dl.c (grub_dl_load): Likewise.
779 * grub-core/normal/autofs.c (read_fs_list): Likewise.
780 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
781 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
782 * grub-core/normal/term.c (read_terminal_list): Likewise.
783 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
784 $prefix/locale.
785 (grub_gettext_init_ext): Likewise.
786 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
787 grub_platform.
788 * util/grub-install.in: Update directories.
789 * util/grub-mknetdir.in: Likewise.
790 * util/grub-mkrescue.in: Likewise.
791
792 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
795 grub_error framework. All users updated.
796
797 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
800 lists (by always binsearching), improve caching (cache strings
801 used for binsearch, not only results), improve
802 maintainability (by using more structured binary search) and correct
803 error handling.
804
805 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * grub-core/script/execute.c (grub_script_return): Fix warning.
808
809 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/script/execute.c (grub_script_return): Fix potential
812 NULL-dereference.
813 Reported by: Jim Meyering.
814
815 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * po/POTFILES.in: Regenerate.
818 * util/grub-install.in: Gettextize the strings missed in first pass.
819
820 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * Makefile.util.def (grub-mkdevicemap): Removed.
823 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
824 * include/grub/util/deviceiter.h: Removed.
825 * util/deviceiter.c: Likewise.
826 * util/getroot.c (grub_util_get_os_disk): New function.
827 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
828 replacement for EFI.
829 * util/grub-mkdevicemap.c: Removed.
830 * util/grub-probe.c (probe): Handle PRINT_DISK.
831 (argp_parser): Handle -t disk.
832
833 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * util/grub-mkfont.c: Migrate to argp.
836 * util/grub-mklayout.c: Likewise.
837 * util/grub-mkpasswd-pbkdf2.c: Likewise.
838 * util/grub-mkrelpath.c: Likewise.
839 * util/grub-probe.c: Likewise.
840 * util/grub-script-check.c: Likewise.
841
842 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * util/grub-reboot.in: Add missing datarootdir.
845 Add missing newline.
846 * util/grub-set-default.in: Add missing datarootdir.
847 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
848 * util/grub-mkrescue.in: Likewise.
849
850 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
853
854 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * util/grub-kbdcomp.in: Add decent help and gettextize.
857 * docs/man/grub-kbdcomp.h2m: New file.
858
859 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
860
861 Migrate grub-mkimage.c to argp.
862
863 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
864 (grub-setup): Likewise.
865 * util/grub-setup.c (print_version): Move to ...
866 * util/argp_common.c (print_version): ... here.
867 * util/grub-setup.c (argp_program_version_hook): Move to ...
868 * util/argp_common.c (argp_program_version_hook): ... here.
869 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
870 safety.
871 * util/grub-mkimage.c (main): Migrate to argp.
872
873 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * util/grub-mkrescue.in: Use same message as
876 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
877 for better translations.
878
879 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
882 options with generic grub-mkrescue.in with the goal of future
883 merge.
884
885 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/kern/mm.c: Add missing include of i18n.h
888 * grub-core/lib/relocator.c: Likewise.
889
890 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
893 error.
894 (allocate_pages): Check return value.
895 Replace fatal with error.
896 (grub_linux_boot): Replace printf with dprintf.
897 Check find_mmap_size return value.
898 Replace fatal with error.
899 Don't call grub_machine_fini.
900 (grub_load_elf64): Replace printf with dprintf.
901 (grub_cmd_linux): Likewise.
902 (grub_cmd_initrd): Likewise.
903 (grub_cmd_payload): Likewise.
904
905 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
908 message.
909 * grub-core/video/radeon_fuloong2e.c
910 (grub_video_radeon_fuloong2e_setup): Likewise.
911 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
912 * grub-core/video/video.c (grub_video_set_mode): Don't override
913 standard out of memory message.
914
915 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
916
917 NetBSD disk wedge support.
918
919 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
920 [__NetBSD__]: Handle NetBSD disk wedges.
921 * util/getroot.c (convert_system_partition_to_system_disk)
922 [__NetBSD__]: Likewise.
923
924 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
925
926 * util/grub-mkconfig.in: Use umask rather than chmod to create
927 grub.cfg.new to avoid insecure grub.cfg.
928
929 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
930
931 * grub-core/commands/ls.c: Gettextize.
932 * grub-core/commands/setpci.c: Likewise.
933 * grub-core/commands/videotest.c: Likewise.
934 * grub-core/disk/geli.c: Likewise.
935 * grub-core/kern/mm.c: Likewise.
936 * grub-core/lib/relocator.c: Likewise.
937 * grub-core/loader/efi/appleloader.c: Likewise.
938 * grub-core/loader/i386/xnu.c: Likewise.
939 * grub-core/loader/ia64/efi/linux.c: Likewise.
940 * grub-core/loader/xnu.c: Likewise.
941 * grub-core/net/dns.c: Likewise.
942 * grub-core/net/net.c: Likewise.
943 * grub-core/script/lexer.c: Likewise.
944 * grub-core/script/parser.y: Likewise.
945 * grub-core/script/yylex.l: Likewise.
946 * util/getroot.c: Likewise.
947 * util/grub-setup.c: Likewise.
948
949 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
952 number.
953
954 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
957
958 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
961 macro.
962 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
963 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
964
965 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
966
967 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
968 * util/grub-install.in: Gettextize.
969 * util/grub-mkconfig.in: Likewise.
970 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
971 if not available.
972 (grub_warn): Gettextize.
973 * util/grub-mknetdir.in: Gettextize.
974 * util/grub-mkrescue.in: Likewise.
975 * util/grub-mkstandalone.in: Likewise.
976 * util/grub-reboot.in: Likewise.
977 * util/grub-set-default.in: Likewise.
978 * util/grub.d/00_header.in: Likewise.
979 * util/grub.d/10_hurd.in: Likewise.
980 * util/grub.d/10_kfreebsd.in: Likewise.
981 * util/grub.d/10_linux.in: Likewise.
982 * util/grub.d/10_netbsd.in: Likewise.
983 * util/grub.d/10_windows.in: Likewise.
984 * util/grub.d/20_linux_xen.in: Likewise.
985 * util/grub.d/30_os-prober.in: Likewise.
986 * po/POTFILES-shell.in: Regenerate.
987
988 2012-02-03 Richard Laager <rlaager@wiktel.com>
989
990 * util/grub-mkimage.c (main): Fix format-security warning.
991 * util/grub-mkrelpath.c (main): Likewise.
992 * util/grub-probe.c (main): Likewise.
993
994 2012-02-03 Richard Laager <rlaager@wiktel.com>
995
996 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
997 failure.
998 Put back lost PRINT_DRIVE.
999
1000 2012-02-03 Richard Laager <rlaager@wiktel.com>
1001
1002 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
1003 (grub_guess_root_devices): Replace strlen with sizeof.
1004 Avoid crash.
1005 (find_root_devices_from_poolname): Remove unused variable.
1006 Handle raidzN.
1007
1008 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1009
1010 Support install on multi-device filesystems.
1011
1012 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
1013 (grub_guess_root_devices): ...this. Return char **. All users updated.
1014 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
1015 Removed.
1016 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
1017 (find_root_devices_from_poolname): ... here.
1018 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
1019 Support zfs-fuse.
1020 (grub_guess_root_device): Rename to ...
1021 (grub_guess_root_devices): ... this. Return char **. All users updated.
1022 * util/grub-install.in: Handle multi-device filesystems.
1023 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1024 argument. All users updated.
1025 Handle multi-device filesystems.
1026 Use 'delim' as separator.
1027 Remove device check to allow filesystems on file.
1028 (main): Support -0 argument. Handle multi-device.
1029 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1030 Fix a cross-device check while on it.
1031 (arguments): Remove root_dev.
1032 (argp_parser): Remove -r.
1033 (main): Remove root_dev.
1034
1035 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1036
1037 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1038
1039 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1042 symbol.
1043 Reported by: NODA, Kai <nodakai>.
1044
1045 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 Fix ehci on amd64.
1048
1049 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1050 pointers.
1051 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1052 (grub_ehci_setup_qh): Likewise.
1053 (grub_ehci_find_qh): Likewise.
1054 (grub_ehci_transaction): Likewise.
1055 (grub_ehci_setup_transfer): Likewise.
1056 (grub_ehci_check_transfer): Likewise.
1057 (grub_ehci_portstatus): Likewise.
1058 (grub_ehci_detect_dev): Likewise.
1059 (grub_ehci_transfer_controller_data): New field td_last_phys.
1060 (grub_ehci_setup_transfer): Fill td_last_phys.
1061 (grub_ehci_check_transfer): Use td_last_phys.
1062
1063 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1064
1065 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1066 if no submenu is present.
1067
1068 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1069
1070 CBI support.
1071
1072 * include/grub/usb.h (grub_usbms_protocol_t): New values
1073 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1074 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1075 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1076 (grub_usbms_dev): Add subclass, protocol and intrpt.
1077 Remove in_maxsz and out_maxsz.
1078 (grub_usbms_reset): Rename to ...
1079 (grub_usbms_bo_reset): .. this.
1080 (grub_usbms_cbi_cmd): New function.
1081 (grub_usbms_cbi_reset): Likewise.
1082 (grub_usbms_reset): Likewise.
1083 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1084 (grub_usbms_transfer): Rename to ...
1085 (grub_usbms_transfer_bo): ... this.
1086 (grub_usbms_transfer_cbi): Likewise.
1087 (grub_usbms_transfer): Likewise.
1088
1089 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1090 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1093 the support for the CS5536 modification thereos and few bugfixes.
1094
1095 * grub-core/Makefile.core.def (ehci): New module.
1096 * grub-core/bus/usb/ehci.c: New file.
1097 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1098 port and hubaddr. All users updated.
1099 Save port and hubaddr into dev structure.
1100 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1101 define.
1102 * include/grub/pci.h (grub_dma_phys2virt): New function.
1103 (grub_dma_virt2phys): Likewise.
1104 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1105
1106 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1107
1108 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1109 check as some mkfs implementations omit it.
1110
1111 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1112
1113 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1114
1115 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1118 Add new member volname2.
1119 (grub_jfs_label): Use volname2 if available.
1120
1121 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1124 over last_mounted as seen in image generated by mkfs.nilfs2.
1125 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1126
1127 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1130 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1131 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1132
1133 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1136 over the sector.
1137
1138 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1141 subvolume name (by removing a bogus and useless check).
1142
1143 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1146 sizeof while on it.
1147
1148 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1151 (grub_scsi_read_capacity10): ... this.
1152 (grub_scsi_read_capacity16): New function.
1153 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1154 0xffffffff.
1155 Fix off-by-one error.
1156 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1157 64-bit unsigned.
1158 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1159 (grub_scsi_read_capacity10): ... this.
1160 (grub_scsi_read_capacity_data): Rename to ...
1161 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1162 (grub_scsi_read_capacity16): New struct.
1163 (grub_scsi_read_capacity16_data): Likewise.
1164 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1165 grub_scsi_cmd_read_capacity10.
1166 New command grub_scsi_cmd_read_capacity16.
1167
1168 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 SCSI >2TiB support.
1171
1172 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1173 (grub_scsi_write16): Likewise.
1174 (grub_scsi_read): Use read16 when necessary.
1175 (grub_scsi_write): Likewise.
1176 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1177 (grub_scsi_write16): Likewise.
1178 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1179
1180 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 SCSI write support (for usbms mainly).
1183
1184 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1185 a const pointer.
1186 (grub_scsi_write): Implement.
1187 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1188
1189 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1192 variable.
1193
1194 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1197
1198 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * po/POTFILES.in: Regenerate.
1201
1202 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1205 with grub_printf to avoid unnecessary fatal failure.
1206
1207 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1210 (INT_MAX): Likewise.
1211 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1212 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1213 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1214 (strcpy): Likewise.
1215 (strstr): Likewise.
1216 (strchr): Likewise.
1217 (strncpy): Likewise.
1218 (strcat): Likewise.
1219 (strncat): Likewise.
1220 (strcoll): Likewise.
1221 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1222 (GRUB_INT_MAX): Likewise.
1223
1224 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1225
1226 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1227 unexpected error.
1228 (optimize_utf8): Likewise.
1229 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1230
1231 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/boot/i386/pc/lnxboot.S: Use
1234 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1235 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1236 location.
1237 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1238 definition.
1239 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1240
1241 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1244 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1245 now to avoid double free.
1246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1247 hostdisk.
1248 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1249 * util/grub-probe.c (escape_of_path): Always return a new copy.
1250 (print_full_name): Escape path.
1251 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1252 Fix hints on abstractions.
1253
1254 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1257 Don't add "root" line if no compatibility hont is available.
1258 Suggested by: Seth Goldberg.
1259
1260 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1263 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1264 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1265 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1266
1267 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1270
1271 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * util/grub-pe2elf.c (ehdr): Make static.
1274 (shdr): Likewise.
1275 (num_sections): Likewise.
1276 (offset): Likewise.
1277
1278 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Eliminate ofpath limits and possible overflows.
1281
1282 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1283 (OF_PATH_MAX): Removed.
1284 (MAX_DISK_CAT): New const.
1285 (find_obppath): Use allocated rather than preallocated buffer.
1286 Return result. Argument of_path removed. All users updated.
1287 Add missing fdstat.
1288 (xrealpath): New function.
1289 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1290 Allocate rather than use preallocated buffer. All users updated.
1291 (__of_path_common): Use allocated rather than preallocatecd buffer.
1292 Return result. Argument of_path removed. All users updated.
1293 (vendor_is_ATA): Read only needed part form the file.
1294 (check_sas): Allocate depending on contents rather than fixed.
1295 (main) [STANDALONE]: Handle NULL result.
1296
1297 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1300
1301 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Cryptodisk write support.
1304
1305 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1306 (grub_cryptodisk_decrypt): Moved logic to ...
1307 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1308 (grub_cryptodisk_write): Implement.
1309 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1310 (grub_util_fd_write): ... this. Make global.
1311 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1312
1313 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * include/grub/list.h (grub_list_remove): Don't crash if element is
1316 removed twice.
1317
1318 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1319
1320 Rename ofconsole to console.
1321
1322 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1323 as sysnonym to console.
1324 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1325 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1326 Rename grub_ofconsole_ to grub_console_. All users updated
1327 (grub_console_term_output): Rename "ofconsole" to "console".
1328 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1329 as "console".
1330
1331 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1334 handling.
1335 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1336 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1337 GRUB_DISK_DEVICE_FILE_ID.
1338
1339 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1342 and improve performance.
1343
1344 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1347 missing ieee1275/ prefix on whole disk.
1348
1349 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1352 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1353
1354 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1357
1358 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 Merge common RAID and LVM logic to an abstract diskfilter.
1361 Add LDM support using the same framework.
1362
1363 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1364 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1365 (libgrubmods): Remove grub-core/disk/raid.c and
1366 grub-core/partmap/gpt.c.
1367 * grub-core/Makefile.core.def (ldm): New module.
1368 (raid): Renamed to diskfilter. All users updated.
1369 * grub-core/disk/raid.c: Moved to ...
1370 * grub-core/disk/diskfilter.c: ... here.
1371 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1372 (lv_num): New var.
1373 (find_array): Renamed to ...
1374 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1375 (grub_is_array_readable): Renamed to ...
1376 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1377 (insert_array): New argument id.
1378 (is_node_readable): New function.
1379 (scan_device): Rename to ...
1380 (scan_disk): .. this. Restrict to one disk.
1381 (scan_devices): New function.
1382 (grub_diskfilter_iterate): Support multi-LV.
1383 Skip invisible and nameless LVs.
1384 (grub_diskfilter_memberlist): Support multi-LV.
1385 (grub_diskfilter_read_node): New function.
1386 (grub_raid_read): Most of logic moved to ...
1387 (read_segment): ... here
1388 (read_lv): New function.
1389 (grub_diskfilter_get_vg_by_uuid): New function.
1390 (grub_diskfilter_make_raid): Likewise.
1391 * grub-core/disk/ldm.c: New file.
1392 * grub-core/disk/lvm.c (vg_list): Removed.
1393 (lv_count): Likewise.
1394 (scan_depth): Likewise.
1395 (is_lv_readable): Likewise.
1396 (grub_lvm_getvalue): Advance pointer past the number.
1397 (find_lv): Removed.
1398 (do_lvm_scan): Refactored into ...
1399 (grub_lvm_detect): ... this. Support raid.
1400 (grub_lvm_iterate): Removed.
1401 (grub_lvm_memberlist): Likewise.
1402 (grub_lvm_open): Likewise.
1403 (grub_lvm_close): Likewise.
1404 (read_lv): Likewise.
1405 (read_node): Likewise.
1406 (is_node_readable): Likewise.
1407 (is_lv_readable): Likewise.
1408 (grub_lvm_read): Likewise.
1409 (grub_lvm_write): Likewise.
1410 (grub_lvm_dev): Use diskfilter
1411 (GRUB_MOD_INIT): Likewise.
1412 (GRUB_MOD_FINI): Likewise.
1413 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1414 new interface.
1415 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1416 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1417 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1418 grub_diskfilter_read_node.
1419 Fix a bug with xor.
1420 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1421 grub_diskfilter_read_node.
1422 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1423 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1424 (grub_disk_dev_iterate): Move from here...
1425 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1426 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1427 Make global.
1428 (grub_hostdisk_find_partition_start): Likewise.
1429 (grub_hostdisk_os_dev_to_grub_drive): New function.
1430 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1431 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1432 * util/getroot.c (make_device_name): ... here.
1433 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1434 Move to ...
1435 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1436 * grub-core/kern/emu/hostdisk.c
1437 (convert_system_partition_to_system_disk): Move to ...
1438 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1439 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1440 * util/getroot.c (device_is_wholedisk): ... here.
1441 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1442 * util/getroot.c (find_system_device): ... here.
1443 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1444 Move to ...
1445 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1446 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1447 Move to ...
1448 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1449 Handle LDM.
1450 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1451 Move to ...
1452 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1453 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1454 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1455 DISKFILTER.
1456 * include/grub/raid.h: Renamed to ...
1457 * include/grub/diskfilter.h: ... this.
1458 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1459 (GRUB_RAID_LAYOUT_*): Make into array.
1460 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1461 (grub_diskfilter_vg): New struct.
1462 (grub_diskfilter_pv_id): Likewise.
1463 (grub_raid_member): Removed.
1464 (grub_raid_array): Likewise.
1465 (grub_diskfilter_pv): New struct.
1466 (grub_diskfilter_lv): Likewise.
1467 (grub_diskfilter_segment): Likewise.
1468 (grub_diskfilter_node): Likewise.
1469 (grub_diskfilter_get_vg_by_uuid): New proto.
1470 (grub_raid_register): Inline.
1471 (grub_diskfilter_unregister): Likewise.
1472 (grub_diskfilter_make_raid): New proto.
1473 (grub_diskfilter_vg_register): Likewise.
1474 (grub_diskfilter_read_node): Likewise.
1475 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1476 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1477 (grub_util_is_ldm): Likewise.
1478 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1479 (grub_hostdisk_find_partition_start): Likewise.
1480 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1481 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1482 New definition.
1483 (grub_gpt_partition_map_iterate): New proto.
1484 * include/grub/lvm.h (grub_lvm_vg): Removed.
1485 (grub_lvm_pv): Likewise.
1486 (grub_lvm_lv): Likewise.
1487 (grub_lvm_segment): Likewise.
1488 (grub_lvm_node): Likewise.
1489 * util/getroot.c [...]
1490 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1491 (probe_abstraction): Likewise.
1492 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1493 (main): Remove dead logic.
1494
1495 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 Simplify root device discover and don't fail when trying to open
1498 incorrect devices.
1499
1500 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1501 function.
1502 (get_diskname_from_path): Likewise.
1503 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1504 of iterating.
1505
1506 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1509
1510 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1513 pastthe end.
1514
1515 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * util/grub-install.in: Add missing \.
1518 Reported by: gentoofan
1519
1520 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1523 (direct_read): Use correct compressed size.
1524 (grub_squash_read_data): Likewise.
1525
1526 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * docs/grub.texi (Platform limitations): New section.
1529 (Platform-specific operations): Likewise.
1530 * docs/grub-dev.texi (Porting): Likewise.
1531
1532 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 IEEE1275 disk write support.
1535
1536 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1537 const void *.
1538 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1539 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1540 and seek loginc to ...
1541 (grub_ofdisk_prepare): ... here.
1542 (grub_ofdisk_write): Implement.
1543
1544 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 ARC disk write support.
1547
1548 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1549 (reopen): New argument writable. All users updated.
1550 Handle required access mode.
1551 (grub_arcdisk_write): Implement.
1552 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1553 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1554
1555 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1556
1557 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1558 (read_sblock): Don't attempt to read superblocks outside the disk size.
1559
1560 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1563 first superblock to find the second one when possible.
1564
1565 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * util/grub-install.in: Fix an ARC bug.
1568 Print a warning if no platform-specific setup is available.
1569
1570 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Use static allocation rather than scratch pointer in reed_solomon.
1573 It decreases its size significantly and avoids a variable in .text.
1574
1575 * grub-core/lib/reed_solomon.c (scratch): Removed.
1576 (chosenstat): New const or static array.
1577 (sigma): Likewise.
1578 (errpot): Likewise.
1579 (errpos): Likewise.
1580 (sy): Likewise.
1581 (mstat): Likewise.
1582 (errvals): Likewise.
1583 (eqstat): Likewise.
1584 (pol_evaluate): Replace x with log_x argument. All users updated.
1585 (syndroms): Removed.
1586 (gauss_solve): Use statically allocated arrays.
1587 (rs_recover): Likewise.
1588 Calculate syndroms directly.
1589 (decode_block): Use statically allocated arrays.
1590 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1591 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1592
1593 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 Eliminate fixed limit on reed solomon decoder length.
1596
1597 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1598 rather than hardcoding the address.
1599 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1600 no_reed_solomon_length.
1601 Move gate_a20 to no-reed-solomon part.
1602 Don't force a particular size of no reed-solomon part.
1603 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1604 Removed.
1605 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1606 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1607
1608 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 * grub-core/commands/wildcard.c (match_files): Handle filenames
1611 without explicit device.
1612 (wildcard_expand): Don't add explicit device if not already present.
1613 * tests/grub_script_echo1.in: Add a new expansion test.
1614
1615 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 Replace single-linked with double-linked lists. It results in more
1618 compact and more efficient code.
1619
1620 * grub-core/kern/list.c (grub_list_push): Moved from here ...
1621 * include/grub/list.h (grub_list_push): ... to here. Set prev.
1622 (grub_list_remove): Moved from here ...
1623 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
1624 (grub_prio_list_insert): Set prev.
1625 * include/grub/list.h (grub_list): Add prev. All users updated.
1626
1627 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Handle newer autotools. Add some missing quotes while on it.
1630
1631 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
1632 (pkglib_DATA): Move grub-mkconfig_lib from here ...
1633 (pkgdata_DATA): ... here.
1634 * Makefile.util.def (update-grub_lib): Removed.
1635 * conf/Makefile.common (pkglib_DATA): Removed.
1636 (pkglib_SCRIPTS): Likewise.
1637 (pkgdata_DATA): New variable.
1638 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
1639 needed.
1640 Add missing quotes.
1641 Remove unused variable while on it.
1642 * tests/util/grub-shell.in: Likewise.
1643 * util/grub-install.in: Likewise.
1644 * util/grub-mkconfig.in: Likewise.
1645 * util/grub-mknetdir.in: Likewise.
1646 * util/grub-mkrescue.in: Likewise.
1647 * util/grub-mkstandalone.in: Likewise.
1648 * util/grub.d/00_header.in: Likewise.
1649 * util/grub.d/10_hurd.in: Likewise.
1650 * util/grub.d/10_illumos.in: Likewise.
1651 * util/grub.d/10_kfreebsd.in: Likewise.
1652 * util/grub.d/10_linux.in: Likewise.
1653 * util/grub.d/10_netbsd.in: Likewise.
1654 * util/grub.d/10_windows.in: Likewise.
1655 * util/grub.d/20_linux_xen.in: Likewise.
1656 * util/grub.d/30_os-prober.in: Likewise.
1657 * util/update-grub_lib.in: Removed.
1658
1659 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
1660
1661 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
1662 a workaround for intel problem.
1663
1664 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
1665 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1666 2012-01-23 pfsmorigo
1667
1668 * util/grub-install.in: Support dd'in into PreP partition.
1669 * util/grub-probe.c (probe): Support discovering partition type.
1670 (main): Support -t msdos_parttype.
1671
1672 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
1675 infinite recursion using counter.
1676 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
1677 init to skip it if the magic check fails.
1678 (dec_stream_header): Init s->crc32.
1679
1680 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1681 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
1682 2012-01-22 Richard Laager <rlaager@wiktel.com>
1683
1684 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
1685 All users updated.
1686 (find_bestub): Determine correct size.
1687 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
1688 (scan_disk): Align the size down.
1689 Call check pool before find_bestub to have ashift.
1690
1691 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
1694 dprintf in no-malloc zone.
1695
1696 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
1697
1698 * configure.ac: Add back in test for limits.h.
1699
1700 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 Support 4K-sector NTFS.
1703
1704 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
1705 (grub_ntfs_data): Remove blocksize.
1706 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
1707 Remove data argument. All users updated.
1708
1709 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
1712 being in .text to avoid dprel references.
1713 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
1714 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
1715 (grub_arch_highmemsize): Likewise.
1716 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
1717 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
1718 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
1719
1720 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
1723
1724 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
1725 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
1726
1727 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
1730 GRUB_UTIL.
1731 (grub_set_datetime_cmos): Likewise.
1732
1733 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 Make XZ compression parameters dependent on target and not host CPU.
1736
1737 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
1738 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
1739
1740 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
1743 set but not used variable.
1744
1745 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
1748 created when no uuid support is compiled into mkfs.reiser.
1749
1750 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
1753 (utf8_to_macroman): Do the opposite.
1754 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
1755
1756 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * configure.ac: Refise build qemu_mips w/o unifont.
1759
1760 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Eliminate grub_min/grub_max prone to overflow usage.
1763
1764 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
1765 (poll_nonroot_hub): Likewise.
1766 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
1767 (grub_affs_label): Likewise.
1768 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
1769 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
1770 (grub_hfs_label): Likewise.
1771 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
1772 * grub-core/fs/zfs/zfs.c (MIN): Remove.
1773 (zap_leaf_array_equal): Use grub_size. Remove MIN.
1774 (zap_leaf_array_get): Likewise.
1775 (dnode_get_path): Likewise.
1776 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
1777 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
1778 * grub-core/script/execute.c (grub_script_break): Likewise.
1779 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
1780 grub_max.
1781 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
1782 * include/grub/misc.h (grub_min): Removed.
1783 (grub_max): Likewise.
1784
1785 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1786
1787 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
1788 direct.inode = 0.
1789
1790 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
1793
1794 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
1797
1798 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
1801 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
1802
1803 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
1806 rather than a hack for grub_strncasemap.
1807
1808 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 Support multiple initrds
1811 Note: part of this was accidently committed in r3739.
1812
1813 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
1814 initrd.
1815 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1816 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1817 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1818 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1819 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1820
1821 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
1824 disks with unknown size.
1825 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
1826
1827 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 Remove defines pertaining to arbitrary limits not affecting GRUB
1830 anymore.
1831
1832 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
1833 (EXT2_MAX_SYMLINKCNT): Likewise.
1834 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
1835 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
1836 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
1837 (GRUB_PXE_MAX_BLKSIZE): Likewise.
1838 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
1839 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
1840 (DN_MAX_OBJECT_SHIFT): Likewise.
1841 (DN_MAX_OFFSET_SHIFT): Likewise.
1842 (DN_MAX_OBJECT): Likewise.
1843 (DNODES_PER_LEVEL_SHIFT): Likewise.
1844 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
1845 (SPA_MAXBLOCKSIZE): Likewise.
1846 (SPA_BLOCKSIZES): Likewise.
1847 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
1848 (MZAP_MAX_BLKSZ): Likewise.
1849
1850 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
1853 handle NULL appropriately.
1854 Remove MIN.
1855
1856 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1857
1858 Fix efiemu.
1859
1860 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
1861 cpu/types.h.
1862 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
1863 * configure.ac: Fix efiemu check.
1864
1865 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
1868 grub_probe.
1869 Reported by: adamwill
1870
1871 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
1872
1873 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
1874
1875 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 Fix handling of wide characters in gfxterm.
1878
1879 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
1880 (clear_char): Likewise.
1881 (paint_char): Skip code == NULL chars.
1882 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
1883
1884 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1885
1886 * grub-core/normal/charset.c: Move comment to right place.
1887
1888 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
1891 (GRUB_AFFS_FLAG_FFS): Put back where it was.
1892 (grub_affs_mount): Revert the correct version checking.
1893
1894 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * docs/grub.texi (Unicode): Mention several other unsupported features.
1897
1898 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
1901 case statements as compile-time one.
1902 (direct_read): Prevent spurious warnings.
1903 (grub_squash_read_data): Likewise.
1904
1905 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 Various squash4 fixes and LZO and XZ support.
1908
1909 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
1910 Add xzembed source files.
1911 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
1912 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
1913 (grub_squash_inode): New subtype long_dir.
1914 (SQUASH_TYPE_LONG_DIR): New inode type.
1915 (COMPRESSION): New enum.
1916 (XZBUFSIZ): New const.
1917 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
1918 (read_chunk): Use data->decompress.
1919 (zlib_decompress): New function.
1920 (lzo_decompress): Likewise.
1921 (xz_decompress): Likewise.
1922 (squash_mount): Set new data fields.
1923 (grub_squash_iterate_dir): Handle long dir.
1924 (squash_unmount): Free xzdec and xzbuf.
1925 (grub_squash_open): Check ino type.
1926 (direct_read): Stylistic fixes. Use data->decompress.
1927 (grub_squash_read_data): Likewise.
1928 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
1929 (get_byte): Likewise.
1930 (grub_zlib_disk_read): Removed.
1931 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
1932 (GRUB_POSIX_BOOL_DEFINED): New define.
1933 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
1934 * grub-core/lib/xzembed/xz.h: Addmissing includes.
1935 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
1936 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
1937
1938 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 Don't override more informative errors.
1941
1942 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
1943 * grub-core/font/font.c (open_section): Likewise.
1944 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
1945 filename. Don't override errors.
1946 (grub_cmd_openbsd_ramdisk): Don't override errors.
1947 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
1948 (grub_cmd_initrd): Likewise.
1949 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1950 (grub_cmd_initrd): Likewise.
1951 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
1952 (grub_cmd_linux): Likewise.
1953 (grub_cmd_initrd): Likewise.
1954 (grub_cmd_payload): Likewise.
1955 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1956 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1957 (grub_cmd_module): Likewise.
1958 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1959 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1960 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1961 (grub_cmd_xnu_mkext): Likewise.
1962 (grub_cmd_xnu_ramdisk): Likewise.
1963 (grub_xnu_check_os_bundle_required): Likewise.
1964 (grub_xnu_load_kext_from_dir): Likewise.
1965 (grub_cmd_xnu_kextdir): Likewise.
1966 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1967
1968 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1969
1970 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1971 as 1024 in block size field. Found on one of my test images.
1972 Small optimisation while on it.
1973
1974 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1977 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1978 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1979 performance fixes while on it.
1980 (grub_sfs_close): Fix memory leak while on it.
1981 (grub_sfs_label): Convert Latin1 to UTF-8.
1982
1983 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1986 space to avoid overflows.
1987 (grub_hfs_label): Convert from macroman to UTF-8.
1988
1989 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1990
1991 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1992
1993 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1996
1997 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1998
1999 * unicode: Import Unicode 6.0 data.
2000
2001 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
2004 outside of range.
2005
2006 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 Avoid cutting in the middle of UTF-8 character.
2009
2010 * include/grub/charset.h (grub_getend): New function.
2011 * grub-core/script/function.c (grub_script_function_find): Use
2012 grub_getend.
2013 * grub-core/normal/completion.c (add_completion): Likewise.
2014
2015 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
2018 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
2019 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
2020 (GRUB_UNICODE_TAG_END): Likewise.
2021 (GRUB_UNICODE_LAST_VALID): Likewise.
2022
2023 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2026 len and make it smaller. All users updated.
2027 * util/import_unicode.py: Put length and not end character.
2028 Check length.
2029
2030 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 Make better Unicode-compliant and unify some UTF-8 code pathes.
2033
2034 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2035 valid character.
2036 (grub_is_valid_utf8): Use grub_utf8_process.
2037 Check resulting code range.
2038 (grub_utf8_to_ucs4): Use grub_utf8_process.
2039 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2040 valid character.
2041
2042 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2045
2046 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2047
2048 * docs/grub.texi (Filesystems): Mention AFS.
2049
2050 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * docs/grub.texi (Filesystems): Clarify restrictions.
2053 (Regexp): Mention non-Unicode regexp behaviour.
2054 (Other): Mention non-Unicode matching behaviour.
2055
2056 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 Make HFS implementation use MacRoman.
2059
2060 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2061 (macroman): New const array.
2062 (macroman_to_utf8): New function.
2063 (utf8_to_macroman): Likewise.
2064 (grub_hfs_find_dir): Use utf8_to_macroman.
2065 (grub_hfs_dir): Use macroman_to_utf8.
2066 Set case_insensitive.
2067
2068 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2069
2070 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2071
2072 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Integrate hints into autogeneration scripts.
2075
2076 * docs/grub.texi (Filesystems): Add a hostdisk example.
2077 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2078 (grub-probe): Add ofpath.
2079 * gentpl.py: Remove group nosparc64.
2080 * grub-core/commands/search.c (cache_entry): New struct.
2081 (cache): New var.
2082 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2083 * grub-core/commands/search_wrap.c (options): Add platform-specific
2084 hint options.
2085 (grub_cmd_search): Handle platform-specific hints.
2086 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2087 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2088 (grub_util_biosdisk_data): Likewise.
2089 (grub_util_biosdisk_open): Set device_map.
2090 (read_device_map): Handle "" as indication of no map.
2091 Set device_map.
2092 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2093 (grub_util_biosdisk_get_compatibility_hint): New function.
2094 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2095 * include/grub/emu/hostdisk.h
2096 (grub_util_biosdisk_get_compatibility_hint): New proto.
2097 * util/grub-install.in: Don't call grub-mkdevicemap.
2098 Add platform-specific hint to load.cfg.
2099 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2100 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2101 hints. Set root preliminary to compatibility hint, not to OS name.
2102 * util/grub-probe.c (PRINT_*): Add hints.
2103 (print): Make static.
2104 (escape_of_path): New function.
2105 (guess_bios_drive): Likewise.
2106 (guess_efi_drive): Likewise.
2107 (guess_baremetal_drive): Likewise.
2108 (print_full_name): Likewise.
2109 (probe): Handle hints.
2110 (main): Likewise.
2111 * util/ieee1275/devicemap.c: Removed.
2112 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2113 updated.
2114 (grub_util_devname_to_ofpath): Return NULL on failure.
2115
2116 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2117 resource leak.
2118 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2119
2120 * po/POTFILES.in: Regenerated.
2121
2122 Allow purely long options
2123
2124 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2125 (SHORT_ARG_USAGE): Likewise.
2126 (grub_arg_show_help): Compare opt with help_options.
2127 (parse_option): Receive opt as argument. If makes big simplificatons.
2128 All users updated
2129
2130 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2133 Restructure to avoid warning.
2134
2135 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * util/grub-install.in: Account for possible escaped comma in device
2138 name.
2139
2140 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2143 channel.
2144
2145 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2148 allocation and zero-setting.
2149 (grub_ieee1275_get_devname): Check that alias is complete.
2150
2151 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2154 unaligned segments.
2155
2156 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2159 prefix.
2160 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2161 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2162 Add ieee1275 prefix.
2163
2164 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 * docs/grub.texi (Filesystems): Update.
2167
2168 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Support odc, newc and bigendian cpio formats.
2171
2172 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2173 * grub-core/Makefile.core.def (newc): New module.
2174 (odc): Likewise.
2175 (cpio_be): Likewise.
2176 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2177 (MAGIC): Likewise.
2178 (MAGIC2): Likewise.
2179 (head) [MODE_ODC]: Adapt for the format.
2180 (head) [MODE_NEWC]: Likewise.
2181 (head) [!MODE_*]: Write fields of interest as arrays.
2182 (MAGIC_USTAR): Removed.
2183 (read_number) [MODE_NEWC]: Change to hex.
2184 (read_number) [!MODE_*]: Parse binary arrays.
2185 (grub_cpio_find_file): Factor out the code for better structure and
2186 always use read_number.
2187 (grub_cpio_mount): Use MAGIC and MAGIC2.
2188 (grub_cpio_dir): Exit on first hook non-0 return.
2189 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2190 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2191 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2192 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2193 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2194 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2195 * grub-core/fs/newc.c: New file.
2196 * grub-core/fs/odc.c: Likewise.
2197 * grub-core/fs/cpio_be.c: Likewise.
2198
2199 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2200
2201 Fix handling of tar numbers occupying the whole field.
2202
2203 * grub-core/fs/cpio.c (read_number): New function.
2204 (grub_cpio_find_file): Use read_number instead of strtoull.
2205
2206 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2209 occupying the whole field size.
2210
2211 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2212
2213 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2214
2215 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2218
2219 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2220
2221 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2222 TARGET_IMG_LDFLAGS.
2223
2224 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2227 (mountinfo_entry): Increase the field size to take escaping into
2228 account.
2229 (find_root_device_from_libzfs): Add one byte to size of strings for
2230 security.
2231
2232 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2233
2234 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2235 an assert.
2236 * util/grub-setup.c (setup): Likewise.
2237
2238 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2239
2240 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2241 _LzmaDecodeA.
2242
2243 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * docs/grub.texi (Internationalisation): New section.
2246
2247 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * docs/grub.texi (Loopback booting): New section.
2250
2251 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
2252
2253 * util/grub-mkstandalone.in: Fix minor typo errors.
2254
2255 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2258
2259 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2260 net/icmp.c and net/icmp6.c.
2261 (http): New module.
2262 (priority_queue): Likewise.
2263 * grub-core/io/bufio.c: Rewritten.
2264 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2265 TYPE_WITH_CONFIGFILE_OPTION.
2266 (legacy_commands): Add bootp and dhcp.
2267 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2268 (grub_legacy_parse): Likewise.
2269 * grub-core/lib/priority_queue.c: New file.
2270 * grub-core/net/arp.c: Add missing license header.
2271 (arp_find_entry): Removed.
2272 (arp_find_entry): Likewise.
2273 (grub_net_arp_resolve): Rename to ...
2274 (grub_net_arp_send_request): ...this.
2275 (grub_net_arp_receive): New card argument.
2276 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2277 Set router and DNS server.
2278 (grub_net_configure_by_dhcp_ack): Handle routing information.
2279 (grub_cmd_bootp): Set checksum.
2280 (grub_bootp_init): Remove net_dhcp.
2281 * grub-core/net/dns.c: New file.
2282 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2283 completion.
2284 (get_card_packet): Handle allocation.
2285 (grub_efinet_findcards): Set mtu.
2286 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2287 (get_card_packet): Handle allocation.
2288 (emucard): Set mtu.
2289 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2290 (GRUB_MOD_INIT): Set mtu.
2291 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2292 mtu.
2293 (get_card_packet): Handle allocation.
2294 (grub_ofnet_findcards): Set mtu.
2295 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2296 assert.
2297 (grub_net_recv_ethernet_packet): Handle IPv6.
2298 * grub-core/net/http.c: New file.
2299 * grub-core/net/icmp.c: Likewise.
2300 * grub-core/net/icmp6.c: Likewise.
2301 * grub-core/net/ip.c (ip6addr): New type.
2302 (ip6hdr): Likewise.
2303 (reassemble): Likewise.
2304 (cmp): New function.
2305 (reassembles): New variable.
2306 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2307 (id): New variable.
2308 (send_fragmented): New function.
2309 (grub_net_send_ip_packet): Rename to ...
2310 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2311 Handle non-UDP.
2312 (grub_net_recv_ip_packets): Rename to ...
2313 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2314 (free_rsm): New function.
2315 (free_old_fragments): Likewise.
2316 (grub_net_recv_ip4_packets): New function.
2317 (grub_net_send_ip6_packet): Likewise.
2318 (grub_net_send_ip_packet): Likewise.
2319 (grub_net_recv_ip6_packets): Likewise.
2320 (grub_net_recv_ip_packets): Likewise.
2321 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2322 (LINK_LAYER_CACHE_SIZE): New const.
2323 (link_layer_find_entry): New function.
2324 (grub_net_link_layer_add_address): Likewise.
2325 (grub_net_link_layer_resolve_check): Likewise.
2326 (grub_net_link_layer_resolve): Likewise.
2327 (grub_net_ipv6_get_slaac): Likewise.
2328 (grub_net_ipv6_get_link_local): Likewise.
2329 (grub_cmd_ipv6_autoconf): Likewise.
2330 (parse_ip): Handle one number representation.
2331 (parse_ip6): New functoion.
2332 (match_net): Handle IPv6.
2333 (grub_net_resolve_address): Handle IPv6 and DNS.
2334 (grub_net_resolve_net_address): Handle IPv6.
2335 (route_cmp): New function.
2336 (grub_net_route_address): Find best route.
2337 (grub_net_addr_to_str): Handle IPv6.
2338 (grub_net_addr_cmp): New function.
2339 (grub_net_add_addr): Register local route.
2340 (print_net_address): Handle net address.
2341 (grub_net_poll_cards): Retransmit TCP.
2342 (grub_net_poll_cards_idle_real): Likewise.
2343 (have_ahead): New function.
2344 (grub_net_seek_real): Use underlying seek.
2345 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2346 * grub-core/net/tcp.c: New file.
2347 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2348 (cmp): New function.
2349 (ack): Likewise.
2350 (tftp_receive): Handle unordered input.
2351 (destroy_pq): New function.
2352 (tftp_close): Close pq.
2353 * grub-core/net/udp.c: Put missing license header.
2354 (grub_net_udp_socket): New function.
2355 (udp_socket_register): Likewise.
2356 (grub_net_udp_close): Likewise.
2357 (grub_net_recv_udp_packet): Check checksum.
2358 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2359 * include/grub/misc.h (grub_memchr): New function.
2360 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2361 (grub_net_card_driver): Return buf in recv.
2362 (grub_net_slaac_mac_list): New struct.
2363 (grub_network_level_protocol_id): Add ipv6.
2364 (grub_net_network_level_addr): Likewise.
2365 (grub_net_network_level_net_addr): Likewise.
2366 (grub_net_app_protocol): Add seek.
2367 (grub_net_socket): Removed.
2368 (grub_net_sockets): Likewise.
2369 (grub_net_socket_register): Likewise.
2370 (grub_net_socket_unregister): Likewise.
2371 (FOR_NET_SOCKETS): Likewise.
2372 (grub_net_add_addr): Add const.
2373 (GRUB_NET_BOOTP_*): New enum.
2374 (grub_net_addr_cmp): New proto.
2375 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2376 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2377 (grub_net_hwaddr_to_str): NEw proto.
2378 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2379 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2380 (grub_dns_init): New proto.
2381 (grub_dns_fini): Likewise.
2382 (grub_net_tcp_retransmit): Likewise.
2383 (grub_net_link_layer_add_address): Likewise.
2384 (grub_net_link_layer_resolve_check): Likewise.
2385 (grub_net_link_layer_resolve): Likewise.
2386 (grub_net_dns_lookup): Likewise.
2387 (grub_net_add_dns_server): Likewise.
2388 (grub_net_remove_dns_server): Likewise.
2389 (GRUB_NET_TRIES): New const.
2390 (GRUB_NET_INTERVAL): Likewise.
2391 * include/grub/net/arp.h: Mostly rewritten.
2392 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2393 * include/grub/net/ip.h: Mostly rewritten.
2394 * include/grub/net/netbuff.h: Indent.
2395 * include/grub/net/tcp.h: New file.
2396 * include/grub/net/udp.h: Mostly rewritten.
2397 * include/grub/priority_queue.h: New file.
2398 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2399 (grub_swap_bytes64_compile_time): Likewise.
2400 (grub_cpu_to_be16_compile_time): Likewise.
2401 (grub_cpu_to_be32_compile_time): Likewise.
2402 (grub_cpu_to_be64_compile_time): Likewise.
2403 (grub_be_to_cpu64_compile_time): Likewise.
2404
2405 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2406
2407 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2408 UINT_TO_PTR with cast.
2409
2410 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2413 don't use them.
2414
2415 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2418 already there.
2419
2420 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2423 confusing ipxe.
2424
2425 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2428 Add missing const attribute.
2429 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2430 Likewise.
2431 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2432 Likewise.
2433
2434 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2437 misaligned access.
2438 (serpent_setkey): Likewise.
2439 (serpent_encrypt_internal): Likewise.
2440 (serpent_decrypt_internal): Likewise.
2441 (serpent_encrypt): Don't put an alignment-increasing cast.
2442 (serpent_decrypt): Likewise.
2443 (serpent_test): Likewise.
2444
2445 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2448
2449 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2450
2451 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2452
2453 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2454 grub_addr_t casts.
2455 (PTR_TO_UINT64): Likewise.
2456 (PTR_TO_UINT32): Likewise.
2457
2458 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2461 because of stack.
2462 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2463 limit.
2464
2465 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2468 text_width > available width a bit more gracefully.
2469
2470 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2473 current address calculation.
2474
2475 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2478 stack.
2479 (encode_block): Likewise.
2480
2481 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2484 certainety.
2485
2486 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2487
2488 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2489 non-RS part to avoid RS messing with GDT.
2490 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2491 Increase to suit in realmode routines.
2492
2493 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/kern/i386/realmode.S: Increase alignment.
2496 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2497
2498 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2501 be deterministic.
2502 (syndroms): Compute 0 syndrom.
2503 (rs_recover): Use 0 syndrom.
2504
2505 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2508
2509 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2512 brackets.
2513
2514 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2517 account.
2518 (get_top_pad): Likewise.
2519 (get_right_pad): Likewise.
2520 (get_bottom_pad): Likewise.
2521
2522 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
2525
2526 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2527
2528 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2529 attribute as the structure isn't guaranteed to be properly aligned.
2530 (grub_efi_pci_device_path): Likewise.
2531 (grub_efi_pccard_device_path): Likewise.
2532 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2533 specify the size of `memory_type'.
2534 (grub_efi_vendor_device_path): Likewise.
2535 (grub_efi_controller_device_path): Likewise.
2536 (grub_efi_acpi_device_path): Likewise.
2537 (grub_efi_expanded_acpi_device_path): Likewise.
2538 (grub_efi_atapi_device_path): Likewise.
2539 (grub_efi_scsi_device_path): Likewise.
2540 (grub_efi_fibre_channel_device_path): Likewise.
2541 (grub_efi_1394_device_path): Likewise.
2542 (grub_efi_usb_device_path): Likewise.
2543 (grub_efi_usb_class_device_path): Likewise.
2544 (grub_efi_i2o_device_path): Likewise.
2545 (grub_efi_mac_address_device_path): Likewise.
2546 (grub_efi_ipv4_device_path): Likewise.
2547 (grub_efi_ipv6_device_path): Likewise.
2548 (grub_efi_infiniband_device_path): Likewise.
2549 (grub_efi_uart_device_path): Likewise.
2550 (grub_efi_vendor_messaging_device_path): Likewise.
2551 (grub_efi_hard_drive_device_path): Likewise.
2552 (grub_efi_cdrom_device_path): Likewise.
2553 (grub_efi_vendor_media_device_path): Likewise.
2554 (grub_efi_file_path_device_path): Likewise.
2555 (grub_efi_protocol_device_path): Likewise.
2556 (grub_efi_piwg_device_path): Likewise.
2557 (grub_efi_bios_device_path): Likewise.
2558
2559 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2562 (grub_ucs4_to_utf8_alloc): Likewise.
2563 (grub_ucs4_to_utf8): Likewise.
2564 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2565 (grub_ucs4_to_utf8_alloc): Likewise.
2566
2567 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 AFFS never uses unicode.
2570
2571 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2572 (grub_latin1_to_utf8): New inline function.
2573 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2574
2575 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2578 overflow.
2579
2580 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2583 (grub_squash_dirent_header): Likewise.
2584 (read_chunk): Don't double swap.
2585 (grub_squash_iterate_dir): Fix swap sizes.
2586
2587 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2590
2591 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2592
2593 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2594 (grub_hfs_iterate_dir): Likewise.
2595
2596 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Fix video on platforms where unaligned access is forbidden.
2599 Make several optimisations while on it.
2600
2601 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2602 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2603 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2604 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2605 Disable.
2606 (grub_video_fbblit_replace_16bit_1bit):
2607 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2608 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2609 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2610 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2611 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2612 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2613 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2614 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2615 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2616 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2617 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2618 (grub_video_fbblit_replace_index_RGB888): Likewise.
2619 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2620 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
2621 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
2622 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2623 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
2624 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2625 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2626 Disable.
2627 (grub_video_fbblit_blend_XXX565_1bit):
2628 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2629 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
2630 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
2631 void *.
2632 * grub-core/video/fb/video_fb.c (common_blitter)
2633 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
2634 (grub_video_fb_create_render_target_from_pointer)
2635 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2636 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
2637 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
2638 definition.
2639 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2640
2641 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
2644 HH22 and HM10 relocations.
2645
2646 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2649
2650 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
2653 allocation succeeded.
2654
2655 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
2658 argument a u8 pointer. All users updated.
2659 Handle unaligned buffers.
2660
2661 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
2664 add_part to workaround compiler bug.
2665
2666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2669
2670 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
2673 Reserve alignment invariants.
2674 (grub_multiboot_load): Likewise.
2675 (retrieve_video_parameters): Likewise.
2676 (grub_multiboot_make_mbi): Likewise.
2677
2678 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
2681 incorrect pointer.
2682
2683 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
2686 (grub_pata_pio_write): Likewise.
2687
2688 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 Add noreturn attributes and remove unreachable code.
2691
2692 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
2693 code.
2694 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
2695 code. Mark as noreturn.
2696 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
2697 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
2698 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
2699 unreachable code.
2700 * grub-core/kern/main.c (grub_main): Mark as noreturn.
2701 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
2702 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
2703 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
2704 * include/grub/kernel.h (grub_main): Mark as noreturn.
2705 * include/grub/reader.h (grub_rescue_run): Likewise.
2706
2707 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
2710 redundant declaration.
2711
2712 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * include/grub/net.h (grub_net_network_level_interfaces): Remove
2715 redundant declaration.
2716 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
2717
2718 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
2721 to ensure alignment.
2722 (grub_hdparm_print_identify): Make argument uint16 * to ensure
2723 alignment. Ensure tmp alignment.
2724 (grub_cmd_hdparm): Ensure buf alignment.
2725 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
2726 to ensure alignment.
2727 (grub_ata_dumpinfo): Ensure text alignment.
2728 (grub_atapi_identify): Preserve alignment invariant.
2729 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2730
2731 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
2734 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
2735 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
2736 * include/grub/misc.h (grub_reboot)
2737 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
2738 (grub_halt) [__mips__]: Likewise.
2739
2740 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
2743 Remove redundant declaration.
2744 (grub_mmap_get_post64): Likewise.
2745 (grub_mmap_get_upper): Likewise.
2746 (grub_mmap_get_lower): Likewise.
2747
2748 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
2751 uint32_t * to ensure alignment.
2752 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
2753
2754 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
2757 uint16_t * to ensure alignment.
2758 (sun_pc_partition_map_iterate): Make `block' a union to ensure
2759 alignment.
2760
2761 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
2764 to ensure alignment.
2765 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
2766
2767 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/fs/ntfs.c (u16at): Make into inline function.
2770 Handle unaligned pointers.
2771 (u32at): Likewise.
2772 (u64at): Likewise.
2773 (fixup): Use byte access instead of v16at.
2774 (find_attr): Fix imporper usage of v32at.
2775 (read_data): Likewise.
2776 (list_file): Handle byte-swapping and unaligned strings.
2777 (grub_ntfs_label): Likewise.
2778
2779 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
2782 as it's not necessarily aligned.
2783
2784 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
2787 redundant declaration.
2788 (grub_serial_init): Likewise.
2789 (grub_terminfo_init): Likewise.
2790
2791 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
2794 function.
2795 (ZAP_HASH_IDX): Likewise.
2796 (ZAP_LEAF_HASH_SHIFT): Likewise.
2797 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
2798 (LEAF_HASH): Likewise.
2799 (ZAP_LEAF_NUMCHUNKS): Likewise.
2800 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
2801 alignment invariants. Return pointer. All users updated.
2802 (ZAP_LEAF_ENTRY): Make into inline function.
2803 (NBBY): Removed.
2804 (xor): LIkewise.
2805 (xor_out): Use grub_crypto_xor.
2806 (dnode_get_path): Use grub_get_unaligned.
2807 (nvlist_find_value): Likewise.
2808 (grub_zfs_nvlist_lookup_uint64): Likewise.
2809 (grub_zfs_nvlist_lookup_string): Likewise.
2810 (get_nvlist_size): Likewise.
2811 (grub_zfs_open): Likewise.
2812 (fill_fs_info): Likewise.
2813 (grub_zfs_dir): Likewise.
2814 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
2815 alignment invariants.
2816 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
2817 necessarily aligned.
2818
2819 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
2822
2823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2824
2825 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
2826 arithmetic to conserve alignment invariants.
2827
2828 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2829
2830 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
2831 redundant declaration.
2832 (grub_efiemu_mm_obtain_request): Likewise.
2833 (grub_efiemu_prepare): Likewise.
2834
2835 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
2838 to match types.
2839
2840 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2841
2842 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
2843 case of aunaligned recptr.
2844 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
2845 alignment.
2846 (grub_hfsplus_btree_search): Handle unaligned index.
2847
2848 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
2851 to get freetag and skip.
2852
2853 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2854
2855 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
2856 array.
2857 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
2858 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
2859
2860 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
2863 name for checksum and fix allocation algorithm.
2864
2865 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 * include/grub/types.h (grub_properly_aligned_t): New type.
2868 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
2869 (grub_get_unaligned16): Add explicit casts.
2870 (grub_get_unaligned32): Likewise.
2871 (grub_get_unaligned64): Likewise.
2872 (grub_set_unaligned16): New function.
2873 (grub_set_unaligned32): Likewise.
2874
2875 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2878
2879 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2880
2881 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
2882 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
2883 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2884
2885 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
2888 conditionals.
2889
2890 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
2893 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
2894
2895 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 Unify and improve RAID and crypto xor.
2898
2899 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
2900 changed to grub_crypto_xor
2901 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
2902 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
2903 Use bigger types when possible.
2904
2905 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/disk/raid.c (scan_devices): Fix condition.
2908
2909 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
2912 Make name a const ptr.
2913
2914 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
2917 first argument a const pointer.
2918 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
2919 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
2920 proto.
2921 (grub_children_iterate): Likewise.
2922 (grub_machine_mmap_iterate): Remove redundant declaration.
2923
2924 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
2927 (grub_cmd_acpi) [!x86]: Disable EBDA.
2928
2929 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2930
2931 Enable UTF8 in gnulib regexp.
2932
2933 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
2934 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
2935 (isupper): Use grub_isupper.
2936 (isascii): New inline function.
2937 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
2938 * grub-core/lib/posix_wrap/wctype.h: Likewise.
2939 * grub-core/normal/charset.c (grub_utf8_process): New function.
2940 (grub_utf8_to_utf16): Use grub_utf8_process.
2941 (grub_encode_utf8_character): New function.
2942 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
2943 * include/grub/charset.h (grub_utf8_process): New declaration.
2944 (grub_encode_utf8_character): Likewise.
2945 * include/grub/misc.h (grub_islower): New inline function.
2946 (grub_isupper): Likewise.
2947 (grub_strchrsub): Moved down to fix the definitions.
2948
2949 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
2952 specification.
2953
2954 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * include/grub/loader.h (grub_loader_register_preboot_hook):
2957 Use struct preboot * and not void * for handle. All users updated.
2958 (grub_loader_unregister_preboot_hook): Likewise.
2959
2960 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2963 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2964 UTF-16-BE. All users updated.
2965 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2966 (grub_hfsplus_iterate_dir): Likewise.
2967 (grub_hfsplus_label): Likewise.
2968
2969 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2972
2973 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 Add missing const qualifiers.
2976
2977 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2978 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2979 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2980 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2981 (grub_lvm_check_flag): Likewise.
2982 * grub-core/efiemu/i386/coredetect.c
2983 (grub_efiemu_get_default_core_name): Likewise
2984 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2985 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2986 * grub-core/fs/ntfs.c (fixup): Likewise.
2987 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2988 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2989 (fzap_lookup): Likewise.
2990 (zap_lookup): Likewise.
2991 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2992 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2993 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2994 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2995 (grub_freebsd_add_meta_module): Likewise.
2996 (grub_cmd_freebsd_module): Likewise.
2997 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2998 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2999 (grub_xnu_writetree_get_size): Likewise.
3000 (grub_xnu_writetree_toheap_real): Likewise.
3001 (grub_xnu_find_key): Likewise.
3002 (grub_xnu_create_key): Likewise.
3003 (grub_xnu_create_value): Likewise.
3004 (grub_xnu_register_memory): Likewise.
3005 (grub_xnu_check_os_bundle_required): Likewise.
3006 (grub_xnu_scan_dir_for_kexts): Likewise.
3007 (grub_xnu_load_kext_from_dir): Likewise.
3008 * grub-core/normal/color.c (color_list): Likewise.
3009 * grub-core/normal/completion.c (current_word): Likewise.
3010 * grub-core/normal/menu_entry.c (insert_string): Likewise.
3011 * grub-core/term/serial.c (grub_serial_find): Likewise.
3012 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
3013 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
3014 Likewise.
3015 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
3016 (grub_freebsd_add_meta_module): Likewise.
3017 * include/grub/lib/arg.h (grub_arg_option): Likewise.
3018 * include/grub/net.h (grub_net_card_driver): Likewise.
3019 (grub_net_card): Likewise.
3020 (grub_net_app_protocol): Likewise.
3021 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
3022 * include/grub/serial.h (grub_serial_find): Likewise.
3023 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3024 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3025 (grub_xnu_create_value): Likewise.
3026 (grub_xnu_find_key): Likewise.
3027 (grub_xnu_scan_dir_for_kexts): Likewise.
3028 (grub_xnu_load_kext_from_dir): Likewise.
3029
3030 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3031 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3032 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3033 Moved from here ...
3034 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3035
3036 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
3037
3038 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3039
3040 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3041
3042 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3043 (read_device): Fix size calculation.
3044
3045 2011-11-25 Robert Millan <rmh@gnu.org>
3046
3047 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3048 (find_root_device_from_libzfs): Add zpool output parser to be used
3049 as fallback when libzfs isn't available.
3050
3051 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3052
3053 * po/Makefile.in.in: Add missing escape-continuation.
3054
3055 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3058
3059 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3060
3061 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3062
3063 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3066
3067 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3070
3071 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/lib/adler32.c: Add missing license specification.
3074 * grub-core/lib/crc64.c: Likewise.
3075 * grub-core/loader/i386/pc/plan9.c: Likewise.
3076 * grub-core/partmap/plan.c: Likewise.
3077
3078 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3079
3080 Add facility to debug GRUB with gdb under qemu.
3081
3082 * grub-core/gdb_grub.in: New file.
3083 * grub-core/gmodule.pl.in: Likewise.
3084 * grub-core/Makefile.core.def (gmodule.pl): New script.
3085 (gdb_grub): Likewise.
3086
3087 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3088
3089 * util/grub-mount.c (argp_parser): Accept relative pathes.
3090 * util/grub-fstest.c (argp_parser): Likewise.
3091
3092 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3093
3094 Plan9 support.
3095
3096 * Makefile.util.def (libgrubmods): Add
3097 grub-core/partmap/plan.c.
3098 * docs/grub.texi: Notice Plan9 support.
3099 * grub-core/Makefile.core.def (plan9): New module.
3100 (part_plan): Likewise.
3101 * grub-core/loader/i386/pc/plan9.c: New file.
3102 * grub-core/partmap/plan.c: Likewise.
3103 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3104 define.
3105 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3106 * include/grub/mm.h (grub_extend_alloc): New inline function.
3107
3108 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Make Reed-Solomon faster by using power of generator representation of
3111 GF(256)*.
3112
3113 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3114 (gf_double_t): Likewise.
3115 (gf_invert): Removed.
3116 (gf_powx): New array.
3117 (gf_powx_inv): Likewise.
3118 (scratch): Move higher.
3119 (gf_reduce): Removed.
3120 (gf_mul): Use powx.
3121 (gf_invert): Likewise.
3122 (init_inverts): Replaced with ...
3123 (init_powx): ...this. All users updated.
3124 (pol_evaluate): Replace multiplications with additions.
3125 (rs_encode): Likewise.
3126 (gauss_eliminate): Call gf_invert.
3127 (grub_reed_solomon_add_redundancy): Call init_powx.
3128 (grub_reed_solomon_recover): Call init_powx unconditionally.
3129
3130 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3133
3134 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3137 disk->partiton for safety.
3138
3139 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3142 Fix a memory leak.
3143 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3144
3145 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3148
3149 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3152
3153 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 Fix spaces handling in proc/self/mountinfo.
3156
3157 * util/getroot.c (unescape): New function.
3158 (grub_find_root_device_from_mountinfo): Use unescape.
3159
3160 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Support ZFS embedding.
3163
3164 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3165 (grub_zfs_fs): Register grub_zfs_embed.
3166
3167 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Fix MIPS compilation.
3170
3171 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3172 * include/grub/offsets.h: Rename decompressor fields from
3173 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3174 * util/grub-mkimage.c (image_targets): Use new names.
3175
3176 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3177
3178 Defer multiboot device parsing until we're in compressed part.
3179
3180 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3181 bsd_part. setdevice has fallen into disuse.
3182 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3183 (bsd_part): Likewise.
3184 (boot_dev): New variable.
3185 (multiboot_trampoline): Don't parse multiboot device.
3186 Pass multiboot device in %edx.
3187 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3188 grub_boot_device.
3189 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3190 Likewise.
3191 * grub-core/kern/i386/pc/startup.S: Save edx.
3192 (grub_boot_drive): Removed.
3193 (grub_install_dos_part): Likewise.
3194 (grub_install_bsd_part): Likewise.
3195 (grub_boot_device): New variable.
3196 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3197 (grub_install_bsd_part): Likewise.
3198 (grub_boot_drive): Likewise.
3199 (grub_boot_device): New variable.
3200 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3201 Removed.
3202 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3203 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3204 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3205 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3206 * util/grub-install.in: Remove redundant condition.
3207
3208 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Fix bug introduced by previous commit.
3211
3212 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3213
3214 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 Use decompressors framework on i386-pc. It increases core size
3217 by 46 bytes but improves compatibility and maintainability.
3218
3219 * grub-core/Makefile.core.def (lzma_decompress): New image.
3220 (kernel): Add i386_pc_ldflags.
3221 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3222 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3223 to real_to_prot, prot_to_real and device info.
3224 * include/grub/offsets.h: Renamed decompressor offsets.
3225 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3226 (image_target_desc): Remove raw_size and rename decompressor fields.
3227 (compress_kernel): Handle lzma.
3228 (generate_image): Handle decompressors on i386-pc.
3229
3230 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3231
3232 * configure.ac: Add -fno-asynchronous-unwind-tables.
3233
3234 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3235
3236 Move assembly code to C by using intwrap. It increases core size
3237 by 88 bytes but improves compatibility and maintainability.
3238
3239 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3240 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3241 ... here. Translated to C.
3242 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3243 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3244 ... here. Translated to C.
3245 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3246 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3247 ... here. Translated to C.
3248 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3249 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3250 ... here. Translated to C.
3251 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3252 * grub-core/term/i386/pc/console.c (grub_console_cls):
3253 ... here. Translated to C.
3254 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3255 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3256 ... here. Translated to C.
3257 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3258 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3259 Translated to C.
3260 * grub-core/term/i386/pc/console.c (int10_9): New function.
3261 (grub_console_putchar): Likewise.
3262 * include/grub/i386/pc/console.h: Removed the not anymore shared
3263 functions.
3264
3265 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Move grub_chainloader_real_boot out of the kernel.
3268
3269 * grub-core/Makefile.am: Remove machine/loader.h.
3270 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3271 Removed.
3272 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3273 variable.
3274 (grub_relocator16_keep_a20_enabled): Likewise.
3275 (grub_relocator16_boot): Fill new variables.
3276 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3277 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3278 relocator.
3279 (grub_chainloader_unload): Likewise.
3280 (grub_chainloader_cmd): Likewise.
3281 * include/grub/i386/pc/loader.h: Removed.
3282 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3283 and esi. All initialisers updated.
3284
3285 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3286 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
3287
3288 * Makefile.util.def (grub-mount): New util.
3289 * .bzrignore: Add grub-mount.
3290 * configure.ac: Check for fuse and enable grub-mount if available.
3291 * docs/man/grub-mount.h2m: New file.
3292 * util/grub-mount.c: Likewise.
3293
3294 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/commands/efi/fixvideo.c: Gettextize.
3297 * grub-core/commands/hashsum.c: Likewise.
3298 * grub-core/commands/i386/cmostest.c: Likewise.
3299 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3300 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3301 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3302 * grub-core/commands/lsmmap.c: Likewise.
3303 * grub-core/commands/menuentry.c: Likewise.
3304 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3305 * grub-core/commands/setpci.c: Likewise.
3306 * grub-core/loader/i386/bsd.c: Likewise.
3307 * grub-core/loader/i386/linux.c: Likewise.
3308 * util/getroot.c: Likewise.
3309 * util/grub-editenv.c: Likewise.
3310 * util/grub-fstest.c: Likewise.
3311 * util/grub-mkfont.c: Likewise.
3312 * util/grub-mkimage.c: Likewise.
3313 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3314 * util/grub-pe2elf.c: Likewise.
3315 * util/grub-probe.c: Likewise.
3316 * util/grub-setup.c: Likewise.
3317 * util/ieee1275/ofpath.c: Likewise.
3318 * util/misc.c: Likewise.
3319 * util/raid.c: Likewise.
3320
3321 2011-11-11 Robert Millan <rmh@gnu.org>
3322
3323 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3324 __attribute__((unused)) from `os_dev', which *is* being used.
3325
3326 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3327
3328 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3329 forgotten define.
3330 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3331 GRUB_IA64_DL_GOT_ALIGN.
3332 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3333 GRUB_IA64_DL_TRAMP_ALIGN.
3334
3335 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 Replace grub_fatal with normal errors in i386 linux loader.
3338
3339 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3340 (allocate_pages): Check find_efi_mmap_size return value.
3341 (grub_e820_add_region): Return error.
3342 (grub_linux_boot): Check mmap return value.
3343
3344 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3345
3346 * grub-core/commands/acpihalt.c: Gettextized.
3347 * grub-core/commands/cacheinfo.c: Likewise.
3348 * grub-core/commands/cmp.c: Likewise.
3349 * grub-core/commands/efi/loadbios.c: Likewise.
3350 * grub-core/commands/gptsync.c: Likewise.
3351 * grub-core/commands/ieee1275/suspend.c: Likewise.
3352 * grub-core/commands/legacycfg.c: Likewise.
3353 * grub-core/commands/memrw.c: Likewise.
3354 * grub-core/commands/minicmd.c: Likewise.
3355 * grub-core/commands/parttool.c: Likewise.
3356 * grub-core/commands/time.c: Likewise.
3357 * grub-core/commands/videoinfo.c: Likewise.
3358 * grub-core/disk/geli.c: Likewise.
3359 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3360 * grub-core/disk/luks.c: Likewise.
3361 * grub-core/disk/lvm.c: Likewise.
3362 * grub-core/font/font_cmd.c: Likewise.
3363 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3364 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3365 * grub-core/gfxmenu/view.c: Likewise.
3366 * grub-core/kern/emu/hostdisk.c: Likewise.
3367 * grub-core/kern/emu/main.c: Likewise.
3368 * grub-core/kern/emu/misc.c: Likewise.
3369 * grub-core/kern/emu/mm.c: Likewise.
3370 * grub-core/kern/mips/arc/init.c: Likewise.
3371 * grub-core/kern/mips/loongson/init.c: Likewise.
3372 * grub-core/kern/partition.c: Likewise.
3373 * grub-core/lib/i386/halt.c: Likewise.
3374 * grub-core/lib/mips/arc/reboot.c: Likewise.
3375 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3376 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3377 * grub-core/loader/i386/xnu.c: Likewise.
3378 * grub-core/loader/multiboot.c: Likewise.
3379 * grub-core/net/bootp.c: Likewise.
3380 * grub-core/net/net.c: Likewise.
3381 * grub-core/normal/term.c: Likewise.
3382 * grub-core/partmap/bsdlabel.c: Likewise.
3383 * grub-core/parttool/msdospart.c: Likewise.
3384 * grub-core/term/gfxterm.c: Likewise.
3385 * grub-core/term/terminfo.c: Likewise.
3386 * grub-core/video/i386/pc/vbe.c: Likewise.
3387 * util/grub-menulst2cfg.c: Likewise.
3388 * util/grub-mkdevicemap.c: Likewise.
3389 * util/grub-mklayout.c: Likewise.
3390 * util/grub-mkrelpath.c: Likewise.
3391 * util/grub-script-check.c: Likewise.
3392 * util/ieee1275/grub-ofpathname.c: Likewise.
3393 * util/resolve.c: Likewise.
3394
3395 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 Support %1$d syntax.
3398
3399 * tests/printf_unit_test.c: New file.
3400 * Makefile.util.def (printf_test): New test.
3401 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3402
3403 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3404
3405 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3406 fix.
3407
3408 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3409
3410 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3411 dprintf.
3412 * grub-core/font/font.c (grub_font_load): Likewise.
3413
3414 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3415
3416 * util/grub-macho2img.c: Add comment concerning gettext.
3417 * grub-core/lib/legacy_parse.c: Likewise.
3418
3419 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3420
3421 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3422 (grub_xvasprintf): Likewise.
3423
3424 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 Add const keyword to grub_env_get and gettextize week days.
3427
3428 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3429 (grub_read_hook_datetime): Return const char *.
3430 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3431 updated.
3432 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3433 Mark for gettext.
3434 (grub_get_weekday_name): Return const char *. Call gettext.
3435 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3436 char * and len as the argument. All users updated.
3437 (grub_script_argv_split_append): Receive const char *.
3438 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3439 * include/grub/env.h (grub_env_get): Likewise.
3440 (grub_env_read_hook_t): Return const char *.
3441 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3442 (grub_script_argv_split_append): Likewise.
3443
3444 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3447
3448 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3451 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3452
3453 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3456 Fix prototype.
3457
3458 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Fix mips compilation.
3461
3462 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3463 normal decoder.
3464 (hashes): Use in embed decoder as well (for sizes).
3465 (dec_stream_header): Fix embed decompressor logic.
3466 (dec_stream_footer): Likewise.
3467
3468 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3469
3470 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3471 an error and not a fatal on unrecognised relocation types.
3472
3473 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3476 Issue error rather than printf on unknown arguments.
3477
3478 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3481 Make buf a const.
3482
3483 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3486 Fix module name.
3487
3488 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3489
3490 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3491 leftover debug printf.
3492
3493 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3494
3495 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3496
3497 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3498
3499 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3500 A stylistic fix.
3501
3502 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3503
3504 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3505
3506 2011-11-10 Shea Levy <slevy@tieronedesign.com>
3507
3508 Allow all modules to perform serial IO
3509
3510 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3511 * include/grub/serial.h (grub_serial_port_configure): New inline
3512 function.
3513 (grub_serial_port_fetch): Likewise.
3514 (grub_serial_port_put): Likewise.
3515 (grub_serial_port_fini): Likewise.
3516 (grub_serial_find): New proto.
3517
3518 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 Put symlink at the end of the node and fix a potential
3521 memory corruption.
3522
3523 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3524 Make symlink into an array.
3525 (set_rockridge): Set have_symlink and alloc_dirents.
3526 (grub_iso9660_read_symlink): Use new layout.
3527 (grub_iso9660_iterate_dir): Fix memory corruption.
3528 Use new layout.
3529 (grub_iso9660_dir): Set have_symlink.
3530 (grub_iso9660_open): Likewise.
3531
3532 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 Remove local keyword.
3535
3536 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3537 (version_test_gt): Likewise.
3538 (version_find_latest): Likewise.
3539 (gettext_printf): Likewise.
3540 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3541
3542 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3543
3544 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3545
3546 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 Fix ZFS memory and resource leaks.
3549
3550 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3551 All users updated.
3552 Free type on exit.
3553 (fill_vdev_info): New parameter inserted. All users updated.
3554 (check_pool_label): Likewise.
3555 (scan_disk): Likewise.
3556 (scan_devices): Close non-inserted disks.
3557 (fzap_iterate): Free l.
3558 (unmount_device): Free children descripto memory.
3559
3560 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3563 argument (access out of bounds).
3564
3565 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3568 >= 6 drives.
3569
3570 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3573 Fix declaration.
3574
3575 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3576
3577 Fix several memory leaks.
3578
3579 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3580 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3581 (grub_cpio_dir): Likewise.
3582 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3583 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3584 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3585 (grub_romfs_label): Likewise.
3586 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3587 (squash_unmount): New function.
3588 (grub_squash_dir): Fix memory leak.
3589 (grub_squash_open): Likewise.
3590 (grub_squash_read): Likewise.
3591 (grub_squash_mtime): Likewise.
3592 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3593 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3594 * util/grub-fstest.c (fstest): Likewise.
3595
3596 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3599 avoid accessing beyond the array.
3600
3601 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3604
3605 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Several AFFS fixes.
3608
3609 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3610 (GRUB_AFFS_FLAG_FFS): Removed.
3611 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3612 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3613 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3614 (grub_fshelp_node): Make block 32-bit.
3615 Add block_cache and last_block_cache.
3616 (grub_affs_read_block): Fill and use block cache.
3617 (grub_affs_read_file): Removed.
3618 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3619 boot block.
3620 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
3621 safety.
3622 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
3623 space.
3624 (grub_affs_close): Free block cache.
3625 (grub_affs_read): Use grub_fshelp_read_file directly.
3626
3627 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
3630 with no error set.
3631
3632 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
3635 used variable.
3636 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3637 Likewise.
3638
3639 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
3642
3643 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
3644 byteswap when needed.
3645
3646 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 Fix FreeBSD compilation.
3649
3650 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
3651 to avoid circular dependency.
3652 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
3653 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
3654 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
3655
3656 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3657
3658 Fix ZFS crypto error types.
3659
3660 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
3661 (grub_gcm_decrypt): Likewise.
3662 (grub_zfs_load_key_real): Fix error code type. Handle possible error
3663 from PBKDF2.
3664
3665 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 Illumos support.
3668
3669 * Makefile.util.def (10_illumos): New script.
3670 * configure.ac: Set COND_HOST_ILLUMOS.
3671 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
3672 Support Illumos calls.
3673 (find_partition_start) [__sun__]: Likewise.
3674 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
3675 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
3676 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
3677 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
3678 device.
3679 * util/grub-probe.c (probe) [__sun__]: Do character check.
3680 * util/grub.d/10_illumos.in: New file.
3681
3682 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 Support escaped commas in hostdisk.
3685
3686 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
3687 (find_grub_drive): Use unescape_cmp.
3688 (make_device_name): Escape commas.
3689
3690 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
3693
3694 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3695
3696 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
3697 variable.
3698
3699 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3700
3701 Support trampoline jumps on powerpc.
3702
3703 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
3704 __ia64__ path.
3705 (grub_dl_load_segments): Set mod->sz.
3706 (grub_dl_flush_cache): Flush whole space occupied by module, not just
3707 segments.
3708 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
3709 (jump): Likewise.
3710 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
3711 function.
3712 (trampoline): New struct.
3713 (trampoline_template): New const.
3714 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
3715 * include/grub/dl.h (grub_dl): Add sz element.
3716 [__powerpc__]: Follow __ia64__.
3717 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
3718 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
3719 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
3720 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
3721
3722 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 ZFS crypto support.
3725
3726 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
3727 * grub-core/Makefile.core.def (zfscrypt): New module.
3728 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
3729 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
3730 it. All users updated.
3731 (grub_zfs_decrypt): New var.
3732 (grub_zfs_load_key): Likewise.
3733 (zio_checksum_functions): Add SHA256+MAC.
3734 (zio_checksum_verify): Handle incomplete comparison due to MAC.
3735 (zio_read): Handle encrypted blocks.
3736 (zap_verify): Remove incorrect check.
3737 (fzap_iterate): Handle non-standard fzap.
3738 (zap_iterate): Likewise.
3739 (zap_iterate_u64): New function.
3740 (dnode_get_fullpath): Load keys.
3741 * grub-core/fs/zfs/zfscrypt.c: New file.
3742 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
3743 (grub_crypto_ecb_encrypt): Make input const.
3744 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
3745 (grub_crypto_ecb_encrypt): Make input const.
3746 (GRUB_CIPHER_AES): New macro.
3747 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
3748 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
3749 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
3750 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
3751 prefix. All users updated.
3752 (grub_zfs_add_key): New proto.
3753 (grub_zfs_decrypt): Likewise.
3754 (grub_zfs_load_key): Likewise.
3755 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
3756 * util/grub-fstest.c (options): Add -K option.
3757 (argp_parser): Likewise.
3758
3759 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 Support zle compression on ZFS.
3762
3763 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
3764 (decomp_table): Add zle.
3765 * include/grub/zfs/zio.h (zio_compress): Add zle.
3766
3767 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3768
3769 Support BtrFS embedding.
3770
3771 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
3772 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
3773 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
3774 * util/grub-setup.c (setup): Use fs embedding if available.
3775 Add additional sanity check.
3776
3777 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * util/grub-install.in: Fix condition for config_opt.
3780
3781 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 Support third redundancy strip on raidz3.
3784
3785 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
3786 Return error on singularity. All users updated.
3787 (read_device): Don't stop on 3rd failure on raidz3.
3788
3789 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Support case-insensitive ZFS subvolumes.
3792
3793 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
3794 All users updated.
3795 (zap_hash): Likewise.
3796 (name_cmp): New function.
3797 (zap_leaf_array_equal): New parameter case_insensitive.
3798 All users updated.
3799 (zap_leaf_lookup): Likewise.
3800 (fzap_lookup): Likewise.
3801 (zap_lookup): Likewise.
3802 (dnode_get_path): New parameter case_insensitive. Retrieve case
3803 sensitiviness of a volume. All users updated.
3804 (dnode_get_fullpath): New parameter case_insensitive.
3805 All users updated.
3806 (grub_zfs_dir): Set info.case_insensitiveness.
3807
3808 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 Support second redundancy strip on raidz(2,3).
3811
3812 * grub-core/fs/zfs/zfs.c (powx): New array.
3813 (powx_inv): Likewise.
3814 (poly): New const.
3815 (xor_out): New function.
3816 (gf_mul): Likewise.
3817 (recovery): Likewise.
3818 (read_device): Use second redundancy strip.
3819
3820 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 Use a power of generator representation of GF(256) multiplication group
3823 to save space time and complexity.
3824
3825 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
3826 (raid6_table2): Likewise.
3827 (powx): New array.
3828 (powx_inv): Likewise.
3829 (poly): New const.
3830 (grub_raid_block_mul): Replace with ...
3831 (grub_raid_block_mulx): ...this.
3832 (grub_raid6_init_table): Rewritten.
3833 (grub_raid6_recover): Use power of generator representation.
3834
3835 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
3838 for the right device.
3839
3840 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
3843 expected by grub-mkimage and it's more clear since there is no implicit
3844 padding.
3845
3846 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3847
3848 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
3849 disk.
3850 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3851
3852 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
3853
3854 * util/grub-mkrescue.in: Fix handling xorriso option.
3855
3856 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
3859 NULL.
3860
3861 2011-11-03 crocket <crockabiscuit@gmail.com>
3862
3863 * util/grub.d/10_linux.in: Add Slackware initrd naming.
3864
3865 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 XZ CRC64 and SHA256 support.
3868
3869 * Makefile.util.def (libgrubmods): Add crc64.c.
3870 * grub-core/Makefile.core.def (crc64): New module.
3871 * grub-core/lib/crc64.c: New file.
3872 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
3873 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
3874 Fix the type.
3875 (MAX_HASH_SIZE): New define.
3876 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
3877 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
3878 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3879 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3880 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
3881 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
3882 Handle non-crc32 hashes.
3883 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
3884 (dec_stream_header): Handle non-crc32 hashes.
3885 (dec_stream_footer): Likewise.
3886 (dec_block_header): Likewise.
3887 (dec_main): Likewise.
3888 (xz_dec_init): Likewise.
3889 (xz_dec_reset): Likewise.
3890 (xz_dec_end): Likewise.
3891 * util/import_gcry.py: Add CRC64 line.
3892
3893 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
3896 as well.
3897
3898 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 Make reiserfs label retrieval similar to other *_label functions.
3901
3902 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
3903 (REISERFS_MAX_LABEL_LENGTH): Removed.
3904 (REISERFS_LABEL_OFFSET): Likewise.
3905 (grub_reiserfs_label): Rewritten.
3906
3907 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
3910 field.
3911
3912 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
3915
3916 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
3919 drive failure on both raidz and raidz2.
3920
3921 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 Fix RAIDZ(2) for >= 5 devices.
3924
3925 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
3926 asize argument. All users updated.
3927
3928 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 Fix RAIDZ(2).
3931
3932 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
3933 (fill_vdev_info_real): Set ashift.
3934 (read_device): Rewrite RAIDZ part based on reverse engineering.
3935
3936 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
3939 don't report potentially unavialiable fields in debug output.
3940 (find_path): Fix double-free and memory leak.
3941
3942 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 Read label on UFS1.
3945
3946 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
3947 (grub_ufs_fs): Always set .label.
3948
3949 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Use shifts in UFS.
3952
3953 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3954 (grub_ufs_data): New field log2_blksz.
3955 (grub_ufs_read_file): Use shifts.
3956 (grub_ufs_mount): Check block size and logarithm it.
3957
3958 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3961 long symlinks.
3962
3963 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Handle symlinks and long names on tar and cpio.
3966
3967 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3968 (ATTR_FILE): Likewise.
3969 (ATTR_DIR): Likewise.
3970 (ATTR_LNK): Likewise.
3971 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3972 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3973 L and K entries.
3974 (grub_cpio_mount): Zero-fill data.
3975 (handle_symlink): New function.
3976 (grub_cpio_dir): Handle symlinks.
3977 (grub_cpio_open): Likewise.
3978 (grub_cpio_close) [MODE_USTAR]: Free linkname.
3979
3980 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 Fix iso9660 filename limitations and fix memory leaks.
3983
3984 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3985 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3986
3987 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 Fix JFS file name length limitations.
3990
3991 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3992 (grub_jfs_diropen): Fix maximum filename length.
3993 (grub_jfs_getent): Fix filename length.
3994 (grub_jfs_lookup_symlink): Fix size checks.
3995
3996 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3999 string.
4000
4001 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 Leverage BFS implementation to read AFS.
4004
4005 * Makefile.util.def (libgrubmods): Add afs.c.
4006 * grub-core/Makefile.core.def (afs): New module
4007 * grub-core/fs/afs.c: New file.
4008 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
4009
4010 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
4013
4014 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 * grub-core/fs/bfs.c: Run indent.
4017
4018 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 BFS implementation based on the specification.
4021
4022 * grub-core/fs/bfs.c: New file.
4023 * Makefile.util.def (libgrubmods): Add bfs.c.
4024 * grub-core/Makefile.core.def (bfs): New module.
4025
4026 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * util/grub-fstest.c (cmd_cp): Clarify error message.
4029 (cmd_cmp): Likewise.
4030
4031 2011-10-30 Yves Blusseau <blusseau@zetam.org>
4032
4033 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4034 and befs_be.
4035
4036 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 Remove afs and befs because of copyright problem.
4039
4040 * grub-core/fs/afs.c: Removed.
4041 * grub-core/fs/afs_be.c: Removed.
4042 * grub-core/fs/befs.c: Removed.
4043 * grub-core/fs/befs_be.c: Removed.
4044 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4045 * grub-core/Makefile.core.def (afs): Removed.
4046 (afs_be): Likewise.
4047 (befs): Likewise.
4048 (befs_be): Likewise.
4049
4050 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4051
4052 Prefer rockridge over Joliet.
4053
4054 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4055 to ...
4056 (set_rockridge): ... here.
4057 (grub_iso9660_mount): Check rockridge on the primary label when
4058 discovering. Ignore Joliet if Rockridge is present.
4059
4060 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 Use shifts in nilfs2.
4063
4064 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4065 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4066 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4067 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4068 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4069 (grub_nilfs2_entries_per_block): Replaced with ...
4070 (grub_nilfs2_log_entries_per_block_log): ... this.
4071 (grub_nilfs2_blocks_per_group): Replaced with ...
4072 (grub_nilfs2_blocks_per_group_log): ... this.
4073 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4074 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4075 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4076 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4077 (grub_nilfs2_palloc_entry_offset): Replaced ...
4078 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4079 (grub_nilfs2_dat_translate): Use shifts.
4080 (grub_nilfs2_read_inode): Likewise.
4081 (GRUB_MOD_INIT): Ensure that logs are correct.
4082
4083 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Use shifts in minix filesystem.
4086
4087 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4088 (GRUB_MINIX_ZONE2SECT): Likewise.
4089 (grub_minix_data): Replace block_size with log_block_size.
4090 (grub_minix_read_file): Use shifts.
4091 (grub_minix_mount): Check block size and take a logarithm.
4092
4093 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 Use shifts in squash4.
4096
4097 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4098 (squash_mount): Check block size and take logarithm.
4099 (direct_read): Use shifts.
4100
4101 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4102
4103 Correct befs block counting logic.
4104
4105 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4106 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4107 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4108 (grub_afs_read_inode): Use block_shift.
4109 (RANGE_SHIFT): New definition.
4110 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4111 unexpected conditions, use shifts and appropriate types.
4112 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4113
4114 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 * grub-core/disk/raid.c (scan_devices): Check partition.
4117 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4118
4119 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4120
4121 Support BFS (befs) UUID.
4122
4123 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4124 (grub_afs_small_data_element_header): New struct.
4125 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4126 (grub_afs_read_attribute) [MODE_BFS]: New function.
4127 (grub_afs_iterate_dir): Allocate for complete inode.
4128 (grub_afs_mount): Likewise.
4129 (grub_afs_uuid) [MODE_BFS]: New function.
4130 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4131
4132 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4133
4134 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4135 (zfs_unmount): Fix memory leak.
4136
4137 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 Support NTFS reparse points.
4140
4141 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4142 (symlink_descriptor): New struct.
4143 (grub_ntfs_read_symlink): New function.
4144 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4145 (grub_ntfs_open): Likewise.
4146
4147 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4150
4151 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 fstest xnu_uuid subcommand.
4154
4155 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4156 grub-core/commands/xnu_uuid.c.
4157 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4158 (fstest): Handle xnu_uuid.
4159 (options): Document xnu_uuid.
4160 (argp_parser): Parse xnu_uuid.
4161
4162 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4163
4164 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4165 -l argument. Add newline at the end if printing.
4166 (GRUB_MOD_INIT): Document -l.
4167
4168 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4169
4170 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4171
4172 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 ZFS multi-device and version 33 support.
4175
4176 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4177 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4178 (grub_zfs_data): Add multidev-ice-related fields.
4179 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4180 (dva_get_offset): Make dva const.
4181 (zfs_fetch_nvlist): New function.
4182 (fill_vdev_info_real): Likewise.
4183 (fill_vdev_info): Likewise.
4184 (check_pool_label): Likewise.
4185 (scan_disk): Likewise.
4186 (scan_devices): Likewise.
4187 (read_device): Likewise.
4188 (read_dva): Likewise.
4189 (zio_read_gang): Use read_dva.
4190 (zio_read_data): Likewise.
4191 (zap_leaf_lookup): Add missing endian conversion.
4192 (zap_verify): Add missing endian conversion. All users updated.
4193 (fzap_lookup): Likewise.
4194 (fzap_iterate): Likewise.
4195 (dnode_get_path): Handle SA bonus.
4196 (nvlist_find_value): Make input const. All users updated.
4197 (unmount_device): New function.
4198 (zfs_unmount): Use unmount_device.
4199 (zfs_mount): Use scan_disk.
4200 (zfs_mtime): New function.
4201 (grub_zfs_open): Handle system attributes.
4202 (fill_fs_info): Likewise.
4203 (grub_zfs_dir): Likewise.
4204 (grub_zfs_fs): Add mtime.
4205 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4206 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4207 (SA_MTIME_OFFSET): Likewise.
4208 (SA_SYMLINK_OFFSET): Likewise.
4209 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4210 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4211 (fstest): Support zfsinfo.
4212 (argp_parser): Likewise.
4213
4214 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4217 error.
4218
4219 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 ZFS fixes.
4222
4223 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4224 sharing the same block. Iterate over correct number of indices.
4225 (dnode_get_path): Handle symlinks correctly.
4226
4227 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4228
4229 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4230
4231 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 Read label on HFS+.
4234
4235 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4236 (grub_hfsplus_btree_search): Fix types.
4237 (grub_hfsplus_label): Implement.
4238
4239 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4242
4243 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4246
4247 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4248
4249 Fix symlink handling on iso9660.
4250
4251 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4252 All users updated.
4253 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4254 (grub_iso9660_read_symlink): Moved most of code ...
4255 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4256
4257 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4260 Use union to avoid breaking strict-aliasing rules.
4261
4262 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4263
4264 Support multi-extent iso files.
4265
4266 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4267 Add node.
4268 (grub_fshelp_node): Revamp. All users updated.
4269 (FLAG_*): New enum.
4270 (read_node): New function.
4271 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4272 All users updated.
4273 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4274 (get_node_size): New function.
4275 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4276 entries.
4277 Fix memory leak on . and ..
4278 (grub_iso9660_read): Use read_node.
4279 (grub_iso9660_close): Free node.
4280
4281 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 Fix tar 4G limit and handle paths containing dot.
4284
4285 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4286 (canonicalize): New function.
4287 (grub_cpio_find_file): Use canonicalize. Store offs in
4288 grub_disk_addr_t.
4289 (grub_cpio_dir): Use grub_disk_addr_t.
4290 (grub_cpio_open): Likewise.
4291
4292 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4295
4296 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4297 unused flags.
4298 (grub_squash_inode): Add long_file and block_size.
4299 (grub_squash_cache_inode): New struct.
4300 (grub_squash_dirent): Make types into enum.
4301 (SQUASH_TYPE_LONG_REGULAR): New type.
4302 (grub_squash_frag_desc): Add field size.
4303 (SQUASH_BLOCK_FLAGS): New enum.
4304 (grub_squash_data): Use grub_squash_cache_inode.
4305 (grub_fshelp_node): Make ino_chunk 64-bit.
4306 (read_chunk): Minor argument change. All users updated.
4307 (squash_mount): Use correct le_to_cpu.
4308 (grub_squash_open): Handle LONG_REGULAR.
4309 (direct_read): New function.
4310 (grub_squash_read_data): Handle blocks correctly.
4311
4312 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4315
4316 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4319
4320 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 Fix 2G limit on ZFS.
4323
4324 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4325 types.
4326 (uberblock_verify): Likewise.
4327 (dmu_read): Likewise.
4328 (grub_zfs_read): Likewise. Remove invalid cast.
4329
4330 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4333 (grub_jfs_blkno): Fix incorrect shift.
4334 (grub_jfs_read_file): Use more appropriate types.
4335
4336 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Support triple indirect on minix2 and minix3.
4339
4340 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4341 Declare triple_indir_zone.
4342 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4343 indirect.
4344
4345 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 Minix FS fixes.
4348
4349 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4350 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4351 Rename ctime to mtime. All users updated.
4352 (grub_minix_get_file_block): Fix types and double indirect computations.
4353
4354 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4355
4356 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4357 if no label is found.
4358 (grub_fat_iterate_dir): Fix file size type.
4359 (grub_fat_iterate_dir): Likewise.
4360
4361 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4364 save some space.
4365 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4366 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4367
4368 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4371
4372 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * util/import_gcry.py: Accept space between # and include.
4375
4376 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4379
4380 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4383
4384 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4385 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4386 yylex_strncpy.
4387 * grub-core/script/yylex.l: Add fine-grained #pragma.
4388
4389 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4392 New inline function.
4393 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4394 Likewise.
4395 (memset) [GRUB_UTIL]: Likewise.
4396 (memcmp) [GRUB_UTIL]: Likewise.
4397
4398 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4401 inline function rather than a define.
4402
4403 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * util/grub-setup.c: Add missing include.
4406
4407 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4408
4409 * util/ieee1275/grub-ofpathname.c: Add missing include.
4410
4411 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4414 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4415 Likewise.
4416
4417 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4420 grub_memcmp usage.
4421
4422 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4423
4424 * util/grub-install.in: Add datarootdir as per automake manual
4425 suggestion.
4426 * util/grub-mknetdir.in: Likewise.
4427
4428 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4431 suggestion.
4432 * util/grub.d/10_kfreebsd.in: Likewise.
4433 * util/grub.d/10_linux.in: Likewise.
4434 * util/grub.d/10_netbsd.in: Likewise.
4435 * util/grub.d/10_windows.in: Likewise.
4436 * util/grub.d/20_linux_xen.in: Likewise.
4437
4438 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Remove redundant grub_kernel_image_size.
4441
4442 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4443 _edata and _start.
4444 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4445 the small code. It moves it only by few bytes but simplifies the code.
4446 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4447 _start.
4448 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4449 (grub_kernel_image_size): Removed.
4450 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4451 (grub_kernel_image_size): Removed.
4452 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4453 compiled with Apple toolchain.
4454 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4455 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4456 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4457 (grub_total_module_size): Likewise.
4458 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4459 Removed.
4460 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4461 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4462 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4463 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4464 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4465 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4466 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4467 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4468 Removed.
4469 (grub_total_module_size): Removed.
4470 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4471 (image_targets): Likewise.
4472 Set .compressed_size to no field on sparc.
4473 (generate_image): Remove kernel_image_size handling.
4474
4475 2011-10-19 Szymon Janc <szymon@janc.net.pl>
4476
4477 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4478 NULL pointer dereference.
4479
4480 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4481
4482 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4483 done with a dedicated section.
4484
4485 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4486 Ensure the correct position of boot_path.
4487 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4488 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4489 other fields.
4490 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4491 * include/grub/boot.h: Removed. All references removed.
4492 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4493 Removed.
4494 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4495
4496 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4497
4498 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4499 name.
4500
4501 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4502
4503 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4504
4505 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4508 Don't add the bogus brackets.
4509
4510 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4511
4512 ExFAT support.
4513
4514 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4515 * grub-core/Makefile.core.def (exfat): New module.
4516 * grub-core/fs/exfat.c: New file.
4517 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4518 (GRUB_FAT_ATTR_*): Make into an enum.
4519 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4520 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4521 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4522 (GRUB_FAT_MAXFILE): Removed.
4523 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4524 (grub_current_fat_bpb_t): New type.
4525 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4526 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4527 (grub_fat_dir_node_t): New type.
4528 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4529 (fat_log2) [MODE_EXFAT]: Removed.
4530 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4531 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4532 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4533 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4534 (grub_fat_label) [MODE_EXFAT]: New function.
4535 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4536 reserved_first_sector to 0.
4537
4538 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 Move grub_reboot out of the kernel.
4541
4542 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4543 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4544 * grub-core/lib/efi/reboot.c: ... here.
4545 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4546 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4547 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4548 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4549 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4550 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4551 * grub-core/lib/ieee1275/reboot.c: ... here.
4552 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4553 * grub-core/lib/mips/arc/reboot.c: ... here.
4554 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4555 * grub-core/lib/mips/loongson/reboot.c: ...here.
4556 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4557 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4558 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4559 * include/grub/i386/reboot.h: New file.
4560 * include/grub/mips/loongson/ec.h: Fix includes.
4561 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4562 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4563 * grub-core/lib/i386/reboot.c: New file.
4564
4565 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Make grub_prefix into module to fix the arbitrary limit and save
4568 some space.
4569
4570 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4571 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4572 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4573 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4574 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4575 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4576 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4577 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4578 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4579 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4580 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4581 * include/grub/ia64/efi/kernel.h: Removed.
4582 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4583 (grub_prefix): Removed.
4584 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4585 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4586 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4587 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4588 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4589 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4590 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4591 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4592 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4593 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4594 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4595 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4596 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4597 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4598 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4599 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4600 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4601 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4602 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4603 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4604 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4605 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4606 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4607 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4608 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4609 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4610 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4611 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4612 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4613 from module.
4614 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4615 prefix_end.
4616 (image_targets): Likewise.
4617 (generate_image): Put prefix as a module.
4618
4619 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Replace grub_module_iterate with FOR_MODULES.
4622
4623 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
4624 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
4625 (grub_efi_modules_addr): ...this.
4626 * grub-core/kern/efi/init.c (grub_modbase): New variable.
4627 (grub_efi_init): Set grub_modbase.
4628 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
4629 (grub_modbase): New variable.
4630 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
4631 (grub_modbase): New variable.
4632 (grub_machine_init): Set grub_modbase.
4633 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
4634 (grub_modbase): New variable.
4635 (grub_machine_init): Set grub_modbase.
4636 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
4637 (grub_modbase): New variable.
4638 (grub_machine_init): Set grub_modbase.
4639 * grub-core/kern/main.c (grub_module_iterate): Remove.
4640 (grub_modules_get_end): Use grub_modbase.
4641 (grub_load_modules): Use FOR_MODULES.
4642 (grub_load_config): Likewise.
4643 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
4644 (grub_modbase): New variable.
4645 (grub_machine_init): Set grub_modbase.
4646 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
4647 (grub_modbase): New variable.
4648 (grub_machine_init): Set grub_modbase.
4649 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
4650 Removed.
4651 (grub_modbase): New variable.
4652 (grub_machine_init): Set grub_modbase.
4653 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
4654 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
4655 (grub_module_iterate): Likewise.
4656 (grub_modbase): New variable declaration.
4657 (FOR_MODULES): New macro.
4658
4659 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * configure.ac: Check for __ctzdi2 and __ctzsi2.
4662 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
4663
4664 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 Fix few obvious type discrepancies.
4667
4668 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
4669 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
4670 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
4671 variable.
4672 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
4673 and connected types.
4674 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
4675 offset.
4676 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
4677 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
4678 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
4679 and connected types.
4680
4681 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 Fix python 3.x incompatibilities.
4684
4685 * gentpl.py: Put brackets around print strings.
4686 * util/import_gcry.py: Open explicitly as utf-8.
4687 Use in instead of has_key.
4688
4689 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
4692 (GRUB_XFS_INO_AGBITS): Make into inline function.
4693 (GRUB_XFS_INO_INOINAG): Likewise.
4694 (GRUB_XFS_INO_AG): Likewise.
4695 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4696 (GRUB_XFS_EXTENT_OFFSET): Likewise.
4697 (GRUB_XFS_EXTENT_BLOCK): Likewise.
4698 (GRUB_XFS_EXTENT_SIZE): Likewise.
4699 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
4700 (GRUB_XFS_NEXT_DIRENT): Likewise.
4701 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
4702 (grub_xfs_read_file): Fix offset type.
4703
4704 2011-10-15 Robert Millan <rmh@gnu.org>
4705
4706 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
4707
4708 2011-10-15 Robert Millan <rmh@gnu.org>
4709
4710 Fix build problem on FreeBSD and GNU/kFreeBSD.
4711
4712 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
4713
4714 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
4717
4718 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
4719 types.
4720 (grub_hfsplus_btree_recoffset): Likewise.
4721 (grub_hfsplus_btree_recptr): Likewise.
4722 (grub_hfsplus_find_block): Likewise.
4723 (grub_hfsplus_btree_search): Likewise.
4724 (grub_hfsplus_read_block): Likewise.
4725 (grub_hfsplus_read_file): Likewise.
4726 (grub_hfsplus_mount): Likewise.
4727 (grub_hfsplus_btree_iterate_node): Likewise.
4728 (grub_hfsplus_btree_search): Likewise.
4729 (grub_hfsplus_iterate_dir): Likewise.
4730 (grub_hfsplus_read): A small code simplification.
4731
4732 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/kern/emu/hostdisk.c
4735 (convert_system_partition_to_system_disk): Don't assume that children
4736 of mapper nodes are mapper nodes.
4737
4738 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
4741 * include/grub/misc.h (grub_isxdigit): New function.
4742 * grub-core/video/colors.c (my_isxdigit): Removed. All users
4743 switched to grub_isxdigit.
4744 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
4745 number starting with a letter.
4746
4747 2011-10-09 Robert Millan <rmh@gnu.org>
4748
4749 LVM support for FreeBSD and GNU/kFreeBSD.
4750
4751 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
4752 GNU/kFreeBSD.
4753 (LVM_DEV_MAPPER_STRING): Move from here ...
4754 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
4755 * util/getroot.c: Include `<grub/util/lvm.h>'.
4756 (grub_util_get_dev_abstraction): Enable
4757 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
4758 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
4759 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
4760 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
4761 support it.
4762 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
4763 GNU/kFreeBSD.
4764 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
4765 when LVM abstraction is required for ${GRUB_DEVICE}.
4766
4767 2011-10-06 Szymon Janc <szymon@janc.net.pl>
4768
4769 Add support for LZO compression in GRUB:
4770 - import of minilzo library,
4771 - LZO decompression for btrfs,
4772 - lzop files decompression.
4773
4774 * grub-core/io/lzopio.c: New file.
4775 * grub-core/lib/adler32.c: Likewise.
4776 * grub-core/lib/minilzo/lzoconf.h: Likewise.
4777 * grub-core/lib/minilzo/lzodefs.h: Likewise.
4778 * grub-core/lib/minilzo/minilzo.c: Likewise.
4779 * grub-core/lib/minilzo/minilzo.h: Likewise.
4780 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
4781 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
4782 grub-core/lib/minilzo/minilzo.c to common.
4783 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
4784 cflags in cppflags.
4785 * grub-core/Makefile.core.def (btrfs): Likewise.
4786 * grub-core/Makefile.core.def (lzopio): New module.
4787 (adler32): Likewise.
4788 * grub-core/fs/btrfs.c: Include minilzo.h.
4789 (GRUB_BTRFS_COMPRESSION_LZO): New define.
4790 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
4791 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
4792 (grub_btrfs_lzo_decompress): New function.
4793 (grub_btrfs_extent_read): Add support for LZO compression type.
4794 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
4795 (GRUB_USHRT_MAX): Likewise.
4796 (GRUB_UINT_MAX): Likewise.
4797 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
4798 (UINT_MAX): Likewise.
4799 (CHAR_BIT): Likewise.
4800 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
4801 grub-core/lib/posix_wrap/limits.h
4802 (UCHAR_MAX): Likewise.
4803 * include/grub/file.h (grub_file_filter_id): New compression filter
4804 GRUB_FILE_FILTER_LZOPIO.
4805 * include/grub/file.h (grub_file_filter_id): Set
4806 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
4807 * include/grub/types.h (grub_get_unaligned16): New function.
4808 (grub_get_unaligned32): Likewise.
4809 (grub_get_unaligned64): Likewise.
4810 * util/import_gcry.py (cryptolist): Add adler32.
4811
4812 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
4813
4814 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
4815 in perspective decreases the complexity of build system and fixes
4816 compilation right now.
4817
4818 2011-10-01 Ales Nesrsta <starous@volny.cz>
4819
4820 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
4821 (fixed problem related to using UHCI with coreboot).
4822
4823 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4824
4825 * gentpl.py: Use Autogen macros so that the output template file
4826 (Makefile.tpl) size is reduced.
4827
4828 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
4829
4830 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
4831 extra_dist.
4832
4833 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4834
4835 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
4836 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
4837
4838 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4839
4840 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
4841 _fullpath.
4842
4843 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4844
4845 Remove extra declaration of sleep for mingw32.
4846
4847 * util/misc.c (sleep) [__MINGW32__]: Removed.
4848 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
4849
4850 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4851
4852 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
4853 type and packname.
4854 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
4855 Resurrected.
4856 (NETBSD_BTINFO_BOOTWEDGE): New definition.
4857 (grub_netbsd_btinfo_bootwedge): New struct.
4858 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4859 New function.
4860 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
4861
4862 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
4863
4864 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4865 loader.
4866
4867 2011-09-28 Andreas Born <futur.andy@googlemail.com>
4868
4869 Fix incorrect identifiers in bash-completion.
4870
4871 * util/bash-completion.d/grub-completion.bash.in
4872 (_grub_mkpasswd-pbkdf2): Rename to ...
4873 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
4874 (_grub_script-check): Rename to ...
4875 (_grub_script_check): ... this. All users updated.
4876
4877 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4880 Return 0 if disk isn't biosdisk.
4881
4882 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4883
4884 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
4885 on NetBSD.
4886 * Makefile.util.def (grub-fstest): Likewise.
4887
4888 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4889
4890 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
4891 Get sector size from disk label.
4892
4893 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
4894
4895 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
4896 */README* as well as README*.
4897 Reported by: Axel Beckert.
4898
4899 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
4902 case of less than 256 MiB of RAM.
4903
4904 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/commands/wildcard.c (make_regex): Handle @.
4907
4908 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * util/grub-install.in: Move cryptodisk logic to appropriate place.
4911
4912 2011-08-21 Szymon Janc <szymon@janc.net.pl>
4913
4914 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
4915 AC_LANG_CONFTEST macros.
4916
4917 2011-08-20 Szymon Janc <szymon@janc.net.pl>
4918
4919 Add grub-fstest option to uncompress data for commands.
4920
4921 * util/grub-fstest.c (uncompress): New var.
4922 (options): New option -u.
4923
4924 2011-08-20 Szymon Janc <szymon@janc.net.pl>
4925
4926 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4927 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
4928
4929 2011-08-20 Szymon Janc <szymon@janc.net.pl>
4930
4931 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
4932 file type was not recognized correctly (not gzip or corrupted).
4933
4934 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
4937 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
4938
4939 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
4942 loongson.
4943 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4944 video_radeon_fuloong2e.
4945 * grub-core/video/radeon_fuloong2e.c: New file.
4946 * include/grub/video.h (grub_video_id_t): Add new ID
4947 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
4948
4949 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4950
4951 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
4952 define.
4953 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4954 that PRID matches the detected subplatform and reset the subplatform
4955 if it doesn't.
4956
4957 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4960
4961 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 Fix PCI iterating on functions >= 4.
4964
4965 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4966 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4967 Removed.
4968 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4969 (grub_pci_read): Fix bitmask.
4970 (grub_pci_read_word): Likewise.
4971 (grub_pci_read_byte): Likewise.
4972 (grub_pci_write): Likewise.
4973 (grub_pci_write_word): Likewise.
4974 (grub_pci_write_byte): Likewise.
4975
4976 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4979 can still be specified in TARGET_CFLAGS)
4980
4981 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4982
4983 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4984
4985 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4986 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4987 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4988 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4989 (FULOONG): Rename to ...
4990 (FULOONG2F): ... this. All users updated.
4991 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4992 (machtype_fuloong2f_str): ... this.
4993 (machtype_fuloong2e_str): New string.
4994 Check for machtype_fuloong2e_str.
4995 * grub-core/loader/mips/linux.c (loongson_machtypes)
4996 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4997 * grub-core/term/serial.c (loongson_defserial)
4998 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4999 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
5000 loongson_defserial.
5001 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
5002 Rename to ...
5003 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
5004 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
5005 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
5006 to IMAGE_FULOONG2F_FLASH. All users updated.
5007 (image_targets): Rename images.
5008 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
5009
5010 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5011
5012 Make enable of disk cache statistics code configurable.
5013
5014 * configure.ac: --enable-cache-stats added.
5015 * config.h.in (DISK_CACHE_STATS): New define.
5016 * grub-core/Makefile.core.def (cacheinfo): New command.
5017 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
5018 * grub-core/commands/cacheinfo.c: New file.
5019 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
5020 moved to cacheinfo.c.
5021 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
5022 debug code.
5023 * include/grub/disk.h: Likewise.
5024
5025 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5026
5027 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5028 * grub-core/Makefile.am: Likewise.
5029
5030 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5033 non-zero pull.
5034
5035 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5038 All users updated.
5039 (grub_jfs_lookup_symlink): Use correct starting inode.
5040
5041 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * util/grub-setup.c (main): Add missing gcry initialisation.
5044
5045 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5046
5047 Don't accept text modes on EFI when booting Linux.
5048
5049 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5050 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5051
5052 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
5053 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5054
5055 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5056 use of "/path/.." as in grub-install for EFI as well as handling
5057 symlinks correctly.
5058 Fixes Debian bug #637768.
5059
5060 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5061
5062 * util/grub-probe.c: Remove duplicate #include.
5063
5064 2011-08-10 Robert Millan <rmh@gnu.org>
5065
5066 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5067
5068 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5069 function.
5070 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5071 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5072
5073 2011-08-03 Robert Millan <rmh@gnu.org>
5074
5075 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5076 la_array as packed.
5077 Reported by: Zachary Bedell
5078
5079 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5080
5081 * configure.ac: The Loongson port requires grub-mkfont due to its
5082 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5083 be built.
5084
5085 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5086
5087 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5088 processing arguments (otherwise help2man fails when GRUB has not yet
5089 been installed).
5090
5091 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 New script grub-mkstandalone.
5094
5095 * Makefile.util.def (grub-mkstandalone): New script.
5096 * docs/man/grub-mkstandalone.h2m: New file.
5097 * util/grub-mkstandalone.in: Likewise.
5098
5099 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 Support ATA disks with 4K sectors.
5102
5103 * include/grub/ata.h (grub_ata): New member log_sector_size.
5104 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5105 (grub_ata_identify): Read sector size.
5106 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5107
5108 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * util/grub-install.in: Don't use uhci outside of x86.
5111
5112 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5113
5114 * util/grub-mkrescue.in: Add missing quotes.
5115
5116 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5119 dereference.
5120
5121 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5122
5123 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5124
5125 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * include/grub/video.h: add missing EXPORT_FUND on
5128 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5129
5130 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * include/grub/mips/kernel.h: Fix define conflict.
5133
5134 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5137 all four ways.
5138
5139 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
5140
5141 Preferred resolution detection for VBE.
5142
5143 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5144 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5145 the Flat Panel extension, in line with the X.org VESA driver.
5146 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5147 New function.
5148 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5149 (grub_vbe_bios_read_edid): Likewise.
5150 (grub_vbe_get_preferred_mode): Likewise.
5151 (grub_video_vbe_setup): When the mode is "auto", try to get the
5152 preferred mode from VBE, and use the largest mode that is no larger
5153 than the preferred mode (some BIOSes expose a preferred mode that is
5154 not in their mode list!). If this fails, fall back to 640x480 as a
5155 safe conservative choice.
5156 (grub_video_vbe_get_edid): New function.
5157 (grub_video_vbe_adapter): Add get_edid.
5158 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5159 (struct grub_video_adapter): Add get_edid.
5160 (grub_video_edid_checksum): Add prototype.
5161 (grub_video_edid_preferred_mode): Likewise.
5162 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5163 structure.
5164
5165 * grub-core/commands/videoinfo.c (print_edid): New function.
5166 (grub_cmd_videoinfo): Print EDID if available.
5167
5168 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5169 is more appropriate on a wider range of platforms than 640x480.
5170 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5171 documentation.
5172
5173 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5176
5177 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 * po/POTFILES.in: Regenerate.
5180
5181 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5184 incorrect memory usage.
5185
5186 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * util/grub-install.in: Source grub-mkconfig_lib.
5189
5190 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 Remove getroot.c from core on emu platform.
5193
5194 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5195 kern/emu/raid.c.
5196 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5197 useless.
5198 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5199 * util/getroot.c (get_win32_path): ... here.
5200 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5201 * util/getroot.c (fini_libzfs): ... here.
5202 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5203 * util/getroot.c (grub_get_libzfs_handle): ... here.
5204 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5205 Moved from here...
5206 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5207 * grub-core/kern/emu/misc.c
5208 (grub_make_system_path_relative_to_its_root): Moved from here...
5209 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5210 * grub-core/kern/emu/getroot.c: Moved from here ...
5211 * util/getroot.c: ... here. All users updated.
5212 * grub-core/kern/emu/raid.c: Moved from here ...
5213 * util/raid.c: ... here. All users updated.
5214
5215 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * po/POTFILES.in: Regenerate.
5218
5219 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 Fix compilation on GNU/Linux.
5222
5223 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5224 Disable geli.
5225 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5226 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5227 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5228
5229 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5230 2011-07-07 Michael Gorven <michael@gorven.za.net>
5231 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5232
5233 LUKS and GELI support.
5234
5235 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5236 grub-core/disk/luks.c, grub-core/disk/geli.c,
5237 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5238 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5239 grub-core/lib/arg.c.
5240 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5241 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5242 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5243 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5244 (grub-bin2h): Add libgcry.a.
5245 (grub-mkimage): Likewise.
5246 (grub-mkrelpath): Likewise.
5247 (grub-script-check): Likewise.
5248 (grub-editenv): Likewise.
5249 (grub-mkpasswd-pbkdf2): Likewise.
5250 (grub-pe2elf): Likewise.
5251 (grub-fstest): Likewise.
5252 (grub-mkfont): Likewise.
5253 (grub-mkdevicemap): Likewise.
5254 (grub-probe): Likewise.
5255 (grub-ofpath): Likewise.
5256 (grub-mklayout): Likewise.
5257 (example_unit_test): Likewise.
5258 (grub-menulst2cfg): Likewise.
5259 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5260 * grub-core/Makefile.core.def (cryptodisk): New module.
5261 (luks): Likewise.
5262 (geli): Likewise.
5263 * grub-core/disk/AFSplitter.c: New file.
5264 * grub-core/disk/cryptodisk.c: Likewise.
5265 * grub-core/disk/geli.c: Likewise.
5266 * grub-core/disk/luks.c: Likewise.
5267 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5268 grub_util_is_lvm.
5269 (grub_util_get_dm_abstraction): New function.
5270 (grub_util_follow_gpart_up): Likewise.
5271 (grub_util_get_geom_abstraction): Likewise.
5272 (grub_util_get_dev_abstraction): Use new functions.
5273 (grub_util_pull_device): Pull GELI and LUKS.
5274 (grub_util_get_grub_dev): Handle LUKS and GELI.
5275 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5276 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5277 (follow_geom_up): Removed.
5278 (grub_util_fd_seek): New function.
5279 (open_device): Use grub_util_fd_seek.
5280 (nread): Rename to ..
5281 (grub_util_fd_read): ... this. All users updated.
5282 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5283 (grub_crypto_cbc_decrypt): Likewise.
5284 (grub_crypto_hmac_write): Likewise.
5285 (grub_crypto_hmac_buffer): Likewise.
5286 (grub_password_get): Extend to util.
5287 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5288 New member modname.
5289 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5290 * include/grub/cryptodisk.h: New file.
5291 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5292 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5293 LUKS and GELI.
5294 (grub_util_follow_gpart_up): New proto.
5295 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5296 (grub_util_fd_read): Likewise.
5297 (grub_cryptodisk_cheat_mount): Likewise.
5298 (grub_util_cryptodisk_print_uuid): Likewise.
5299 (grub_util_get_fd_sectors): Likewise.
5300 * util/grub-fstest.c (mount_crypt): New var.
5301 (fstest): Mount crypto if requested.
5302 (options): New option -C.
5303 (argp_parser): Parse -C.
5304 (main): Init and fini gcry.
5305 * util/grub-install.in: Support cryptodisk install.
5306 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5307 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5308 cryptodisk.
5309 (prepare_grub_to_access_device): Likewise.
5310 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5311 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5312 (probe_cryptodisk_uuid): New function.
5313 (probe_abstraction): Likewise.
5314 (probe): Use new functions.
5315 * util/import_gcry.py: Create Makefile.utilgcry.def.
5316 Add modname member.
5317
5318 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5319
5320 Lazy device scanning.
5321
5322 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5323 (grub-setup): Remove util/raid.c.
5324 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5325 * grub-core/disk/lvm.c (scan_depth): New variable.
5326 (grub_lvm_iterate): Rescan if necessary.
5327 (find_lv): New function based on grub_lvm_open.
5328 (grub_lvm_open): Use find_lv. Rescan on error.
5329 (is_node_readable): New function.
5330 (is_lv_readable): Likewise.
5331 (grub_lvm_scan_device): Skip already found disks.
5332 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5333 Stop if searched device is found and readable.
5334 * grub-core/disk/raid.c (inscnt): New variable.
5335 (scan_depth): Likewise.
5336 (scan_devices): New function based on grub_raid_register. Abort if
5337 looked for device is found.
5338 (grub_raid_iterate): Rescan if needed.
5339 (find_array): NEw function based on -grub_raid_open.
5340 (grub_raid_open): Use find_array and rescan.
5341 (insert_array): Set became_readable_at.
5342 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5343 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5344 New function.
5345 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5346 (grub_util_pull_device): New function.
5347 (grub_util_get_grub_dev): Call grub_util_pull_device.
5348 * util/raid.c: Moved to ..
5349 * grub-core/kern/emu/raid.c: ... here.
5350 (grub_util_raid_getmembers): New parameter "bootable".
5351 All users updated. Support 1.x.
5352 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5353 All users updated.
5354 * include/grub/disk.h (grub_disk_pull_t): New enum.
5355 (grub_disk_dev): Change iterate prototype.
5356 All users updated.
5357 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5358 New proto.
5359 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5360 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5361 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5362 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5363 All users updated.
5364 * include/grub/util/raid.h: Removed.
5365
5366 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * po/POTFILES.in: Regenerate.
5369
5370 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 Unify sparc init with other ieee1275.
5373
5374 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5375 instead of kern/sparc64/ieee1275/init.c.
5376 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5377 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5378 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5379 grub/machine/kernel.h.
5380 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5381 (grub_claim_heap) [__sparc__]: Use sparc version.
5382 (grub_machine_init): Moved args parsing to
5383 (grub_parse_cmdline): ...this.
5384 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5385 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5386 New definition.
5387 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5388
5389 Move BOOTP to separate file.
5390
5391 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5392 * grub-core/net/net.c: Move all BOOTP functions to
5393 * grub-core/net/bootp.c: ... here.
5394
5395 Use frame interface on PXE.
5396
5397 * grub-core/Makefile.core.def (pxecmd): Removed.
5398 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5399 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5400 * grub-core/i386/pc/pxe.c: Moved from here ...
5401 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5402 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5403 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5404
5405 EFI network support.
5406
5407 * grub-core/Makefile.core.def (efinet): New module.
5408 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5409 here...
5410 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5411 All users updated.
5412 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5413 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5414 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5415 * grub-core/net/drivers/efi/efinet.c: New file.
5416 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5417 (grub_efi_net_config): New extern var.
5418
5419 Various cleanups and bugfixes.
5420
5421 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5422 error.
5423 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5424 disk declared as partition.
5425 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5426 leak on failure.
5427 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5428 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5429 (grub_debug_zalloc): Likewise.
5430 (grub_debug_realloc): Likewise.
5431 (grub_debug_memalign): Likewise.
5432 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5433 Check that target is IPv4.
5434 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5435 local-mac-address as fallback.
5436 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5437 memory leak.
5438 * grub-core/net/ip.c (ipchksum): Rename to ...
5439 (grub_net_ip_chksum): ... this. All users updated.
5440 (grub_net_recv_ip_packets): Special handling for DHCP.
5441 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5442
5443 Unify prefix handling
5444
5445 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5446 (grub_machine_get_bootlocation): ... this.
5447 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5448 (grub_machine_get_bootlocation): ... this.
5449 (grub_prefix): New variable.
5450 (prefix): Removed.
5451 (root_dev): New variable.
5452 (dir): Likewise.
5453 (main): Use new variables.
5454 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5455 Revamped into ...
5456 (grub_machine_get_bootlocation): ... this.
5457 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5458 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5459 (grub_machine_get_bootlocation): ... this.
5460 (grub_machine_set_prefix): Removed.
5461 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5462 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5463 Revamped into ...
5464 (grub_machine_get_bootlocation): ... this.
5465 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5466 (grub_set_prefix_and_root): ... this. All users updated.
5467 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5468 Revamped into ...
5469 (grub_machine_get_bootlocation): ... this.
5470 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5471 (grub_machine_get_bootlocation): New proto.
5472 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5473
5474 Less intrusive and more reliable seek on network implementation.
5475
5476 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5477 (grub_file_seek): Don't call grub_file_net_seek.
5478 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5479 (grub_net_fs_read_real): .. this.
5480 (grub_net_seek_real): Use net->offset.
5481 (grub_net_fs_read): Seek if necessary.
5482
5483 Unify IEEE1275 netwotk config with the other platforms.
5484
5485 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5486 New variable.
5487 (grub_machine_get_bootlocation): Support network.
5488 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5489 Support type and device parsing.
5490 (grub_ieee1275_get_device_type): New function.
5491 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5492 into ...
5493 (grub_ieee1275_net_config_real): ... this.
5494 (grub_ofnet_probecards): Removed.
5495 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5496 * include/grub/ieee1275/ofnet.h: Removed.
5497 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5498 extern var.
5499 (grub_ieee1275_get_device_type): New function.
5500
5501 Unify network device closing across platforms and make more robust.
5502
5503 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5504 grub_grubnet_fini.
5505 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5506 already.
5507 * grub-core/net/net.c (grub_net_network_level_interface_register):
5508 Update num_ifaces.
5509 (grub_net_card_unregister): Close all interfaces.
5510 (receive_packets): Don't poll if no iterfaces are registered.
5511 Open if necessary.
5512 (grub_net_fini_hw): New function.
5513 (grub_net_restore_hw): Likewise.
5514 (fini_hnd): New variable.
5515 (GRUB_MOD_INIT): Register preboot hook.
5516 (GRUB_MOD_FINI): Run and unregister preboot hook.
5517
5518 Poll network cards when idle.
5519
5520 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5521 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5522 * grub-core/net/net.c (receive_packets): Save last poll time.
5523 (grub_net_poll_cards_idle_real): New function.
5524 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5525 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5526 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5527
5528 Rename ofnet interfaces.
5529
5530 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5531 (grub_ofnet_findcards): Use ofnet_%s names.
5532
5533 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5534
5535 Cleanup socket opening.
5536
5537 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5538 (grub_net_fs_close): Likewise.
5539 (grub_net_fs_read_real): Use eof member.
5540 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5541 (+grub_net_udp_close): New inline function.
5542
5543 * include/grub/net/tftp.h: Moved to the top of ...
5544 * grub-core/net/tftp.c: ... here.
5545 * include/grub/net/ip.h: Moved mostly to the top of ...
5546 * grub-core/net/ip.c: ... here.
5547 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5548 * grub-core/net/ethernet.c: ... here.
5549
5550 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5551
5552 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5553 FS name.
5554
5555 * include/grub/net/ip.h (ipv4_ini): Removed.
5556 (ipv4_fini): Likewise.
5557
5558 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5559 (grub_net_send_ip_packets): Likewise.
5560
5561 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5564 grub_read_cmos prototype.
5565
5566 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 VGA text support in qemu-mips
5569
5570 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5571 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5572 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5573 text.
5574 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5575 * grub-core/kern/vga_init.c: ... this.
5576 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5577 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5578 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5579 Adjust.
5580 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5581 GRUB_MACHINE_PCI_IO_BASE.
5582
5583 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 MIPS qemu flash support.
5586
5587 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5588 magic.
5589 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5590 (grub_machine_init): Probe memory if its size isn't known.
5591 * util/grub-mkimage.c (image_targets): Add flash targets.
5592 (generate_image): Handle flash targets.
5593
5594 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 MIPS qemu at_keyboard support.
5597
5598 * gentpl.py (videoinkernel): Add qemu-mips.
5599 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5600 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5601 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5602 modules.
5603 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5604 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5605 * grub-core/term/serial.c (grub_serial_register)
5606 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5607
5608 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 CMOS support on sparc.
5611
5612 * gentpl.py (cmos): Add powerpc and sparc.
5613 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5614 powerpc and sparc.
5615 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5616 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5617 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5618 grub_set_datetime_cmos.
5619 * grub-core/lib/ieee1275/cmos.c: New file.
5620 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
5621 (find_rtc): Set no_ieee1275_rtc on error.
5622 (grub_get_datetime): Call grub_get_datetime_cmos on error.
5623 (grub_set_datetime): Call grub_set_datetime_cmos on error.
5624 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
5625 fail. Move value to argument. All users updated
5626 (grub_cmos_write): Likewise.
5627 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
5628 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
5629 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
5630 grub_get_datetime_cmos and grub_set_datetime_cmos.
5631
5632 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5633
5634 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
5635 sourcing grub-mkconfig_lib.
5636 * util/update-grub_lib.in: Likewise.
5637 * util/grub.d/00_header.in: Likewise.
5638 * util/grub.d/10_hurd.in: Likewise.
5639 * util/grub.d/10_kfreebsd.in: Likewise.
5640 * util/grub.d/10_linux.in: Likewise.
5641 * util/grub.d/10_netbsd.in: Likewise.
5642 * util/grub.d/10_windows.in: Likewise.
5643 * util/grub.d/20_linux_xen.in: Likewise.
5644 * util/grub.d/30_os-prober.in: Likewise.
5645
5646 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5649 default_bg_color rather than black.
5650 (grub_gfxterm_fullscreen): Likewise.
5651 (grub_gfxterm_background_color_cmd): Save new background color in
5652 default_bg_color.
5653
5654 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
5657
5658 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
5661 mismerge.
5662
5663 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5664
5665 Chainloading on coreboot support.
5666
5667 * grub-core/Makefile.core.def (chain): Add coreboot.
5668 * grub-core/loader/i386/coreboot/chainloader.c: New file.
5669
5670 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
5673 if it happens.
5674
5675 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 Implement time command.
5678
5679 * grub-core/Makefile.core.def (time): New module.
5680 * grub-core/commands/time.c: New file.
5681 * grub-core/script/parser.y: Remove "time" keyword.
5682 * grub-core/script/yylex.l: Likewise.
5683
5684 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5685
5686 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
5687
5688 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5689
5690 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
5691 when handling leftovers.
5692
5693 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5694
5695 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
5696 so that help2man doesn't fail.
5697
5698 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
5701 type in pointers on sparc64.
5702 (get_card_packet): Likewise.
5703
5704 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
5705
5706 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
5707 with `*'.
5708 (grub_cmd_videoinfo): Fetch current video mode.
5709
5710 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5711
5712 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
5713 because of underlying system restrictions.
5714
5715 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5716
5717 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
5718 necessary.
5719
5720 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 Coreboot video support.
5723
5724 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
5725 (vbe): Likewise.
5726 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
5727 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
5728 here ...
5729 * grub-core/kern/i386/int.S: ... here.
5730 * grub-core/video/i386/pc/vbe.c: Updated includes.
5731 * grub-core/video/i386/pc/vga.c: Likewise.
5732 * include/grub/i386/coreboot/memory.h
5733 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
5734 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
5735 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
5736 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
5737 Disable interrupts.
5738 * include/grub/i386/pc/vga.h: Removed. All users updated.
5739
5740 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
5743 definitions for dprintf.
5744 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
5745
5746 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
5749 prototype.
5750 (get_card_packet): Likewise.
5751
5752 2011-06-26 Yves Blusseau <blusseau@zetam.org>
5753
5754 Display the path of the file when file is not found
5755
5756 * grub-core/fs/fat.c: Display the filename when file is not found.
5757 * grub-core/fs/fshelp.c: Likewise.
5758 * grub-core/fs/hfs.c: Likewise.
5759 * grub-core/fs/jfs.c: Likewise.
5760 * grub-core/fs/minix.c: Likewise.
5761 * grub-core/fs/ufs.c: Likewise.
5762 * grub-core/fs/btrfs.c: Likewise.
5763 * grub-core/commands/i386/pc/play.c: Likewise.
5764
5765 2011-06-26 Szymon Janc <szymon@janc.net.pl>
5766
5767 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
5768 pointer checks before calling grub_free().
5769 * grub-core/commands/wildcard.c (match_devices): Likewise.
5770 * grub-core/commands/wildcard.c (match_files): Likewise.
5771 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
5772 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
5773 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
5774 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
5775 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
5776 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
5777 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
5778 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5779 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
5780
5781 2011-06-25 Patrick <p55@mailinator.com>
5782
5783 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
5784
5785 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
5788 (grub_pxe_send): Likewise.
5789 (GRUB_MOD_INIT): Fix types.
5790
5791 2011-06-24 Szymon Janc <szymon@janc.net.pl>
5792
5793 * grub-core/io/xzio.c: Fix code style issues
5794
5795 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5796 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
5797
5798 Network infrastructure.
5799 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
5800
5801 * include/grub/net/arp.h: New file.
5802 * include/grub/net/device.h: Likewise.
5803 * include/grub/net/ethernet.h: Likewise.
5804 * include/grub/net/ip.h: Likewise.
5805 * include/grub/net/netbuff.h: Likewise.
5806 * include/grub/net/tftp.h: Likewise.
5807 * include/grub/net/udp.h: Likewise.
5808 * include/grub/ieee1275/ofnet.h: Likewise.
5809 * include/grub/emu/export.h: Likewise.
5810 * include/grub/net.h: Likewise.
5811 * grub-core/net/arp.c: Likewise.
5812 * grub-core/net/ethernet.c: Likewise.
5813 * grub-core/net/ip.c: Likewise.
5814 * grub-core/net/udp.c: Likewise.
5815 * grub-core/net/tftp.c: Likewise.
5816 * grub-core/net/netbuff.c: Likewise.
5817 * grub-core/net/net.c: Likewise.
5818 * grub-core/net/drivers/emu/emunet.c: Likewise.
5819 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
5820 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
5821 export.h.
5822 * grub-core/Makefile.core.def (net): New module.
5823 (tftp): Likewise.
5824 (ofnet): Likewise.
5825 (emunet): Likewise.
5826 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
5827 network protocols.
5828 * grub-core/kern/device.c (grub_net_open) : New variable.
5829 (grub_device_open): Handle network device.
5830 (grub_device_close): Likewise.
5831 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
5832 (grub_grubnet_fini): Likewise.
5833 (grub_file_seek): Seek in network device.
5834 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
5835 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
5836 network root.
5837 (grub_machine_fini): Call grub_grubnet_fini.
5838 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
5839 network.
5840 (grub_ieee1275_get_aliasdevname): New function.
5841 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5842 Add unofficial Solaris network info.
5843 (grub_multiboot_make_mbi): Likewise.
5844 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
5845 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
5846 * include/grub/device.h (grub_fs): Removed.
5847 * include/grub/err.h (grub_err_t): Add network-related values.
5848 * include/grub/i386/pc/pxe.h: Removed bootp parts.
5849 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
5850 (grub_ieee1275_get_aliasdevname): New proto.
5851 * include/grub/net.h: Rewritten.
5852
5853 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
5856 names.
5857
5858 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
5861 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
5862 it truncates the output.
5863 Reported by: Ximin Luo.
5864
5865 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
5868
5869 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5872 partmap before abstraction.
5873
5874 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
5875
5876 * util/grub-mkconfig_lib.in: Add missing quotes.
5877
5878 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
5881 old method if mountinfo would return /dev/root and /dev/root doesn't
5882 exist.
5883
5884 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 ZFS zlib support
5887
5888 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
5889 (decomp_table): Add zlib entries.
5890 (zio_read): USe 8 bits for compression function rather than 3.
5891 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
5892
5893 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * grub-core/disk/ahci.c: Add missing license statements.
5896 * grub-core/fs/romfs.c: Likewise.
5897 * grub-core/lib/ia64/setjmp.S: Likewise.
5898 * grub-core/loader/i386/pc/freedos.c: Likewise.
5899 * grub-core/loader/ia64/efi/linux.c: Likewise.
5900 * grub-core/video/colors.c: Likewise.
5901 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
5902
5903 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 AHCI support.
5906
5907 * grub-core/Makefile.core.def (ata_pthru): Removed.
5908 (ahci): New module.
5909 (pata): Likewise.
5910 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
5911 on unload.
5912 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
5913 readwrite.
5914 (grub_hdparm_do_check_powermode_cmd): Likewise.
5915 (grub_hdparm_do_smart_cmd): Likewise.
5916 (grub_hdparm_set_val_cmd): Likewise.
5917 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
5918 * grub-core/disk/ahci.c: New file.
5919 * grub-core/disk/ata.c: Factor out the low-level part into ...
5920 * grub-core/disk/pata.c: ... here.
5921 * grub-core/disk/ata_pthru.c: Contents moved to ...
5922 * grub-core/disk/pata.c: ... here.
5923 * grub-core/disk/scsi.c (grub_scsi_names): New array.
5924 (grub_scsi_iterate): Use grub_scsi_names.
5925 (grub_scsi_open): Likewise.
5926 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
5927 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
5928 (grub_ata_regs_t): New struct.
5929 (grub_disk_ata_pass_through_parms): Likewise.
5930 (grub_ata_device): Renamed to ...
5931 (grub_ata): ... this.
5932 (grub_ata_dev): New struct.
5933 Removed all low-level inline functions.
5934 * include/grub/scsi.h: Add PATA and AHCI subsystems.
5935 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
5936 iterate hooks and open. All users updated.
5937 * util/grub-install.in: Handle AHCI disk module.
5938
5939 2011-06-23 Szymon Janc <szymon@janc.net.pl>
5940
5941 Add support for DRI and RSTn markers in JPEG files.
5942
5943 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
5944 (JPEG_MARKER_RST0): Likewise.
5945 (JPEG_MARKER_RST1): Likewise.
5946 (JPEG_MARKER_RST2): Likewise.
5947 (JPEG_MARKER_RST3): Likewise.
5948 (JPEG_MARKER_RST4): Likewise.
5949 (JPEG_MARKER_RST5): Likewise.
5950 (JPEG_MARKER_RST6): Likewise.
5951 (JPEG_MARKER_RST7): Likewise.
5952 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5953 (grub_jpeg_decode_dri): New function.
5954 (grub_jpeg_decode_sos): Move image data related part into
5955 grub_jpeg_decode_data function.
5956 (grub_jpeg_decode_data): New function.
5957 (grub_jpeg_reset): New function.
5958 (grub_jpeg_decode_jpeg): Handle new markers.
5959
5960 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * util/ieee1275/ofpath.c (check_sas): Close fd.
5963 (main): Free of_path.
5964 Reported by: David Volgyes <dvolgyes>.
5965
5966 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5969 Reported by: David Volgyes <dvolgyes>.
5970
5971 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5972
5973 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5974 file after stat.
5975 Reported by: David Volgyes <dvolgyes>.
5976
5977 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5980
5981 Reported by: David Volgyes <dvolgyes>.
5982
5983 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5984
5985 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5986 Prevent memory leak.
5987
5988 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5991 (main): Close file.
5992 Reported by: David Volgyes <dvolgyes>.
5993
5994 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5997 to continue if allocation is failed.
5998
5999 Reported by: David Volgyes <dvolgyes>.
6000
6001 2011-06-23 David Volgyes <dvolgyes>
6002
6003 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
6004 dereference.
6005
6006 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 Fix spurious warning.
6009
6010 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
6011 (acorn_partition_map_find): Use .bin member.
6012
6013 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
6016 /dev/root as a valid device.
6017
6018 2011-06-23 Jim Meyering <meyering@redhat.com>
6019
6020 Avoid NULL deref in grub_device_open.
6021
6022 * grub-core/kern/device.c (grub_device_open): Don't dereference
6023 a NULL pointer upon failed grub_env_get.
6024
6025 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6026
6027 Support non-512B sectors and agglomerate reads.
6028
6029 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6030 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6031 (disk_io_guid): Removed.
6032 (make_devices): Locate solely by BlockIO.
6033 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6034 (grub_efidisk_read): Use read_blocks.
6035 (grub_efidisk_write): Use write_blocks.
6036 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6037 log_sector_size.
6038 (get_safe_sectors): Handle non-512B sectors.
6039 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6040 sectors.
6041 (grub_biosdisk_write): Handle non-512B sectors.
6042 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6043 (grub_scsi_read): Remove special non-512B block handling (now handled
6044 one level up).
6045 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6046 and do sanity checks.
6047 (grub_disk_adjust_range): Handle non-512B sectors.
6048 (transform_sector): New function.
6049 (grub_disk_read_small): Likewise.
6050 (grub_disk_read): Rewritten.
6051 (grub_disk_write): Handle non-512B sectors.
6052 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6053 log_sector_size.
6054 (open_device): Use log_sector_size.
6055 (grub_util_biosdisk_read): Likewise.
6056 (grub_util_biosdisk_write): Likewise.
6057 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6058 non-512B sectors.
6059 (pc_partition_map_embed): Likewise.
6060 * include/grub/disk.h (grub_disk): New field log_sector_size.
6061 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6062 (GRUB_DISK_CACHE_BITS): Increased to 6.
6063 * util/grub-fstest.c (fstest): New command testload.
6064 (argp_parser): Likewise.
6065
6066 2011-06-16 Robert Millan <rmh@gnu.org>
6067
6068 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6069 `ata' driver on kernel of FreeBSD 9.
6070
6071 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6072 (get_ataraid_disk_name): New functions.
6073 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6074 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6075 get_ataraid_disk_name() and get_ada_disk_name().
6076
6077 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
6078
6079 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6080 input format.
6081
6082 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
6083
6084 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6085 `ftp.gnu.org' for `alpha.gnu.org'.
6086
6087 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6088
6089 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6090 partitions under /dev/disk/by-id/.
6091
6092 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6093
6094 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6095 after ten consecutive open failures. Scanning all the way up to
6096 10000 is excessive and can cause serious performance problems in
6097 some configurations.
6098 Fixes Ubuntu bug #787461.
6099
6100 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6101
6102 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6103 opening new one.
6104
6105 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
6106 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 Don't stat devices unless we have to.
6109
6110 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6111 dir == /dev/mapper.
6112 (grub_guess_root_device): Use already known os_dev if possible.
6113 * grub-core/kern/emu/hostdisk.c
6114 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6115 if device is known to be a dm one.
6116
6117 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
6118
6119 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6120 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6121 Reported by: Pawel Tecza.
6122
6123 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6126 (lsefisystab): Likewise.
6127 (lssal): Likewise.
6128 (lsefimmap): Likewise.
6129 (hdparm): Enable on qemu-mips.
6130 (setjmp): Add ia64 nodist.
6131 (serial): Simplify tags.
6132
6133 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6134
6135 * Makefile.util.def (grub-ofpathname): Install manual page.
6136
6137 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6138
6139 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6140
6141 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6142
6143 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6144
6145 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6148 into dprintf.
6149
6150 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6151
6152 Use full 64-bit division.
6153
6154 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6155 (grub_divmod64): ... this.
6156 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6157 version.
6158
6159 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6160
6161 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6162 `source'.
6163
6164 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6165
6166 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6167 to avoid accidents when debugging with 'sh -x'.
6168 * grub-core/gensyminfo.sh.in: Likewise.
6169 * tests/example_scripted_test.in: Likewise.
6170 * tests/grub_cmd_regexp.in: Likewise.
6171 * tests/grub_script_blanklines.in: Likewise.
6172 * tests/grub_script_dollar.in: Likewise.
6173 * tests/grub_script_expansion.in: Likewise.
6174 * tests/grub_script_final_semicolon.in: Likewise.
6175 * tests/partmap_test.in: Likewise.
6176 * tests/util/grub-shell-tester.in: Likewise.
6177 * tests/util/grub-shell.in: Likewise.
6178
6179 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6180
6181 Move gfxmenu color handling to video, so that gfxterm can use it
6182 too.
6183
6184 * grub-core/gfxmenu/named_colors.c: Move to ...
6185 * grub-core/video/colors.c: ... here. Rename
6186 grub_gui_get_named_color to grub_video_get_named_color.
6187 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6188 * grub-core/video/colors.c (my_isxdigit): ... here.
6189 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6190 Move to ...
6191 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6192 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6193 to ...
6194 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6195
6196 * include/grub/gui.h (grub_gui_color_t): Move to ...
6197 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6198 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6199 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6200 * include/grub/gui.h (grub_gui_map_color): Move to ...
6201 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6202 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6203 to ...
6204 * include/grub/video.h (grub_video_get_named_color): ... here.
6205 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6206 * include/grub/video.h (grub_video_parse_color): ... here.
6207
6208 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6209 video/colors.c.
6210 (gfxmenu): Remove gfxmenu/named_colors.c.
6211 (video) [videomodules]: Add video/colors.c.
6212
6213 Add a background_color command.
6214
6215 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6216 function.
6217 (GRUB_MOD_INIT): Register background_color command.
6218 (GRUB_MOD_FINI): Unregister background_color command.
6219 (redraw_screen_rect): Allow blend/replace of text layer to be
6220 controlled independently from whether there is a background bitmap.
6221 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6222 changing bitmap.
6223
6224 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Patch BPB in ntldr and chainloader --bpb.
6227
6228 * grub-core/fs/fat.c: Include grub/fat.h.
6229 (grub_fat_bpb): Moved to ...
6230 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6231 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6232 grub/ntfs.h.
6233 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6234 Moved from here...
6235 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6236 here.
6237 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6238 New function.
6239 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6240 (GRUB_MOD_INIT): Show --bpb.
6241 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6242 * grub-core/normal/main.c (features): New variable.
6243 (GRUB_MOD_INIT): Set feature_* variables.
6244 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6245 proto.
6246 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6247
6248 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6251 for cleanness.
6252
6253 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 FreeDOS direct loading support.
6256
6257 * docs/grub.texi (Supported OS): Add FreeDOS.
6258 * grub-core/Makefile.core.def (freedos): New module.
6259 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6260 variable.
6261 (grub_relocator16_boot): Handle %ebx.
6262 * grub-core/lib/i386/relocator16.S: Likewise.
6263 * grub-core/loader/i386/pc/freedos.c: New file.
6264
6265 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 Long Linux command line support.
6268
6269 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6270 (maximal_cmdline_size): New variable.
6271 (allocate_pages): Use maximal_cmdline_size.
6272 (grub_cmd_linux): Set and use maximal_cmdline_size.
6273 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6274 (allocate_pages): Use maximal_cmdline_size.
6275 (grub_cmd_linux): Set and use maximal_cmdline_size.
6276 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6277 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6278 and cmdline_size.
6279
6280 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6281 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6282
6283 Improve devmapper support
6284
6285 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6286 (grub_util_is_lvm): New function.
6287 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6288 than lvm if not dmraid.
6289 Handle mapped md nodes.
6290 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6291 (grub_util_device_is_mapped): ... this. Make always available. All users
6292 updated.
6293 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6294 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6295 dmraid nodes.
6296 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6297
6298 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6301
6302 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6303 * grub-core/modinfo.sh.in: New file.
6304 * grub-core/Makefile.core.def (modinfo.sh): New script.
6305 * util/grub-mknetdir.in: Use modinfo.sh.
6306 * util/grub-mkrescue.in: Likewise.
6307
6308 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6311 Fix potential usage of Elf32 instead of Elf64 when compiling on
6312 32-bit architecture. Add endianness macros while on it.
6313
6314 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Use mipsel- rather than mips- in directories involving mipsel ports to
6317 allow both endiannesses coexist.
6318
6319 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6320 mips. All conditions adjusted.
6321 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6322 variable.
6323 * util/grub-install.in: Adjust conditions to take renaming into account.
6324 * util/grub-mkimage.c (image_targets): Likewise. New target
6325 mips-qemu_mips-elf for bigendian mips.
6326
6327 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Avoid unnecessary copying on MIPS.
6330
6331 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6332 early if src == dest.
6333 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6334 compression is none.
6335
6336 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 Reduce memory footprint on SGI by putting modules before the kernel
6339 as opposed to after.
6340
6341 * grub-core/Makefile.core.def (kernel): Increase linking address.
6342 (none_decompress): Likewise.
6343 (xz_decompress): Likewise.
6344 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6345 address.
6346 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6347 layout change.
6348 (grub_arch_modules_addr): New function.
6349 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6350 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6351 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6352 here.
6353 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6354 (grub_total_modules_size): ... this. Make global.
6355 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6356 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6357 New definition.
6358 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6359 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6360 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6361 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6362 * util/grub-mkimage.c (image_target_desc): New flag
6363 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6364 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6365 (generate_image): Handle images with modules before kernel.
6366
6367 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 Prevent potential loss of memory map by overwrite on qemu-mips.
6370
6371 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6372 Save ram size in $s4.
6373 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6374 All users changed to grub_arch_memsize.
6375 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6376 Loongson.
6377 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6378 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6379 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6380 external variable.
6381
6382 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6383
6384 * .bzrignore: Remove grub-dumpbios.
6385
6386 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6387
6388 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6389 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6390 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6391 existing options which append).
6392 * docs/grub.texi (Simple configuration): Document new options.
6393 Reported by: Ian Jackson. Fixes Debian bug #617538.
6394
6395 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6396
6397 * util/grub-fstest.c (cmd_cat): New function.
6398 (fstest): Handle CMD_CAT.
6399 (options): Add cat.
6400 (argp_parser): Handle cat.
6401
6402 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * Makefile.util.def (grub-bin2h): Don't install.
6405 * docs/man/grub-bin2h.h2m: Remove.
6406
6407 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6408
6409 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6410 place.
6411
6412 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6413
6414 Reenable qemu-mips port.
6415
6416 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6417 Fix small arc bug while on it.
6418 * gentpl.py: Handle qemu_mips.
6419 * grub-core/Makefile.am: Likewise.
6420 * grub-core/Makefile.core.def: Likewise.
6421 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6422 inappropriate includes.
6423 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6424 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6425 * grub-core/kern/main.c (grub_modules_get_end)
6426 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6427 * grub-core/kern/mips/qemu-mips: Moved to ..
6428 * grub-core/kern/mips/qemu_mips: ... this.
6429 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6430 (grub_machine_init): Call terminfo_init and serial_init.
6431 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6432 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6433 New variable.
6434 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6435 parameter passing.
6436 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6437 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6438 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6439 * include/grub/mips/qemu_mips/cmos.h: New file.
6440 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6441 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6442 Removed.
6443 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6444 Use correct mips-style address.
6445 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6446 (GRUB_TICKS_PER_SECOND): Removed.
6447 (grub_get_rtc): Likewise.
6448 (grub_cpu_idle): Likewise.
6449 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6450 New definition.
6451 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6452 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6453 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6454 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6455 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6456 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6457 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6458 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6459
6460 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 SGI ARCS port.
6463
6464 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6465 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6466 platforms.
6467 * configure.ac: New target mips-arc.
6468 * gentpl.py: Likewise.
6469 * grub-core/Makefile.am: Likewise.
6470 * grub-core/Makefile.core.def: Likewise.
6471 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6472 (none_decompress): Likewise.
6473 (lsdev): New module.
6474 (datetime): Use lib/arc/datetime.c on ARC.
6475 (part_dvh): New module.
6476 * grub-core/commands/arc/lsdev.c: New file.
6477 * grub-core/disk/arc/arcdisk.c: Likewise.
6478 * grub-core/kern/mips/arc/init.c: Likewise.
6479 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6480 aligned addresses.
6481 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6482 support.
6483 (grub_arch_dl_relocate_symbols): Likewise.
6484 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6485 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6486 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6487 platforms.
6488 * grub-core/lib/arc/datetime.c: New file.
6489 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6490 pci.h on non-loongson.
6491 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6492 (grub_linux_boot): Set unused registers to 0.
6493 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6494 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6495 * grub-core/mmap/mips/uppermem.c: ...here.
6496 * grub-core/partmap/dvh.c: New file.
6497 * grub-core/term/arc/console.c: Likewise.
6498 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6499 (grub_terminfo_set_current): Add terminal "arc".
6500 (grub_terminfo_readkey): Support ARC sequences.
6501 * include/grub/arc/arc.h: New file.
6502 * include/grub/arc/console.h: Likewise.
6503 * include/grub/disk.h (grub_disk_dev_id): Add
6504 GRUB_DISK_DEVICE_ARCDISK_ID.
6505 * include/grub/mips/arc/kernel.h: New file.
6506 * include/grub/mips/arc/memory.h: Likewise.
6507 * include/grub/mips/arc/time.h: Likewise.
6508 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6509 * include/grub/mips/kernel.h (grub_halt): ... here.
6510 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6511 here...
6512 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6513 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6514 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6515 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6516 proto.
6517 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6518 from here ...
6519 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6520 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6521 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6522 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6523 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6524 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6525 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6526 (grub_phys_addr_t): Moved from here ...
6527 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6528 (grub_vtop): Moved from here ...
6529 * include/grub/mips/memory.h (grub_vtop): ... here.
6530 (grub_map_memory): Moved from here ...
6531 * include/grub/mips/memory.h (grub_map_memory): ... here.
6532 (grub_unmap_memory): Moved from here ...
6533 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6534 (grub_machine_mmap_iterate): Moved from here ...
6535 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6536 (grub_mmap_get_lower): Moved from here ...
6537 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6538 (grub_mmap_get_upper): Moved from here ...
6539 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6540 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6541 here ...
6542 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6543 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6544 here ...
6545 * include/grub/mips/time.h (grub_get_rtc): ... here.
6546 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6547 here ...
6548 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6549 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6550 here ...
6551 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6552 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6553 definition.
6554 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6555 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6556 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6557 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6558 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6559 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6560 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6561 (GRUB_MACHINE_LINK_ADDR): Likewise.
6562 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6563 to 6.
6564 * util/grub-install.in: Run dvhtool on ARC.
6565 * util/grub-mkimage.c (image_targets): Add mips-arc.
6566 (generate_image): Handle ECOFF output for mips-arc.
6567
6568 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6571 blocks.
6572
6573 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6576 after enabling port.
6577
6578 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 Skip incorrect USB devices.
6581
6582 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6583 configcnt == 0.
6584 * include/grub/usb.h (grub_usb_err_t): New enum value
6585 GRUB_USB_ERR_BADDEVICE.
6586
6587 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Fuloong video init support.
6590
6591 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6592 well.
6593 (grub_vga_read_arx): New function.
6594 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6595 definition.
6596 (framebuffer): New members io, mmioptr and mmiobase.
6597 (read_sis_cmd): New function.
6598 (write_sis_cmd): Likewise.
6599 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6600 rather than 640x400.
6601 * grub-core/video/sis315_init.c: New file.
6602
6603 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6606 non-loongson.
6607 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6608 to grub_dl_register_symbol.
6609
6610 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 Fix compilation errors.
6613
6614 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6615 potentially unused.
6616 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6617 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6618 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6619 to loongson machines.
6620
6621 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 Several FS mtime support.
6624
6625 * grub-core/fs/affs.c (grub_affs_time): New struct.
6626 (grub_affs_file): New field mtime.
6627 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
6628 type. Removed 'size'. New field 'di'. All users updated.
6629 (grub_affs_mount): Simplify checsum checking.
6630 (grub_affs_iterate_dir): New helper grub_affs_create_node.
6631 (grub_affs_dir): Handle mtime.
6632 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
6633 (grub_cpio_dir): Likewise.
6634 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
6635 (grub_hfs_filerec): New field mtime.
6636 (grub_hfs_dir): Handle mtime.
6637 (grub_hfs_mtime): New function.
6638 (grub_hfs_fs): Register grub_hfs_mtime.
6639 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
6640 (grub_iso9660_dir): New field mtime.
6641 (grub_fshelp_node): New field dirent.
6642 (iso9660_to_unixtime): New function.
6643 (iso9660_to_unixtime2): Likewise.
6644 (grub_iso9660_read_symlink): Use node->dirent.
6645 (grub_iso9660_iterate_dir): Likewise.
6646 (grub_iso9660_dir): Set mtime.
6647 (grub_iso9660_mtime): New function.
6648 (grub_iso9660_fs): Register grub_iso9660_mtime.
6649 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
6650 (grub_jfs_inode): New fields atime, ctime and mtime.
6651 (grub_jfs_dir): Set mtime.
6652 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6653 * grub-core/fs/ntfs.c (list_file): Set mtime.
6654 (grub_ntfs_dir): Likewise.
6655 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
6656 (grub_reiserfs_iterate_dir): Set mtime.
6657 (grub_reiserfs_dir): Likewise.
6658 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
6659 (grub_fshelp_node): Likewise.
6660 (grub_sfs_iterate_dir): Set mtime.
6661 (grub_sfs_dir): Likewise.
6662 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
6663 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
6664 (grub_xfs_inode): New fields atime, mtime, ctime.
6665 (grub_xfs_dir): Set mtime.
6666 * include/grub/datetime.h (grub_datetime2unixtime): New function.
6667 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
6668 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
6669
6670 Support UDF symlinks.
6671
6672 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
6673 (grub_ufs_read_symlink): New function. All users updated.
6674
6675 Check amiga partmap checksum.
6676
6677 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
6678 (grub_amiga_partition): Likewise.
6679 (amiga_partition_map_checksum): New function.
6680 (amiga_partition_map_iterate): Check checksum.
6681
6682 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 ROMFS support.
6685
6686 * Makefile.util.def (libgrubmods.a): Add romfs.
6687 * grub-core/Makefile.core.def (romfs): New module.
6688 * grub-core/fs/romfs.c: New file.
6689
6690 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 Squashfs v4 support.
6693
6694 * Makefile.util.def (libgrubmods.a): Add squash4.
6695 * grub-core/Makefile.core.def (squash4): New module.
6696 * grub-core/fs/squash4.c: New file.
6697 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
6698 disk_input_start, disk_input.
6699 (get_byte): Handle disk_input.
6700 (grub_zlib_disk_read): New function.
6701 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
6702
6703 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6704 2011-05-15 Feiran Zheng <famcool@gmail.com>
6705
6706 * Makefile.util.def (libgrubmods.a): Add minix3.
6707 * grub-core/Makefile.core.def (minix3): New module.
6708 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
6709 (GRUB_MINIX_BSIZE): Removed.
6710 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
6711 (grub_minix_ino_t): New type.
6712 (grub_minix_le_to_cpu_ino): New macro.
6713 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
6714 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
6715 (grub_minix_data): New field block_size.
6716 (grub_minix_read_file): Handle 64-bit correctly.
6717 * grub-core/fs/minix3.c: New file.
6718
6719 2011-05-15 Tristan Gingold <gingold@free.fr>
6720 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
6721 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6722
6723 IA64 support.
6724
6725 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
6726 * configure.ac: Add ia64-efi target.
6727 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
6728 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
6729 * gentpl.py: Add ia64_efi platform.
6730 Rename x86_efi to efi and Add ia64-efi. All users updated.
6731 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
6732 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
6733 Remove kern/generic/rtc_get_time_ms.c on EFI.
6734 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
6735 kern/ia64/dl_helper.c on ia64-efi.
6736 Add kern/emu/cache.c on emu.
6737 (linux): Use on loader/ia64/efi/linux.c on ia64.
6738 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
6739 whether symbol is a function.
6740 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
6741 (grub_symbol): New field 'isfunc'.
6742 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
6743 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
6744 (grub_dl_load_segments): Place all sections into the same region.
6745 [__ia64__]: Create trampolines and got.
6746 [GRUB_MACHINE_EMU]: Call mprotect.
6747 (grub_dl_resolve_symbols): Resolve symbol type as well.
6748 [__ia64__]: Create function descriptors.
6749 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
6750 (grub_rtc_get_time_ms): ... this. Expressions simplified.
6751 (grub_get_rtc): New function.
6752 * grub-core/kern/emu/cache.c [__ia64__]: New file.
6753 * grub-core/kern/emu/cache.S: Renamed to ...
6754 * grub-core/kern/emu/cache_s.S: ... this.
6755 [__ia64__]: Add a nop.
6756 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
6757 [__ia64__]: New function.
6758 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
6759 * grub-core/kern/ia64/dl.c: New file.
6760 * grub-core/kern/ia64/dl_helper.c: Likewise.
6761 * grub-core/kern/ia64/efi/init.c: New file.
6762 * grub-core/kern/ia64/efi/startup.S: Likewise.
6763 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
6764 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
6765 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
6766 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
6767 * grub-core/loader/ia64/efi/linux.c: New file.
6768 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
6769 (GRUB_MOD_DEP): Likewise.
6770 (grub_dl) [__ia64__]: New fields got and tramp.
6771 (grub_dl): New field 'base'.
6772 (grub_dl_register_symbol): New argument isfunc. All users updated.
6773 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
6774 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
6775 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
6776 (grub_ia64_dl_get_tramp_got_size): New proto.
6777 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
6778 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
6779 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
6780 * include/grub/efi/api.h: Skip call wrappers on ia64.
6781 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
6782 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
6783 * include/grub/elf.h (ELF_ST_INFO): New definition.
6784 * include/grub/ia64/efi/kernel.h: New file.
6785 * include/grub/ia64/efi/memory.h: Likewise.
6786 * include/grub/ia64/efi/time.h: Likewise.
6787 * include/grub/ia64/kernel.h: Likewise.
6788 * include/grub/ia64/setjmp.h: Likewise (from glibc).
6789 * include/grub/ia64/time.h: New file.
6790 * include/grub/ia64/types.h: Likewise.
6791 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
6792 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
6793 New protos.
6794 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
6795 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6796 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
6797 * util/grub-mkimage.c (image_target_desc): New field pe_target.
6798 All users updated.
6799 (EFI64_HEADER_SIZE): New definition. All users updated.
6800 (image_targets): Add ia64-efi.
6801 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
6802 jumpers_addr. All users updated.
6803 Create function descriptors.
6804 (count_funcs): New function.
6805 (unaligned_uint32): New struct.
6806 (MASK20): New definition.
6807 (MASK19): Likewise.
6808 (MASKF21): Likewise.
6809 (add_value_to_slot_20b): New function.
6810 (add_value_to_slot_21_real): Likewise.
6811 (add_value_to_slot_21): Likewise.
6812 (ia64_kernel_trampoline): New struct.
6813 (nopm): New variable.
6814 (jump): Likewise.
6815 (make_trampoline): New function.
6816 (relocate_addresses): Handle ia64.
6817 (make_reloc_section): Likewise.
6818 (load_image): Likewise.
6819
6820 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6821
6822 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
6823 warning. Move variables before code while on it.
6824
6825 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 Fuloong support.
6828
6829 * configure.ac: Rename yeeloong platform to loongson. All users updated.
6830 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
6831 * grub-core/boot/mips/loongson/fuloong.S: New file.
6832 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
6833 Explicitly init CS5536.
6834 [FULOONG]: Don't use serial until CS5536 is available.
6835 Set GPIO based on dumps.
6836 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
6837 [FULOONG]: Handle GPIO and memory controller differences.
6838 Parse machine type in $a2.
6839 * grub-core/boot/mips/startup_raw.S: Determine and save the
6840 architecture.
6841 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
6842 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
6843 init on architecture type.
6844 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6845 SIS315E. Don't init at_keyboard on fuloong.
6846 (grub_halt): Support Fuloong.
6847 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
6848 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
6849 (loongson_machtypes): New array.
6850 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
6851 type.
6852 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
6853 config. All users updated. Handle CS5536 serial.
6854 * grub-core/term/serial.c (grub_serial_register): Conditionalise
6855 default port on machine type. Register serial as inactive.
6856 * grub-core/video/sis315pro.c: New file.
6857 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
6858 definition.
6859 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
6860 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
6861 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
6862 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
6863 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
6864 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
6865 to ...
6866 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
6867 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
6868 definition.
6869 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
6870 (grub_arch_machine): New extern var.
6871 * include/grub/mips/loongson/serial.h
6872 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
6873 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
6874 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
6875 (GRUB_MACHINE_SERIAL_PORT0): ... this.
6876 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
6877 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
6878 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
6879 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
6880 * include/grub/term.h (grub_term_register_input_inactive): New inline
6881 function.
6882 (grub_term_register_output_inactive): Likewise.
6883 * include/grub/video.h (grub_video_driver_id): New value
6884 GRUB_VIDEO_DRIVER_SIS315PRO.
6885 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
6886 New field "names". All users updated.
6887 New field value IMAGE_FULOONG_FLASH.
6888 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
6889
6890 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
6891
6892 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
6893 and add some clarification.
6894
6895 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6896
6897 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
6898 platforms if kernel is compressed.
6899
6900 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
6903 unused modules since currently referrence counter isn't reliable and
6904 there isn't much memory to recover there anyway.
6905
6906 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
6909 rather than resetting it to allow modules to reference themselves
6910 in init.
6911
6912 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
6915 counter on dependencies since grub_dl_unref already handles this.
6916
6917 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
6920 on error if not already done.
6921
6922 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Fix few potential memory misusage.
6925
6926 * grub-core/font/font.c (load_font_index): Don't free char_index to
6927 avoid double free.
6928 (grub_font_load): Zero-fill font at alloc for safety.
6929 Close file on error.
6930 (free_font): Free bmp_idx.
6931
6932 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * docs/grub.texi (Installation): Fix several outdated claims.
6935
6936 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 Handle module_license on windows.
6939
6940 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
6941 sections shifted.
6942 (insert_string): Make argument const char * instead of char *.
6943 (write_section_data): Handle long section names.
6944 Handle module_license.
6945
6946 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6947
6948 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
6949 handle class-free menuentries.
6950 (grub_normal_add_menu_entry): Add a check to be sure.
6951
6952 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6955 PgUp and PgDown.
6956
6957 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6958
6959 * configure.ac: Bump version to 1.99.
6960
6961 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 Give ATA device a bit more time on first try in order to allow disks
6964 to spin up.
6965
6966 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6967 if dev->present is 1. Reset dev->present on failure.
6968 (grub_ata_device_initialize): Set dev->present to 1.
6969 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6970 (grub_ata_device): New member 'present'.
6971
6972 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6973
6974 * util/grub-mkimage.c (generate_image): Update hash.
6975
6976 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 Flush caches on DMA memory.
6979
6980 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6981 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6982 (grub_dma_free): Likewise.
6983 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6984
6985 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6988 to avoid asm treating ld and sd as macros.
6989
6990 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6991
6992 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6993 decompressor.
6994
6995 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6998 grub_decompress_core since later would fail if grub_decompress_core
6999 is too far.
7000
7001 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
7004 R_MIPS_JALR since it's used by newer compiler.
7005
7006 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
7009
7010 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
7013 file_path to 0 for surety.
7014 (grub_chainloader_boot): Set exit_data to NULL.
7015 Unset the loader once done.
7016 (grub_cmd_chainloader): Fix confusing error message if file is empty.
7017
7018 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
7021 unknown key into a dprintf.
7022
7023 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7026 on first non-existant partition.
7027
7028 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7029
7030 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7031 openning fails.
7032 Reported by: Mark Korenberg.
7033
7034 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7037 overflow.
7038
7039 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7040
7041 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7042 before closing to ensure that it will be readable by grub-setup.
7043
7044 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7047 (devpath_1): Use MAKE_PIWG_PATH.
7048 (devpath_2): Likewise.
7049 (devpath_3): Likewise.
7050 (devpath_4): Likewise.
7051 (devpath_5): Likewise.
7052 (devpath_6): Likewise.
7053
7054 The appleldr.mod was checked that to be binary identical to previous
7055 version.
7056
7057 2011-05-05 Zach <mikezackles>
7058
7059 Support 2010 Macbooks.
7060
7061 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7062 (devs): Add devpath_6.
7063
7064 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7067 /dev/random. /dev/urandom is good enough for our purposes (salting).
7068
7069 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7072
7073 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7074
7075 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7076 hexadecimal.
7077
7078 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7081 and not 0 on failure.
7082
7083 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7084
7085 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7086 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7087 disk; otherwise grub_fs_probe will not fall back to the next
7088 filesystem.
7089 (grub_pxefs_open): Likewise, for consistency.
7090 Reported and tested by: Ezekiel Grave.
7091
7092 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7093
7094 * tests/partmap_test.in: Don't hardcode path to parted.
7095 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7096
7097 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
7098
7099 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7100 of `ls' to find out which devices are available.
7101
7102 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7105 than source address for efi mmap buffer.
7106
7107 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7110 wrong action on non-detecting the magic.
7111
7112 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7115 already supplied by another part of the module (fixes compilation on
7116 FreeBSD).
7117
7118 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7121 match the one used by mdadm.
7122
7123 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7124
7125 * po/README: Add instructions for creating po/LINGUAS.
7126
7127 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7128
7129 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7130 #551428.
7131
7132 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7133 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7134 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7135 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7136 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7137 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7138 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7139 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7140 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7141 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7142 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7143 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7144 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7145 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7146 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7147 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7148 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7149 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7150 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7151 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7152 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7153 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7154
7155 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7156
7157 * grub-core/kern/emu/getroot.c
7158 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7159 test that was incorrectly reintroduced in r3214.
7160 Reported by: Ian Dall. Fixes Savannah bug #33133.
7161
7162 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7163
7164 Fix stack pointer handling in 16-bit relocator.
7165
7166 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7167 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7168 Fixes Ubuntu bug #683904.
7169
7170 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * configure.ac: Bump version to 1.99~rc2.
7173
7174 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7175
7176 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7177 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7178 * grub-core/lib/x86_64/setjmp.S: Likewise.
7179 * grub-core/lib/mips/setjmp.S: Likewise.
7180 * grub-core/lib/powerpc/setjmp.S: Likewise.
7181 * grub-core/lib/sparc64/setjmp.S: Likewise.
7182
7183 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7184
7185 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7186 * grub-core/lib/efi/datetime.c: Likewise.
7187
7188 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7191 New function.
7192 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7193 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7194 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7195
7196 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7197
7198 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7199 bitmap.
7200 (grub_gfxterm_term_init): Likewise.
7201
7202 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7203
7204 Take into account the decorations the computing menu entry width.
7205
7206 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7207 (grub_gfxmenu_create_box): Register get_border_width.
7208 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7209 if available.
7210 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7211 get_border_width.
7212
7213 2011-04-18 Endres Puschner <code@e7p.de>
7214
7215 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7216 Don't skip first class.
7217
7218 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7219
7220 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7221 chunks.
7222 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7223
7224 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Complete 64-bit division support.
7227
7228 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7229 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7230 * include/grub/misc.h (grub_divmod64): Rename to ...
7231 (grub_divmod64_full): ... this.
7232 (grub_divmod64): New inline function.
7233
7234 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7237
7238 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7239
7240 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7241 performing the necessary test.
7242
7243 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7246 (kfreebsd.elf): Likewise.
7247 (pc-chainloader.elf): Likewise.
7248 (ntldr.elf): Likewise.
7249
7250 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 Identify RAID by its UUID rather than (guessed) name.
7253
7254 * grub-core/disk/raid.c (ascii2hex): New function.
7255 (grub_raid_open): Accept mduuid/%s specification.
7256 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7257 (get_mdadm_uuid): ... this.
7258 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7259
7260 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7263 to negative size.
7264
7265 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7266
7267 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7268 btrfs subvolume.
7269 * util/grub.d/20_linux_xen.in: Likewise.
7270
7271 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7272
7273 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7274 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7275
7276 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7277 Build a list of relevant visible mounts using the mnt_id and
7278 parent_mnt_id fields, and then scan that list at the end.
7279
7280 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7281
7282 * docs/grub.texi (normal): New section.
7283 (normal_exit): New section.
7284 (Embedded configuration): Add reference to normal.
7285 (GRUB only offers a rescue shell): Likewise.
7286 * docs/grub-dev.texi (Error Handling): Fix typo.
7287
7288 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7289
7290 * NEWS: Drop obsolete entry about probe-only btrfs support.
7291
7292 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7293
7294 * util/import_gcry.py: Fix typo.
7295
7296 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7297
7298 * NEWS: Add btrfs support.
7299
7300 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7301 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7302
7303 BtrFS support. Written by me (Vladimir) with important bugfixes and
7304 even more important testing by Colin.
7305
7306 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7307 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7308 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7309 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7310 mem_input_off and mem_input. All users updated to accept in-RAM input.
7311 (gzio_seek): New function.
7312 (test_zlib_header): Likewise.
7313 (grub_gzio_read): Likewise.
7314 (grub_zlib_decompress): Likewise.
7315 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7316 Accept partial and non-virtual mounts.
7317 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7318 avoid receiving /dev/dm-X as device.
7319 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7320 Handle bind and partial mounts.
7321 * grub-core/lib/crc.c: New file.
7322 * include/grub/deflate.h: Likewise.
7323 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7324 proto.
7325 * include/grub/lib/crc.h: New file.
7326
7327 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Implement automatic module license checking according to new GNU
7330 guidelines.
7331
7332 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7333 (grub_dl_load_core): Use grub_dl_check_license.
7334 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7335 (GRUB_MOD_LICENSE): Likewise.
7336 (GRUB_MOD_DUAL_LICENSE): Likewise.
7337 All modules updated.
7338
7339 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7340
7341 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7342 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7343 loaders.
7344 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7345
7346 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7347
7348 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7349
7350 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7353 failed.
7354
7355 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7358 parenthesis in the middle of the filename.
7359
7360 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7363 rather than trying to put initrd way too high.
7364 Reported by: Ryan Lortie <desrt@desrt.ca>
7365
7366 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7369 improperly removed string.
7370
7371 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7374 is_disk.
7375 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7376 (open_device) Likewise.
7377 (grub_util_biosdisk_close): Likewise.
7378 Reported by: Mark Korenberg.
7379
7380 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7381
7382 * util/grub-mkconfig_lib.in: Add missing quotes.
7383
7384 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
7385
7386 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7387 is NULL.
7388
7389 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7390
7391 Dynamically count the number of lines for the lower banner.
7392
7393 * grub-core/normal/menu_entry.c (per_term_screen): New member
7394 num_entries.
7395 (print_down): Use num_entries.
7396 (update_screen): Likewise.
7397 (grub_menu_entry_run): Set num_entries.
7398 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7399 num_entries.
7400 (grub_print_message_indented): Move real part to ...
7401 (grub_print_message_indented_real): ... here. Additional argument
7402 dry_run.
7403 (draw_border): Additional argument num_entries.
7404 (print_message): Additional argument dry_run.
7405 (print_entries): Receive menu viewer data.
7406 (grub_menu_init_page): New argment num_entries.
7407 (menu_text_set_chosen_entry): Use num_entries.
7408 (grub_menu_try_text): Likewise.
7409 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7410 All users updated.
7411 (grub_ucs4_count_lines): New function.
7412 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7413 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7414 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7415 (grub_term_border_height): Likewise.
7416 (grub_term_num_entries): Likewise.
7417
7418 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7421 Remove now unused string.
7422
7423 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7424
7425 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7426 build system.
7427 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7428
7429 (Comment): Fix typo.
7430 (Getting started): General copy-editing.
7431 (Typical Development Experience): Likewise.
7432 (Error Handling): Likewise.
7433 (Video API): Likewise.
7434
7435 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7436
7437 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7438 throughout.
7439
7440 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7443 directory.
7444
7445 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7446
7447 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7448 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7449 "development".
7450
7451 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7454 grub_strcpy since the lines aren't necessarily 0-terminated.
7455
7456 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7459 root on legacy.
7460
7461 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7464 (GRUB_MOD_INIT): DEVICE isn't optional.
7465
7466 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7469 word on new line if it's too long anyway. Fixes a hang.
7470
7471 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7474 const.
7475 * util/grub-setup.c (main): Reuse md device name if available.
7476 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7477 not GRUB name as argument.
7478 Based on patch by: Florian Wagner <fwagner>.
7479
7480 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7481
7482 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7483 Place mbi on low memory for better compatibility.
7484
7485 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7488
7489 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7490 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7491
7492 * autogen.sh: Ensure that collate and ctype locale is C.
7493 * conf/Makefile.common: Likewise.
7494
7495 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/normal/menu.c: Add missing include.
7498
7499 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
7502
7503 2011-04-08 Martin Zuther <mzuther@mzuther.de>
7504
7505 * util/grub-mkconfig.in: Ignore emacsen backup.
7506
7507 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7510 on open.
7511 (grub_util_biosdisk_close): Likewise.
7512
7513 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7514
7515 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7516 const attribute and use grub_isdigit.
7517
7518 2011-04-06 Andrey <dev_null@ukr.net>
7519
7520 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7521 gcc warning.
7522
7523 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7526 useful grub_dprintf's.
7527
7528 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7531
7532 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7533
7534 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7535
7536 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 Output errors if theme loading failed.
7539
7540 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7541 grub_gfxterm_fullscreen on error paths to ...
7542 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7543 theme loading error.
7544
7545 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7546
7547 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7548 space for older compilers.
7549 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7550
7551 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7554 and report them as not RAID members since they are useless for GRUB.
7555 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7556
7557 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 Increase LVM implementation robustness in order not to crash on
7560 configurations like pvmove. Previously code assumed that in some places
7561 only lvs or only pvs are used whereas it seems that they are used
7562 interchangeably.
7563
7564 * grub-core/disk/lvm.c (read_node): New function.
7565 (read_lv): Use read_node.
7566 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7567 Match volumes only at the end when all lvs are found. Take both
7568 pvs (first) and lvs (second) into account.
7569 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7570 mirror_* into node_*. All users updated.
7571 (grub_lvm_stripe): Merge this ...
7572 (grub_lvm_mirror): ... and this ...
7573 (grub_lvm_node): ... into this. All users updated.
7574
7575 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7576
7577 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7578 of function to allow further scanning for LVMs.
7579
7580 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7583 on failed seek as it breaks open fd reusage.
7584
7585 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-install.in: Add a recommendation to use --recheck before
7588 reporting bugs.
7589
7590 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7593 are obtained.
7594
7595 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 GRUB developper manual based on existing Internals section and
7598 contributions by the various authors with active copyright assignment.
7599
7600 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7601 * docs/font_char_metrics.png: New file.
7602 * docs/font_char_metrics.txt: Likewise.
7603 * docs/grub-dev.texi: Likewise.
7604 * docs/grub.texi (Internals): Move from here ...
7605 * docs/grub-dev.texi: ... here.
7606
7607 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7608
7609 Store the loopback device as data on loopback grub_disk structures,
7610 rather than the file it points to. This fixes use of freed memory
7611 if an existing loopback device is replaced.
7612
7613 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7614 disk->data, not dev->file.
7615 (grub_loopback_read): Adjust file assignment to match.
7616 Fixes Ubuntu bug #742967.
7617
7618 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7619
7620 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
7621 when replacing an existing device.
7622
7623 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
7626 memory corruptions.
7627
7628 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
7629 unsigned.
7630 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
7631 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
7632 (grub_jfs_read_inode): Likewise.
7633 (grub_jfs_opendir): Likewise. Remove now useless casts.
7634 (grub_jfs_getent): Likewise.
7635 Make ino a grub_uint32_t rather than int.
7636 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
7637 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
7638 division and module with bit operations.
7639 (grub_jfs_find_file): Make ino a grub_uint32_t.
7640 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
7641
7642 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7643
7644 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
7645 warning. (This was in fact always initialised before use, but GCC
7646 wasn't smart enough to prove that.)
7647 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7648
7649 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
7652 stack alignment.
7653 (efi_wrap_1): Likewise.
7654 (efi_wrap_2): Likewise.
7655 (efi_wrap_3): Likewise.
7656 (efi_wrap_4): Likewise.
7657 (efi_wrap_5): Likewise.
7658 (efi_wrap_6): Likewise.
7659 (efi_wrap_10): Likewise.
7660 Based on information by: Red Hat/Peter Jones.
7661
7662 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
7663
7664 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
7665 set-but-not-used variable.
7666
7667 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
7668
7669 * docs/grub.texi (Simple configuration): Be more explicit about
7670 GRUB_DEFAULT, and add an example.
7671 Reported by: Leslie Rhorer.
7672
7673 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7674
7675 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
7676 shell".
7677
7678 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7679
7680 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
7681 * util/grub.d/20_linux_xen.in: Likewise.
7682
7683 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 * util/grub.d/10_linux.in: Try alternative config filenames where
7686 we parse config file.
7687 * util/grub.d/20_linux_xen.in: Likewise.
7688
7689 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7690
7691 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
7692 * util/grub.d/20_linux_xen.in: Likewise.
7693
7694 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 * grub-core/disk/raid.c (insert_array): Add few potentially
7697 useful grub_util_info.
7698 (grub_raid_register): Likewise.
7699
7700 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
7703 Preserve partition number in mdadm code path.
7704
7705 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
7708 few potentially useful grub_util_info.
7709
7710 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
7713
7714 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7715
7716 * docs/grub.texi (default): Use @example rather than nested
7717 itemized lists to avoid breaking gendocs.
7718
7719 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7720
7721 * docs/grub.texi (Future): Update.
7722
7723 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7724
7725 * docs/grub.texi (Environment): New chapter.
7726 (Changes from GRUB Legacy): Link to "Environment block" section for
7727 details of limitations.
7728 (Simple configuration): Likewise. Link to documentation of gfxmode
7729 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
7730 respectively.
7731 (Shell-like scripting): Note that normal variables are stored in the
7732 environment.
7733 (gettext): Link to documentation of lang and locale_dir.
7734 (list_env): New section.
7735 (load_env): New section.
7736 (save_env): New section.
7737
7738 (Reporting bugs): Fix typo.
7739
7740 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
7743 the example.
7744
7745 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/term/at_keyboard.c (set_scancodes)
7748 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
7749
7750 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7751
7752 * docs/grub.texi (Menu-specific commands): Remove some semantics
7753 that were true in GRUB Legacy but not in GRUB 2.
7754 (submenu): New section.
7755 (false): New section.
7756 (read): New section.
7757 (true): New section.
7758
7759 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7760
7761 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
7762
7763 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * docs/grub.texi (Simple configuration): Explain some of the
7766 current limitations of grub-mkconfig.
7767 Reported by: Leslie Rhorer.
7768
7769 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 Old macs search for boot.efi rather than for bootia32.efi.
7772
7773 * util/grub-install.in: Copy bootia32.efi to boot.efi.
7774 * util/grub-mkrescue.in: Likewise.
7775 Suggested by: Peter Jones.
7776
7777 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
7780
7781 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
7784 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
7785 (grub_lvm_mirror): New struct.
7786 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
7787 (grub_lvm_iterate): Iterate only visible volumes.
7788 (grub_lvm_read): Factor out to ..
7789 (read_lv): ... this. Support mirrors.
7790 (grub_lvm_read): New wrapper function.
7791 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
7792 stripped or mirrored.
7793
7794 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7795
7796 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
7797
7798 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7799
7800 * docs/grub.texi (loopback): New section.
7801
7802 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7803
7804 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
7805 removed -p option.
7806
7807 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7808
7809 * docs/grub.texi (BIOS installation): New section, partly based on
7810 previous text in other sections.
7811 (Installing GRUB using grub-install): Replace BIOS discussion with a
7812 cross-reference.
7813 (Images): Likewise.
7814
7815 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7816
7817 * grub-core/kern/emu/hostdisk.c (find_partition_start)
7818 [HAVE_DIOCGDINFO]: Add safety checks.
7819
7820 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7821
7822 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
7823 per default compiled in kernel and prior to 8.0 isn't shipped at all.
7824
7825 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7826
7827 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
7828 real_sb->size is zero (e.g. RAID-0), get the disk size from
7829 real_sb->data_size instead.
7830 Fixes Ubuntu bug #743136.
7831
7832 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7833
7834 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
7835 printf clauses for printing size and start.
7836
7837 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
7840 Reported and tested by: Timothy Nikkel.
7841
7842 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7843
7844 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
7845 (dirty_region_add_real): ... this.
7846 (dirty_region_add): Don't discard margin refresh when performing
7847 scheduled repaint.
7848
7849 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7850
7851 * grub-core/lib/relocator.c (allocate_regstart)
7852 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
7853 terminals are capabple of malloc-free operation.
7854 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7855 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7856
7857 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
7858
7859 * util/grub-setup.c: Copy the partition table zone if floppy support
7860 is disabled, even if no partition table is found.
7861
7862 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
7863 during POST if an invalid partition table is contained in the PBR
7864 of the active partition when GRUB is installed to a partition.
7865
7866 2011-03-28 Colin Watson <cjwatson@debian.org>
7867
7868 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
7869 comment.
7870
7871 2011-03-28 Colin Watson <cjwatson@debian.org>
7872
7873 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
7874 to be specific about what kind of RAID device we're scanning for.
7875
7876 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
7877
7878 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
7879 return freed string.
7880
7881 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
7884
7885 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 Use libgeom on FreeBSD to detect partitions.
7888
7889 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
7890 (grub-mkrelpath): Likewise.
7891 (grub-script-check): Likewise.
7892 (grub-editenv): Likewise.
7893 (grub-mkpasswd-pbkdf2): Likewise.
7894 (grub-fstest): Likewise.
7895 (grub-mkfont): Likewise.
7896 (grub-mkdevicemap): Likewise.
7897 (grub-probe): Likewise.
7898 (grub-setup): Likewise.
7899 (grub-ofpathname): Likewise.
7900 (grub-mklayout): Likewise.
7901 (example_unit_test): Likewise.
7902 (grub-menulst2cfg): Likewise.
7903 * grub-core/Makefile.core.def (grub-emu): Likewise.
7904 (grub-emu-lite): Likewise.
7905 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
7906 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
7907 define HAVE_DIOCGDINFO.
7908 (follow_geom_up) [FreeBSD]: New function.
7909 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
7910 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
7911 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
7912 unconditionally of HAVE_DIOCGDINFO.
7913
7914 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7915
7916 Fix FreeBSD compilation problem.
7917
7918 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
7919 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
7920
7921 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
7924 Switch back to page zero before loading a kernel, since some kernel
7925 drivers expect that.
7926 Thanks to: Felix Kuehling.
7927
7928 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
7931 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
7932 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
7933
7934 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
7937 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
7938
7939 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
7942 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
7943 malloc is disabled.
7944
7945 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
7948 for modules headers when counting the needed allocation size.
7949
7950 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7953 if no ASCII character is found to prevent crash.
7954
7955 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7956
7957 * grub-core/video/bitmap.c (match_extension): Ignore case.
7958
7959 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7962
7963 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/script/parser.y: Declare "time" as valid argument.
7966
7967 2011-03-23 Peter Jones <pjones@redhat.com>
7968
7969 Fix incorrect assert failure reporting.
7970
7971 * grub-core/tests/example_functional_test.c (example_test): Add
7972 a failure comment.
7973 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7974 (failure_start): ...this. Check that malloc succeeded.
7975 Don't call xvasprintf. Return failure struct.
7976 (failure_append_vtext): New function.
7977 (failure_append_text): Likewise.
7978 (add_failure): Likewise.
7979 (grub_test_assert_helper): Likewise.
7980 * include/grub/test.h (grub_test_assert_helper): New declaration.
7981 (grub_test_assert): Macro rewritten.
7982
7983 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7986
7987 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7990
7991 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7994 into GRUB-style one.
7995
7996 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7999 error and not grub_errno.
8000 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
8001
8002 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
8005 GRUB_USB_SPEED_NONE in case of failure and not the error code.
8006
8007 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8008
8009 * grub-core/efiemu/i386/pc/cfgtables.c
8010 (grub_machine_efiemu_init_tables): Make declaration a prototype.
8011 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
8012 (grub_xnu_unlock): Likewise.
8013 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
8014
8015 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8016
8017 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
8018 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
8019 * grub-core/commands/hashsum.c (aliases): Likewise.
8020 * grub-core/commands/setpci.c (pci_registers): Likewise.
8021 * grub-core/disk/usbms.c (attach_hook): Likewise.
8022 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
8023 (zio_checksum_table): Likewise.
8024 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8025 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8026 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8027 * grub-core/lib/relocator.c (leftovers): Likewise.
8028 (extra_blocks): Likewise.
8029 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8030 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8031 (modules_last): Likewise.
8032 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8033 (devices): Likewise.
8034 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8035 (modules_last): Likewise.
8036 * grub-core/normal/auth.c (users): Likewise.
8037 * grub-core/normal/context.c (initial_menu): Likewise.
8038 (current_menu): Likewise.
8039 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8040 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8041 (grub_serial_terminfo_input_template): Likewise.
8042 (grub_serial_terminfo_output_template): Likewise.
8043 (grub_serial_terminfo_input): Likewise.
8044 (grub_serial_terminfo_output): Likewise.
8045 (registered): Likewise.
8046 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8047
8048 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8051 grub_video_mode_type_t.
8052 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8053 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8054 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8055
8056 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8057
8058 * util/grub-install.in: Correct the x86-64 name as x86_64.
8059
8060 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
8061
8062 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8063 initial chunk read from the kernel always includes GRUB's multiboot
8064 header, which is now outside the first sector.
8065
8066 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8067
8068 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8069 cached mmap_size, so that this works correctly when called multiple
8070 times.
8071 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8072
8073 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8074
8075 * docs/grub.texi (Simple configuration): Tidy up formatting.
8076
8077 2011-03-07 Szymon Janc <szymon@janc.net.pl>
8078
8079 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8080 Set-but-not-used variable removed.
8081
8082 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 Workaround yet another IEEE1275 bug.
8085
8086 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8087 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8088 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8089 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8090 is set.
8091 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8092 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8093
8094 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8097 error.
8098
8099 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
8100
8101 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8102 empty, since in that case we can only generate either nothing or a
8103 syntactically invalid configuration file.
8104 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8105
8106 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8107
8108 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8109 (Making a GRUB bootable CD-ROM): Likewise.
8110 (Invoking grub-mkrescue): New section.
8111 Reported by: Yann Dirson. Fixes Debian bug #612585.
8112
8113 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8114
8115 * util/grub-install.in: Remove unnecessary brackets from tr
8116 arguments.
8117 * util/grub.d/10_hurd.in: Likewise.
8118 * util/grub.d/10_kfreebsd.in: Likewise.
8119 * util/grub.d/10_linux.in: Likewise.
8120 * util/grub.d/20_linux_xen.in: Likewise.
8121 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8122
8123 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
8124
8125 * include/grub/file.h (not_easly_seekable): Rename to ...
8126 (not_easily_seekable): ... this. Update all users.
8127
8128 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
8129
8130 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8131 grub-mkrescue.
8132
8133 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * util/grub-mkimage.c (generate_image): Refuse to create the images
8136 bigger than the actual flash (512K) in Loongson machines. 512K is also
8137 the biggest chip supported by them.
8138
8139 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8142
8143 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
8144
8145 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8146 super_offset field.
8147
8148 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * util/grub-install.in: Ignore install device on platforms
8151 where it doesn't make sense. Always use UUIDs except on pc, efi and
8152 sparc64.
8153 Reported by: Daniel Kahn Gillmor.
8154
8155 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8158
8159 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8162 (iterate_real): Don't rely on partition being non-NULL.
8163
8164 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8167 supported platforms. Put a compile time assert for this rather than
8168 generate a warning with 32-bit shift.
8169
8170 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8173 logical expression more readable.
8174
8175 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8178 even if some elements have a name.
8179 Reported by: Alexander GQ Gerasiov.
8180
8181 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8184 path unreadable if `grub-probe -t abstraction' fails, for example if
8185 memberlist fails on an LVM volume group.
8186 Reported by: Darius Jahandarie.
8187
8188 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8189
8190 * docs/grub.texi (Simple configuration): Document
8191 GRUB_PRELOAD_MODULES.
8192
8193 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
8194
8195 * .bzrignore: Remove nonexistent grub-pbkdf2.
8196
8197 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * configure.ac: Bump version to 1.99~rc1.
8200
8201 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8204 for safety.
8205
8206 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8209 module.
8210
8211 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8214
8215 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8218 diskdevid.
8219
8220 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Fix compilation on cygwin.
8223
8224 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8225 -R .drectve on cygwin.
8226 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8227 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8228 (COND_CYGWIN): New condition.
8229 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8230 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8231 not @TARGET_OBJ2ELF@.
8232 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8233 type to determine whether aux is to be used.
8234
8235 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8238 realpath'ed device string.
8239 Handle floppy (somewhat).
8240 Issue error in unknown case rather than garbage.
8241 Reported by: Axel Beckert.
8242
8243 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub.d/00_header.in (load_video): Handle the case when no video
8246 drivers available.
8247 Thanks to: Axel Beckert.
8248
8249 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8250
8251 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8252 variable. Fixes problem on big endian platforms.
8253
8254 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8257 It doesn't work well there.
8258
8259 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8262 warning.
8263 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8264 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8265 counter.
8266
8267 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 Use alias->path rather than buggy "canon".
8270
8271 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8272 (ofdisk_hash_add): New argument curcan. All users updated.
8273
8274 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8275
8276 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8277
8278 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8281 loadmask before doing any calculations. Use correct type for offset.
8282 (grub_linux_load64): Likewise.
8283
8284 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8285
8286 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8287 with NULL.
8288 (console_grub_equivalences_unshift): Likewise.
8289 Reported by: Daniel Dehennin.
8290
8291 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8294 (set_env_limn_ro): Likewise.
8295 (GRUB_MOD_INIT): Likewise.
8296 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8297 ARRAY_SIZE while on it.
8298 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8299 * grub-core/normal/context.c (grub_env_export): Move from here ...
8300 * grub-core/kern/env.c (grub_env_export): ... here.
8301 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8302 prefix.
8303 * grub-core/kern/main.c (grub_main): Export root and prefix.
8304 * include/grub/env.h (grub_env_export): Export.
8305 Reported by: Seth Goldberg.
8306
8307 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8310 Take into account space used by ELF sections and multiboot palette.
8311 Reported by: Grégoire Sutre.
8312
8313 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8314
8315 * BUGS: New file.
8316
8317 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8318
8319 Pass more appropriate video id to Linux.
8320
8321 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8322 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8323 fill have_vga.
8324 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8325 shift params->lfb_size.
8326 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8327
8328 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8331
8332 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8335 separator and pass bootpath/devid even if only one of them is available.
8336 Reported by: Seth Goldberg.
8337
8338 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8341 implementations bug on them.
8342
8343 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8344 memory.
8345 (filter_memory_map): Likewise.
8346
8347 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8348
8349 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8350 Reported by: nebuchadnezzar.
8351
8352 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8353
8354 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8355 Reported by: nebuchadnezzar.
8356
8357 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 Submenu default support.
8360
8361 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8362 auto_boot. All users updated.
8363 Declared static.
8364 Handle chosen and default with submenus.
8365 (grub_menu_execute_with_fallback): Declared static.
8366 Don't notify failure if autobooted. Upper level does it.
8367 (menuentry_eq): New function.
8368 (get_entry_number): Use menuentry_eq.
8369 (show_menu): New parameter "autobooted". All users updated.
8370 (grub_show_menu): Likewise.
8371 * include/grub/normal.h (grub_show_menu): Likewise.
8372 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8373 (grub_menu_execute_with_fallback): Likewise.
8374
8375 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * util/grub-mklayout.c (usage): Update help text.
8378
8379 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8382
8383 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * util/grub-menulst2cfg.c (main): Trim the line.
8386
8387 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8388
8389 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8390 (grub_machine_init): Don't check amount of low memory as reportedly
8391 INT 12h can be broken and if low memory is too low we wouldn't have
8392 gotten into grub_machine_init anyway.
8393
8394 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8397 (grub_machine_mmap_iterate): Take low memory into account
8398
8399 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8402 badfs.
8403 Reported by: TiCPU.
8404
8405 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8408 members errors.
8409
8410 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8411
8412 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8413 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8414
8415 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8416
8417 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8418 openbsd and netbsd types being in part_bsd module.
8419
8420 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8421
8422 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8423 (_FILE_OFFSET_BITS): Likewise.
8424 Reported by: Seth Goldberg.
8425
8426 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8427
8428 * configure.ac: Check for libdevmapper header.
8429
8430 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8433 avoid aliasing.
8434 (fzap_lookup): Likewise.
8435 (dnode_get): Likewise.
8436 (make_mdn): Likewise.
8437 (zfs_mount): Likewise.
8438 (fzap_iterate): Use temporary pointer to avoid aliasing.
8439 (grub_zfs_read): Likewise.
8440 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8441 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8442 pointers to avoid aliasing.
8443 (grub_cmd_xnu_kernel64): Likewise.
8444 (grub_xnu_load_driver): Likewise.
8445
8446 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8449 aliasing warning.
8450 (grub_cmd_terminal_output): Likewise.
8451 Reported and tested by: Grégoire Sutre.
8452
8453 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8454
8455 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8456 warning.
8457 Reported and tested by: Grégoire Sutre.
8458
8459 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * configure.ac: Do CPU substitution even if it's specified explicitly.
8462 Reported and tested by: Alain Greppin.
8463
8464 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8467 Reported and tested by: Alain Greppin.
8468
8469 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8470
8471 Satisfy some bison versions need for inttypes.h.
8472
8473 * grub-core/lib/posix_wrap/inttypes.h: New file.
8474 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8475 (int16_t): Likewise.
8476 (int32_t): Likewise.
8477 (int64_t): Likewise.
8478 Reported and tested by: Alain Greppin.
8479
8480 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8481
8482 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8483 Silence spurious warning.
8484 Reported and tested by: Alain Greppin.
8485
8486 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8487
8488 * docs/grub.texi (Support automatic decompression): Update with xz
8489 decompression support.
8490
8491 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8492
8493 Improve loaders' kernel command line handling.
8494
8495 * grub-core/lib/cmdline.c: New file.
8496 * include/grub/lib/cmdline.h: Likewise.
8497 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8498 grub_create_loader_cmdline to create kernel command line.
8499 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8500 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8501 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8502 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8503 (linux): Add lib/cmdline.c on common.
8504
8505 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8506
8507 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8508 inopos might be unaligned.
8509
8510 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8513 endian transformations.
8514 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8515 Based on report by: Doug Nazar.
8516
8517 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
8518
8519 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8520 array->members[i].start_sector.
8521 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8522
8523 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8526 Reported and tested by: Grégoire Sutre.
8527
8528 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8529
8530 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8531 avoid causing test failures by clearing the screen.
8532
8533 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8534
8535 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8536 Fix prefix check to handle the case where dir ends with a slash
8537 (most significantly, "/" itself).
8538 Reported by: Michael Vogt.
8539
8540 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 Run terminfo_cls on initing terminfo output to clear the screen and
8543 move the cursor to (0,0).
8544
8545 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8546 Call grub_terminfo_output_init.
8547 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8548 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8549 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8550
8551 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8554 only when needed.
8555
8556 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8557
8558 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8559 CTRL.
8560
8561 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 The E820 type 5 is BADRAM, not EXEC_CODE.
8564
8565 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8566 (GRUB_E820_BADRAM): New define.
8567 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8568 into reserved. Propagate BADRAM.
8569 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8570 (GRUB_E820_BADRAM): New define.
8571
8572 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8575 Ignore the memory post-4G.
8576 (grub_relocator_firmware_alloc_region): Additional debug statement.
8577
8578 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8579
8580 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8581 names.
8582 Reported by: David Pravec.
8583
8584 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8587 BIOSes.
8588
8589 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8592 Prevent overflow.
8593 (grub_reed_solomon_recover): Likewise.
8594
8595 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8598
8599 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8602 variable.
8603
8604 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
8605
8606 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8607 descriptions of extract_legacy_entries_source and
8608 extract_legacy_entries_configfile.
8609 Reported by: Seung Soo, Ha.
8610
8611 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
8612
8613 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8614 on devices that do not implement function 0.
8615
8616 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8617
8618 * grub-core/fs/hfsplus.c: Make parent unsigned.
8619 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8620 overflows.
8621 (grub_hfsplus_cmp_extkey): Likewise
8622
8623 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 * util/grub-install.in: Correctly use bootloader_id and not
8626 GRUB_DISTRIBUTOR on efibootmgr line.
8627
8628 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
8631
8632 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
8633
8634 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
8635 Xen and reorder menu item wording to make it clearer that this entry
8636 will launch Xen. Print separate messages when loading Xen and
8637 Linux.
8638
8639 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
8642 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
8643 loop in case of incorrect amiga partmap.
8644
8645 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8646
8647 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
8648 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
8649 Reported by:EHeM.
8650
8651 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8652
8653 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
8654 spurious warning.
8655 Reported by: crocket
8656
8657 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
8660 Preload EFIemu.
8661 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
8662
8663 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
8666 is loaded
8667 (grub_cmd_xnu_kextdir): Likewise.
8668 (grub_cmd_xnu_splash): Likewise.
8669
8670 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8671
8672 Avoid using Reed-Solomon with 0 redundancy.
8673
8674 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
8675 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
8676 or 0 redundancy.
8677 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
8678 (grub_reed_solomon_recover): Likewise.
8679
8680 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Don't use disk subsystem in freebsd_boot.
8683
8684 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
8685 (freebsd_biosdev): Likewise.
8686 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
8687 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
8688
8689 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Handling of files of unknown size is currently limited. They can't be
8692 used e.g. for initrd or modules. Moreover gzip handling of not
8693 easily seekable files is buggy. Disable unknown file size for now. May
8694 be inefficient but works.
8695
8696 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
8697 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8698
8699 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
8700
8701 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
8702 floppy probe.
8703
8704 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
8705
8706 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
8707
8708 2010-12-25 Shea Levy <shlevy>
8709
8710 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
8711
8712 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
8715 Windows Server 2008.
8716 Reported by: Devin Giddings.
8717
8718 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
8721 writing an error message because of async power management.
8722 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
8723 (grub_reboot): Likewise.
8724
8725 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
8726
8727 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
8728 keep unit tests from failing when they shouldn't.
8729
8730 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8731
8732 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
8733 previous patch increased the size of the RS code by 20 bytes (at
8734 least with gcc-4.4), so increase this by 20 bytes to match.
8735 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8736
8737 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8738
8739 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
8740 scratch area. Make sure to initialise chosen in standalone mode as
8741 well as non-standalone.
8742 Reported by: Robert Hooker and Andy Whitcroft.
8743 Tested by: Andy Whitcroft.
8744
8745 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8746
8747 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
8748 constructing a new unescaped string and passing it to grub_xputs in
8749 one go, rather than passing characters to grub_printf one at a time.
8750
8751 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8752
8753 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
8754 initialising utf16.
8755
8756 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8757
8758 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
8759 comment. Add an extra layer of quotation, requiring the output of
8760 this function to be used in a printf format string.
8761 (gettext_printf): New function.
8762 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
8763 Extract translatable strings from here-documents and use a temporary
8764 variable instead, so that xgettext can find them.
8765 * util/grub.d/10_kfreebsd.in: Likewise.
8766 * util/grub.d/10_linux.in: Likewise.
8767 * util/grub.d/20_linux_xen.in: Likewise.
8768
8769 * po/grub.d.sed: New file.
8770 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
8771 arguments. Set c-format flags on all strings extracted from
8772 util/grub.d/ (xgettext refuses to include these itself for strings
8773 it extracted from a shell file, but these really are c-format).
8774
8775 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
8778 Avoid next pointing to nowhere.
8779
8780 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
8783 rather than assuming than rootblock is exactly in the middle.
8784 (grub_affs_label): Likewise.
8785
8786 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
8789 reserved_first_sector to 0.
8790 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
8791 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
8792 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
8793
8794 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 Fix handling of UTF-16 UDF labels.
8797
8798 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
8799 (read_string): .. here.
8800 (grub_udf_label): Use read_string.
8801
8802 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
8803
8804 * grub-core/normal/menu_entry.c (run): Execute commands from menu
8805 editor under argument scope.
8806 Reported by: Jordan Uggla
8807
8808 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
8811
8812 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
8813
8814 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
8815 line, and other keys scroll an entire page (previous handling was
8816 for \r and \n to scroll a page and other keys to scroll two lines).
8817
8818 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8821 Set ptrdest to correct get_physical_target_address rather than
8822 incorrect get_virtual_current_address.
8823
8824 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
8825
8826 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
8827 correct cat to grub_uint8_t * rather than grub_uint32_t *.
8828
8829 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
8830
8831 * .bzrignore: Ignore grub-core/rs_decoder.S.
8832
8833 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
8834
8835 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
8836 .mo/.mo.gz opening sequence to ...
8837 (grub_mofile_open_lang): ... here.
8838 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
8839 * util/grub.d/00_header.in (grub_lang): Include country part of
8840 locale.
8841 Reported by: Mario Limonciello.
8842
8843 2010-12-09 Robert Millan <rmh@gnu.org>
8844
8845 * NEWS: Document addition of ZFS support.
8846
8847 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
8848
8849 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
8850 rather than `/ 2', as the latter requires -Wa,--divide which would
8851 require bumping our minimum binutils version.
8852
8853 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
8854
8855 * util/grub-script-check.c (main): Print script line number on
8856 error.
8857
8858 2010-12-01 Robert Millan <rmh@gnu.org>
8859
8860 * grub-core/fs/zfs/zfs.c: New file.
8861 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
8862 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
8863 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
8864 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8865
8866 * include/grub/zfs/dmu.h: Likewise.
8867 * include/grub/zfs/dmu_objset.h: Likewise.
8868 * include/grub/zfs/dnode.h: Likewise.
8869 * include/grub/zfs/dsl_dataset.h: Likewise.
8870 * include/grub/zfs/dsl_dir.h: Likewise.
8871 * include/grub/zfs/sa_impl.h: Likewise.
8872 * include/grub/zfs/spa.h: Likewise.
8873 * include/grub/zfs/uberblock_impl.h: Likewise.
8874 * include/grub/zfs/vdev_impl.h: Likewise.
8875 * include/grub/zfs/zap_impl.h: Likewise.
8876 * include/grub/zfs/zap_leaf.h: Likewise.
8877 * include/grub/zfs/zfs.h: Likewise.
8878 * include/grub/zfs/zfs_acl.h: Likewise.
8879 * include/grub/zfs/zfs_znode.h: Likewise.
8880 * include/grub/zfs/zil.h: Likewise.
8881 * include/grub/zfs/zio.h: Likewise.
8882 * include/grub/zfs/zio_checksum.h: Likewise.
8883
8884 * Makefile.util.def: Build ZFS into libgrubmods.
8885 * grub-core/Makefile.core.def: Build zfs.mod.
8886
8887 2010-11-30 Szymon Janc <szymon@janc.net.pl>
8888
8889 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
8890 variable.
8891 * grub-core/commands/wildcard.c (match_files): Likewise.
8892
8893 2010-11-30 Robert Millan <rmh@gnu.org>
8894
8895 * grub-core/loader/i386/bsd.c
8896 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
8897 whether kernel is loaded using grub_loader_is_loaded(), rather
8898 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
8899 certain error conditions.
8900
8901 2010-11-30 Robert Millan <rmh@gnu.org>
8902
8903 * grub-core/commands/echo.c: Include `<grub/term.h>'.
8904 (grub_cmd_echo): Call grub_refresh() after printing a message.
8905
8906 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8907
8908 Avoid using tricks for initialising endian variables.
8909
8910 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
8911 Make const.
8912 (GRUB_MOD_INIT): Don't byte-swap.
8913 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8914 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
8915 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
8916 (grub_swap_bytes32_compile_time): Likewise.
8917 (grub_cpu_to_le32_compile_time): Likewise.
8918 (grub_cpu_to_le16_compile_time): Likewise.
8919
8920 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8921
8922 * util/grub-setup.c (setup): Stop recommending --force. People who
8923 understand the dangers of blocklists are able to find this option
8924 anyway and the ones who don't shouldn't use it anyway.
8925
8926 2010-11-26 Robert Millan <rmh@gnu.org>
8927
8928 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
8929 Update all users.
8930
8931 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
8932
8933 Fix LVM-on-RAID probing.
8934
8935 * util/grub-probe.c (probe): Remember which disk was detected as
8936 RAID (perhaps an LVM physical volume). Use that disk's raidname
8937 rather than that of the top-level disk.
8938
8939 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
8940
8941 Fix cmdline argument quotes for setparams command of menuentry
8942 definitions.
8943
8944 * grub-core/commands/menuentry.c (setparams_prefix): Use single
8945 quotes for arguments.
8946 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
8947 grub_strchrsub function instead.
8948
8949 * include/grub/misc.h (grub_strchrsub): New function.
8950
8951 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
8952
8953 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8954 effort by skipping "." and ".." entries up-front.
8955 Suggested by: Michael Lazarev.
8956
8957 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
8958
8959 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8960 ldflags to ldadd, to fix link line ordering.
8961 (none_decompress): Likewise.
8962
8963 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
8964
8965 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8966 platforms.
8967 (grub-emu-lite): Remove kern/emu/cache.S.
8968
8969 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8970
8971 * util/deviceiter.c (compare_devices): If the by-id link for a
8972 device couldn't be resolved, fall back to sorting by the by-id link
8973 rather than segfaulting.
8974 Reported and tested by: Daniel Mierswa.
8975
8976 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8977
8978 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8979 ldflags, to fix link line ordering.
8980
8981 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8982
8983 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8984 linkers are picky about this.
8985
8986 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8987
8988 * grub-core/Makefile.am (command.lst): Adjust sed expression
8989 ordering so that extended and priority commands aren't treated as
8990 ordinary commands.
8991
8992 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8993
8994 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8995 Remove byte-swapping function calls, which are not valid in
8996 structure initialisers.
8997 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8998 non-const.
8999 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
9000 grub_gpt_partition_type_bios_boot.
9001
9002 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9003
9004 Fix test program build on GNU/kFreeBSD.
9005
9006 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
9007 $(LIBNVPAIR)' library dependencies.
9008
9009 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9010
9011 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
9012
9013 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
9014
9015 * util/grub-install.in: Remove excessive quoting that broke
9016 installations to RAID devices.
9017
9018 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9019
9020 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
9021 bootloader version instead of 0.
9022
9023 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9026 warning.
9027
9028 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9031 retrieve the metadat sector if size isn't known.
9032 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9033
9034 2010-11-18 Robert Millan <rmh@gnu.org>
9035
9036 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9037 with grub_memcmp().
9038
9039 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9042 arrow.
9043 Reported by: Jordan Uggla.
9044
9045 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 Make better UTF compliant.
9048
9049 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9050 sequences as incorrect.
9051 (grub_is_valid_utf8): Likewise.
9052 (grub_utf8_to_ucs4): Likewise.
9053 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9054 (grub_ucs4_to_utf8_alloc): Likewise.
9055 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9056
9057 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 Make legacy_source behave like source.
9060
9061 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9062 grub_show_menu.
9063 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9064
9065 2010-11-16 Colin Watson <cjwatson@debian.org>
9066
9067 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9068 (-Wunused implies -Wunused-parameter, but not vice versa).
9069
9070 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
9071
9072 * configure.ac: Make error messages less confusing by testing for
9073 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9074 accepted, but produces a diagnostic if something else is wrong).
9075
9076 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9079 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9080 (now unused).
9081 (grub_keyboard_controller_init)
9082 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9083 read the initial state since controller isn't inited yet.
9084
9085 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9088 allocate_regbeg may need to create new chunk header.
9089
9090 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 Fix quoting in legacy parser.
9093
9094 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9095 single quotes.
9096 (grub_legacy_parse): Likewise.
9097 Reported by: Jordan Uggla.
9098 Tested by: Jordan Uggla.
9099
9100 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 Don't add -lgcc on i386 and x86_64.
9103
9104 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9105 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9106 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9107
9108 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 * configure.ac: Add -Wno-trampolines when supported.
9111
9112 2010-11-14 Modestas Vainius <modax@debian.org>
9113
9114 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9115 fakeraid.
9116
9117 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9118
9119 Add generic logical block size support for UDF.
9120
9121 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9122 (GRUB_UDF_BLKSZ): Removed.
9123 (struct grub_udf_data): New field "lbshift" to hold the logical block
9124 size of the file system in log2 format. All users updated.
9125 (sblocklist): Change type to unsigned.
9126 (grub_udf_mount): Change type of "sblklist" to unsigned.
9127 Move AVDP search before VRS recognition, because the latter requires
9128 knowledge of the logical block size, which is detected during the
9129 former.
9130 Detect and validate logical block size during AVDP search, adding
9131 support for block sizes 512, 1024 and 4096.
9132 Make VRS recognition independent of block size.
9133
9134 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9135
9136 Properly handle deleted files on UDF.
9137
9138 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9139 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9140 set.
9141
9142 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9143
9144 Support reading files larger than 2 GiB.
9145
9146 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9147 "offset" to grub_off_t.
9148 (grub_udf_read_file): Likewise for parameter "pos".
9149
9150 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9151
9152 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9153 unavailable.
9154 (Simple configuration): Refer to Changes from GRUB Legacy about
9155 save_env availability.
9156
9157 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 * util/grub-install.in: Ignore empty partition table detection
9160 instead of trying to include part_ module.
9161
9162 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9165 LVM on RAID support.
9166
9167 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9168
9169 Properly define WORDS_BIGENDIAN in wrapped environments.
9170
9171 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9172 definition.
9173 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9174
9175 Reported by: Manoel Rebelo Abranches.
9176 Tested by: Manoel Rebelo Abranches.
9177
9178 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9179
9180 * util/grub-mkconfig.in: Fix quoting.
9181
9182 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 Support big ext2 files.
9185
9186 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9187 (grub_ext2_read_block): Support triple indirect blocks.
9188 (grub_ext2_read_file): Use 64-bit types and read size_high.
9189 (grub_ext2_open): Read size_high.
9190 Reported by: Ximin Luo.
9191 Tested by: Manoel Rebelo Abranches.
9192
9193 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9194
9195 * util/grub-install.in: Handle filenames containing spaces.
9196 Reported by: Jordan Uggla.
9197 Tested by: Jordan Uggla.
9198
9199 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9200
9201 * util/grub-mkconfig.in (grub_script_check): New variable.
9202 Use grub_script_check instead of grub-script-check.
9203 Reported by: Barry Jackson.
9204
9205 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 * docs/grub.texi (menu): Correct the order.
9208 Reported by: D. Hugh Redelmeier.
9209
9210 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9213 jump.
9214
9215 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9216
9217 * include/grub/elfload.h (grub_elf32_size): New parameter.
9218 All users updated.
9219 Return maximum segments alignment.
9220 (grub_elf64_size): Likewise.
9221 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9222 Return maximum segments alignment.
9223 (grub_elf64_size): Likewise.
9224 * grub-core/loader/powerpc/ieee1275/linux.c:
9225 (grub_linux_claimmap_iterate): New function. Uses the
9226 "available" property in the "memory" node for memory allocation
9227 for kernel in the PowerPC loader.
9228 (grub_linux_load32): Correctly find linux entry point offset.
9229 (grub_linux_load64): Likewise.
9230
9231 2010-11-07 Robert Millan <rmh@gnu.org>
9232
9233 On mips-yeeloong, build with -march=loongson2f when this flag is
9234 available (GCC >= 4.4).
9235 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9236 `-march=mips3'.
9237 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9238 or otherwise add -march=mips3.
9239
9240 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9241
9242 Suppress shell expansion on echo '*' and echo "*" like cases.
9243 Reported by: Jordan Uggla.
9244
9245 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9246 string arguments before shell expansion.
9247 * tests/grub_cmd_echo.in: New testcases.
9248
9249 2010-11-07 Robert Millan <rmh@gnu.org>
9250
9251 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9252 transition.
9253
9254 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9255
9256 * grub-core/kern/emu/hostdisk.c
9257 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9258
9259 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9260
9261 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9262 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9263 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9264
9265 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9268
9269 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9270
9271 * util/grub-install.in: Replace useless recomendation to pass
9272 --modules with a recomendation to report a bug.
9273
9274 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9275
9276 Properly register serial terminfo.
9277 Reported by: Jordan Uggla
9278
9279 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9280 const.
9281 (grub_serial_terminfo_output_template): Likewise.
9282 (grub_cmd_serial): Register "serial" with terminfo.
9283 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9284 grub_serial_terminfo_output.
9285
9286 2010-11-05 Robert Millan <rmh@gnu.org>
9287
9288 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9289 needed).
9290
9291 2010-11-05 Robert Millan <rmh@gnu.org>
9292
9293 On Yeeloong, pass machine type information to Linux.
9294
9295 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9296 (LOONGSON_MACHTYPE): New macro, set to
9297 "machtype=lemote-yeeloong-2f-8.9inches".
9298 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9299 additional argument to Linux.
9300
9301 2010-11-04 Robert Millan <rmh@gnu.org>
9302
9303 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9304 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9305 (its SATA disks are detected as slaveless IDE master drives on
9306 kFreeBSD).
9307 Reported by Carsten Aulbert.
9308
9309 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
9310
9311 * util/bin2h.c (main): Fix spelling error in generated output.
9312
9313 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9314
9315 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9316
9317 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9320 vga= option is supplied.
9321
9322 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9325 * util/grub.d/10_kfreebsd.in: Likewise.
9326 * util/grub.d/10_linux.in: Likewise.
9327 * util/grub.d/20_linux_xen.in: Likewise.
9328
9329 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9332 argument as an argument to no-argument option.
9333
9334 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9335
9336 * util/grub.d/10_linux.in: Add missing load_video with explicit
9337 GRUB_GFXPAYLOAD_LINUX.
9338
9339 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9342
9343 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9344
9345 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9346 elements with invlid index.
9347 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9348 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9349 members.
9350 * include/grub/raid.h (grub_raid_member): New struct.
9351 (grub_raid_array): Transform devices and start_sector into usage of
9352 grub_raid_member. All users updated
9353 (allocated_devs): New member.
9354
9355 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9358 is modified
9359
9360 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9361
9362 NetBSD build fix for getline function conflict from gnulib.
9363
9364 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9365 components that depend on gnulib headers.
9366 (libgrubmods.a): Renamed from earlier libgrub.a.
9367 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9368
9369 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9372 install rather than creating a broken install.
9373
9374 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * util/grub-setup.c (argp): Remove misleading example of installing to
9377 a partition.
9378
9379 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * util/grub-setup.c (setup): Clarify the error message.
9382
9383 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9384
9385 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9386
9387 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * grub-core/kern/emu/misc.c
9390 (grub_make_system_path_relative_to_its_root)
9391 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9392
9393 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9394
9395 * grub-core/kern/emu/misc.c
9396 (grub_make_system_path_relative_to_its_root): Revert r2882.
9397
9398 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9401 useless field head. All users updated.
9402 (free_subchunk): Correct handling of IN_REGION subchunk.
9403
9404 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
9405
9406 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9407 (Supported kernels): Likewise.
9408
9409 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9410
9411 Make mktemp invocations portable.
9412
9413 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9414 exit if mktemp fails.
9415 * tests/grub_script_blockarg.in: Likewise.
9416 * tests/partmap_test.in: Likewise.
9417 * tests/util/grub-shell-tester.in: Likewise.
9418 * tests/util/grub-shell.in: Likewise.
9419 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9420 * Makefile.am: Likewise, and chain shell commands with `&&'
9421 instead of ';'.
9422 * util/grub-mkrescue.in: Use the same explicit template as above, and
9423 exit if mktemp fails.
9424
9425 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9426
9427 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9428 Linux kernel, reported by Dennis Schridde.
9429
9430 2010-10-17 Szymon Janc <szymon@janc.net.pl>
9431
9432 * grub-core/normal/auth.c (grub_auth_check_authentication):
9433 Set-but-not-used variable removed.
9434
9435 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9438 32-bit linux protocol.
9439
9440 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9443 cursor shape for sanity.
9444
9445 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9446
9447 * docs/grub.texi (Installation): Document buggy BIOS install.
9448
9449 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9450
9451 * docs/grub.texi (Installation): Indent.
9452
9453 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9454
9455 * util/grub-setup.c (setup): New parameter allow_floppy.
9456 (arguments): New member allow_floppy.
9457 (argp_parser): Handle --allow-floppy.
9458 (main): Pass allow_floppy.
9459 * util/grub-install.in: New option --allow-floppy passed though to
9460 grub-setup.
9461
9462 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9463
9464 * util/grub-install.in: Handle partitionless disks.
9465
9466 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 * util/grub-setup.c (setup): Don't clean blocklists before readability
9469 verfification.
9470
9471 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9472
9473 * docs/grub.texi (Installation): Document embedding zone. Remove
9474 obsolete grub-install example.
9475
9476 2010-10-16 Szymon Janc <szymon@janc.net.pl>
9477
9478 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9479 Set-but-not-used variable ifdef'ed.
9480 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9481 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9482 variable removed.
9483 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9484 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9485 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9486 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9487 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9488 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9489 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9490 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9491 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9492 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9493 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9494 Likewise.
9495
9496 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9497
9498 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9499 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9500 enum value.
9501
9502 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9503
9504 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9505 synonym to _S5_. Needed for some DSDTs.
9506
9507 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Userspace ACPI parser debugging.
9510
9511 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9512 headers and add relevant defines. Don't include standard headers.
9513 (main) [GRUB_DSDT_TEST]: New function.
9514 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9515 Don't declare functions.
9516
9517 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 Remove dead grub_efi_mm_fini.
9520
9521 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9522 (ALLOCATED_PAGES_SIZE): Likewise.
9523 (MAX_ALLOCATED_PAGES): Likewise.
9524 (allocated_pages): Likewise.
9525 (grub_efi_allocate_pages): Don't record allocated pages.
9526 (grub_efi_free_pages): Likewise.
9527 (grub_efi_mm_init): Likewise.
9528 (grub_efi_mm_fini): Removed.
9529
9530 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9533 (grub_efi_mm_init): Take into account the memory map size increase.
9534
9535 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9538 (serial_hw_put): Wait based on real time rather than port reads. Don't
9539 roken ports.
9540 * include/grub/serial.h (grub_serial_port): New field broken.
9541
9542 2010-10-16 Robert Millan <rmh@gnu.org>
9543
9544 * grub-core/kern/emu/misc.c
9545 (grub_make_system_path_relative_to_its_root): Fix premature return
9546 when processing non-root ZFS filesystems.
9547 Reported by Sergio Talens-Oliag.
9548
9549 2010-10-15 Robert Millan <rmh@gnu.org>
9550
9551 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9552 guarantee compressed ones are processed first.
9553
9554 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9557 grub_efiemu_autocore.
9558
9559 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9562 rather than 0x1b.
9563 (grub_console_getkey): Use correct jae opcode rather than ja.
9564
9565 2010-10-12 Robert Millan <rmh@gnu.org>
9566
9567 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9568 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9569 variable. All references updated.
9570
9571 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9572
9573 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 Correctly distinguish mdraid flavours.
9576
9577 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9578 (insert_array): New argument raid.
9579 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9580 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9581 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9582
9583 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9584
9585 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9586 handling of special keys.
9587
9588 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9589
9590 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9591 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
9592
9593 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9594
9595 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9596 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9597 users updated.
9598 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
9599 Use right endpoint when querying descriptor.
9600
9601 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9602
9603 Clear out 0x80 color bit on EFI.
9604 Tested by: decoder
9605 Reported by: decoder and meta tech.
9606
9607 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9608 (grub_console_setcolorstate): Clear out 0x80 bit.
9609 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9610 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9611 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9612
9613 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9616 Set to "auto".
9617
9618 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9619
9620 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
9621 mo_file after freeing.
9622
9623 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
9626
9627 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
9630 flags.
9631
9632 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
9635 usage.
9636
9637 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 Put terminfo into core on ieee1275 and yeeloong (needed for console).
9640
9641 * gentpl.py: New groups terminfoinkernel and terminfomodule.
9642 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
9643 and terminfo.h when needed.
9644 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
9645 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
9646 (terminfo): Enable only on terminfokernel.
9647 (extcmd): Likewise.
9648 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
9649 * include/grub/lib/arg.h: Likewise.
9650 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
9651 incorrect usage of ->.
9652
9653 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
9656 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
9657
9658 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9659
9660 Fix coreboot compilation.
9661
9662 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9663 Take VBE info into account even if only text is supported.
9664 (fill_vbe_info): Take into account the case when only VGA text
9665 is supported.
9666 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
9667 on coreboot, multiboot and qemu.
9668
9669 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
9672 debug messages.
9673 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
9674
9675 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
9678 parameters.
9679
9680 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
9683 if they were BSD-style.
9684
9685 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9686
9687 * grub-core/boot/i386/pc/lnxboot.S: Replace
9688 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
9689 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
9690
9691 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 Write embedding zone using Reed-Solomon.
9694
9695 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
9696 * grub-core/Makefile.am (rs_decoder.S): New target.
9697 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
9698 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
9699 (multiboot): Move to RS part.
9700 (post_reed_solomon): New label.
9701 (grub_boot_drive): Move to non-RS part since it's modified in memory
9702 on boot.
9703 Include rs_decoder.S.
9704 * grub-core/lib/reed_solomon.c: New file.
9705 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
9706 New definition.
9707 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
9708 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
9709 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
9710 * include/grub/partition.h (grub_partition_map): Change prototype of
9711 embed to allow returning additional sectors.
9712 * include/grub/reed_solomon.h: New file.
9713 * util/grub-setup.c (setup): Handle Reed-Solomon.
9714
9715 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
9716
9717 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9718 i386 and x86-64 definedness tests.
9719
9720 2010-09-27 Yves Blusseau <blusseau@zetam.org>
9721
9722 Fix generation of kernel_syms.lst
9723
9724 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
9725 ASM_PREFIX
9726
9727 2010-09-26 Robert Millan <rmh@gnu.org>
9728
9729 Support degraded ZFS arrays in "grub-probe -t device" resolution.
9730
9731 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
9732 the pool is an array of devices, iterate through it and return the
9733 first device that passes a stat() test (instead of blindly returning
9734 the first one).
9735
9736 2010-09-26 Robert Millan <rmh@gnu.org>
9737
9738 Build fixes for GNU/kFreeBSD.
9739
9740 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
9741 to programs that require ZFS conversion.
9742 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
9743 kernels that don't have FLOPPY_MAJOR.
9744
9745 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9746
9747 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
9748
9749 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9750
9751 Fix grub-emu build.
9752
9753 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
9754 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
9755 mdraid09 and mdraid1x.
9756
9757 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
9758
9759 Re-enable grub-extras.
9760
9761 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
9762 avoid confusing Automake. Run autogen only twice, once for the top
9763 level and once for grub-core. Add Makefile.util.def and
9764 Makefile.core.def from extra modules to the appropriate autogen
9765 invocations. If Makefile.common exists in an extra module, include
9766 it in both Makefile.util.am and grub-core/Makefile.core.am;
9767 similarly, include any Makefile.util.common file in Makefile.util.am
9768 and any Makefile.core.common file in grub-core/Makefile.core.am.
9769 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
9770 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
9771 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
9772 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
9773
9774 * gentpl.py (gvar_add): Turn GVARS into a set.
9775 (global_variable_initializers): Sort global variables on output.
9776 (vars_init): New function.
9777 (first_time): Likewise.
9778 (library): Ensure that non-global variable initialisations are
9779 emitted before the first time we emit code for a library block.
9780 Append to variables rather than setting them. Only emit
9781 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
9782 each conditional path.
9783 (program): installdir() emits an Autogen macro, so must be passed to
9784 var_add rather than gvar_add.
9785 (data): Likewise.
9786 (script): Likewise.
9787 (rules): New function, centralising handling for different target
9788 types. Set up Guile association lists for first_time and vars_init,
9789 and send most output to a diversion so that variable initialisations
9790 can be emitted first.
9791 (module_rules): Use new rules function.
9792 (kernel_rules): Likewise.
9793 (image_rules): Likewise.
9794 (library_rules): Likewise.
9795 (program_rules): Likewise.
9796 (script_rules): Likewise.
9797 (data_rules): Likewise.
9798
9799 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
9800
9801 * .bzrignore: Add contrib and grub-core/contrib. Remove
9802 grub-core/Makefile.gcry.am.
9803
9804 2010-09-24 Yves Blusseau <blusseau@zetam.org>
9805
9806 * grub-core/lib/LzFind.c: Add missing include.
9807 * grub-core/lib/LzmaEnc.c: Likewise.
9808 * grub-core/script/lexer.c: Likewise.
9809 * grub-core/script/yylex.l: Likewise.
9810 * util/grub-macho2img.c: Likewise.
9811 * util/grub-menulst2cfg.c: Likewise.
9812 * util/grub-mklayout.c: Likewise.
9813 * util/grub-mkpasswd-pbkdf2.c
9814 * util/grub-mkrelpath.c: Likewise.
9815 * util/resolve.c: Likewise.
9816
9817 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
9818
9819 * Makefile.util.def (example_unit_test): Add
9820 grub-core/gnulib/libgnu.a.
9821
9822 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
9823
9824 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
9825
9826 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Support xz compression on yeeloong.
9829
9830 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
9831 * configure.ac: Check for LZMA.
9832 * grub-core/Makefile.core.def (xz_decompress): New target.
9833 (none_decompress): Likewise.
9834 * grub-core/boot/decompressor/minilib.c: New file.
9835 * grub-core/boot/decompressor/none.c: Likewise.
9836 * grub-core/boot/decompressor/xz.c: Likewise.
9837 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
9838 * grub-core/kern/mips/cache_flush.S: Likewise.
9839 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
9840 * grub-core/kern/mips/startup.S: Move first stage to ...
9841 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
9842 nomacro.
9843 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
9844 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
9845 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
9846 Allocate statically.
9847 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
9848 Allocate statically or use scratch. Don't check CRC32.
9849 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
9850 Allocate statically. Don't check CRC32.
9851 * include/grub/decompressor.h: New file.
9852 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
9853 Removed.
9854 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
9855 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
9856 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
9857 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
9858 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
9859 * util/grub-mkimage.c (grub_compression_t): New type.
9860 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
9861 (image_target_desc): New field default_compression.
9862 (image_targets): Adjust yeeloong targets.
9863 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
9864 (compress_kernel): New parameter comp.
9865 (generate_image): Likewise. Handle new compression case.
9866 (options): New option --compression
9867 (help): Likewise.
9868 (main): Handle new option.
9869
9870 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
9871
9872 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
9873
9874 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
9875
9876 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9877 typo in __i386__ conditional.
9878
9879 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
9882 include.
9883
9884 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9885
9886 Implement EFI and ACPI multiboot2 extensions.
9887
9888 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
9889 new tags as supported.
9890 (acpiv2_size): New function.
9891 (grub_multiboot_get_mbi_size): Take new tags into account.
9892 (grub_multiboot_make_mbi): Add new tags.
9893 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
9894
9895 2010-09-21 Aleš Nesrsta <starous@volny.cz>
9896
9897 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
9898 Added missing configuration of USB device.
9899
9900 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * grub-core/normal/menu_entry.c (run): Make sure we always return
9903 a value.
9904
9905 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9906
9907 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
9908 NumberOfPages is UINT64 according to the UEFI specification, not
9909 UINTN. Fix printf format.
9910
9911 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9912
9913 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
9914 `err' to grub_usb_err_t.
9915 Reported and tested by: KESHAV P.R.
9916
9917 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9918
9919 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
9920 tpart non-const, so that we can assign to it. (Since this is a
9921 typedef, the constness refers to the pointer rather than what it
9922 points to.)
9923
9924 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9925
9926 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
9927 $(top_srcdir)/grub-core/gnulib as well as
9928 $(top_builddir)/grub-core/gnulib.
9929 Reported by: KESHAV P.R.
9930
9931 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9932
9933 * util/grub-install.in: Fix the bootloader ID option to be
9934 consistently --bootloader-id, not --bootloader_id.
9935 Reported by: KESHAV P.R.
9936
9937 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9938
9939 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
9940 check hash checksum." consistently translatable.
9941
9942 2010-09-21 Yves Blusseau <blusseau@zetam.org>
9943
9944 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
9945 $(top_builddir).
9946
9947 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9948
9949 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
9950 (GRUB_MOD_INIT): Register sha1sum command.
9951 (GRUB_MOD_FINI): Unregister sha1sum command.
9952
9953 2010-09-21 Yves Blusseau <blusseau@zetam.org>
9954
9955 Keep boot and grub directory names in sync with utils scripts
9956
9957 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9958 * config.h.in: Add previous macros.
9959 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9960 * util/grub-install.in: Use $bootdir and $grubdir variables.
9961
9962 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9963
9964 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9965 convert partition names to disk names if the new `convert' parameter
9966 is set.
9967 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9968 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9969 disk in its own right. This can happen with Xen disk images.
9970
9971 2010-09-21 Yves Blusseau <blusseau@zetam.org>
9972
9973 * util/grub-editenv.c: Update strings to avoid warnings when generating
9974 grub.pot file.
9975 * util/grub-setup.c: Likewise.
9976
9977 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * configure.ac: Change version to 1.99~beta0.
9980
9981 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9984 Add BADRAM.
9985 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9986 Likewise.
9987 * include/multiboot.h: Resynced with specification.
9988 * include/multiboot2.h: Likewise.
9989
9990 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9991
9992 Fix po directory handling.
9993
9994 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9995 * grub-core/gnulib/Makefile.am: Import gettext module.
9996 * m4/gnulib-cache.m4: Likewise.
9997 * m4/gnulib-comp.m4: Likewise.
9998 * m4/gettext.m4: New file, from gnulib.
9999 * m4/glibc2.m4: Likewise.
10000 * m4/iconv.m4: Likewise.
10001 * m4/intdiv0.m4: Likewise.
10002 * m4/intl.m4: Likewise.
10003 * m4/intldir.m4: Likewise.
10004 * m4/intlmacosx.m4: Likewise.
10005 * m4/intmax.m4: Likewise.
10006 * m4/inttypes-pri.m4: Likewise.
10007 * m4/lcmessage.m4: Likewise.
10008 * m4/lib-ld.m4: Likewise.
10009 * m4/lib-link.m4: Likewise.
10010 * m4/lib-prefix.m4: Likewise.
10011 * m4/lock.m4: Likewise.
10012 * m4/nls.m4: Likewise.
10013 * m4/po.m4: Likewise.
10014 * m4/printf-posix.m4: Likewise.
10015 * m4/progtest.m4: Likewise.
10016 * m4/threadlib.m4: Likewise.
10017 * m4/uintmax_t.m4: Likewise.
10018 * m4/visibility.m4: Likewise.
10019 * po/Makefile.am: Remove.
10020 * po/Makefile.in.in: New file, from gettext.
10021 ($(DOMAIN).pot-update): Support POTFILES-shell.
10022 * po/Makevars: New file.
10023 * po/POTFILES-shell: Rename to ...
10024 * po/POTFILES-shell.in: ... this. Update.
10025 * po/POTFILES: Rename to ...
10026 * po/POTFILES.in: ... this. Update.
10027 * po/Rules-quot: New file, from gettext.
10028 * po/boldquot.sed: Likewise.
10029 * po/en@boldquot.header: Likewise.
10030 * po/en@quot.header: Likewise.
10031 * po/insert-header.sin: Likewise.
10032 * po/quot.sed: Likewise.
10033 * po/remove-potcdate.sin: Likewise.
10034
10035 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10038
10039 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10040
10041 * util/grub.d/20_linux_xen.in: Use submenus.
10042
10043 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 Support submenus.
10046
10047 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10048 parameter submenu. All users updated.
10049 * grub-core/normal/main.c (free_menu): Rename to ...
10050 (grub_normal_free_menu): ... this. Made global.
10051 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10052 if requested.
10053 * grub-core/normal/menu_entry.c (screen): New field submenu.
10054 (make_screen): Set submenu.
10055 (run): Open new context if requested.
10056 * include/grub/menu.h (grub_menu_entry): New field submenu.
10057 * include/grub/normal.h (grub_normal_free_menu): New proto.
10058
10059 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10060
10061 Menu entries extractor.
10062
10063 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10064 variants.
10065 (GRUB_MOD_INIT): Register new variants.
10066 (GRUB_MOD_FINI): Unregister new variants.
10067 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10068 into grub_cmd_legacy_source.
10069 (grub_cmd_legacy_source): Implement extractor variants.
10070 (GRUB_MOD_INIT): Register new variants.
10071 (GRUB_MOD_FINI): Unregister new variants.
10072 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10073 as an extractor.
10074 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10075 search as an extractor.
10076 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10077 test as an extractor.
10078 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10079 as an extractor.
10080 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10081 (grub_env_new_context): New function.
10082 (grub_env_context_open): Likewise.
10083 (grub_env_extractor_open): Likewise.
10084 (grub_env_extractor_close): Likewise.
10085 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10086 grub_extractor_level.
10087 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10088 * include/grub/env.h (grub_env_extractor_open): New proto.
10089 (grub_env_extractor_close): Likewise.
10090 * include/grub/normal.h (grub_extractor_level): New external variable.
10091
10092 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 Make cutmem accept a region specification.
10095 Suggested by: Samuel Thibault
10096
10097 * grub-core/mmap/mmap.c (parsemem): New function.
10098 (grub_cmd_cutmem): Handle new arguments.
10099
10100 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10101
10102 New command cutmem.
10103
10104 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10105 (GRUB_MOD_INIT): Register new command.
10106 (GRUB_MOD_FINI): Unregister new command.
10107
10108 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 Support some annoying BSD and Minix subpartitions.
10111
10112 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10113 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10114 Properly handle concatenation.
10115 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10116 * grub-core/normal/completion.c (iterate_partition): Likewise.
10117 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10118 contain partition. All users updated.
10119 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10120 struct.
10121 (grub_openbsdlabel_partition_map): Likewise.
10122 (bsdlabel_partition_map_iterate): Rename to ..
10123 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10124 (bsdlabel_partition_map_iterate): New function.
10125 (netopenbsdlabel_partition_map_iterate): Likewise.
10126 (netbsdlabel_partition_map_iterate): Likewise.
10127 (openbsdlabel_partition_map_iterate): Likewise.
10128 (GRUB_MOD_INIT): Register new partmaps.
10129 (GRUB_MOD_FINI): Unregister new partmaps.
10130 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10131 (grub_partition_msdos_iterate): ... this. All users updated.
10132 Don't support embedding other than in a minix partition.
10133 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10134 proto.
10135 * include/grub/partition.h (grub_partition): New field msdostype.
10136 * util/grub-install.in: Handle openbsd and netbsd types being in
10137 part_bsd module.
10138
10139 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10140
10141 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10142
10143 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10144 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10145 (mdraid09): ... this.
10146 (mdraid1x): New module.
10147 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10148 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10149
10150 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10151
10152 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10153 vsprintf.
10154
10155 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10156
10157 * grub-core/commands/efi/lsefimmap.c: Correct header.
10158 * NEWS: Update.
10159
10160 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10161
10162 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10163 as printf format strings; the translations might contain '%' which
10164 could cause a crash.
10165 (main): Likewise.
10166 * util/grub-fstest.c (argp_parser): Likewise.
10167 * util/grub-setup.c (argp_parser): Likewise.
10168 (main): Likewise.
10169
10170 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Use argp in grub-fstest.
10173
10174 * util/grub-fstest.c: Don't include getopt.h.
10175 Include argp.h.
10176 (root): New variable.
10177 (args_count): Likewise.
10178 (nparm): Likewise.
10179 (num_disks): Likewise.
10180 (images): Likewise.
10181 (cmd): Likewise.
10182 (debug_str): Likewise.
10183 (args): Likewise.
10184 (options): Transformed to argp.
10185 (usage): Removed.
10186 (main): Split argument parsing into ...
10187 (argp_parser): ... this. Changed to argp format.
10188 (argp): New variable.
10189 (main): Use argp_parse.
10190
10191 2010-09-20 Tristan Gingold <gingold@free.fr>
10192 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
10193 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10194
10195 * grub-core/commands/efi/lsefimmap.c: New file.
10196 * grub-core/Makefile.core.def (lsefimmap): New module.
10197 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10198
10199 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10200
10201 Pause the execution (10s max) if any errors are displayed so the user
10202 has a chance to see them.
10203
10204 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10205 (grub_print_error): Increment grub_err_printed_errors.
10206 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10207 execution if any errors were displayed.
10208 (show_menu): Remove old code for pause.
10209 * grub-core/normal/menu_entry.c (run): Likewise.
10210 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10211 users updated.
10212 (grub_normal_get_char_counter): Likewise.
10213 * include/grub/err.h (grub_err_printed_errors): New external variable.
10214 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10215
10216 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10217
10218 Support multiboot VBE info.
10219
10220 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10221 Take VBE info into account.
10222 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10223 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10224 Call fill_vbe_info when appropriate.
10225 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10226 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10227 as supported.
10228 (grub_multiboot_get_mbi_size): Take new tags into account.
10229 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10230 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10231 Call fill_vbe_tag when appropriate.
10232 (grub_multiboot_make_mbi): Properly align tags.
10233 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10234 function.
10235 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10236 proto.
10237 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10238
10239 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10240
10241 Suport manual terminal geometry specification.
10242
10243 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10244 Save state in grub_ofconsole_terminfo_output.
10245 (grub_ofconsole_term): Use grub_terminfo_getwh.
10246 (grub_ofconsole_getwh): Removed.
10247 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10248 (grub_serial_term): Use grub_terminfo_getwh.
10249 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10250 (options): New struct.
10251 (OPTION_*): New enum.
10252 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10253 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10254 width and height.
10255 (grub_terminfo_getwh): New proto.
10256 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10257
10258 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 Handle legacy "terminal" command.
10261
10262 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10263 and FLAG_TERMINAL.
10264 (legacy_commands): Add terminal and title.
10265 (grub_legacy_parse): Handle terminal. Simplify title handling.
10266
10267 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10270 parameters overflow.
10271
10272 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10273
10274 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10275 widthspec.h.
10276
10277 * docs/grub.texi (Shell-like scripting): Document `!'.
10278 (Network): Simplify using new i386-pc-pxe format. Mention
10279 grub-mknetdir.
10280
10281 * NEWS: Update.
10282
10283 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10284
10285 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10286 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10287 when needed.
10288
10289 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10290
10291 * grub-core/commands/efi/lsefisystab.c: Correct header.
10292 * grub-core/commands/efi/lssal.c: Likewise.
10293 * grub-core/commands/testload.c: Likewise.
10294
10295 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10296
10297 * util/grub-mkrescue.in: Add explicit root argument to --set to
10298 prevent the UUID being interpreted as an argument to --set (matches
10299 previous change to prepare_grub_to_access_device).
10300
10301 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10302
10303 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10304 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10305 the verbosity of later #ifs.
10306 (find_partition_start): Define this function on FreeBSD too.
10307 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10308 function.
10309 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10310 on FreeBSD.
10311
10312 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10313
10314 * util/grub-editenv.c: Use argp instead of getopt.
10315
10316 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10317
10318 * util/grub-setup.c: Use argp instead of getopt.
10319
10320 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10321
10322 Use gnulib-tool to create gnulib source files.
10323
10324 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10325 grub-core/gnulib directories
10326 * .bzignore: Add **/.deps and autogenerated gnulib files
10327 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10328 of gnulib macros, add grub-core/gnulib/Makefile
10329 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10330 include m4 directory to aclocal.
10331 * Makefile.util.def: Remove direct compilation of gnulib source files
10332 and use the new grub-core/gnulib/libgnu.a.
10333 * build-aux/config.rpath: move config.rpath from top directory to
10334 build-aux
10335 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10336 in gnulib headers
10337 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10338 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10339 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10340 header.
10341 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10342 string.
10343
10344 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10345
10346 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10347 grub-core/genmod.sh and grub-core/gensyminfo.sh
10348
10349 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10350
10351 Add a test for echo command options.
10352
10353 * tests/grub_cmd_echo.in: New test.
10354 * Makefile.util.def: Rules for new test.
10355
10356 2010-09-20 Szymon Janc <szymon@janc.net.pl>
10357
10358 Remove crc.mod and move crc command to hashsum.mod.
10359 Remove lib/crc.c - users updated to use gcrypt implementation.
10360
10361 * grub-core/commands/crc.c: Removed.
10362 * grub-core/Makefile.core.def (crc): Module removed.
10363 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10364 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10365 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10366 * grub-core/lib/crc.c: Removed.
10367 * include/grub/lib/crc.h: Removed.
10368 * Makefile.util.def (crc): Remove lib/crc.c
10369 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10370 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10371 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10372 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10373 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10374 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10375
10376 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10379
10380 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10381
10382 Split config.h for util and core.
10383
10384 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10385 (ADDR32): Likewise.
10386 (DATA32): Likewise.
10387 (BSS_START_SYMBOL): Likewise.
10388 (END_SYMBOL): Likewise.
10389 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10390 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10391 * config.h.in: New file.
10392 * configure.ac: Use config-util.h as config define file.
10393 Rename MACHINE into GRUB_MACHINE. All users updated.
10394 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10395 updated.
10396 (NESTED_FUNC_ATTR): Likewise.
10397 Substitue new variables.
10398 (COND_HAVE_ASM_USCORE): New conditional.
10399 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10400 (kernel_syms.lst): Use ASM_PREFIX.
10401 * grub-core/kern/emu/console.c: Include config-util.h.
10402 * grub-core/kern/emu/misc.c: Likewise.
10403 * grub-core/kern/emu/mm.c: Likewise.
10404 * include/grub/emu/misc.h: Likewise.
10405 * include/grub/libgcc.h: Likewise.
10406
10407 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10408
10409 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10410 constants usage.
10411 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10412 Fix GRUB_TERM_KEY_* constants usage.
10413 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10414
10415 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10418 print pointer.
10419 * grub-core/bus/usb/uhci.c: Remove empty define.
10420 (grub_uhci_check_transfer): Add missing cast.
10421 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10422 print pointer.
10423 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10424 PRIuGRUB_SIZE.
10425 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10426
10427 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * grub-core/Makefile.core.def (legacycfg): Add
10430 lib/i386/pc/vesa_modes_table.c on emu.
10431
10432 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10433
10434 Reduce number of temporary files generated by build system.
10435
10436 * grub-core/gencmdlist.sh: Removed.
10437 * grub-core/genfslist.sh: Removed.
10438 * grub-core/genhandlerlist.sh: Removed.
10439 * grub-core/genmodsrc.sh: Removed.
10440 * grub-core/genpartmaplist.sh: Removed.
10441 * grub-core/genparttoollist.sh: Removed.
10442 * grub-core/gentermiinallist.sh: Removed.
10443 * grub-core/genvideolist.sh: Removed.
10444
10445 * grub-core/genmod.sh.in: New file.
10446 * grub-core/gensyminfo.sh.in: New file.
10447
10448 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10449 * conf/Makefile.extra-dist: Update with new files.
10450 * gentpl.py: Remove rules related to unnecessary temporary files.
10451 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10452 and und-* files.
10453 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10454 genmod.sh scripts.
10455 * grub-core/bus/usb/uhci.c: Remove empty #define.
10456 * grub-core/genmoddep.awk: Updated with new syminfo format.
10457 * util/bash-completion.d/Makefile.am: Add config.log to
10458 CLEANFILES.
10459
10460 2010-09-19 Yves Blusseau <blusseau@zetam.org>
10461
10462 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10463
10464 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10465
10466 * util/grub-mkconfig.in: Check the config script for syntax errors
10467 before saving.
10468
10469 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
10470 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10473 platforms.
10474 * util/grub-install.in: Add EFI and IEEE1275 support.
10475 * util/i386/efi/grub-install.in: Removed.
10476 * util/ieee1275/grub-install.in: Likewise.
10477
10478 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10479
10480 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10481 (grub_cmd_cmosclean): Likewise.
10482 (GRUB_MOD_INIT): Register command cmosclean.
10483 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10484 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10485
10486 2010-09-18 Carles Pina i Estany <carles@pina.cat>
10487 2010-09-18 Aleš Nesrsta <starous@volny.cz>
10488 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 Add keyboard layouts support.
10491
10492 * Makefile.util.def (grub-mklayout): New file.
10493 (grub-kbdcomp): New script.
10494 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10495 Add keyboard_layouts.h.
10496 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10497 commands/boot.c on yeeloong.
10498 (keylayouts): New module.
10499 * grub-core/bus/usb/ohci.c
10500 * grub-core/bus/usb/uhci.c
10501 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10502 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10503 (attach_root_port): Likewise.
10504 (poll_nonroot_hub): Likewise.
10505 (grub_usb_poll_devices): Likewise.
10506 (detach_device): Close transfer.
10507 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10508 function.
10509 (grub_usb_bulk_setup_readwrite): Likewise.
10510 (grub_usb_bulk_finish_readwrite): Likewise.
10511 * grub-core/commands/keylayouts.c: New file.
10512 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10513 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10514 aliases.
10515 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10516 support scancode 2.
10517 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10518 * include/grub/keyboard_layouts.h: New file.
10519 * util/grub-mklayout.c: New file.
10520 * util/grub-kbdcomp.in: Likewise.
10521
10522 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10523
10524 Unify memory types.
10525
10526 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10527 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10528 types.
10529 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10530 (grub_upper_mem): Likewise.
10531 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10532 * include/grub/memory.h (grub_memory_type_t): New enum.
10533 All users updated.
10534
10535 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10536
10537 * grub-core/Makefile.core.def (lsapm): New module.
10538 * grub-core/commands/i386/pc/lsapm.c: New file.
10539 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10540 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10541 Likewise.
10542 * include/grub/i386/pc/apm.h: New file.
10543 * include/multiboot.h (multiboot_apm_info): New struct.
10544
10545 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10546
10547 GRUB-legacy configuration file support.
10548
10549 * Makefile.util.def (grub-menulst2cfg): New util.
10550 * docs/man/grub-menulst2cfg.h2m: New file.
10551 * grub-core/Makefile.core.def (legacycfg): New module.
10552 * grub-core/commands/legacycfg.c: New file.
10553 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10554 (grub_normal_add_menu_entry): ... this.
10555 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10556 (grub_normal_set_password): ...this.
10557 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10558 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10559 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10560 * grub-core/lib/legacy_parse.c: New file.
10561 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10562 * include/grub/i386/pc/vesa_modes_table.h: New file.
10563 * include/grub/legacy_parse.h: Likewise.
10564 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10565 * util/grub-menulst2cfg.c: New file.
10566
10567 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10568
10569 * grub-core/kern/emu/hostdisk.c
10570 (convert_system_partition_to_system_disk): Initialise node.
10571
10572 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10573
10574 * grub-core/kern/emu/hostdisk.c
10575 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10576 leak.
10577 Reported and based on patch by: Modestas Vainius.
10578
10579 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10580
10581 Fix DM-RAID probing with recent versions of device-mapper udev
10582 rules.
10583
10584 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10585 canonicalise device paths under /dev/mapper/.
10586 (convert_system_partition_to_system_disk): Compare the
10587 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10588 path, since device nodes under /dev/mapper/ are often symlinks.
10589
10590 2010-09-17 Yves Blusseau <blusseau@zetam.org>
10591
10592 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10593
10594 2010-09-16 Yves Blusseau <blusseau@zetam.org>
10595
10596 * configure.ac: Avoid some annoying error messages if freetype-config
10597 program is not found.
10598
10599 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10600
10601 Support RAID on virtio devices, and others.
10602
10603 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10604 Rename to ...
10605 [__MINGW32__] (grub_find_device): ... this.
10606 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10607 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10608 reasonable default if dir is NULL.
10609 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10610 ...
10611 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10612 (grub_guess_root_device): Update callers.
10613 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10614
10615 * util/raid.c (grub_util_getdiskname): Remove.
10616 (grub_util_raid_getmembers): Use grub_find_device rather than
10617 grub_util_getdiskname.
10618
10619 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * docs/grub.texi (serial): Remove obsolete comment about GRUB
10622 needing to be compiled with serial support.
10623 (ls): Indicate that multiple files are accepted.
10624 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
10625 indicate that multiple files are accepted.
10626
10627 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10628
10629 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
10630 libgrub_a_init.c, and util/bash-completion.d/grub.
10631
10632 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10633
10634 * util/grub-setup.c (setup): Fix incorrect container semantics.
10635
10636 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
10639 misusage.
10640 Reported by: J. Nick Terry
10641
10642 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10643
10644 Move embedding routines to partmap sources files.
10645
10646 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
10647 [GRUB_UTIL]: New variable.
10648 (gpt_partition_map_iterate): Set part.parent.
10649 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
10650 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
10651 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
10652 New function.
10653 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
10654 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
10655 (grub_partition_map) [GRUB_UTIL]: New field embed.
10656 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
10657 (setup): Use ->embed.
10658
10659 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10660
10661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
10662 function.
10663 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
10664 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
10665
10666 2010-09-15 Yves Blusseau <blusseau@zetam.org>
10667
10668 Add function to get completions from usage.
10669
10670 * util/bash-completion.d/grub-completion.bash.in: Add function to get
10671 completions from usage. Use LC_ALL=C to get options properly.
10672
10673 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10674
10675 * grub-core/gnulib/basename-lgpl.c: Imported.
10676 * grub-core/gnulib/basename.c: Likewise.
10677 * grub-core/gnulib/dirname-lgpl.c: Likewise.
10678 * grub-core/gnulib/dirname.c: Likewise.
10679 * grub-core/gnulib/dirname.h: Likewise.
10680 * grub-core/gnulib/stripslash.c: Likewise.
10681
10682 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10683
10684 * grub-core/gnulib/error.c: Resynced.
10685 * grub-core/gnulib/getopt.c: Likewise.
10686 * grub-core/gnulib/getopt_int.h: Likewise.
10687 * grub-core/gnulib/regex.h: Likewise.
10688 * grub-core/gnulib/regex_internal.c: Likewise.
10689 * grub-core/gnulib/regex_internal.h: Likewise.
10690
10691 2010-09-15 Szymon Janc <szymon@janc.net.pl>
10692
10693 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
10694 CRC calculations and validity checks.
10695 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
10696 calculations.
10697
10698 2010-09-15 Szymon Janc <szymon@janc.net.pl>
10699
10700 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
10701
10702 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10703
10704 Fix incorrect echo options handling.
10705 Reported by: Yves Blusseau.
10706
10707 * include/grub/command.h (grub_command_flags_t): New flags
10708 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
10709 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
10710 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
10711
10712 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10713
10714 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
10715 users updated.
10716 (GRUB_COMMAND_FLAG_MENU): Likewise.
10717 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10718 (GRUB_COMMAND_FLAG_TITLE): Removed.
10719 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10720 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
10721 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
10722 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
10723 (grub_command_flags_t): New enum. All users updated.
10724
10725 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
10726
10727 Fix solaris compilation.
10728
10729 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
10730 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
10731 (grub-emu-list): Likewise.
10732
10733 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 Remove deprecated root command.
10736
10737 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
10738 updated.
10739
10740 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * util/i386/pc/grub-setup.c: Merge this ...
10743 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
10744 * util/grub-setup.c: ... into this.
10745 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
10746 New struct.
10747
10748 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
10751 possible.
10752
10753 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
10756 allocate p.
10757
10758 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10761 explicit root argument to set to prevent UUID to be interpreted as
10762 argument to set.
10763
10764 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
10767
10768 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 Don't export grub_gate_a20.
10771
10772 * grub-core/kern/i386/pc/init.c: Remove leftovers.
10773 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
10774 to ...
10775 (grub_gate_a20): ... this. All users updated.
10776 * include/grub/i386/pc/init.h: Removed. All users updated.
10777
10778 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10779
10780 Create euro.pf2 which supports most European languages.
10781
10782 * Makefile.am (grubdata_DATA): Add euro.pf2.
10783 (euro.pf2): New target.
10784 (CLEANFILES): Add euro.pf2.
10785
10786 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10787
10788 * configure.ac: Disable emu-usb by default to prevent inadvertent
10789 device takeover.
10790
10791 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 Disable usbserial on grub-emu since our libusb code isn't good enough
10794 yet.
10795
10796 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
10797 (usbserial_pl2303): Likewise.
10798 (usbserial_ftdi): Likewise.
10799
10800 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10801
10802 * include/grub/disk.h (grub_disk): Remove has_partitions.
10803 All users updated.
10804 * disk/loopback.c (grub_loopback): Remove has_partitions.
10805 All users updated.
10806 (options): Remove partitions. All users updated.
10807 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
10808 * util/i386/pc/grub-setup.c (setup): copy partition table only when
10809 actual partition table is found.
10810
10811 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 Remove readability checks (too many false negatives).
10814
10815 * util/grub-install.in: Remove readability checks.
10816 * util/grub-mkconfig.in: Likewise.
10817 * util/grub.d/10_hurd.in: Likewise.
10818 * util/grub.d/10_kfreebsd.in: Likewise.
10819 * util/grub.d/10_linux.in: Likewise.
10820 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
10821 way.
10822
10823 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Enable acpi shutdown on all ACPI platforms.
10826
10827 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
10828 on coreboo, multiboot and EFI.
10829 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
10830 (grub_acpi_halt): Likewise.
10831 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
10832 (grub_cmd_halt): Don't call grub_acpi_halt directly.
10833 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
10834 * grub-core/lib/i386/halt.c (grub_halt)
10835 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
10836
10837 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
10840 context.
10841
10842 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * grub-core/video/efi_gop.c: Fix over-80-chars line.
10845 * grub-core/video/efi_uga.c: Likewise.
10846
10847 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 Filter devaliases and never open same device twice.
10850
10851 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
10852 (last_ihandle): Likewise.
10853 (ofdisk_hash_ent): New member shortest.
10854 (ofdisk_hash_add): Add canonical path too.
10855 (scan): New function.
10856 (grub_ofdisk_iterate): Iterate over hashed entries.
10857 (compute_dev_path): Don't add :0.
10858 (grub_ofdisk_open): Don't really open the disk.
10859 (grub_ofdisk_close): Avoid closing unrelated disk.
10860 (grub_ofdisk_read): Implement reopen logic.
10861 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
10862 New function.
10863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
10864 New proto.
10865
10866 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10867
10868 Fix sparc64.
10869
10870 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
10871 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
10872 right address. Add sparc64_ieee1275_ldflags.
10873 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
10874 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
10875 to grub_host_to_target_addr
10876 (load_image): Likewise.
10877
10878 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10879
10880 * grub-core/normal/completion.c (complete_file): Handle device
10881 containing slash.
10882 Fix based on patch by Doug Nazar.
10883
10884 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10885
10886 grub-mknetdir script.
10887
10888 * Makefile.util.def (grub-mknetdir): New module.
10889 * tests/util/grub-shell.in: Support boot=net
10890 * util/grub-mknetdir.in: New file.
10891
10892 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10893
10894 videoinfo on non-vbe.
10895
10896 * grub-core/Makefile.core.def (vbeinfo): Removed.
10897 (vbetest): Removed.
10898 (videoinfo): New module.
10899 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
10900 * grub-core/commands/i386/pc/vbetest.c: Removed.
10901 * grub-core/commands/videoinfo.c: New file.
10902 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
10903 specification.
10904 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
10905 as vbetest.
10906 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
10907 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
10908 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
10909 mode_number. New parameter mode. All users updated.
10910 (grub_video_gop_iterate): New function.
10911 (grub_video_efi_gop): New member iterate.
10912 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
10913 (grub_vbe_set_video_mode): Remove setting useless fields.
10914 (vbe2videoinfo): New function.
10915 (grub_video_vbe_iterate): Likewise.
10916 (grub_video_vbe_setup): Use vbe2videoinfo.
10917 (grub_video_vbe_print_adapter_specific_info): New function.
10918 (grub_video_vbe_adapter): New fields iterate and
10919 print_adapter_specific_info.
10920 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
10921 All users updated.
10922 (grub_video_mode_info): New field mode_number.
10923 (grub_video_adapter): New fields iterate and
10924 print_adapter_specific_info.
10925
10926 2010-09-13 Tristan Gingold <gingold@free.fr>
10927 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
10928 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 * grub-core/commands/efi/lsefisystab.c: New file.
10931 * grub-core/commands/efi/lssal.c: Likewise.
10932 * grub-core/Makefile.core.def (lsacpi): New module.
10933 (lsefisystab): Likewise.
10934 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10935 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
10936 (grub_efi_sal_system_table): New struct.
10937 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
10938 (grub_efi_sal_system_table_memory_descriptor): Likewise.
10939 (grub_efi_sal_system_table_platform_features): Likewise.
10940 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
10941 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
10942 (grub_efi_sal_system_table_ap_wakeup): Likewise.
10943 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
10944
10945 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 Support explicit user claim that a device is BIOS-visible.
10948
10949 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
10950 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
10951 * grub-core/kern/emu/hostdisk.c
10952 (convert_system_partition_to_system_disk): Support mdX.
10953 (find_system_device): New parameter add. All users updated.
10954 (grub_util_biosdisk_is_present): New function.
10955 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10956 proto.
10957
10958 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10959
10960 Search hints support.
10961
10962 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10963 All users updated.
10964
10965 2010-09-13 Yves Blusseau <blusseau@zetam.org>
10966
10967 Bash completion script for util commands
10968
10969 * Makefile.am: Add util/bash-completion.d directory
10970 * configure.ac: Likewise.
10971 * util/bash-completion.d/Makefile.am: New file.
10972 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10973
10974 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10977 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10978 Reported by: Yves Blusseau.
10979
10980 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10981
10982 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10983 partition size and offset.
10984
10985 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10988
10989 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10990
10991 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10992
10993 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10996 (grub_xvasprintf): Likewise.
10997
10998 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
11001
11002 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
11005 args ending with NULL.
11006
11007 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
11008
11009 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
11010 pointer.
11011
11012 2010-09-11 Szymon Janc <szymon@janc.net.pl>
11013
11014 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
11015
11016 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11017
11018 Shutdown using ACPI.
11019
11020 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
11021 * grub-core/commands/acpihalt.c: New file.
11022 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
11023 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11024 (grub_acpi_halt): New proto.
11025 (GRUB_ACPI_SLP_EN): New const.
11026 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11027 (GRUB_ACPI_OPCODE_*): New enum.
11028 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11029
11030 2010-09-11 Tristan Gingold <gingold@free.fr>
11031 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
11032 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11033
11034 * commands/lsacpi.c: New file.
11035 * grub-core/Makefile.core.def (lsacpi): New module.
11036 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11037 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11038 (grub_acpi_madt_entry_header): New struct.
11039 (grub_acpi_madt): Likewise.
11040 (grub_acpi_madt_entry_interrupt_override): Likewise.
11041 (grub_acpi_madt_entry_sapic): Likewise.
11042 (grub_acpi_madt_entry_lsapic): Likewise.
11043 (grub_acpi_madt_entry_platform_int_source): Likewise.
11044 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11045 (PRIuGRUB_UINT32_T): Likewise.
11046 (PRIxGRUB_UINT64_T): Likewise.
11047
11048 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 Implement loading palette on ieee1275_fb.
11051
11052 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11053 (have_setcolors): Likewise.
11054 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11055 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11056 (grub_video_ieee1275_set_palette): Implement.
11057
11058 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11059 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
11060
11061 * util/grub-install.in (grub_partition): New variable.
11062 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11063 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11064 Fixes a bug reported by Yves Blusseau.
11065
11066 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11067
11068 Fix emu on mipsel.
11069
11070 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11071 =grub_cpu_flush_cache on all mips and not only yeeloong.
11072 * configure.ac (COND_mips): New conditional.
11073 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11074 platforms.
11075 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11076 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11077 [GRUB_LINKER_HAVE_INIT]: New function.
11078 (grub_emu_post_init): Likewise.
11079 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11080 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11081 * include/grub/cache.h (_mips): Include mips/cache.h.
11082 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11083 LVM and RAID prototypes.
11084 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11085 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11086 function.
11087
11088 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11089
11090 * util/grub-install.in: Don't try to verify core.img until after
11091 running grub-mkimage to create it.
11092
11093 2010-09-10 Robert Millan <rmh@gnu.org>
11094
11095 * util/grub.d/10_hurd.in: Add misc readability checks.
11096 * util/grub.d/10_kfreebsd.in: Likewise.
11097 * util/grub.d/10_linux.in: Likewise.
11098
11099 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11100
11101 * util/grub-install.in: ${imgext} won't be defined here until the
11102 install branch is merged. For the meantime, only verify core.img on
11103 i386-pc and sparc64-ieee1275 platforms.
11104
11105 2010-09-10 Robert Millan <rmh@gnu.org>
11106
11107 Solaris support in grub_find_zpool_from_dir(). Thanks
11108 Seth Goldberg for referring to getextmntent() facility.
11109
11110 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11111 `sys/mkdev.h'.
11112 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11113 `<sys/mnttab.h>'.
11114 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11115 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11116 method for finding zpool name.
11117
11118 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11119
11120 grub-fstest needs the host and hostfs modules while other utilities
11121 actively require those modules to be absent, so grub-fstest needs
11122 its own initialisation and finalisation code.
11123
11124 * Makefile.am (grub_fstest.pp): New target.
11125 (grub_fstest_init.lst): Likewise.
11126 (grub_fstest_init.c): Likewise.
11127 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11128
11129 2010-09-10 Robert Millan <rmh@gnu.org>
11130
11131 * configure.ac: Check for `struct statfs.f_fstypename' and
11132 `struct statfs.f_mntfromname'.
11133
11134 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11135 kFreeBSD-specific code.
11136
11137 2010-09-10 Robert Millan <rmh@gnu.org>
11138
11139 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11140 on ZFS. Now non-main filesystems are supported as / too.
11141
11142 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
11143
11144 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11145 and grub-core/disk/host.c to ...
11146 (grub-fstest): ... here. Having the host disk implementation
11147 present confuses grub-probe and other utility programs.
11148
11149 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11150 when writing to a file, not when writing to stdout.
11151
11152 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11153
11154 * tests/partmap_test.in: New test for partitions.
11155 * Makefile.util.def: Rules for new test.
11156
11157 2010-09-09 Robert Millan <rmh@gnu.org>
11158
11159 * util/grub-probe.c (probe): Fix a pair of unhandled error
11160 conditions.
11161
11162 2010-09-09 Robert Millan <rmh@gnu.org>
11163
11164 Basic Btrfs support (detection and UUID).
11165
11166 * grub-core/fs/btrfs.c: New file.
11167 * Makefile.util.def (library): Register btrfs.c.
11168 * grub-core/Makefile.core.def: Likewise.
11169
11170 2010-09-08 Robert Millan <rmh@gnu.org>
11171
11172 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11173 with (optional) parameters to specify device and relative path.
11174 * util/grub-install.in: Use is_path_readable_by_grub() to
11175 verify readability of a few critical files.
11176 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11177 verify readability of grub.cfg.new.
11178
11179 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11180
11181 Split minix.mod into minix.mod and minix2.mod.
11182
11183 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11184 * grub-core/Makefile.core.def (minix2): New module.
11185 * grub-core/fs/minix.c: Use definitions instead of runtime version
11186 checking.
11187 * grub-core/fs/minix2.c: New file.
11188
11189 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11190
11191 Add new --boot-directory option to replace --root-directory
11192
11193 * util/grub-install.in: Add new --boot-directory option
11194 * util/grub-reboot.in: Likewise.
11195 * util/grub-set-default.in: Likewise.
11196
11197 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11198
11199 * util/grub-mkconfig.in: Use new variable.
11200
11201 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11202
11203 * configure.ac: Define some useful variables.
11204
11205 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11208 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11209 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11210 Use terminfo and don't use cursor-on/cursor-off unless it's known
11211 to work.
11212 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11213 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11214
11215 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
11216
11217 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11218 starts with "(,", fill the drive containing the loaded image in
11219 between those two characters, but expect that a full partition
11220 specification including partition map names will follow.
11221
11222 2010-09-08 Robert Millan <rmh@gnu.org>
11223
11224 * configure.ac: Remove `--enable-grub-fstest' option.
11225 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11226
11227 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11228 `grub-fstest' instead of `grub-probe' for readability verification.
11229 * util/grub-probe.c (probe): Remove readability verification kludge.
11230
11231 2010-09-08 Robert Millan <rmh@gnu.org>
11232
11233 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11234 initializing `GRUB_FS'.
11235
11236 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11237
11238 Not command (!) support to GRUB script.
11239
11240 * tests/grub_script_not.in: New test.
11241 * Makefile.util.def: Rules for new test.
11242
11243 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11244 ! command as a special case.
11245 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11246
11247 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11248
11249 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11250 grub_free.
11251
11252 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11253
11254 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11255
11256 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11257
11258 * docs/grub.texi (Shell-like scripting): Documentation for break,
11259 continue, shift and return commands.
11260
11261 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11262
11263 Rename CD-ROM to cd on BIOS.
11264
11265 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11266 "cd".
11267 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11268
11269 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11270
11271 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11272 * util/grub-probe.c (main): Likewise.
11273 * util/i386/pc/grub-setup.c (main): Likewise.
11274 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11275 Reported and debugged by: alexxy
11276
11277 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11278
11279 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11280 diagnostic info.
11281
11282 2010-09-05 Jo Shields <directhex@apebox.org>
11283
11284 * util/grub.d/30_os-prober.in: Add missing classes.
11285
11286 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * docs/grub.texi (Theme file format): Document new position format.
11289
11290 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11291
11292 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11293 a table. Use @code instead of @verbatim.
11294
11295 2010-09-05 Colin D Bennett <colin@gibibit.com>
11296
11297 Gfxmenu documentation.
11298
11299 * docs/grub.texi (Theme file format): New chapter.
11300
11301 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11302
11303 * grub-core/Makefile.core.def (xzio): New module.
11304 * grub-core/io/xzio.c: New file.
11305 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11306 * grub-core/lib/xzembed/xz_config.h: Likewise.
11307 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11308 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11309 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11310 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11311 * grub-core/lib/xzembed/xz_private.h: Likewise.
11312 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11313 * include/grub/file.h (grub_file_filter_id): New compression filter
11314 GRUB_FILE_FILTER_XZIO.
11315
11316 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11319 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11320 size.
11321
11322 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11323
11324 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11325 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11326
11327 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 Uncompressed checksum support.
11330
11331 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11332 (check_list): New parameter uncompress.
11333 (grub_cmd_hashsum): Handle --uncompress.
11334
11335 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11336
11337 Reintroduce testload.
11338
11339 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11340 from here ...
11341 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11342 (GRUB_MOD_INIT): New function.
11343 (GRUB_MOD_FINI): Likewise.
11344 * grub-core/Makefile.core.def (testload): New module.
11345
11346 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11347
11348 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11349 (uint8_t): New type.
11350 (uint16_t): Likewise.
11351 (uint32_t): Likewise.
11352 (uint64_t): Likewise.
11353
11354 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11355
11356 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11357
11358 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11361 Made static.
11362 (grub_gzfile_open): Removed. All users updated.
11363 (GRUB_MOD_INIT): New function.
11364 (GRUB_MOD_FINI): Likewise.
11365 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11366 (grub_file_filters_enabled): Likewise.
11367 (grub_file_open): Handle filters.
11368 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11369 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11370 * include/grub/file.h (grub_file_filter_id_t): New type.
11371 (grub_file_filter_t): Likewise.
11372 (grub_file_filters_all): New extern variable.
11373 (grub_file_filters_enabled): Likewise.
11374 (grub_file_filter_register): New inline function.
11375 (grub_file_filter_unregister): Likewise.
11376 (grub_file_filter_disable): Likewise.
11377 (grub_file_filter_disable_compression): Likewise.
11378 * include/grub/gzio.h: Removed.
11379
11380 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11381
11382 Filename expansion support for wildcards in GRUB script.
11383
11384 * tests/grub_script_expansion.in: New test.
11385 * Makefile.util.def: Rule for new test.
11386
11387 * grub-core/commands/wildcard.c: New file, implements filename
11388 expansion support for GRUB script.
11389 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11390 * grub-core/script/argv.c: Cosmetic changes.
11391 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11392 Refactored to perform wildcard expansion on arguments.
11393 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11394 struct.
11395
11396 * tests/util/grub-shell.in: Fix quoting for read input.
11397
11398 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11399
11400 Support for updating environment variables with matched substrings
11401 of regexp.
11402
11403 * tests/grub_cmd_regexp.in: New test.
11404 * Makefile.util.def: Rule for new test.
11405
11406 * grub-core/commands/regexp.c: New option -s to update environment
11407 variables with regexp matches.
11408
11409 2010-09-04 Szymon Janc <szymon@janc.net.pl>
11410
11411 * include/grub/file.h (grub_file): New member not_easly_seekable.
11412 (grub_file_seekable): New inline function.
11413 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11414 easily seekable.
11415 (grub_gzio_open): Set not_easly_seekable.
11416 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11417 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11418
11419 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11420
11421 Support for options to appear multiple times on cmdline.
11422
11423 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11424 * grub-core/commands/extcmd.c: Support for repeatable option.
11425 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11426 repeatable option support.
11427
11428 Refactor menuentry into a regular command.
11429
11430 * grub-core/commands/menuentry.c: New file, menuentry command
11431 implementation.
11432 * grub-core/Makefile.core.def: Rule update for normal.mod.
11433 * grub-core/normal/main.c: Moved menuentry creation to
11434 grub-core/commands/menuentry.c.
11435 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11436 (grub_menu_execute_entry_real): Removed.
11437 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11438 function.
11439 (grub_script_execute_menuentry): Removed.
11440 * grub-core/script/parser.y (menuentry): Removed.
11441 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11442 * grub-core/script/yylex.l (menuentry): Removed.
11443 * include/grub/menu.h (grub_menu_init): New prototype.
11444 (grub_menu_fini): New prototype.
11445 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11446 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11447 (grub_script_execute_sourcecode): New prototype.
11448
11449 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11450
11451 "return" command for GRUB script functions.
11452
11453 * tests/grub_script_return.in: New test.
11454 * Makefile.util.def: Rules for new test.
11455
11456 * grub-core/script/execute.c (grub_script_return): New function.
11457 * grub-core/script/main.c: Register/unregister return commaond.
11458 * include/grub/script_sh.h (grub_script_return): New prototype.
11459
11460 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11461
11462 "setparams" command to update positional parameters.
11463
11464 * tests/grub_script_setparams.in: New test.
11465 * Makefile.util.def: Rules for new test.
11466
11467 * grub-core/script/argv.c (grub_script_argv_make): New function.
11468 * grub-core/script/execute.c (replace_scope): New function.
11469 (grub_script_setparams): New function.
11470 * grub-core/script/lexer.c: Remove unused variables.
11471 * grub-core/script/main.c: Register/unregister setparams command.
11472 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11473 (grub_script_setparams): New prototype.
11474
11475 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11476
11477 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11478 grub_free order.
11479
11480 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11481
11482 Support for passing block of commands as an argument to extcmds.
11483
11484 * Makefile.util.def: Rules for new test.
11485 * tests/grub_script_blockarg.in: New test.
11486 * grub-core/tests/test_blockarg.c: New file, block argument
11487 command used in the test.
11488
11489 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11490 (grub_register_extcmd_prio): New function prototype.
11491 (grub_extcmd_dispatcher): New function prototype.
11492 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11493 type.
11494 * include/grub/script_sh.h (struct grub_script): New members
11495 `children', `next_siblings' and `refcnt' for block arguments and
11496 reference counting.
11497 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11498 (grub_script_arg): New member `script' for block argument.
11499 (grub_script_argv): New member `script' for block argument.
11500 (grub_parser_param): New member `scripts' for block argument.
11501 (grub_script_mem_free): New extern function prototype.
11502 (grub_script_ref): New function prototype.
11503 (grub_script_unref): New function prototype.
11504
11505 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11506 extcmd form to support block arguments.
11507 * grub-core/script/argv.c: Block arguments support.
11508 * grub-core/script/execute.c: Likewise.
11509 * grub-core/script/lexer.c: Likewise.
11510 * grub-core/script/main.c: Likewise.
11511 * grub-core/script/script.c: Likewise.
11512 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11513 non-terminals.
11514
11515 * grub-core/commands/acpi.c: Update extcmd implementations with
11516 grub_extcmd_context_t.
11517 * grub-core/commands/cat.c: Likewise.
11518 * grub-core/commands/echo.c: Likewise.
11519 * grub-core/commands/extcmd.c: Likewise.
11520 * grub-core/commands/hashsum.c: Likewise.
11521 * grub-core/commands/hdparm.c: Likewise.
11522 * grub-core/commands/help.c: Likewise.
11523 * grub-core/commands/hexdump.c: Likewise.
11524 * grub-core/commands/i386/cpuid.c: Likewise.
11525 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11526 * grub-core/commands/i386/pc/halt.c: Likewise.
11527 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11528 * grub-core/commands/iorw.c: Likewise.
11529 * grub-core/commands/keystatus.c: Likewise.
11530 * grub-core/commands/loadenv.c: Likewise.
11531 * grub-core/commands/ls.c: Likewise.
11532 * grub-core/commands/lspci.c: Likewise.
11533 * grub-core/commands/memrw.c: Likewise.
11534 * grub-core/commands/probe.c: Likewise.
11535 * grub-core/commands/search_wrap.c: Likewise.
11536 * grub-core/commands/setpci.c: Likewise.
11537 * grub-core/commands/sleep.c: Likewise.
11538 * grub-core/disk/loopback.c: Likewise.
11539 * grub-core/hello/hello.c: Likewise.
11540 * grub-core/loader/i386/bsd.c: Likewise.
11541 * grub-core/loader/xnu.c: Likewise.
11542 * grub-core/term/gfxterm.c: Likewise.
11543 * grub-core/term/serial.c: Likewise.
11544 * grub-core/tests/lib/functional_test.c: Likewise.
11545
11546 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11547
11548 Multi-line quoted strings support.
11549
11550 * grub-core/script/lexer.c (append_newline): Removed.
11551 (grub_script_lexer_yywrap): Refactored.
11552 (grub_script_lexer_init): Refactored.
11553 * grub-core/script/yylex.l (yywrap): New function.
11554 (grub_lexer_resplit): New function.
11555 (grub_lexer_unput): New function.
11556 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11557 and resplit.
11558 * tests/grub_script_echo1.in: Added few more testcases.
11559
11560 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 * grub-core/kern/misc.c: Don't add abort alias in utils.
11563 Reported by: echoline.
11564
11565 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11566
11567 Add missing files into "make dist" tarball for other platforms.
11568
11569 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11570 * conf/Makefile.common (dist_noinst_DATA): New variable.
11571 * conf/Makefile.extra-dist: Added missing make dist files.
11572 * grub-core/Makefile.core.def: Likewise.
11573
11574 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11575
11576 Compress grub_prefix.
11577
11578 * grub-core/boot/i386/pc/lnxboot.S: Use
11579 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11580 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11581 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11582 GRUB_MACHINE_PREFIX_END. All users updated.
11583 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11584 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11585 + 0x40.
11586 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11587 * util/grub-mkimage.c (image_target_desc): Change data_end to
11588 prefix_end. All users updated.
11589
11590 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11593 value.
11594 (grub_openbsd_boot): Likewise.
11595 (grub_netbsd_boot): Likewise.
11596 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11597 (grub_xnu_boot): Likewise.
11598
11599 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11600
11601 * configure.ac: Clean LIBS variable after tests.
11602
11603 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11604
11605 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11606
11607 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11610 echo if libdevmapper will be used.
11611
11612 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11613
11614 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11615 constant for the same file.
11616
11617 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11620
11621 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11622
11623 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
11624 grub-core/*.pp.
11625
11626 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11627
11628 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
11629 required by the boot protocol.
11630
11631 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
11632 ebp and edi members.
11633 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
11634 state.ebp and state.edi.
11635 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
11636 %ebp and %edi according to grub_relocator32_ebp and
11637 grub_relocator32_edi respectively.
11638 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
11639 and state.edi.
11640
11641 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 Add i386-pc-pxe image target.
11644
11645 * util/grub-mkimage.c (image_target_desc): New enum value
11646 IMAGE_I386_PC_PXE.
11647 (image_targets): New target i386-pc-pxe.
11648 (generate_image): Handle i386-pc-pxe image.
11649
11650 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 Fix grub_pxe_scan.
11653
11654 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
11655 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
11656 All users updated.
11657 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
11658 (grub_pxe_pxenv): Correct type.
11659
11660 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11661
11662 * NEWS: Document most of the important changes since 1.98.
11663
11664 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11665
11666 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
11667 generated manual page) a little.
11668
11669 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11670
11671 * docs/grub.texi: Add myself as an author.
11672
11673 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11674
11675 * Makefile.util.def (libgrub.a): Add missing sunpc.
11676 Reported by: Seth Goldberg.
11677
11678 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11679
11680 Interrupt wrapping and code simplifications.
11681
11682 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
11683 x86_noieee1275 which are functionaly equivalent in this case.
11684 (grub-install): Make source on each platform explicit. Enable on
11685 all noemu.
11686 * gentpl.py (x86_efi_pc): Removed group.
11687 (x86_noefi): Likewise.
11688 (i386_noefi): Likewise.
11689 (x86_noieee1275): Likewise.
11690 (i386_noieee1275): Likewise.
11691 (i386_noefi_noieee1275): Likewise.
11692 (i386_pc_qemu_coreboot): Likewise.
11693 (i386_coreboot_multiboot): Likewise.
11694 (i386_pc_coreboot_multiboot_qemu): Likewise.
11695 (x86_noefi_mips): Likewise.
11696 (noieee1275): Likewise.
11697 (ieee1275_mips): Likewise.
11698 (noemu_noieee1275): Likewise.
11699 (cmos): New group.
11700 (usb): Likewise.
11701 (videoinkernel): Likewise.
11702 (videomodules): Likewise.
11703 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
11704 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
11705 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
11706 include/grub/loader.h, include/grub/msdos_partition.h,
11707 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
11708 include/grub/machine/console.h, include/grub/machine/vga.h,
11709 include/grub/machine/vbe.h, include/grub/machine/init.h,
11710 include/grub/machine/kernel.h, include/grub/cpu/time.h,
11711 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
11712 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
11713 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
11714 * grub-core/Makefile.core.def (kernel): Explicit the source for
11715 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
11716 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
11717 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
11718 Use videoinkernel tag.
11719 (usb): Enable on all usb.
11720 (usbserial_common): Likewise.
11721 (usbserial_pl2303): Likewise.
11722 (usbserial_ftdi): Likewise.
11723 (uhci): Enable on all x86.
11724 (ohci): Enable on all pci.
11725 (cmostest): Enable on all CMOS.
11726 (acpi): Include commands/acpi.c on all platforms.
11727 (halt): Add relevant lib/*/halt.c.
11728 (hdparm): Enable on all pci.
11729 (lspci): Likewise.
11730 (usbtest): Enable on all usb.
11731 (ata): Enable on all pci.
11732 (ata_pthru): Likewise.
11733 (usbms): Enable on all usb.
11734 (usb_keyboard): Likewise.
11735 (font): Use tag videomodules.
11736 (bufio): Likewise.
11737 (datetime): Use tag cmos. Enable on all noemu.
11738 (mmap): Use tags common and x86.
11739 (gfxterm): Use tag videomodules.
11740 (bitmap): Likewise.
11741 (bitmap_scale): Likewise.
11742 (video_fb): Likewise.
11743 (video): Likewise.
11744 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
11745 adjust padding accordingly. All users updated.
11746 (grub_ohci_transaction): Fix bad format specification.
11747 (GRUB_MOD_INIT): Add asserts for struct size.
11748 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
11749 (grub_alloc_td): Likewise.
11750 (grub_free_queue): Likewise.
11751 (grub_uhci_transfer): Likewise.
11752 (grub_uhci_transaction): Fix bad format specification.
11753 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11754 (grub_usb_bulk_readwrite): Likewise.
11755 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
11756 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
11757 Made static.
11758 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
11759 Made static.
11760 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
11761 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
11762 Transformed into C.
11763 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
11764 Moved from here ...
11765 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
11766 ... here. Transformed into C. Made static.
11767 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
11768 Moved from here ...
11769 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
11770 ... here. Transformed into C. Made static.
11771 * grub-core/kern/i386/pc/startup.S
11772 (grub_biosdisk_check_int13_extensions): Moved from here ...
11773 * grub-core/disk/i386/pc/biosdisk.c
11774 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
11775 Made static.
11776 * grub-core/kern/i386/pc/startup.S
11777 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
11778 * grub-core/disk/i386/pc/biosdisk.c
11779 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
11780 Transformed into C. Made static.
11781 * grub-core/kern/i386/pc/startup.S
11782 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
11783 * grub-core/disk/i386/pc/biosdisk.c
11784 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
11785 Transformed into C. Made static.
11786 * grub-core/kern/i386/pc/startup.S
11787 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
11788 * grub-core/disk/i386/pc/biosdisk.c
11789 (grub_biosdisk_get_diskinfo_standard): ... here.
11790 Transformed into C. Made static.
11791 * grub-core/kern/i386/pc/startup.S
11792 (grub_biosdisk_get_num_floppies): Moved from here ...
11793 * grub-core/disk/i386/pc/biosdisk.c
11794 (grub_biosdisk_get_num_floppies): ... here.
11795 Transformed into C. Made static.
11796 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
11797 New function.
11798 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
11799 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
11800 Transformed into C. Made static.
11801 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
11802 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
11803 Transformed into C. Made static.
11804 * grub-core/kern/i386/ieee1275/init.c: Removed.
11805 * grub-core/kern/i386/misc.S: Likewise.
11806 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
11807 Splitted from here ...
11808 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
11809 Transformed into C. Made static. All users updated.
11810 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
11811 Transformed into C. Made static. All users updated.
11812 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
11813 Moved from here...
11814 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
11815 Transformed into C. Made static. All users updated.
11816 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
11817 Moved from here...
11818 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
11819 Transformed into C. Made static. All users updated.
11820 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
11821 Removed (replaced by C version).
11822 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
11823 Moved from here...
11824 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
11825 Transformed into C. Made static.
11826 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
11827 Moved from here...
11828 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
11829 ... here. Transformed into C.
11830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
11831 Moved from here...
11832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
11833 ... here. Transformed into C.
11834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
11835 Moved from here...
11836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
11837 ... here. Transformed into C. Made static.
11838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
11839 Moved from here...
11840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
11841 ... here. Transformed into C.
11842 * grub-core/kern/i386/pc/startup.S
11843 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
11844 * grub-core/video/i386/pc/vbe.c
11845 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
11846 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
11847 Moved from here...
11848 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
11849 ... here. Transformed into C.
11850 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
11851 Moved from here...
11852 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
11853 ... here. Transformed into C.
11854 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
11855 Moved from here...
11856 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
11857 ... here. Transformed into C.
11858 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
11859 Moved from here...
11860 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
11861 ... here. Transformed into C.
11862 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
11863 Moved from here...
11864 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
11865 ... here. Transformed into C. Made static.
11866 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
11867 Moved from here...
11868 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
11869 ... here. Transformed into C. Made static.
11870 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
11871 Moved from here...
11872 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
11873 ... here. Transformed into C. Made static.
11874 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
11875 pxe_rm_entry as third argument.
11876 (grub_bios_interrupt): New function.
11877 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
11878 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
11879 of calling grub_stop.
11880 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
11881 * grub-core/lib/efi/halt.c (grub_halt): ...here.
11882 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
11883 * grub-core/lib/emu/halt.c (grub_halt): ... here.
11884 * grub-core/lib/i386/halt.c: Moved from here ...
11885 * grub-core/lib/i386/halt.c: ... here.
11886 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
11887 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
11888 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
11889 grub_stop_floppy.
11890 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
11891 * include/grub/i386/coreboot/init.h: Removed.
11892 * include/grub/i386/multiboot/init.h: Likewise.
11893 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
11894 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
11895 * include/grub/i386/pc/int.h: New file.
11896 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
11897 (grub_pxe_scan): Removed.
11898 (grub_pxe_call): Update prototype.
11899 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
11900 prototypes.
11901 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
11902 * include/grub/i386/qemu/init.h: Removed.
11903 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
11904 noreturn.
11905 (grub_halt): Likewise.
11906 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
11907 (grub_reboot): Likewise.
11908 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
11909 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
11910 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
11911
11912 2010-08-30 Robert Millan <rmh@gnu.org>
11913
11914 * NEWS: Document addition of ZFS support in `grub-install' and
11915 `grub-mkconfig'.
11916
11917 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
11918
11919 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
11920 dprintf output.
11921
11922 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 Remove leftover embedding of font objects.
11925
11926 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11927 * util/grub-install.in (font): Removed.
11928 * util/grub-mkimage.c (generate_image): Remove font support. All users
11929 updated.
11930
11931 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 Remove leftover embedding of font objects.
11934
11935 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11936 * util/grub-install.in (font): Removed.
11937 * util/grub-mkimage.c (generate_image): Remove font support. All users
11938 updated.
11939
11940 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11941
11942 * docs/grub.texi (Network): Fix reference to pxe_blksize.
11943 Reported by: Ian Turner
11944
11945 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
11948 timeout to avoid indefinite boot stalling.
11949
11950 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11951
11952 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11953 (grub_env_write_color_highlight): Likewise.
11954
11955 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/normal/term.c (print_more): Return to normal and not
11958 to standard state after printing "---MORE---".
11959
11960 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11961
11962 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11963 Mask out the bit 0x80 since it has other meaning that specifiing color.
11964
11965 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11966
11967 New relocator. Allows for more kernel support and more straightforward
11968 loader writing.
11969
11970 * Makefile.am (BOOTTARGET): New variable.
11971 (QEMU32): Likewise.
11972 (linux.init.x86_64): New target.
11973 (linux.init.i386): Likewise.
11974 (multiboot.elf): Likewise.
11975 (kfreebsd.elf): Likewise.
11976 (kfreebsd.aout): Likewise.
11977 (pc-chainloader.elf): Likewise.
11978 (pc-chainloader.bin): Likewise.
11979 (ntldr.elf): Likewise.
11980 (ntldr.bin): Likewise.
11981 (multiboot2.elf): Likewise.
11982 (kfreebsd.init.x86_64): Likewise.
11983 (kfreebsd.init.i386): Likewise.
11984 (knetbsd.init.i386): Likewise.
11985 (kopenbsd.init.i386): Likewise.
11986 (knetbsd.init.x86_64): Likewise.
11987 (kopenbsd.init.x86_64): Likewise.
11988 (linux-initramfs.i386): Likewise.
11989 (linux-initramfs.x86_64): Likewise.
11990 (kfreebsd-mfsroot.i386.img): Likewise.
11991 (knetbsd.image.i386): Likewise.
11992 (kopenbsd.image.i386): Likewise.
11993 (kopenbsd.image.x86_64): Likewise.
11994 (knetbsd.miniroot-image.i386.img): Likewise.
11995 (kfreebsd-mfsroot.x86_64.img): Likewise.
11996 (knetbsd.image.x86_64): Likewise.
11997 (knetbsd.miniroot-image.x86_64.img): Likewise.
11998 (kfreebsd-mfsroot.i386.gz): Likewise.
11999 (bootcheck-kfreebsd-i386): Likewise.
12000 (kfreebsd-mfsroot.x86_64.gz): Likewise.
12001 (bootcheck-kfreebsd-x86_64): Likewise.
12002 (knetbsd.miniroot-image.i386.gz): Likewise.
12003 (bootcheck-knetbsd-i386): Likewise.
12004 (bootcheck-kopenbsd-i386): Likewise.
12005 (bootcheck-kopenbsd-x86_64): Likewise.
12006 (knetbsd.miniroot-image.x86_64.gz): Likewise.
12007 (bootcheck-knetbsd-x86_64): Likewise.
12008 (bootcheck-linux-i386): Likewise.
12009 (bootcheck-linux-x86_64): Likewise.
12010 (bootcheck-linux16-i386): Likewise.
12011 (bootcheck-linux16-x86_64): Likewise.
12012 (bootcheck-multiboot): Likewise.
12013 (bootcheck-multiboot2): Likewise.
12014 (bootcheck-kfreebsd-aout): Likewise.
12015 (bootcheck-pc-chainloader): Likewise.
12016 (bootcheck-ntldr): Likewise.
12017 (CLEANFILES): Add new targets.
12018 (BOOTCHECKS): New variable.
12019 (.PHONY): Add bootchecks.
12020 (SUCCESSFUL_BOOT_STRING): New variable.
12021 (BOOTCHECK_TIMEOUT): Likewise.
12022 (bootcheck): New target
12023 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12024 * configure.ac: Correct efiemu excuse.
12025 * docs/grub.texi (Supported kernels): New chapter.
12026 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12027 include/grub/mm_private.h. Simplify inclusion of
12028 include/grub/boot.h, include/grub/loader.h
12029 and include/grub/msdos_partition.h
12030 (KERNEL_HEADER_FILES) [i386_coreboot]:
12031 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12032 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12033 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12034 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12035 include/grub/machine/loader.h.
12036 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12037 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12038 extra_dist.
12039 (pci.mod): Enable on i386-multiboot.
12040 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12041 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12042 i386-qemu.
12043 (relocator.mod): Rewritten.
12044 (aout.mod): Enable on all x86.
12045 (bsd.mod): Likewise.
12046 (ntldr.mod): New module.
12047 (linux.mod): Use loader/i386/linux.c on all x86.
12048 (xnu.mod): Enable on all x86.
12049 (vga_text.mod): disable on EFI and QEMU.
12050 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12051 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12052 * grub-core/efiemu/loadcore.c: Likewise.
12053 * grub-core/efiemu/main.c: Likewise.
12054 (grub_efiemu_exit_boot_services): Removed.
12055 (grub_efiemu_finish_boot_services): Likewise.
12056 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12057 function.
12058 * grub-core/efiemu/i386/nocfgtables.c: New file.
12059 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12060 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12061 (grub_efi_finish_boot_services): Moved from here ...
12062 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12063 Fille finish memory map and related data.
12064 (finish_mmap_buf): New variable.
12065 (grub_efi_uintn_t finish_mmap_size): Likewise.
12066 (grub_efi_uintn_t finish_key): Likewise.
12067 (grub_efi_uintn_t finish_desc_size): Likewise.
12068 (grub_efi_uint32_t finish_desc_version): Likewise.
12069 (grub_efi_is_finished): Likewise.
12070 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12071 finished.
12072 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12073 (grub_elf64_phdr_iterate): Likewise.
12074 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12075 (grub_os_area_size): Likewise.
12076 (grub_machine_init): Don't reserve os area.
12077 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12078 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12079 * grub-core/kern/i386/loader.S: Removed.
12080 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12081 (grub_os_area_size): Likewise.
12082 (grub_machine_init): Don't reserve os area.
12083 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12084 Don't call grub_dl_unload_all.
12085 Don't include loader.S.
12086 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12087 Declare the memory after _end as available.
12088 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
12089 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
12090 (GRUB_MM_ALLOC_MAGIC): Moved from here...
12091 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12092 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12093 * include/grub/mm_private.h (grub_mm_header): ... here.
12094 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12095 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
12096 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12097 (grub_mm_region): ..here. Removed addr. Added pre_size.
12098 All users updated.
12099 * grub-core/kern/mm.c (base): Renamed to ...
12100 (grub_mm_base): ... this. Made global.
12101 (grub_real_malloc): Alloc from end of region.
12102 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12103 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12104 * grub-core/kern/powerpc/cache_flush.S: ... here.
12105 * grub-core/lib/efi/relocator.c: New file.
12106 * grub-core/lib/i386/relocator.c: Rewritten.
12107 * grub-core/lib/i386/relocator16.S: New file.
12108 * grub-core/lib/i386/relocator32.S: Likewise.
12109 * grub-core/lib/i386/relocator64.S: Likewise.
12110 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12111 * grub-core/lib/i386/relocator_common.S: New file.
12112 * grub-core/lib/ieee1275/relocator.c: Likewise.
12113 * grub-core/lib/mips/relocator.c: Rewritten.
12114 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12115 stylistic adjustments.
12116 * grub-core/lib/powerpc/relocator.c: New file.
12117 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12118 * grub-core/lib/relocator.c: Rewritten.
12119 * grub-core/lib/x86_64/relocator_asm.S: New file.
12120 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12121 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12122 (bsd_tag): New struct.
12123 (tags): New variable.
12124 (tags_last): Likewise.
12125 (netbsd_module): New struct.
12126 (netbsd_mods): New variable.
12127 (netbsd_mods_last): Likewise.
12128 (openbsd_opts): New parameter "serial".
12129 (OPENBSD_SERIAL_ARG): New definition.
12130 (netbsd_opts): New parameter "serial".
12131 (NETBSD_SERIAL_ARG): New definition.
12132 (grub_freebsd_add_meta): Reorganised into ...
12133 (grub_bsd_add_meta): ...this. All users updated.
12134 (grub_freebsd_add_mmap): Reorganised into ...
12135 (generate_e820_mmap): ...this...
12136 (grub_bsd_add_mmap): ...and this. All users updated.
12137 (grub_freebsd_list_modules): Use tags.
12138 (grub_netbsd_add_meta_module): New function.
12139 (grub_netbsd_list_modules): Likewise.
12140 (grub_freebsd_boot): Use relocator and finish EFI.
12141 (grub_openbsd_boot): Likewise.
12142 (grub_netbsd_setup_video): New function.
12143 (grub_netbsd_add_modules): Likewise.
12144 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12145 and finish EFI.
12146 (grub_bsd_unload): Unload tags.
12147 (grub_bsd_load_aout): Use relocator.
12148 (grub_bsd_elf32_size_hook): New function.
12149 (grub_bsd_elf32_hook): Use relocator.
12150 (grub_bsd_elf64_size_hook): New function.
12151 (grub_bsd_elf64_hook): Use relocator.
12152 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12153 (grub_bsd_load): Zero-out openbsd_ramdisk.
12154 (grub_bsd_load): Use relocator.
12155 (grub_cmd_openbsd): Support serial.
12156 (grub_cmd_netbsd): Support modules.
12157 (grub_cmd_freebsd_module): Use relocator.
12158 (grub_netbsd_module_load): New function.
12159 (grub_cmd_netbsd_module): Likewise.
12160 (grub_cmd_openbsd_ramdisk): Likewise.
12161 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12162 kopenbsd_ramdisk.
12163 (GRUB_MOD_FINI): Unregister new commands.
12164 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12165 (grub_freebsd_load_elfmodule_obj): Use relocator.
12166 (grub_freebsd_load_elfmodule): Likewise.
12167 (grub_freebsd_load_elf_meta): Likewise.
12168 (grub_netbsd_load_elf_meta): New function.
12169 (grub_openbsd_find_ramdisk): Likewise.
12170 * grub-core/loader/i386/bsd_helper.S: Removed.
12171 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12172 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12173 * grub-core/loader/i386/efi/linux.c: Likewise.
12174 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12175 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12176 (DEFAULT_VIDEO_MODE): Likewise.
12177 (real_mode_target): New variable.
12178 (prot_mode_target): Likewise.
12179 (initrd_mem_target): Likewise.
12180 (relocator): Likewise.
12181 (efi_mmap_buf): Likewise.
12182 (efi_mmap_size): Likewise.
12183 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12184 (free_pages): Use relocator.
12185 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12186 (grub_linux_setup_video): Return error.
12187 (grub_linux_trampoline_start): Removed.
12188 (grub_linux_trampoline_end): Likewise.
12189 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12190 andd video parameters depending on firmware.
12191 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12192 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12193 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12194 (grub_cmd_initrd): Use relocator.
12195 * grub-core/loader/i386/linux_trampoline.S: Removed.
12196 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12197 (elf_sec_entsize): Likewise.
12198 (elf_sec_shstrndx): Likewise.
12199 (elf_sections): Likewise.
12200 (grub_multiboot_load): Use relocator.
12201 (grub_multiboot_get_mbi_size): Account for sections.
12202 (grub_multiboot_make_mbi): Use relocator and support sections.
12203 (grub_multiboot_add_elfsyms): New function.
12204 (grub_multiboot_free_mbi): Free sections.
12205 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12206 (grub_linux_real_target): Likewise.
12207 (grub_linux_real_chunk): Likewise.
12208 (grub_linux16_prot_size): Likewise.
12209 (grub_linux16_boot): Use relocator.
12210 (grub_linux_unload): Unload relocator.
12211 (grub_cmd_linux): Use relocator.
12212 (grub_cmd_initrd): Likewise.
12213 * grub-core/loader/i386/pc/ntldr.c: New file.
12214 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12215 Don't try to guess CPU frequency.
12216 (grub_xnu_set_video): Stretch bitmap.
12217 (grub_xnu_boot): Use relocator.
12218 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12219 (grub_linux_unload): Free relocator.
12220 (grub_linux_load32): Use relocator.
12221 (grub_linux_load64): Likewise.
12222 (grub_cmd_initrd): Likewise.
12223 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12224 (grub_multiboot_unload): Unload relocator.
12225 (grub_cmd_multiboot): Use relocator.
12226 (grub_cmd_module): Likewise.
12227 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12228 Use relocator and support sections.
12229 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12230 (elf_sec_entsize): Likewise.
12231 (elf_sec_shstrndx): Likewise.
12232 (elf_sections): Likewise.
12233 (grub_multiboot_load): Use relocator.
12234 (grub_multiboot_get_mbi_size): Account for sections.
12235 (grub_multiboot_make_mbi): Use relocator and support sections.
12236 (grub_multiboot_add_elfsyms): New function.
12237 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12238 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12239 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12240 Prototype changed. All users updated.
12241 (grub_xnu_align_heap): Simplified.
12242 (grub_xnu_writetree_toheap): Likewise.
12243 (grub_xnu_unload): Unload relocator.
12244 (grub_cmd_xnu_kernel): Use relocator.
12245 (grub_cmd_xnu_kernel64): Likewise.
12246 (grub_xnu_register_memory): Simplified.
12247 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
12248 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12249 EFI is finished.
12250 (grub_console_checkkey): Likewise.
12251 (grub_console_getkey): Likewise.
12252 (grub_console_getwh): Likewise.
12253 (grub_console_getxy): Likewise.
12254 (grub_console_gotoxy): Likewise.
12255 (grub_console_cls): Likewise.
12256 (grub_console_setcolorstate): Likewise.
12257 (grub_console_setcursor): Likewise.
12258 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12259 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12260 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12261 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12262 * grub-core/tests/boot/kernel-8086.S: Likewise.
12263 * grub-core/tests/boot/kernel-i386.S: Likewise.
12264 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12265 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12266 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12267 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12268 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12269 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12270 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12271 * grub-core/tests/boot/linux.cfg: Likewise.
12272 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12273 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12274 * grub-core/tests/boot/linux16.cfg: Likewise.
12275 * grub-core/tests/boot/multiboot.cfg: Likewise.
12276 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12277 * grub-core/tests/boot/ntldr.cfg: Likewise.
12278 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12279 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12280 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12281 New definition.
12282 * include/grub/dl.h (grub_dl_unload_all): Removed.
12283 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12284 (grub_efi_finish_boot_services): Change prototype.
12285 (grub_efi_is_finished): New variable.
12286 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12287 Changed prototype.
12288 (grub_efiemu_finish_boot_services): Removed.
12289 (grub_machine_efiemu_init_tables): New prototype.
12290 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12291 (grub_elf64_phdr_iterate): Likewise.
12292 * include/grub/i386/bsd.h: Include relocator.h.
12293 (freebsd_tag_header): New struct.
12294 (grub_openbsd_bios_mmap): Removed.
12295 (grub_unix_real_boot): Removed.
12296 (grub_freebsd_load_elfmodule32): Changed prototype.
12297 (grub_freebsd_load_elfmodule_obj64): Likewise.
12298 (grub_freebsd_load_elf_meta32): Likewise.
12299 (grub_freebsd_load_elf_meta64): Likewise.
12300 (grub_freebsd_add_meta): Removed.
12301 (grub_netbsd_load_elf_meta32): New prototype.
12302 (grub_netbsd_load_elf_meta64): Likewise.
12303 (grub_bsd_add_meta): Likewise.
12304 (grub_openbsd_ramdisk_descriptor): New struct.
12305 (grub_openbsd_find_ramdisk32): New prototype.
12306 (grub_openbsd_find_ramdisk64): Likewise.
12307 * include/grub/i386/coreboot/loader.h: Removed.
12308 * include/grub/i386/efi/loader.h: Likewise.
12309 * include/grub/i386/ieee1275/loader.h: Likewise.
12310 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12311 to grub_uint32_t.
12312 * include/grub/i386/loader.h: Removed.
12313 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12314 value.
12315 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12316 (grub_phys_addr_t): New type.
12317 (grub_vtop): New inline function.
12318 (grub_map_memory): Likewise.
12319 (grub_unmap_memory): Likewise.
12320 * include/grub/i386/multiboot/loader.h: Removed.
12321 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12322 (NETBSD_BTINFO_CONSOLE): New definition.
12323 (NETBSD_BTINFO_SYMTAB): Likewise.
12324 (NETBSD_BTINFO_MODULES): Likewise.
12325 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12326 (grub_netbsd_bootinfo): New struct.
12327 (grub_netbsd_btinfo_common): Use explicit bitsize.
12328 (grub_netbsd_btinfo_mmap_entry): Removed.
12329 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12330 (grub_netbsd_btinfo_bootdisk): New struct.
12331 (grub_netbsd_btinfo_symtab): Likewise.
12332 (grub_netbsd_btinfo_serial): Likewise.
12333 (grub_netbsd_btinfo_modules): Likewise.
12334 (grub_netbsd_btinfo_framebuf): Likewise.
12335 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12336 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12337 Likewise.
12338 (grub_openbsd_bootargs): Use explicit bitsize.
12339 (grub_openbsd_bootarg_console): New struct.
12340 (GRUB_OPENBSD_COM_MAJOR): New definition.
12341 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12342 * include/grub/i386/pc/efiemu.h: Removed.
12343 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12344 * include/grub/i386/qemu/loader.h: Removed.
12345 * include/grub/i386/relocator.h: Rewritten.
12346 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12347 * include/grub/mips/memory.h: New file.
12348 * include/grub/mips/multiboot.h: Rewritten.
12349 * include/grub/mips/relocator.h: Rewritten.
12350 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12351 (grub_vtop): New function.
12352 (grub_map_memory): Likewise.
12353 (grub_unmap_memory): Likewise.
12354 * include/grub/misc.h (ALIGN_DOWN): New definition.
12355 * include/grub/mm.h (grub_mm_check_real): New proto.
12356 (GRUB_MM_CHECK): New definition.
12357 * include/grub/mm_private.h: New file.
12358 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12359 (grub_multiboot_get_mbi_size): Removed.
12360 (grub_multiboot_make_mbi): Change prottype.
12361 (grub_multiboot_set_accepts_video): New proto.
12362 (grub_multiboot_add_elfsyms): Likewise.
12363 (grub_multiboot_payload_eip): New variable.
12364 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12365 New prototype.
12366 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12367 New definition.
12368 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12369 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12370 * include/grub/powerpc/ieee1275/loader.h: Removed.
12371 * include/grub/powerpc/memory.h: New file.
12372 * include/grub/powerpc/relocator.h: Likewise.
12373 * include/grub/relocator.h: Likewise.
12374 * include/grub/relocator_private.h: Likewise.
12375 * include/grub/sparc64/ieee1275/loader.h: Removed.
12376 * include/grub/x86_64/memory.h: New file.
12377 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12378 (grub_xnu_heap_malloc): Likewise.
12379 (grub_xnu_heap_real_start): Removed.
12380 (grub_xnu_heap_start): Likewise.
12381 (grub_xnu_relocator): New variable.
12382 (grub_xnu_heap_target_start): Likewise.
12383 * tests/util/grub-shell.in: Support non-pc.
12384 * util/grub-mkimage.c (image_targets): Fix multiboot target.
12385
12386 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12387
12388 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12389 on malloc error.
12390 (grub_bidi_logical_to_visual): Check that malloc succeded.
12391 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12392 puts.
12393 (grub_xputs_normal): Likewise.
12394
12395 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12398 extra_dist.
12399
12400 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12403
12404 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12407
12408 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12411 dprintf.
12412
12413 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12414
12415 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12416
12417 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12418
12419 * grub-core/normal/term.c (print_more): Fix a memory leak.
12420 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12421 (grub_xputs_normal): Likewise.
12422
12423 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12426 the begining of the string
12427
12428 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 * grub-core/script/script.c (grub_script_parse): Free parsed on
12431 failure.
12432
12433 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12434
12435 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12436 on failure.
12437
12438 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12441 return.
12442
12443 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12444
12445 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12446 (scroll_up): Fix a memory leak.
12447
12448 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12451 errors.
12452
12453 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12454
12455 Handle USB pendrives exposed as floppies.
12456
12457 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12458 floppy.
12459 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12460 Check for partitions on all devices.
12461
12462 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12465 (readkey): Likewise.
12466
12467 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12468
12469 Multiple variable names support to "export" command.
12470
12471 * normal/context.c (grub_cmd_export): "export" command supports
12472 multiple variable names.
12473
12474 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12475
12476 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12477 --target=drive output to Mach device name.
12478
12479 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12480
12481 New Automake based build system for GRUB.
12482
12483 * ABOUT-NLS: New file.
12484 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12485 in Makefile.util.def file.
12486 * Makefile.util.def: New file. Autogen build definitions file for
12487 GRUB host utils.
12488 * conf/Makefile.common: New file. Common variables for GRUB host
12489 utils and target modules.
12490 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12491 * docs/Makefile.am: New file. Automake file for docs.
12492 * gentpl.py: New file. Python script to generate Autogen
12493 template.
12494 * grub-core/Makefile.am: New file. GRUB target modules' rules
12495 that doesn't fit in Makefile.core.def file.
12496 * grub-core/Makefile.core.def: New file. Autogen build
12497 definitions file for GRUB target modules.
12498 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12499 specific setjmp.S file.
12500 * po/Makefile.am: New file.
12501
12502 * .bzrignore: New ignores.
12503 * INSTALL: New requirements, without Ruby.
12504 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12505 * autogen.sh: Updated to invoke autogen as necessary.
12506 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12507 and defines for Automake conditionals.
12508 * geninit.sh: Refactoring.
12509
12510 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12511 necessary.
12512 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12513 New prototype.
12514
12515 * include/grub/test.h: Fix functional test modules' naming.
12516 * grub-core/tests/example_functional_test.c: Fix test module name.
12517
12518 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12519 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12520 * util/grub-editenv.c: Likewise.
12521 * util/grub-fstest.c: Likewise.
12522 * util/grub-mkdevicemap.c: Likewise.
12523 * util/grub-mkfont.c: Likewise.
12524 * util/grub-mkimage.c: Likewise.
12525 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12526 * util/grub-probe.c: Likewise.
12527 * util/grub-script-check.c: Likewise.
12528 * util/i386/pc/grub-setup.c: Likewise.
12529 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12530
12531 * tests/util/grub-shell.in: Fix override directory path.
12532 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12533 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12534
12535 * util/lvm.c: Update #includes.
12536 * util/raid.c: Likewise.
12537 * util/resolve.c: Likewise.
12538 * grub-core/bus/emu/pci.c: Likewise.
12539 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12540 * grub-core/lib/posix_wrap/string.h: Likewise.
12541 * grub-core/kern/emu/main.c: Likewise.
12542
12543 * grub-core/gensymlist.sh: New file. Script for generating kernel
12544 symbols file.
12545 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12546
12547 * grub-core/gentrigtables.c: Fix unused variable warnings.
12548
12549 * Makefile.in: Removed.
12550 * conf/any-emu.rmk: Removed.
12551 * conf/common.rmk: Removed.
12552 * conf/i386-coreboot.rmk: Removed.
12553 * conf/i386-efi.rmk: Removed.
12554 * conf/i386-ieee1275.rmk: Removed.
12555 * conf/i386-multiboot.rmk: Removed.
12556 * conf/i386-pc.rmk: Removed.
12557 * conf/i386-qemu.rmk: Removed.
12558 * conf/i386.rmk: Removed.
12559 * conf/mips-yeeloong.rmk: Removed.
12560 * conf/mips.rmk: Removed.
12561 * conf/powerpc-ieee1275.rmk: Removed.
12562 * conf/sparc64-ieee1275.rmk: Removed.
12563 * conf/tests.rmk: Removed.
12564 * conf/x86-efi.rmk: Removed.
12565 * conf/x86_64-efi.rmk: Removed.
12566 * gendistlist.sh: Removed.
12567 * geninitheader.sh: Removed.
12568 * genkernsyms.sh.in: Removed.
12569 * genmk.rb: Removed.
12570 * gensymlist.sh.in: Removed.
12571 * mkinstalldirs: Removed.
12572 * boot: Moved ...
12573 * grub-core/boot: ... to here.
12574 * bus: Moved ...
12575 * grub-core/bus: ... to here.
12576 * commands: Moved ...
12577 * grub-core/commands: ... to here.
12578 * disk: Moved ...
12579 * grub-core/disk: ... to here.
12580 * efiemu: Moved ...
12581 * grub-core/efiemu: ... to here.
12582 * font: Moved ...
12583 * grub-core/font: ... to here.
12584 * fs: Moved ...
12585 * grub-core/fs: ... to here.
12586 * gencmdlist.sh: Moved ...
12587 * grub-core/gencmdlist.sh: ... to here.
12588 * genemuinit.sh: Moved ...
12589 * grub-core/genemuinit.sh: ... to here.
12590 * genemuinitheader.sh: Moved ...
12591 * grub-core/genemuinitheader.sh: ... to here.
12592 * genfslist.sh: Moved ...
12593 * grub-core/genfslist.sh: ... to here.
12594 * genhandlerlist.sh: Moved ...
12595 * grub-core/genhandlerlist.sh: ... to here.
12596 * genmoddep.awk: Moved ...
12597 * grub-core/genmoddep.awk: ... to here.
12598 * genmodsrc.sh: Moved ...
12599 * grub-core/genmodsrc.sh: ... to here.
12600 * genpartmaplist.sh: Moved ...
12601 * grub-core/genpartmaplist.sh: ... to here.
12602 * genparttoollist.sh: Moved ...
12603 * grub-core/genparttoollist.sh: ... to here.
12604 * genterminallist.sh: Moved ...
12605 * grub-core/genterminallist.sh: ... to here.
12606 * gentrigtables.c: Moved ...
12607 * grub-core/gentrigtables.c: ... to here.
12608 * genvideolist.sh: Moved ...
12609 * grub-core/genvideolist.sh: ... to here.
12610 * gettext: Moved ...
12611 * grub-core/gettext: ... to here.
12612 * gfxmenu: Moved ...
12613 * grub-core/gfxmenu: ... to here.
12614 * gnulib: Moved ...
12615 * grub-core/gnulib: ... to here.
12616 * hello: Moved ...
12617 * grub-core/hello: ... to here.
12618 * hook: Moved ...
12619 * grub-core/hook: ... to here.
12620 * io: Moved ...
12621 * grub-core/io: ... to here.
12622 * kern: Moved ...
12623 * grub-core/kern: ... to here.
12624 * lib: Moved ...
12625 * grub-core/lib: ... to here.
12626 * loader: Moved ...
12627 * grub-core/loader: ... to here.
12628 * mmap: Moved ...
12629 * grub-core/mmap: ... to here.
12630 * normal: Moved ...
12631 * grub-core/normal: ... to here.
12632 * partmap: Moved ...
12633 * grub-core/partmap: ... to here.
12634 * parttool: Moved ...
12635 * grub-core/parttool: ... to here.
12636 * script: Moved ...
12637 * grub-core/script: ... to here.
12638 * term: Moved ...
12639 * grub-core/term: ... to here
12640 * tests/example_functional_test.c: Moved ...
12641 * grub-core/tests/example_functional_test.c: ... to here.
12642 * tests/lib/functional_test.c: Moved ...
12643 * grub-core/tests/lib/functional_test.c: ... to here.
12644 * tests/lib/test.c: Moved ...
12645 * grub-core/tests/lib/test.c: ... to here.
12646 * video: Moved ...
12647 * grub-core/video: ... to here.
12648
12649 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12650
12651 Replace --enable-grub-emu-modules with grub-emu-lite.
12652
12653 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
12654 cache.S.
12655
12656 * include/grub/emu/misc.h (grub_emu_init): New prototype.
12657 * kern/emu/full.c: New file. For grub-emu specific initialization.
12658 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
12659 * kern/emu/main.c: Call initialization function grub_emu_init.
12660
12661 * Makefile.in: Include grub-emu-lite in install.
12662 * commands/parttool.c: Use grub_no_autoload to differentiate
12663 between grub-emu and grub-emu-lite.
12664 * include/grub/misc.h: New variable grub_no_autoload.
12665
12666 * conf/any-emu.rmk: New rules for grub-emu-lite.
12667 * configure.ac: Remove --enable-grub-emu-modules.
12668 * genmk.rb: Cleanup unnecessary rules.
12669 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
12670
12671 * normal/main.c: Don't load list files on grub-emu-lite.
12672 * util/misc.c (grub_arch_sync_caches): Removed.
12673
12674 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
12675
12676 * kern/mips/startup.S (grub_prefix): Update comment to refer to
12677 grub-mkimage rather than grub-mkelfimage.
12678 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12679
12680 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12681
12682 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
12683 a key after CapsLock or NumLock. It's just a qemu bug.
12684
12685 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
12688 needed by libusb wrapper.
12689
12690 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12691
12692 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
12693
12694 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
12697 --nounzip is passed.
12698
12699 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 USB hotunplugging and USB serial support.
12702
12703 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
12704 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
12705 (grub_uhci_transfer): Respect timeout and set *actual.
12706 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
12707 non-standard length.
12708 (grub_usb_device_attach): Autoload modules.
12709 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12710 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
12711 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
12712 users updated.
12713 (grub_usb_add_hub): Fill nports and children.
12714 (attach_root_port): Receive hub instead of controller.
12715 All users updated. Fill hub->devices.
12716 (grub_usb_root_hub): Allocate hub->devices.
12717 (detach_device): New function.
12718 (poll_nonroot_hub): Fill children and detach devices.
12719 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
12720 actual arguments. All users updated.
12721 (grub_usb_bulk_read_extended): New function.
12722 * bus/usb/serial/common.c: New file.
12723 * bus/usb/serial/ftdi.c: Likewise.
12724 * bus/usb/serial/pl2303.c: Likewise.
12725 * commands/terminal.c (handle_command): Support wildcard.
12726 * commands/usbtest.c: Output "Unknown" instead of empty string.
12727 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
12728 (usbserial_common_mod_SOURCES): New variable.
12729 (usbserial_common_mod_CFLAGS): Likewise.
12730 (usbserial_common_mod_LDFLAGS): Likewise.
12731 (pkglib_MODULES): Add usbserial_pl2303.mod.
12732 (usbserial_pl2303_mod_SOURCES): New variable.
12733 (usbserial_pl2303_mod_CFLAGS): Likewise.
12734 (usbserial_pl2303_mod_LDFLAGS): Likewise.
12735 (pkglib_MODULES): Add usbserial_ftdi.mod.
12736 (usbserial_ftdi_mod_SOURCES): New variable.
12737 (usbserial_ftdi_mod_CFLAGS): Likewise.
12738 (usbserial_ftdi_mod_LDFLAGS): Likewise.
12739 (pkglib_MODULES): Add serial.mod.
12740 (serial_mod_SOURCES): New variable.
12741 (serial_mod_CFLAGS): Likewise.
12742 (serial_mod_LDFLAGS): Likewise.
12743 * conf/i386-pc.rmk: Likewise.
12744 * conf/mips-yeeloong.rmk: Likewise.
12745 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
12746 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12747 * disk/usbms.c (first_available_slot): New variable.
12748 (grub_usbms_attach): Don't reuse free slots due to potential cache
12749 problems.
12750 * include/grub/serial.h: Moved to ..
12751 * include/grub/ns8250.h: ...this.
12752 * include/grub/serial.h: New file.
12753 * include/grub/term.h (grub_term_poll_usb): New variable.
12754 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
12755 readkey. All users updated.
12756 (grub_terminfo_output_state): Pass term to put.
12757 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
12758 (grub_usb_controller_dev): Add timeout and actual arguments to
12759 transfer. All users updated.
12760 (grub_usb_interface): New field detach_data.
12761 (grub_usb_device): New fields children and nports.
12762 (grub_usb_ep_type_t): New type.
12763 (grub_usb_get_ep_type): New function.
12764 (grub_usb_bulk_read_extended): Likewise.
12765 * include/grub/usbdesc.h (grub_usb_desc): New type.
12766 * include/grub/usbserial.h: New file.
12767 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
12768 * kern/term.c (grub_term_poll_usb): New variable.
12769 (grub_getkey): Call grub_term_poll_usb if set.
12770 (grub_checkkey): Likewise.
12771 (grub_getkeystatus): Likewise.
12772 * term/serial.c: Moved controller-specific parts to ...
12773 * term/ns8250.c: ... here.
12774 * term/serial.c: Mostly rewritten.
12775 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
12776 according to spec.
12777
12778 2010-08-20 Robert Millan <rmh@gnu.org>
12779
12780 Make kFreeBSD code more generic to support ext2fs as root, ufs as
12781 a separate module and maybe other interesting combinations.
12782
12783 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
12784 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
12785 (kfreebsd_entry): Add generic filesystem module load routine.
12786 Map GRUB `ext2' to kFreeBSD `ext2fs'.
12787
12788 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
12789
12790 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
12791 "numcenter" (I misunderstood the purpose of this entry).
12792 * docs/grub.texi (sendkey): Likewise.
12793
12794 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
12795
12796 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
12797 status flag options; simply omitting the option is equivalent and
12798 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
12799 (keysym_table): Rename "num5numlock" to "numlock".
12800 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
12801 can uniformly say that only the last of multiple `sendkey'
12802 invocations has any effect.
12803 * docs/grub.texi (sendkey): New section.
12804
12805 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * commands/i386/pc/sendkey.c (options): Fix three typos.
12808
12809 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12810
12811 Implement sendkey support.
12812
12813 * commands/i386/pc/sendkey.c: New file.
12814 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
12815 (sendkey_mod_SOURCES): New variable.
12816 (sendkey_mod_CFLAGS): Likewise.
12817 (sendkey_mod_LDFLAGS): Likewise.
12818
12819 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
12820
12821 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
12822 fix warnings from Autoconf.
12823
12824 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
12825
12826 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
12827 to avoid false positives with some assemblers that output things
12828 like "someprefix_func" as part of their output.
12829
12830 2010-08-15 Robert Millan <rmh@gnu.org>
12831
12832 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
12833 errors.
12834 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
12835 grub_get_libzfs_handle() errors.
12836
12837 2010-08-14 Robert Millan <rmh@gnu.org>
12838
12839 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
12840 filesystem is not ZFS.
12841
12842 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12843
12844 Fix for misspelled color names defaulting to black/black (bug
12845 reported by Doug Nazar)
12846
12847 * include/grub/normal.h (grub_parse_color_name_pair): Add return
12848 status to prototype.
12849 * normal/color.c (grub_parse_color_name_pair): Return failure
12850 status.
12851 (grub_env_write_color_normal): Ignore bad color names.
12852 (grub_env_write_color_highlight): Likewise.
12853 * normal/main.c (GRUB_MOD_INIT): Set default color names.
12854
12855 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12856
12857 "shift" command support to GRUB script.
12858
12859 * include/grub/script_sh.h (grub_script_shift): New prototype.
12860 * script/execute.c (grub_script_shift): New function.
12861 * script/main.c (grub_script_init): Register shift command.
12862 (grub_script_fini): Unregister shift command.
12863 * util/grub-script-check.c (grub_script_cmd_shift): New function.
12864
12865 * tests/grub_script_shift.in: New testcase.
12866 * conf/tests.rmk: Rules for new testcase.
12867
12868 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12869
12870 "continue" command support to GRUB script.
12871
12872 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
12873 (grub_script_break): Continue support.
12874 * script/main.c (grub_script_init): Register continue command.
12875 (grub_script_fini): Unregister continue command.
12876
12877 * tests/grub_script_continue.in: New testcase.
12878 * conf/tests.rmk: Rules for new testcase.
12879
12880 2010-08-12 BVK Chaitanya <bvk@dbook>
12881
12882 "break" command support to GRUB script.
12883
12884 * conf/common.rmk: Rule updates to grub-script-check.
12885 * include/grub/misc.h (grub_min): New function.
12886 * include/grub/script_sh.h (grub_script_init): New prototype.
12887 (grub_script_fini): New prototype.
12888 (grub_script_break): New prototype.
12889 * script/main.c (grub_script_init): New function.
12890 (grub_script_fini): New function.
12891 * script/execute.c (grub_script_break): New function.
12892 * normal/main.c: Calls to grub_script_{init,fini}.
12893 * util/grub-script-check.c (grub_script_break): New function.
12894
12895 * tests/grub_script_break.in: New testcase.
12896 * conf/tests.rmk: Rules for new test case.
12897
12898 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12899
12900 Function parameters support to GRUB script.
12901
12902 * script/yylex.l (VARIABLE): Regular expression update.
12903 * script/function.c (grub_script_function_call): Moved ...
12904 * script/execute.c (grub_script_function_call): ... to here.
12905 (grub_script_execute_arglist_to_argv): Removed.
12906 (grub_script_arglist_to_argv): New function.
12907 * script/argv.c: New file.
12908 (grub_script_argv_free): New function.
12909 (grub_script_argv_next): Likewise.
12910 (grub_script_argv_append): Likewise.
12911 (grub_script_argv_split_append): Likewise.
12912 * include/grub/script_sh.h (grub_script_argv): New struct.
12913 (grub_script_argv_free): New function.
12914 (grub_script_argv_next): Likewise.
12915 (grub_script_argv_append): Likewise.
12916 (grub_script_argv_split_append): Likewise.
12917
12918 * conf/common.rmk (normal.mod): New source script/argv.c.
12919
12920 * tests/grub_script_echo1.in: More tests.
12921 * tests/grub_script_vars1.in: Likewise.
12922 * tests/grub_script_functions.in: New test case.
12923 * conf/tests.rmk: Rules for new testcase.
12924
12925 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12926
12927 Remove grub_script_cmdblock struct.
12928
12929 * include/grub/script_sh.h: Remove grub_script_cmdblock.
12930 * script/parser.y: Likewise.
12931 * script/execute.c: Rename cmdblock suffix to cmdlist.
12932 * script/script.c: Likewise.
12933 * util/grub-script-check.c: Likewise.
12934
12935 2010-08-11 Yves Blusseau <blusseau@zetam.org>
12936
12937 * .bzrignore: add grub-macho2img
12938
12939 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
12942
12943 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12944
12945 Remove the dump of sm712 initialisation sequence.
12946
12947 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
12948 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
12949 (GRUB_VGA_IO_MISC_WRITE): Likewise.
12950 (GRUB_VGA_CR_*): Added many registers.
12951 (GRUB_VGA_SR_*): Likewise.
12952 (GRUB_VGA_GR_*): Likewise.
12953 (grub_vga_write_arx): New function.
12954 (grub_video_hw_config): New struct.
12955 (grub_vga_set_geometry): New function.
12956 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12957 GRUB_PCI_CLASS_SUBCLASS_VGA.
12958 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12959 * video/sm712.c (grub_sm712_write_reg): New function
12960 (grub_sm712_read_reg): Likewise.
12961 (grub_sm712_sr_write): Likewise.
12962 (grub_sm712_gr_write): Likewise.
12963 (grub_sm712_cr_write): Likewise.
12964 (grub_sm712_write_arx): Likewise.
12965 (grub_sm712_cr_shadow_write): Likewise.
12966 (grub_sm712_write_dda_lookup): Likewise.
12967 (grub_video_sm712_setup): Initialise the video rather then
12968 blindly replay the dump.
12969 (main) [TEST]: Add a routine to be able to compile as standalone for
12970 tests.
12971 * video/sm712_init.c (sm712_init): Removed.
12972 (sm712_sr_seq1): New array.
12973 (sm712_sr_seq2): Likewise.
12974
12975 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * include/grub/vga.h: Add missing grub/pci.h include.
12978
12979 2010-08-10 Yves Blusseau <blusseau@zetam.org>
12980
12981 * util/grub-macho2img.c (main): fix typo
12982
12983 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12984
12985 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12986 (grub_vga_gr_read): Likewise.
12987 (grub_vga_cr_write): Likewise.
12988 (grub_vga_cr_read): Likewise.
12989 (grub_vga_sr_write): Likewise.
12990 (grub_vga_sr_read): Likewise.
12991 (grub_vga_palette_read): Likewise.
12992 (grub_vga_palette_write): Likewise.
12993 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12994 (grub_sm712_sr_read): New function.
12995 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12996 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12997
12998 2010-08-09 Robert Millan <rmh@gnu.org>
12999
13000 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
13001 out unused variables on non-ZFS build.
13002
13003 2010-08-08 Robert Millan <rmh@gnu.org>
13004
13005 Fix path generation for sub-filesystems in ZFS.
13006
13007 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
13008 missing slash.
13009
13010 2010-08-08 Robert Millan <rmh@gnu.org>
13011
13012 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
13013
13014 2010-08-08 Robert Millan <rmh@gnu.org>
13015
13016 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
13017 exist, issue a proper error message (rely on `ls' for translated
13018 strings).
13019
13020 2010-08-08 Robert Millan <rmh@gnu.org>
13021
13022 Fix grub-probe invocation.
13023
13024 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13025
13026 2010-08-04 Robert Millan <rmh@gnu.org>
13027
13028 * configure.ac: Remove checks for getfsstat() and getmntany().
13029 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13030 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13031 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13032 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13033 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13034 function.
13035 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13036 via find_mount_point_from_dir() and getfsstat() / getmntany().
13037
13038 2010-08-04 Robert Millan <rmh@gnu.org>
13039
13040 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13041 (grub_find_zpool_from_mount_point): Merge into ...
13042 (grub_find_zpool_from_dir): ... this.
13043 * kern/emu/misc.c: Likewise.
13044
13045 * kern/emu/misc.c
13046 (grub_make_system_path_relative_to_its_root): Replace
13047 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13048 with grub_find_zpool_from_dir().
13049 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13050
13051 2010-08-04 Robert Millan <rmh@gnu.org>
13052
13053 Support OpenSolaris in ZFS device resolution.
13054
13055 * configure.ac: Check for getmntany().
13056 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13057 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13058 support.
13059
13060 2010-08-03 Robert Millan <rmh@gnu.org>
13061
13062 Fix grub-emu build.
13063
13064 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13065 * include/grub/emu/misc.h: ... here.
13066
13067 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13068 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13069
13070 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13071 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13072 (grub_get_libzfs_handle): Move to ...
13073 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13074 (grub_get_libzfs_handle): ... here.
13075
13076 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13077
13078 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13079 as command name case.
13080
13081 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
13082
13083 * disk/raid.c (insert_array): Select unique numbers for named arrays
13084 as well, for use as keys in the disk cache.
13085
13086 2010-08-01 Robert Millan <rmh@gnu.org>
13087
13088 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13089 kFreeBSD device name, except on ZFS where the filesystem label is
13090 used.
13091 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13092 `/boot/zfs/zpool.cache'.
13093 Set mountfrom kernel variable using ${kfreebsd_device}.
13094
13095 2010-08-01 Robert Millan <rmh@gnu.org>
13096
13097 Make it even harder to use uninitialized `libzfs_handle' (and
13098 make the interface a bit simpler).
13099
13100 * include/grub/util/misc.h (grub_util_init_libzfs)
13101 (libzfs_handle): Remove.
13102 (grub_get_libzfs_handle): New prototype.
13103
13104 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13105 attribute.
13106 (grub_util_init_libzfs): Remove.
13107 (grub_get_libzfs_handle): New function.
13108
13109 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13110 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13111 accessing `libzfs_handle' directly.
13112
13113 2010-08-01 Robert Millan <rmh@gnu.org>
13114
13115 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13116 (grub_find_zpool_from_mount_point): New function prototypes.
13117
13118 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13119 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13120
13121 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13122 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13123 `static' attribute.
13124
13125 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13126 finding zpool from mount point into ...
13127 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13128
13129 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13130 requested path is part of a ZFS pool, use
13131 grub_find_zpool_from_mount_point() to detect its filesystem name,
13132 and generate a path with `/fsname@path' syntax.
13133
13134 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13135
13136 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13137 (void) rather than () so that this is a proper prototype.
13138
13139 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13140
13141 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13142
13143 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13144
13145 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13146 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13147
13148 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13151
13152 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13153
13154 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13155
13156 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13157
13158 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13159 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13160 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13161 disable gfxpayload.
13162 (Shell-like scripting): Add real content.
13163 (Serial terminal): Suggest `terminal_input serial; terminal_output
13164 serial' rather than putting the two commands on separate lines,
13165 since console input will be inoperative after the first command.
13166 (menuentry): Document --class, --users, and --hotkey options.
13167 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13168 Vladimir Serbinenko).
13169
13170 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13171 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13172
13173 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13174
13175 2010-08-01 Robert Millan <rmh@gnu.org>
13176
13177 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13178 (grub_find_zpool_from_mount_point): New function prototypes.
13179
13180 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13181 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13182
13183 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13184 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13185 `static' attribute.
13186
13187 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13188 finding zpool from mount point into ...
13189 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13190
13191 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13192 requested path is part of a ZFS pool, use
13193 grub_find_zpool_from_mount_point() to detect its filesystem name,
13194 and generate a path with `/fsname@path' syntax.
13195
13196 2010-08-01 Robert Millan <rmh@gnu.org>
13197
13198 Prevent accidental use of uninitialized libzfs_handle.
13199
13200 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13201 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13202 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13203
13204 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13205
13206 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13207 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13208
13209 2010-08-01 Robert Millan <rmh@gnu.org>
13210
13211 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
13212
13213 2010-07-31 Robert Millan <rmh@gnu.org>
13214
13215 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13216
13217 2010-07-31 Robert Millan <rmh@gnu.org>
13218
13219 * kern/emu/misc.c: Add missing license header.
13220
13221 2010-07-31 Robert Millan <rmh@gnu.org>
13222
13223 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13224
13225 * include/grub/util/libnvpair.h: Include `<config.h>'.
13226 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13227 declaring libnvpair prototypes ourselves.
13228 * include/grub/util/libzfs.h: Include `<config.h>'.
13229 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13230 declaring libzfs prototypes ourselves.
13231
13232 (libzfs_handle): Moved to ...
13233 * include/grub/util/misc.h (libzfs_handle): ... here.
13234 Include `<grub/util/libzfs.h>'.
13235
13236 2010-07-30 Robert Millan <rmh@gnu.org>
13237
13238 * include/grub/emu/misc.h: Add missing license header.
13239
13240 2010-07-30 Robert Millan <rmh@gnu.org>
13241
13242 Enable `grub-probe -t device' resolution on ZFS.
13243
13244 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13245 * include/grub/util/libnvpair.h: New file.
13246 * include/grub/util/libzfs.h: New file.
13247
13248 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13249 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13250 `<grub/util/libnvpair.h>'.
13251 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13252
13253 (find_mount_point_from_dir): New static function.
13254 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13255 function.
13256 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13257 find_root_device_from_libzfs() before ressorting to find_root_device().
13258
13259 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13260 prototype.
13261 * util/misc.c: Include `<grub/util/libzfs.h>'.
13262 (grub_util_init_libzfs): New function.
13263 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13264 [HAVE_LIBZFS] (fini_libzfs): New static function.
13265 (grub_util_init_libzfs): New function.
13266 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13267
13268 2010-07-30 Robert Millan <rmh@gnu.org>
13269
13270 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13271 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13272 `warn_unused_result' attribute.
13273 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13274 (grub_xasprintf, grub_xvasprintf): Likewise.
13275 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13276
13277 2010-07-29 Robert Millan <rmh@gnu.org>
13278
13279 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13280 (probe): Handle `PRINT_FS_LABEL'.
13281 (main): Handle `-t fs_label'.
13282
13283 2010-07-29 Robert Millan <rmh@gnu.org>
13284
13285 * configure.ac: Remove grub-mkisofs checks.
13286
13287 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13288
13289 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13290 Reported by: Lennart Sorensen.
13291
13292 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13295 prior to terminal_input/terminal_output separation. It's been over 1.5
13296 years and those versions weren't widely deployed.
13297
13298 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
13299
13300 * disk/raid.c (insert_array): Don't count named arrays when looking
13301 for unused array numbers.
13302 Reported and tested by: Michael Guntsche.
13303
13304 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13305
13306 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13307 implementation of this so that grub-emu links again, with a note
13308 that this should support hotplugging in the future.
13309
13310 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13311
13312 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13313
13314 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13315
13316 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13317 handle on failure.
13318 (grub_loopback_close): Remove empty function.
13319 (grub_loopback_dev): Remove close method.
13320
13321 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13322
13323 Disable EFI cursor when the EFI console becomes inactive.
13324
13325 * term/efi/console.c (grub_efi_console_init): New function.
13326 (grub_efi_console_fini): New function.
13327 (grub_console_term_output): Register init and fini methods.
13328
13329 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13332 sh script.
13333
13334 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * disk/loopback.c (grub_loopback): Replace filename with file.
13337 (delete_loopback): Handle new semantics.
13338 (grub_cmd_loopback): Likewise.
13339 (grub_loopback_iterate): Likewise.
13340 (grub_loopback_close): Likewise.
13341
13342 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13345 with -p "".
13346 Reported by: Tito Keitel.
13347
13348 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * docs/grub.texi (Naming convention): Document new naming convention.
13351
13352 2010-07-20 Vadim Solomin <vadic052@gmail.com>
13353 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13354
13355 Generate device.map in something closer to the old ordering.
13356
13357 * util/deviceiter.c (struct device): New declaration.
13358 (compare_file_names): Rename to ...
13359 (compare_devices): ... this. Sort by kernel name in preference to
13360 the stable by-id name, but keep the latter as a fallback comparison.
13361 Update header comment.
13362 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13363 of `struct device' rather than of plain file names.
13364
13365 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13366
13367 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13368 on i386.
13369
13370 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13371
13372 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13373 hardcoding size.
13374 (setv1table): Likewise.
13375
13376 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13377
13378 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13379 removing the homehost if present.
13380 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13381 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13382 removing the homehost if present.
13383 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13384 if possible.
13385 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13386
13387 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13388 parameter. Set its pointer target to 0.
13389 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13390 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13391 `data_offset' value from the superblock for 1.x metadata.
13392 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13393 data on the device.
13394 (insert_array): Record the start sector of data on the device.
13395 (grub_raid_register): Pass start_sector parameters to
13396 grub_raid_list->detect and insert_array.
13397 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13398 member.
13399 (struct grub_raid): Add start_sector parameter to `detect'.
13400
13401 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13402 __attribute__ ((packed)), leaving a comment.
13403 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13404 (grub_mdraid_detect_09): ... here and ...
13405 (grub_mdraid_detect_1x): ... here.
13406
13407 2010-07-20 Peter Henn <peter.henn@web.de>
13408
13409 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13410 chunk size and disk size, which are already given as sector counts
13411 as distinct from the 0.90 units. Fetch the correct device number
13412 from the role table instead of using the table index.
13413
13414 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
13415
13416 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13417 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13418 (WriteMostly1): New macro.
13419 Set array->name to NULL for metadata format 0.90. Add support for
13420 metadata 1.x. Fix some comments.
13421 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13422 few comments.
13423 * util/getroot.c (grub_util_get_grub_dev): Add support for
13424 /dev/md/name style devices.
13425
13426 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13427
13428 * .bzrignore: Ignore 20_linux_xen.
13429
13430 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
13431
13432 * util/import_unicode.py: Remove unnecessary imports.
13433
13434 2010-07-17 Aleš Nesrsta <starous@volny.cz>
13435
13436 Hotplugging and USB hub support.
13437
13438 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13439 (grub_ohci): Likewise.
13440 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13441 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13442 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13443 (GRUB_OHCI_CTRL_EDS): Likewise.
13444 (GRUB_OHCI_BULK_EDS): Likewise.
13445 (GRUB_OHCI_TDS): Likewise.
13446 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13447 (grub_ohci_ed_phys2virt): New function.
13448 (grub_ohci_virt_to_phys): Likewise.
13449 (grub_ohci_td_phys2virt): Likewise.
13450 (grub_ohci_td_virt2phys): Likewise.
13451 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13452 attachment.
13453 (grub_ohci_find_ed): New function.
13454 (grub_ohci_alloc_td): Likewise.
13455 (grub_ohci_free_td): Likewise.
13456 (grub_ohci_free_tds): Likewise.
13457 (grub_ohci_transfer): Use previously allocated memory.
13458 (grub_ohci_portstatus): Reset status changed bit.
13459 (grub_ohci_detect_dev): Supply status changed.
13460 (grub_ohci_fini_hw): Free memory.
13461 (grub_ohci_restore_hw): Reallocate memory.
13462 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13463 Reset status change.
13464 (grub_uhci_detect_dev): Supply status_change.
13465 * bus/usb/usb.c (attach_hooks): New var.
13466 (grub_usb_device_attach): New function.
13467 (grub_usb_register_attach_hook_class): Likewise.
13468 (grub_usb_unregister_attach_hook_class): Likewise.
13469 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13470 (grub_usb_add_hub): Reset connection changed bit.
13471 (attach_root_port): New function.
13472 (grub_usb_root_hub): Likewise.
13473 (poll_nonroot_hub): Likewise.
13474 (grub_usb_poll_devices): Likewise.
13475 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13476 * disk/usbms.c (grub_usbms_open): Use device hooks.
13477 (grub_usbms_iterate) :Poll devices.
13478 (grub_usbms_finddevs): Split into ...
13479 (grub_usbms_attach): ... this ...
13480 (grub_usbms_attach): ... and this.
13481 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13482 in detect_dev.
13483 (grub_usb_interface): New fields attached and detach_hook.
13484 (grub_usb_attach_hook_class): New type.
13485 (grub_usb_attach_desc): New struct.
13486 (grub_usb_register_attach_hook_class): New function.
13487 (grub_usb_unregister_attach_hook_class): Likewise.
13488 (grub_usb_poll_devices): Likewise.
13489 (grub_usb_device_attach): Likewise.
13490 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13491 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13492
13493 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13494
13495 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13496 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13497 delta determination style. Works with most NetBSD partitions too.
13498
13499 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13500
13501 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13502 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13503
13504 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13507
13508 2010-07-14 Anton Blanchard <anton@samba.org>
13509
13510 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13511 ET_DYN files.
13512
13513 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13514
13515 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13516
13517 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13518
13519 * kern/partition.c (grub_partition_check_containment): New function to
13520 check that a partition is physically contained in a parent. Since
13521 offsets are relative (and non-negative), this reduces to checking that
13522 the partition ends before its parent.
13523 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13524 (grub_partition_iterate): Likewise.
13525 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13526 comments.
13527 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13528 partitions that start before their parent, and add debug printfs.
13529
13530 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13531
13532 * Makefile.in (.SUFFIX): Spell correctly, as ...
13533 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13534 bare module name without `.mod', e.g. `test') tried to invoke a
13535 Modula-2 compiler.
13536
13537 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * README: Point to the Info manual.
13540
13541 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
13542
13543 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13544 2nd superblock position from partition size.
13545
13546 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
13547
13548 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13549 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13550 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13551 outputs.
13552
13553 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13554
13555 Restructure SCSI .id handling.
13556 Reported and tested by: Aleš Nesrsta.
13557
13558 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13559 (grub_atapi_dev): Changed .name to "ata". New field .id.
13560 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13561 (grub_usbms_dev): New field .id.
13562 * disk/scsi.c (grub_scsi_iterate): Generate name.
13563 (grub_scsi_open): Parse name.
13564 * include/grub/scsi.h (grub_make_scsi_id): New function.
13565 (grub_scsi_dev): Change iterate and open to number instead of naming
13566 busses. All users updated.
13567 (grub_scsi): Remove name. Add .bus.
13568
13569 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13570
13571 * commands/help.c (grub_cmd_help): Fix a typo.
13572
13573 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13574
13575 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13576 Reported and tested by: Colin Watson.
13577
13578 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13579
13580 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13581 in this context.
13582
13583 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13584
13585 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13586
13587 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
13588
13589 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13590 indentation.
13591
13592 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13593
13594 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13595 and disk/raid6_recover.c.
13596 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13597 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13598
13599 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13600
13601 * term/gfxterm.c (repaint_schedulded): Rename to ...
13602 (repaint_scheduled): ... this. Update all callers.
13603 (repaint_was_schedulded): Rename to ...
13604 (repaint_was_scheduled): ... this. Update all callers.
13605
13606 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13609 which we expect to be handled by upper layers.
13610
13611 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13612
13613 * bus/usb/usbhub.c: #include time.h header.
13614
13615 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13618 entry_name also for entries without stat blocks (e.g. ".."); fixes
13619 corruption of the first entry in a directory.
13620
13621 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13622
13623 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
13624 after setting gfxterm as the active terminal. GRUB_BACKGROUND
13625 doesn't work otherwise.
13626
13627 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13628
13629 * docs/grub.texi (Features): Update list of supported file systems.
13630 (GNU/Linux): Update for GRUB 2.
13631 (Serial terminal): Remove mention of --disable-serial, which was a
13632 GRUB Legacy configure option. Update instructions to use
13633 `terminal_input' and `terminal_output' rather than `terminal'.
13634 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
13635 configuration' and `Installing GRUB using grub-install'.
13636 (Menu entry editor): Update for GRUB 2.
13637 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
13638 Document new -a, -u, and -v options.
13639 (initrd): New section.
13640 (initrd16): New section.
13641 (linux): New section.
13642 (linux16): New section.
13643 (search): The `var' argument to `--set' is optional.
13644 (GRUB only offers a rescue shell): Go into a little more detail on
13645 drive ordering.
13646
13647 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13648
13649 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
13650
13651 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13652
13653 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
13654 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
13655
13656 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * util/i386/pc/grub-setup.c (setup): Rename prefix to
13659 install_prefix, in line with install_dos_part and install_bsd_part.
13660 Add new prefix variable, which is copied to install_prefix after
13661 comparing core.img in memory with the one read from disk in the
13662 no-embedding case, and use that rather than overwriting
13663 install_prefix immediately when installing to a partition.
13664 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
13665 Bicakci.
13666
13667 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13668
13669 * configure.ac: Avoid == in test command, it's not portable.
13670 * util/grub.d/30_os-prober.in: Likewise.
13671
13672 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
13673
13674 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
13675
13676 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13677
13678 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
13679 multiple (top-level) partmaps.
13680
13681 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * util/i386/efi/grub-install.in: Don't use empty grub_device.
13684 Reported by: Tino Keitel.
13685
13686 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13687
13688 Bidi and diacritics support.
13689
13690 * Makefile.in (widthspec.bin): New target.
13691 (widthspec.h): Likewise.
13692 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
13693 * autogen.sh: Generate unidata.c.
13694 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
13695 * commands/ls.c (grub_ls_list_devices): Likewise.
13696 (grub_ls_list_files): Likewise.
13697 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
13698 (grub_mini_cmd_lsmod): Likewise.
13699 * commands/read.c: Likewise.
13700 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
13701 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
13702 * lib/arg.c (grub_arg_show_help): Likewise.
13703 * lib/crypto.c (grub_password_get): Likewise.
13704 * normal/auth.c (grub_username_get): Likewise.
13705 * normal/misc.c (grub_normal_print_device_info): Likewise.
13706 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
13707 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
13708 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
13709 (normal/charset.c_DEPENDENCIES): New variable.
13710 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
13711 (pkglib_MODULES): Remove charset.mod.
13712 (charset_mod_SOURCES): Removed.
13713 (charset_mod_CFLAGS): Likewise.
13714 (charset_mod_LDFLAGS): Likewise.
13715 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
13716 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
13717 and term/tparm.c.
13718 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13719 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13720 (kernel_img_HEADERS): Add terminfo.h.
13721 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
13722 Fill ->font. Reverse ascii bitmaps.
13723 (grub_font_get_xheight): New function.
13724 * font/font.c (grub_font_get_string_width): Moved from here ...
13725 * gfxmenu/font.c (grub_font_get_string_width): ... here.
13726 * font/font.c (grub_font_draw_string): Moved from here ...
13727 * gfxmenu/font.c (grub_font_draw_string): ... here.
13728 * font/font.c (grub_font_dup_glyph): New function.
13729 (grub_font_blit_glyph): Likewise.
13730 (grub_font_blit_glyph_mirror): Likewise.
13731 (blit_comb): Likewise.
13732 (grub_font_construct_dry_run): Likewise.
13733 (grub_font_get_constructed_device_width): Likewise.
13734 (grub_font_construct_glyph): Likewise.
13735 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
13736 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
13737 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
13738 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
13739 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
13740 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
13741 (grub_font_get_xheight): New proto.
13742 (grub_font_get_constructed_device_width): Likewise.
13743 (grub_font_construct_glyph): Likewise.
13744 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
13745 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
13746 * include/grub/font.h (grub_font_draw_string): Moved from here ...
13747 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
13748 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
13749 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
13750 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
13751 (grub_console_getcharwidth): Likewise.
13752 * include/grub/misc.h (grub_xputs): New proto.
13753 (grub_puts): Inlined.
13754 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
13755 (grub_normal_get_line_counter): Removed.
13756 (grub_install_newline_hook): Likewise.
13757 (grub_normal_get_char_counter): New proto.
13758 (grub_normal_reset_more): Likewise.
13759 (grub_xputs_normal): Likewise.
13760 * include/grub/powerpc/ieee1275/console.h: Removed.
13761 * include/grub/sparc64/ieee1275/console.h: Likewise.
13762 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
13763 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
13764 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
13765 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
13766 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
13767 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
13768 (grub_term_input): Pass reference to self. All users updated.
13769 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
13770 Pass reference to self. New fields normal_color, highlight_color and
13771 data. All users updated.
13772 (grub_putchar): Removed.
13773 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
13774 (grub_unicode_estimate_width): New function.
13775 (grub_term_getcharwidth): Add defaults.
13776 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
13777 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
13778 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
13779 (grub_cls): Remove EXPORT_FUNC.
13780 (grub_setcolorstate): Inline.
13781 (grub_newline_hook): Removed.
13782 * include/grub/terminfo.h: Rewritten. All users updated.
13783 * include/grub/unicode.h: New file.
13784 * include/grub/video.h (grub_video_signed_rect): New type.
13785 * kern/emu/console.c (grub_console_highlight_color): Removed.
13786 (grub_console_normal_color): Likewise.
13787 (grub_console_standard_color): Made static.
13788 (grub_ncurses_putchar): Remove mapping.
13789 (grub_ncurses_getcharwidth): Removed.
13790 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13791 (grub_ncurses_setcolor): Removed.
13792 (grub_ncurses_getcolor): Likewise.
13793 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
13794 (grub_console_putchar): ... this.
13795 (grub_console_putchar): Handle argument difference.
13796 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
13797 console_init_early and console_init_lately.
13798 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
13799 * kern/misc.c (grub_puts): Removed.
13800 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
13801 (grub_vsnprintf_real): Remove str = NULL support.
13802 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
13803 * normal/charset.c (grub_utf8_to_ucs4): ... here.
13804 * kern/term.c (grub_putcode): Renamed to ...
13805 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
13806 (grub_putchar): Removed.
13807 (grub_xputs_dumb): New function.
13808 (grub_xputs): New variable.
13809 * lib/charset.c: Move from here ...
13810 * normal/charset.c: ... to here.
13811 (grub_ucs4_to_utf8): New function.
13812 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
13813 (join_types): New variable.
13814 (unpack_join): New function.
13815 (bidi_types): New variable.
13816 (unpack_bidi): New function.
13817 (get_bidi_type): Likewise.
13818 (get_join_type): Likewise.
13819 (is_mirrored): Likewise.
13820 (grub_unicode_get_comb_type): Likewise.
13821 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
13822 (is_type_after): Likewise.
13823 (grub_unicode_aglomerate_comb): Likewise.
13824 (bidi_line_wrap): Likewise.
13825 (grub_bidi_line_logical_to_visual): Likewise.
13826 (grub_bidi_logical_to_visual): Likewise.
13827 (grub_unicode_mirror_code): Likewise.
13828 (grub_unicode_shape_code): Likewise.
13829 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
13830 Don't use grub_putchar.
13831 * normal/main.c (grub_normal_init_page): Use grub_putcode.
13832 (grub_normal_reader_init): Likewise.
13833 (grub_xputs_saved): New variable.
13834 (GRUB_MOD_INIT): Set grub_xputs.
13835 (GRUB_MOD_FINI): Restore grub_xputs.
13836 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
13837 (menu_init): Avoid printing gfxmenu error.
13838 (show_menu): Use grub_normal_get_char_counter.
13839 * normal/menu_entry.c (update_screen): Fix out-of-array.
13840 (complete): Avoid NULL dereferencing.
13841 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
13842 * normal/menu_text.c (print_spaces): Removed.
13843 (grub_print_ucs4): Likewise.
13844 (grub_print_message_indented): Use grub_print_ucs4.
13845 (print_message): Use grub_putcode.
13846 (print_entry): Hanlde diacritics.
13847 * normal/term.c (term_state): New type.
13848 (grub_more_lines): Removed.
13849 (term_states): New variable.
13850 (grub_normal_line_counter): Renamed to ..
13851 (grub_normal_char_counter): ...this. All users updated.
13852 (grub_normal_get_line_counter): Renamed to ...
13853 (grub_normal_get_char_counter): ... this.
13854 (grub_normal_reset_more): New function.
13855 (process_newline): Removed.
13856 (print_more): New function.
13857 (grub_install_newline_hook): Removed.
13858 (map_code): New function.
13859 (grub_puts_terminal): Use grub_print_ucs4.
13860 (putglyph): New function.
13861 (putcode_real): Likewise.
13862 (grub_putcode): Use putcode_real.
13863 (get_maxwidth): New function.
13864 (get_startwidth): Likewise.
13865 (print_ucs4_terminal): Likewise.
13866 (find_term_state): Likewise.
13867 (put_glyphs_terminal): Likewise.
13868 (print_backlog): Likewise.
13869 (print_ucs4_real): Likewise.
13870 (grub_print_ucs4): Likewise.
13871 (grub_xputs_normal): Likewise.
13872 * term/efi/console.c (grub_console_putchar): Output diacritics.
13873 (grub_console_getcharwidth): Removed.
13874 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13875 * term/gfxterm.c (clear_char): Free chars.
13876 (scroll_up): Avoid leaking memory.
13877 (grub_gfxterm_putchar): Support diacritics.
13878 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13879 * term/i386/pc/console.c (grub_console_term_output): Declare as
13880 GRUB_TERM_CODE_TYPE_VGA.
13881 * term/i386/pc/vga.c (grub_vga_term): Declare as
13882 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
13883 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
13884 GRUB_TERM_CODE_TYPE_VGA.
13885 * term/i386/vga_common.c (map_char): Removed.
13886 (grub_console_putchar): Likewise.
13887 (grub_console_getcharwidth): Likewise.
13888 * term/ieee1275/ofconsole.c: Simplify using terminfo.
13889 (colors): Reordered to match terminfo.
13890 (grub_ofconsole_normal_color): Removed.
13891 (grub_ofconsole_writeesc): Likewise.
13892 (grub_ofconsole_highlight_color): Likewise.
13893 (grub_ofconsole_getcharwidth): Likewise.
13894 (grub_ofconsole_setcolorstate): Likewise.
13895 (grub_ofconsole_setcolor): Likewise.
13896 (grub_ofconsole_getcolor): Likewise.
13897 (grub_ofconsole_readkey): Renamed to ...
13898 (readkey): ... this. Remove escape sequence handling. Return -1 on no
13899 key.
13900 (grub_ofconsole_checkkey): Removed.
13901 (grub_ofconsole_getkey): Likewise.
13902 (grub_ofconsole_getxy): Likewise.
13903 (grub_ofconsole_gotoxy): Likewise.
13904 (grub_ofconsole_cls): Likewise.
13905 (grub_ofconsole_refresh): Likewise.
13906 (grub_ofconsole_terminfo_input): New struct.
13907 (grub_ofconsole_terminfo_output): Likewise.
13908 (grub_ofconsole_term_input): Use terminfo.
13909 (grub_ofconsole_term_output): Likewise.
13910 (grub_console_init): Split into ...
13911 (grub_console_init_early): ...this and ...
13912 (grub_console_init_lately): ...this. Use terminfo.
13913 (grub_ofconsole_putchar): Renamed to ...
13914 (put): ... this. Remove mapping.
13915 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13916 * term/serial.c: Simplify using terminfo.
13917 (xpos): Removed.
13918 (ypos): Likewise.
13919 (keep_track): Likewise.
13920 (registered): Likewise.
13921 (input_buf): Likewise.
13922 (npending): Likewise.
13923 (serial_translate_key_sequence): Likewise.
13924 (fill_input_buf): Likewise.
13925 (grub_serial_checkkey): Likewise.
13926 (grub_serial_getkey): Likewise.
13927 (grub_serial_getxy): Likewise.
13928 (grub_serial_gotoxy): Likewise.
13929 (grub_serial_putchar): Likewise.
13930 (grub_serial_cls): Likewise.
13931 (grub_serial_setcolorstate): Likewise.
13932 (grub_serial_setcursor): Likewise.
13933 (serial_hw_init): Use serial_hw_fetch.
13934 (grub_serial_terminfo_input): New variable.
13935 (grub_serial_terminfo_output): Likewise.
13936 (grub_serial_term_input): Use terminfo.
13937 (grub_serial_term_output): Likewise.
13938 * term/terminfo.c (putstr): Use put.
13939 (grub_terminfo_all_free): New function
13940 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
13941 (grub_terminfo_output_register): New function.
13942 (grub_terminfo_output_unregister): Likewise.
13943 (grub_terminfo_getxy): Likewise.
13944 (grub_terminfo_readkey): Likewise.
13945 (grub_terminfo_checkkey): Likewise.
13946 (grub_terminfo_getkey): Likewise.
13947 (grub_terminfo_input_init): Likewise.
13948 (print_terminfo): Likewise.
13949 (grub_cmd_terminfo): Handle encoding.
13950 (grub_terminfo_gotoxy): Track position.
13951 (grub_terminfo_cls): Likewise.
13952 (grub_terminfo_putchar): Likewise.
13953 (grub_terminfo_setcolorstate): Handle colors
13954 (grub_terminfo_cursor_on): This ...
13955 (grub_terminfo_cursor_off): ... and this merged into ...
13956 (grub_terminfo_setcursor): ... this.
13957 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13958 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13959 * unicode/BidiMirroring.txt: Likewise.
13960 * unicode/UnicodeData.txt: Likewise.
13961 * unicode/COPYING: Likewise.
13962 * util/grub-editenv.c (grub_putchar): Removed.
13963 (grub_xputs_real): New function.
13964 (grub_xputs): New variable.
13965 * util/grub-fstest.c (grub_putchar): Removed.
13966 (grub_xputs_real): New function.
13967 (grub_xputs): New variable.
13968 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13969 (grub_xputs_real): New function.
13970 (grub_xputs): New variable.
13971 * util/grub-probe.c (grub_putchar): Removed.
13972 (grub_xputs_real): New function.
13973 (grub_xputs): New variable.
13974 * util/grub-script-check.c (grub_putchar): Removed.
13975 (grub_xputs_real): New function.
13976 (grub_xputs): New variable.
13977 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13978 (grub_xputs_real): New function.
13979 (grub_xputs): New variable.
13980 * util/import_unicode.py: New file.
13981 * util/grub-mkfont.c (ft_errmsgs): New array.
13982 (grub_glyph_info): Make bitmap a pointer.
13983 (file_formats): New type WIDTH_SPEC.
13984 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13985 (options): Add width-spec.
13986 (help): Likewise.
13987 (add_char): Renamed to ...
13988 (add_glyph): ... this.
13989 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13990 (glyph_replace): New type.
13991 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13992 (add_char): New function.
13993 (add_subst): Likewise.
13994 (process_cursive): Likewise.
13995 (add_font): Handle GSUB.
13996 (write_font_width_spec): New function.
13997 (main): Sort glyphs.
13998 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13999 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
14000 * kern/term.c (grub_cls): Moved from here...
14001 * normal/term.c (grub_cls): ... here.
14002
14003 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14004
14005 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
14006 suitable for using within the format argument of printf when
14007 converting grub_size_t.
14008 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
14009 "x" to convert grub_size_t arguments.
14010
14011 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14012
14013 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
14014 too long captions.
14015 (list_get_minimal_size): Take selection box into account.
14016
14017 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
14020 NULL font.
14021
14022 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14023
14024 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14025 devices when iterating over /dev/disk/by-id; they will be handled
14026 later if appropriate, which they aren't always (e.g. LVM).
14027
14028 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14029
14030 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14031 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14032 fails.
14033 (grub_halt): Likewise.
14034 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14035 reset-all fails.
14036 (grub_halt): Don't return, even if all of shut-down, power-off, and
14037 poweroff fail.
14038
14039 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14040
14041 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14042 arguments, not three.
14043
14044 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14045
14046 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14047 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14048 LVM-on-RAID is handled correctly.
14049
14050 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14051
14052 * docs/grub.texi (Changes from GRUB Legacy): New section.
14053 (Future): Fix typo.
14054
14055 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14056
14057 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14058 grub.d/README accidentally ends up executable for one reason or
14059 another. Ignore it.
14060
14061 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14062
14063 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14064 (gpt_partition_map_iterate): Support non-512B sectors.
14065
14066 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14069 Tested by: Seth Goldberg.
14070
14071 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14074 Properly align mbi.
14075 Reported by: Seth Goldberg.
14076
14077 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 * util/grub-mkrescue.in: Avoid module duplication.
14080
14081 2010-07-01 Sean Finney <seanius@seanius.net>
14082
14083 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14084
14085 2010-07-01 Sean Finney <seanius@seanius.net>
14086
14087 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14088
14089 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14090
14091 * disk/lvm.c (grub_lvm_checkvalue): New function.
14092 (grub_lvm_check_flag): Likewise.
14093
14094 2010-07-01 Robert Millan <rmh@gnu.org>
14095
14096 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14097 Support 'p' as partition separator on kernel of FreeBSD (used
14098 with GPT labels).
14099 (grub_util_biosdisk_get_grub_dev): Likewise.
14100
14101 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 Yeeloong firmware port.
14104
14105 * boot/mips/yeeloong/fwstart.S: New file.
14106 * bus/cs5536.c (gpiodump): New const.
14107 (set_io_space): New function.
14108 (set_iod): Likewise.
14109 (set_p2d): Likewise.
14110 (grub_cs5536_init_geode): Likewise.
14111 * commands/mips/yeeloong/lsspd.c: New file.
14112 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14113 (serial_mod_SOURCES): New variable.
14114 (serial_mod_CFLAGS): Likewise.
14115 (serial_mod_LDFLAGS): Likewise.
14116 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14117 term/terminfo.c and term/tparm.c.
14118 (pkglib_IMAGES): Add fwstart.img.
14119 (fwstart_img_SOURCES): New variable.
14120 (fwstart_img_CFLAGS): Likewise.
14121 (fwstart_img_ASFLAGS): Likewise.
14122 (fwstart_img_LDFLAGS): Likewise.
14123 (fwstart_img_FORMAT): Likewise.
14124 (pkglib_MODULES): Add lsspd.mod.
14125 (lsspd_mod_SOURCES): New variable.
14126 (lsspd_mod_CFLAGS): Likewise.
14127 (lsspd_mod_LDFLAGS): Likewise.
14128 (pkglib_MODULES): Add halt.mod.
14129 (halt_mod_SOURCES): New variable.
14130 (halt_mod_CFLAGS): Likewise.
14131 (halt_mod_LDFLAGS): Likewise.
14132 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14133 (serial_mod_SOURCES): Removed.
14134 (serial_mod_CFLAGS): Likewise.
14135 (serial_mod_LDFLAGS): Likewise.
14136 * disk/ata.c (check_device): New function.
14137 (grub_ata_device_initialize): Use check_device.
14138 (grub_ata_iterate): Recheck devices.
14139 (grub_ata_open): Likewise.
14140 (grub_atapi_iterate): Likewise.
14141 (grub_atapi_open): Likewise.
14142 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14143 (GRUB_ATA_CH1_PORT1): Likewise.
14144 (GRUB_ATA_CH0_PORT2): Likewise.
14145 (GRUB_ATA_CH1_PORT2): Likewise.
14146 * include/grub/mips/loongson.h: New file.
14147 * include/grub/mips/yeeloong/ec.h: Likewise.
14148 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14149 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14150 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14151 * include/grub/misc.h (grub_halt): Declare as noreturn.
14152 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14153 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14154 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14155 (UART_ENABLE_DTRRTS): Likewise.
14156 (UART_ENABLE_MODEM): Removed.
14157 (UART_ENABLE_OUT2): New const.
14158 * include/grub/term.h (grub_term_register_input_active): New function.
14159 (grub_term_register_output_active): Likewise.
14160 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14161 argument.
14162 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14163 (init_pci): New function.
14164 (grub_machine_init): Execute platform init when firmware. Init serial.
14165 (grub_halt): Implement.
14166 (grub_exit): Likewise.
14167 (grub_reboot): Likewise.
14168 * term/serial.c (serial_hw_init): Update macros.
14169 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14170 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14171 (image_targets): New target mipsel-yeeloong-flash.
14172 (generate_image): Support IMAGE_YEELOONG_FLASH.
14173 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14174 (grub_video_sm712_setup): Init card.
14175 (grub_video_sm712_set_palette): Removed.
14176 * video/sm712_init.c: New file.
14177
14178 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
14179
14180 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14181 PATH when running help2man and then run it on the unadorned
14182 executable names, rather than passing $(builddir)/* paths to
14183 help2man. This avoids the build directory ending up in generated
14184 manual pages.
14185
14186 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14187
14188 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14189 to avoid accidents when debugging with 'sh -x'.
14190 * util/grub-mkrescue.in: Likewise.
14191 * util/grub.d/00_header.in: Likewise.
14192 * util/grub.d/10_hurd.in: Likewise.
14193 * util/grub.d/10_kfreebsd.in: Likewise.
14194 * util/grub.d/10_linux.in: Likewise.
14195 * util/grub.d/10_netbsd.in: Likewise.
14196 * util/grub.d/10_windows.in: Likewise.
14197 * util/grub.d/20_linux_xen.in: Likewise.
14198 * util/grub.d/30_os-prober.in: Likewise.
14199 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14200
14201 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14202
14203 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14204 last character in the buffer.
14205 Reported by: Vladimir Serbinenko.
14206
14207 2010-06-29 Robert Millan <rmh@gnu.org>
14208
14209 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14210 (Command-line and menu entry commands): Document `badram' command.
14211
14212 2010-06-28 Robert Millan <rmh@gnu.org>
14213
14214 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14215 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14216 command using ${GRUB_BADRAM} as parameter.
14217
14218 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14219
14220 * docs/grub.texi (Device map): New section.
14221 (Themes): New section (stub).
14222 * Makefile.in (docs/grub.info): The info documentation now builds
14223 without errors. Make sure it stays that way.
14224
14225 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 Use normal parser for menu entries.
14228 Reported by: Thomas Frauendorfer
14229
14230 * include/grub/parser.h (grub_parser_execute): Don't export.
14231 * normal/menu.c (grub_menu_execute_entry_real): New function.
14232 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14233
14234 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14235
14236 * docs/grub.texi (Embedded configuration): New section (replacing
14237 old "Preset Menu" stub).
14238 (Images): New section.
14239 (configfile): Note that any menu entries defined in `file' are shown
14240 immediately.
14241
14242 2010-06-28 Josh Triplett <josh@joshtriplett.org>
14243
14244 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14245
14246 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14247
14248 * util/grub-install.in: Add --debug-image= option.
14249
14250 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14251
14252 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14253 possible on Linux.
14254
14255 * util/deviceiter.c (check_device): Rename to ...
14256 (check_device_readable_unique): ... this. Update all callers.
14257 Maintain and check a list of which devices (by canonicalized name)
14258 have already been seen.
14259 (clear_seen_devices): New function.
14260 (compare_file_names) [__linux__]: New function.
14261 (grub_util_iterate_devices): Clear the list of seen devices on exit
14262 and (just in case) on entry.
14263 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14264 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14265 seen-devices list, superseded by general code in check_device.
14266
14267 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14268
14269 * commands/cat.c (options): New variable.
14270 (grub_cmd_cat): Parse options. If the --dos option is given, print
14271 DOS-style "\r\n" line endings as simple newlines (Debian bug
14272 #586358).
14273 (GRUB_MOD_INIT): Use extcmd.
14274 (GRUB_MOD_FINI): Likewise.
14275 * docs/grub.texi (cat): Document --dos.
14276
14277 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14278
14279 XEN with Linux grub-mkconfig support.
14280
14281 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14282 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14283 GRUB_CMDLINE_XEN_DEFAULT.
14284 * util/grub.d/20_linux_xen.in: New file.
14285
14286 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14287
14288 Initialise VGA video on qemu ourselves.
14289
14290 * boot/i386/qemu/boot.S: Don't call 0xc000.
14291 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14292 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14293 (kernel_img_HEADERS): Add pci.h.
14294 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14295 * configure.ac: Force unifont on qemu and yeeloong.
14296 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14297 (grub_vga_palette_write): Use correct register.
14298 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14299 Call grub_qemu_init_cirrus.
14300 * kern/i386/qemu/init.c: New file.
14301 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14302
14303 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14304
14305 2010-06-26 Pavel Roskin <proski@gnu.org>
14306
14307 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14308 13.
14309
14310 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14311
14312 * docs/grub.texi (Simple configuration): Explain that
14313 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14314 set to `true' to disable their respective recovery entries, not
14315 merely set.
14316
14317 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14318
14319 Make the `source' command slightly faster.
14320
14321 * normal/main.c (grub_normal_execute): Don't re-read list files when
14322 nested.
14323
14324 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14325
14326 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14327 field position and mask size to red fields from mode_info, not
14328 green.
14329 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14330 Remove redundant tag->common.framebuffer_type assignment.
14331 Reported by: Seth Goldberg.
14332
14333 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14334
14335 Sync up other versions of the Linux loader with Robert Millan's
14336 change of 2010-01-09, "Make loader output a bit more user-friendly".
14337
14338 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14339 grub_dprintf().
14340 (grub_cmd_linux): Likewise.
14341 (grub_cmd_initrd): Likewise.
14342 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14343 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14344
14345 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
14346
14347 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14348 larger than MEMORY_MAP_SIZE.
14349
14350 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14351
14352 Fix parallel build.
14353
14354 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14355 dependency.
14356 * script/parser.y: #include grub_script.tab.h header.
14357
14358 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14359
14360 Support >3GiB and <16MiB RAM in i386-qemu.
14361
14362 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14363 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14364 (grub_lower_mem): Removed.
14365 (grub_upper_mem): Likewise.
14366 (mem_size): Made static.
14367 (above_4g): New variable.
14368 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14369 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14370 support.
14371
14372 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 Cirrus 5446 and Bochs video cards support.
14375
14376 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14377 video_bochs.mod
14378 (video_cirrus_mod_SOURCES): New variable.
14379 (video_cirrus_mod_CFLAGS): Likewise.
14380 (video_cirrus_mod_LDFLAGS): Likewise.
14381 (video_bochs_mod_SOURCES): Likewise.
14382 (video_bochs_mod_CFLAGS): Likewise.
14383 (video_bochs_mod_LDFLAGS): Likewise.
14384 * include/grub/vga.h: New file.
14385 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14386 (grub_video_fb_set_page_t): New type.
14387 (grub_video_fb_setup): New prototype.
14388 (grub_video_fb_swap_buffers): Likewise.
14389 (grub_video_fb_get_info_and_fini): Likewise.
14390 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14391 (CRTC_DATA_PORT): Likewise.
14392 (CRTC_CURSOR): Likewise.
14393 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14394 (CRTC_CURSOR_ADDR_LOW): Likewise.
14395 (CRTC_CURSOR_DISABLE): Likewise.
14396 (update_cursor): Use grub_vga_cr_write.
14397 (grub_vga_text_setcursor): Likewise.
14398 * video/bochs.c: New file.
14399 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14400 (palette): Likewise.
14401 (palette_size): Likewise.
14402 (framebuffer): New variable.
14403 (grub_video_fb_init): Use 'framebuffer'.
14404 (grub_video_fb_fini): Likewise.
14405 (grub_video_fb_get_info): Likewise.
14406 (grub_video_fb_get_palette): Likewise.
14407 (grub_video_fb_set_palette): Likewise.
14408 (grub_video_fb_set_viewport): Likewise.
14409 (grub_video_fb_get_viewport): Likewise.
14410 (grub_video_fb_map_color): Likewise.
14411 (grub_video_fb_map_rgb): Likewise.
14412 (grub_video_fb_map_rgba): Likewise.
14413 (grub_video_fb_unmap_color): Likewise.
14414 (grub_video_fb_unmap_color_int): Likewise.
14415 (grub_video_fb_fill_rect): Likewise.
14416 (grub_video_fb_blit_bitmap): Likewise.
14417 (grub_video_fb_blit_render_target): Likewise.
14418 (grub_video_fb_scroll): Likewise.
14419 (grub_video_fb_create_render_target): Likewise.
14420 (grub_video_fb_doublebuf_blit_init): Likewise.
14421 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14422 (doublebuf_pageflipping_update_screen): New function.
14423 (doublebuf_pageflipping_init): Likewise.
14424 (grub_video_fb_setup): Likewise.
14425 (grub_video_fb_swap_buffers): Likewise.
14426 (grub_video_fb_get_info_and_fini): Likewise.
14427 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14428 All users updated.
14429 (doublebuf_pageflipping_commit): Restructured into ...
14430 (doublebuf_pageflipping_set_page): ... this.
14431 (doublebuf_pageflipping_update_screen): Removed.
14432 (doublebuf_pageflipping_init): Likewise.
14433 (double_buffering_init): Likewise.
14434 (grub_video_vbe_setup): Use grub_video_fb_setup.
14435 (grub_video_vbe_swap_buffers): Removed.
14436 (grub_video_vbe_set_active_render_target): Likewise.
14437 (grub_video_vbe_get_active_render_target): Likewise.
14438 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14439 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14440 grub_video_fb_set_active_render_target and
14441 grub_video_fb_get_active_render_target.
14442 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14443 (SEQUENCER_DATA_PORT): Likewise.
14444 (MAP_MASK_REGISTER): Likewise.
14445 (CRTC_ADDR_PORT): Likewise.
14446 (CRTC_DATA_PORT): Likewise.
14447 (START_ADDR_HIGH_REGISTER): Likewise.
14448 (START_ADDR_LOW_REGISTER): Likewise.
14449 (GRAPHICS_ADDR_PORT): Likewise.
14450 (GRAPHICS_DATA_PORT): Likewise.
14451 (READ_MAP_REGISTER): Likewise.
14452 (INPUT_STATUS1_REGISTER): Likewise.
14453 (INPUT_STATUS1_VERTR_BIT): Likewise.
14454 (get_map_mask): Use grub_vga_sr_read.
14455 (set_map_mask): Use grub_vga_sr_write.
14456 (set_read_map): Use grub_vga_gr_write.
14457 (set_start_address): Use grub_vga_cr_write.
14458 * video/sm712.c (framebuffer): Remove leftover fields.
14459
14460 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
14461
14462 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14463 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14464 instead. Replace the gfxterm backend check with a check that
14465 ${GRUB_PREFIX}/video.lst is non-empty.
14466 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14467 again.
14468 (load_video): New generated function. Call it before loading
14469 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14470 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14471 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14472 * docs/grub.texi (Simple configuration): Document
14473 GRUB_VIDEO_BACKEND.
14474
14475 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 Use video functions in linux and xnu loaders.
14478
14479 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14480 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14481 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14482 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14483 loader/i386/pc/linux.c.
14484 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14485 (find_line_len): Removed.
14486 (find_framebuf): Likewise.
14487 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14488 * loader/i386/efi/xnu.c: Removed.
14489 * loader/i386/pc/xnu.c: Moved from here...
14490 * loader/i386/xnu.c: ...here.
14491
14492 Enable priorities in video drivers.
14493
14494 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14495 (grub_video_adapter): New field prio.
14496 (grub_video_register): Respect prio when inserting.
14497 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14498 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14499 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14500 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14501 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14502 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14503 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14504
14505 Fix SDL driver ID.
14506
14507 * include/grub/video.h (grub_video_driver_id_t): New value
14508 GRUB_VIDEO_DRIVER_SDL.
14509 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14510
14511 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14512
14513 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14514 argument to printf.
14515 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14516
14517 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14518
14519 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14520 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14521
14522 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14523
14524 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14525 directly, and recommend grub-install instead.
14526 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14527
14528 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14529
14530 Fix i386-pc prefix handling with nested partitions (Debian bug
14531 #585068). Note that the case where the core image is booted using
14532 multiboot and relocated from its original location still requires
14533 more work.
14534
14535 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14536 with "(,", fill the boot drive in between those two characters, but
14537 expect that a full partition specification including partition map
14538 names will follow.
14539 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14540 specified, write a prefix without the drive name but including a
14541 full partition specification.
14542
14543 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * util/grub-mkconfig.in: Ignore non-option arguments, for
14546 compatibility with older versions (before 2010-06-12) which did the
14547 same. In particular, this makes it easier to ship an update-grub
14548 wrapper which is compatible with that used with GRUB Legacy (Debian
14549 bug #586056).
14550
14551 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14552
14553 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14554 for manual page generation.
14555
14556 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14557
14558 * po/POTFILES: Remove leftover commands/handler.c.
14559
14560 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14561
14562 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14563 left this script non-functional.
14564
14565 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14566
14567 * docs/man/grub-emu.h2m: New file.
14568
14569 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
14570
14571 * docs/grub.texi (Commands): Document reduced command set in rescue
14572 mode.
14573 (cpuid): New section.
14574
14575 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14576
14577 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14578 new partition naming style.
14579 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14580
14581 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14582
14583 Add "-o grub.iso" like cmdline options support.
14584
14585 * util/grub-install.in: Improve cmdline option parsing.
14586 * util/grub-mkconfig.in: Likewise.
14587 * util/grub-mkrescue.in: Likewise.
14588 * util/grub-reboot.in: Likewise.
14589 * util/grub-set-default.in: Likewise.
14590 * util/i386/efi/grub-install.in: Likewise.
14591 * util/ieee1275/grub-install.in: Likewise.
14592 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14593
14594 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14595
14596 * .bzrignore: Ignore 41_custom.
14597
14598 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14599
14600 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14601
14602 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14603
14604 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14605 prototype declarations.
14606
14607 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14608 generating fs, partmap, and video lists.
14609 * include/grub/fs.h (grub_fs_register): Omit prototype if
14610 GRUB_LST_GENERATOR is defined.
14611 * include/grub/partition.h (grub_partition_map_register): Likewise.
14612 * include/grub/video.h (grub_video_register): Likewise.
14613
14614 2010-06-12 Javier Martín <lordhabbit@gmail.com>
14615
14616 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14617
14618 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14619
14620 * util/grub-mkrescue.in: Support --xorriso argument.
14621
14622 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14623
14624 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
14625 Suggested by: Thomas Schmitt.
14626
14627 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14628
14629 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
14630 Suggested by: Thomas Schmitt.
14631
14632 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 custom.cfg support.
14635
14636 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
14637 * util/grub.d/41_custom.in: New file.
14638
14639 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14640
14641 * util/grub-mkrescue.in (make_image): Remove sh module, which has
14642 been merged back into normal.
14643
14644 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
14645
14646 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
14647 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
14648
14649 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
14650
14651 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
14652 when generating manual pages.
14653 * docs/man/grub-bin2h.h2m: New file.
14654 * docs/man/grub-editenv.h2m: New file.
14655 * docs/man/grub-fstest.h2m: New file.
14656 * docs/man/grub-install.h2m: New file.
14657 * docs/man/grub-macho2img.h2m: New file.
14658 * docs/man/grub-mkconfig.h2m: New file.
14659 * docs/man/grub-mkdevicemap.h2m: New file.
14660 * docs/man/grub-mkfont.h2m: New file.
14661 * docs/man/grub-mkimage.h2m: New file.
14662 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
14663 * docs/man/grub-mkrelpath.h2m: New file.
14664 * docs/man/grub-mkrescue.h2m: New file.
14665 * docs/man/grub-ofpathname.h2m: New file.
14666 * docs/man/grub-pe2elf.h2m: New file.
14667 * docs/man/grub-probe.h2m: New file.
14668 * docs/man/grub-reboot.h2m: New file.
14669 * docs/man/grub-script-check.h2m: New file.
14670 * docs/man/grub-set-default.h2m: New file.
14671 * docs/man/grub-setup.h2m: New file.
14672
14673 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
14674
14675 Use FOR_* macros instead of *_iterate whenever possible.
14676
14677 * commands/handler.c: Removed.
14678 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
14679 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
14680 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14681 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
14682 (grub_probe_SOURCES): Remove kern/parser.c.
14683 (util/grub-script-check.c_DEPENDENCIES): Removed.
14684 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
14685 and grub_script_check_init.c.
14686 (grub_script_check_init.lst): Removed.
14687 (grub_script_check_init.h): Likewise.
14688 (grub_script_check_init.c): Likewise.
14689 (pkglib_MODULES): Remove handler.mod and sh.mod.
14690 (handler_mod_SOURCES): Removed.
14691 (handler_mod_CFLAGS): Likewise.
14692 (handler_mod_LDFLAGS): Likewise.
14693 (normal_mod_SOURCES): Remove normal/handler.c.
14694 Add script/main.c, script/script.c, script/execute.c,
14695 script/function.c, script/lexer.c, grub_script.tab.c
14696 and grub_script.yy.c.
14697 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14698 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14699 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
14700 (grub_setup_SOURCES): Remove kern/parser.c.
14701 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14702 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
14703 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14704 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14705 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14706 (grub_setup_SOURCES): Remove kern/parser.c.
14707 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14708 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
14709 * include/grub/command.h (grub_command_iterate): Removed.
14710 (FOR_COMMANDS): New macro.
14711 * include/grub/dl.h (grub_dl): New member next.
14712 (grub_dl_iterate): Removed.
14713 (grub_dl_head): New variable declaration.
14714 (FOR_DL_MODULES): New macro.
14715 * include/grub/fs.h: Include list.h.
14716 (grub_fs): Make next first element.
14717 (grub_fs_list): New variable declaration.
14718 (grub_fs_register): Make inline.
14719 (grub_fs_unregister): Likewise.
14720 (grub_fs_iterate): Removed.
14721 (FOR_FILESYSTEMS): New macro.
14722 * include/grub/handler.h: Removed.
14723 * include/grub/list.h (grub_list_hook_t): Removed.
14724 (grub_list_test_t): Likewise.
14725 (grub_list_pop): Likewise.
14726 (grub_list_iterate): Likewise.
14727 (grub_list_insert): Likewise.
14728 (FOR_LIST_ELEMENTS): New macro.
14729 * include/grub/parser.h (grub_parser_class): Removed.
14730 (grub_parser_register): Likewise.
14731 (grub_parser_unregister): Likewise.
14732 (grub_parser_get_current): Likewise.
14733 (grub_parser_set_current): Likewise.
14734 (grub_register_rescue_parser): Likewise.
14735 (grub_rescue_parse_line): New function.
14736 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
14737 * include/grub/script_sh.h (grub_script_function_list): New variable
14738 declaration.
14739 (FOR_SCRIPT_FUNCTIONS): New macro.
14740 (grub_script_function_iterate): Removed.
14741 (grub_normal_parse_line): New prototype.
14742 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
14743 (FOR_DISABLED_TERM_INPUTS): Likewise.
14744 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14745 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14746 * include/grub/video.h (grub_video_adapter): Move 'next' to first
14747 element.
14748 (grub_video_register): Inline.
14749 (grub_video_unregister): Likewise.
14750 (grub_video_adapter_list): New variable declaration.
14751 (grub_video_iterate): Removed.
14752 (FOR_VIDEO_ADAPTERS): New macro.
14753 * kern/dl.c (grub_dl_list): Removed. All users updated.
14754 (grub_dl_iterate): Removed.
14755 * kern/fs.c (grub_fs_list): Make global.
14756 (grub_fs_register): Removed.
14757 (grub_fs_unregister): Likewise.
14758 (grub_fs_iterate): Likewise.
14759 * kern/handler.c: Removed.
14760 * kern/list.c (grub_list_pop): Removed.
14761 (grub_list_iterate): Likewise.
14762 (grub_list_insert): Likewise.
14763 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
14764 (grub_prio_list_insert): Don't use grub_list_insert.
14765 * kern/main.c (grub_register_rescue_parser): Don't call
14766 grub_register_rescue_parser.
14767 * kern/parser.c (grub_parser_class): Removed.
14768 (grub_parser_execute): Use grub_rescue_parse_line.
14769 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
14770 (grub_rescue_parser): Removed.
14771 (grub_register_rescue_parser): Likewise.
14772 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
14773 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
14774 (grub_auth_check_authentication): Likewise.
14775 * normal/completion.c (iterate_command): Removed.
14776 (grub_normal_do_completion): Use FOR_COMMANDS.
14777 * normal/handler.c: Removed.
14778 * normal/main.c (read_config_file): Remove parser changing.
14779 (grub_normal_execute): Don't call read_handler_list.
14780 (grub_normal_read_line_real): Statically allocate prompt.
14781 (grub_cmdline_run): Use grub_normal_parse_line.
14782 (GRUB_MOD_FINI): Don't call free_handler_list.
14783 * normal/menu_entry.c (run): Likewise.
14784 * script/function.c (grub_script_function_list): Make global.
14785 (grub_script_function_iterate): Removed.
14786 * script/main.c (grub_normal_parse_line): Make global.
14787 (grub_sh_parser): Removed.
14788 (GRUB_MOD_INIT): Likewise.
14789 (GRUB_MOD_FINI): Likewise.
14790 * tests/lib/functional_test.c (grub_functional_test): Use
14791 FOR_LIST_ELEMENTS.
14792 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
14793 (grub_test_run): Use FOR_LIST_ELEMENTS.
14794 * tests/lib/unit_test.c (main): Likewise.
14795 * util/deviceiter.c (grub_util_iterate_devices): Don't use
14796 grub_list_pop.
14797 * util/grub-fstest.c (grub_term_input_class): Removed.
14798 (grub_term_output_class): Likewise.
14799 * util/grub-probe.c: Likewise.
14800 * util/i386/pc/grub-setup.c: Likewise.
14801 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14802 * util/grub-script-check.c (main): Don't call grub_init_all and
14803 grub_fini_all.
14804 * video/video.c (grub_video_adapter_list): Make global.
14805 (grub_video_register): Removed.
14806 (grub_video_unregister): Likewise.
14807 (grub_video_iterate): Likewise.
14808
14809 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
14810
14811 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
14812 reported by Henrique Ferreiro.
14813
14814 2010-06-09 Robert Millan <rmh@gnu.org>
14815
14816 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
14817 ones, when both are available.
14818
14819 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14820
14821 Make --version uniform and avoid hard-coded program name.
14822
14823 * util/grub-mkimage.c (main): Use `program_name' instead of
14824 hard-coded string.
14825 * util/i386/pc/grub-setup.c (main): Likewise.
14826 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
14827 * util/grub-install.in: Save the basename of $0 in $self, and use the
14828 latter in informational messages. Use the same format for --version
14829 as the binary programs.
14830 * util/grub-mkconfig.in: Likewise.
14831 * util/grub-mkrescue.in: Likewise.
14832 * util/grub-reboot.in: Likewise.
14833 * util/grub-set-default.in: Likewise.
14834 * util/i386/efi/grub-install.in: Likewise.
14835 * util/ieee1275/grub-install.in: Likewise.
14836 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14837
14838 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14839
14840 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
14841 embedding area. Use <= instead of == when checking for non-emptiness.
14842
14843 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14844
14845 * configure.ac: Add `.' to the directories searched for unifont.
14846
14847 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
14848
14849 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
14850 grub_script.yy.h.
14851
14852 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
14853
14854 * docs/grub.texi (History): Expand to cover GRUB 2.
14855 (Serial terminal): Refer to `terminal_input' and `terminal_output'
14856 commands, not `terminal'.
14857 (serial): Likewise.
14858 (terminal_input): New section.
14859 (terminal_output): New section.
14860 (uppermem): New section (stub).
14861 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
14862
14863 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
14864
14865 * docs/grub.texi (Security): Menu entries are unrestricted by
14866 default, not restricted to superusers as I had previously thought.
14867 Reword to account for this.
14868
14869 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14870
14871 * kern/emu/misc.c (device_mapper_null_log): New function.
14872 (grub_device_mapper_supported): New function.
14873 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
14874 prototype.
14875 * kern/emu/hostdisk.c (find_partition_start): Check whether
14876 device-mapper is supported before trying to use it.
14877 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
14878
14879 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14880
14881 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
14882 (File name syntax): Likewise.
14883 (help): --all is no longer supported in GRUB 2. Be more precise
14884 about pattern matching.
14885
14886 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14887
14888 * normal/completion.c (grub_normal_do_completion): When completing
14889 arguments to "set" and the current word contains an equals sign,
14890 skip to after the equals sign before starting completion.
14891
14892 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14893
14894 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
14895
14896 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14897
14898 * docs/grub.texi (Network): New section.
14899 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
14900 `(nd)' as in GRUB Legacy.
14901 (pxe_unload): New section.
14902
14903 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * docs/grub.texi (Troubleshooting): `echo' is not usually available
14906 in the rescue shell, so recommend using `set' instead. Thanks,
14907 Jordan Uggla.
14908
14909 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14910
14911 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
14912 (password): New section.
14913 (password_pbkdf2): New section.
14914 (search): New section.
14915 (Security): New section.
14916 (Troubleshooting): New section, currently very incomplete.
14917 (Invoking grub-mkpasswd-pbkdf2): New section.
14918 (Internals): New section, currently very incomplete.
14919
14920 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14921
14922 * util/grub.d/00_header.in: Add some more quoting (of
14923 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
14924 work again.
14925 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
14926
14927 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14928
14929 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
14930 to `count', fixing variable shadowing that broke the -c option.
14931
14932 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
14933
14934 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
14935 in case they contain spaces.
14936
14937 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
14940 "part_" to partmap module names, in line with grub-install.
14941 Reported by: Jindřich Makovička (Debian bug #584426).
14942
14943 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
14944
14945 * util/grub-mkimage.c: Make target-related error messages slightly
14946 more helpful; -O talks about "format". Explicitly point to the use
14947 of -O if no target is specified.
14948 Reported by: Didier Raboud (Debian bug #584415).
14949
14950 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
14951
14952 * INSTALL: Document several build requirements for optional features
14953 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14954
14955 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14956
14957 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14958 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14959 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14960
14961 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
14962
14963 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14964 Thanks to Jordan Uggla for spotting this.
14965
14966 2010-06-02 Aleš Nesrsta <starous@volny.cz>
14967
14968 Finally make USB usable.
14969
14970 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14971 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14972 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14973 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14974 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14975 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14976 (GRUB_OHCI_FSMPS): Likewise.
14977 (GRUB_OHCI_PERIODIC_START): Likewise.
14978 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14979 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14980 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14981 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14982 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14983 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14984 (grub_ohci_transaction): Likewise.
14985 (grub_ohci_transfer): Improve condition detection algorithms.
14986 Handle toggle property. Program the transactions correctly.
14987 Improve error handling. Various important fixups.
14988 (grub_ohci_portstatus): Put register writes in right order.
14989 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14990 (grub_uhci_transfer): Don't show "failed" message on success.
14991 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14992 array.
14993 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14994 determine its size.
14995 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14996 before initialization is completed. Use IN direction for empty
14997 transfers. Use last_trans and compute toggle.
14998 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14999 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
15000 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
15001 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
15002 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
15003 (grub_usb_device): Increase toggle to 256.
15004 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
15005 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
15006 GRUB_USBMS_SUBCLASS_SFF8070.
15007 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
15008 (grub_scsi_inquiry): New member page and alloc_length.
15009 (grub_scsi_request_sense): New structure.
15010 (grub_scsi_request_sense_data): Likewise.
15011 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
15012 control.
15013 * disk/scsi.c (grub_scsi_request_sense): New function.
15014 (grub_scsi_test_unit_ready): Likewise.
15015 (grub_scsi_inquiry): Fill new fields.
15016 (grub_scsi_read_capacity): Likewise.
15017 (grub_scsi_read10): Add request sense at the end.
15018 (grub_scsi_read12): Likewise.
15019 (grub_scsi_write10): Likewise.
15020 (grub_scsi_write12): Likewise.
15021 (grub_scsi_open): Add Test Unit Ready.
15022 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
15023 Support additional subclasses. Con't clear halt yet. Activate the
15024 proper config. Calculate LUNs correctly.
15025 (grub_usbms_transfer): Various important fixups.
15026
15027 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15030 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15031 (grub_ohci_fini_hw): New function.
15032 (grub_ohci_restore_hw): Likewise.
15033 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15034 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15035 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15036
15037 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 Dedicated DMA allocations.
15040
15041 * bus/pci.c (grub_memalign_dma32): New function
15042 (grub_dma_free): Likewise.
15043 (grub_dma_get_virt): Likewise.
15044 (grub_dma_get_phys): Likewise.
15045 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15046 (grub_ohci_pci_iter): Use dma32_alloc.
15047 (grub_ohci_transfer): Likewise.
15048 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15049 (grub_usb_bulk_readwrite): Likewise.
15050 * include/grub/pci.h: Add declarations.
15051
15052 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 CS5536 support.
15055
15056 * bus/cs5536.c: New file.
15057 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15058 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15059 (cs5536_mod_SOURCES): New variable.
15060 (cs5536_mod_CFLAGS): Likewise.
15061 (cs5536_mod_LDFLAGS): Likewise.
15062 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15063 machine/pci.h.
15064 (kernel_img_SOURCES): Add bus/cs5536.c.
15065 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15066 usb_keyboard.mod.
15067 (usb_mod_SOURCES): New variable.
15068 (usb_mod_CFLAGS): New variable.
15069 (usb_mod_LDFLAGS): New variable.
15070 (usbtest_mod_SOURCES): New variable.
15071 (usbtest_mod_CFLAGS): New variable.
15072 (usbtest_mod_LDFLAGS): New variable.
15073 (ohci_mod_SOURCES): New variable.
15074 (ohci_mod_CFLAGS): New variable.
15075 (ohci_mod_LDFLAGS): New variable.
15076 (usbms_mod_SOURCES): New variable.
15077 (usbms_mod_CFLAGS): New variable.
15078 (usbms_mod_LDFLAGS): New variable.
15079 (usb_keyboard_mod_SOURCES): New variable.
15080 (usb_keyboard_mod_CFLAGS): New variable.
15081 (usb_keyboard_mod_LDFLAGS): New variable.
15082 * include/grub/smbus.h: New file.
15083 * include/grub/cs5536.h: New file.
15084
15085 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15086
15087 * util/grub.d/00_header.in: Add safety check to make sure that
15088 ${locale_dir} exists before trying to probe it.
15089
15090 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15091
15092 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15093 per the GNU Coding Standards; this is now too obscure to be worth
15094 documenting.
15095 (QNX): Likewise.
15096 (chainloader): Remove cross-reference to `SCO UnixWare'.
15097
15098 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15099
15100 * docs/grub.texi (Chain-loading): New section.
15101 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15102 adjusted for GRUB 2.
15103 (SCO UnixWare): Likewise.
15104 (QNX): Likewise.
15105 (chainloader): Add reference to `Block list syntax'.
15106 (drivemap): New section.
15107 (parttool): New section.
15108
15109 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15110
15111 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15112 the grub shell'.
15113 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15114 (Installing GRUB using grub-install): Remove reference to the grub
15115 shell; mention `grub-mkimage' and `grub-setup' instead.
15116 (Invoking grub-install): Likewise.
15117 (Interface): Add reference to `Menu entry editor'.
15118 (serial): Remove `--device' option.
15119
15120 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15121
15122 * docs/grub.texi (Configuration): New section, documenting
15123 configuration file generation using grub-mkconfig. I've left a slot
15124 for documenting the full shell scripting format but have not yet
15125 started on writing that up.
15126 (Invoking grub-mkconfig): New section.
15127
15128 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15129
15130 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15131 (GNU GRUB manual): Likewise.
15132 (General commands): Update description of `terminfo' for GRUB 2.
15133
15134 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15135
15136 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15137 (GRUB_MOD_INIT): Fix capitalisation.
15138 * docs/grub.texi (Command-line and menu entry commands): Document
15139 gettext and gptsync commands.
15140
15141 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15142
15143 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15144 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15145
15146 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
15147
15148 Add btrfs probing support, currently only in the single-device case.
15149
15150 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15151 function.
15152 (grub_guess_root_device): Call find_root_device_from_mountinfo
15153 before looking in /dev.
15154
15155 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15156
15157 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15158 GRUB_DISK_SIZE_UNKNOWN.
15159 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15160
15161 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
15162
15163 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15164 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15165 corrupted or not synced properly.
15166
15167 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15168
15169 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15170 Reported by: Seth Goldberg.
15171
15172 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15173
15174 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15175 addition of dest.
15176 Reported by: Seth Goldberg.
15177
15178 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15181 Reported by: Seth Goldberg.
15182
15183 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15186 64-bit address as signed on MIPS.
15187
15188 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15189
15190 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15191 to the empty string.
15192
15193 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15194
15195 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15196
15197 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15198 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15199 * kern/misc.c (__enable_execute_stack): Disable on
15200 GRUB_MACHINE_EMU.
15201
15202 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15203
15204 Make grub-probe work with symbolic links under /dev/mapper as well
15205 as with real block devices. The Linux world seems to be (at best)
15206 in transition here, and GRUB shouldn't get caught in the middle.
15207
15208 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15209 /dev/mapper.
15210
15211 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15212
15213 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15214 input files (in which case exit zero).
15215
15216 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15217
15218 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15219 return NULL for various reasons even if it has a maximum-length
15220 buffer: for example, there might be a symlink loop, or the path
15221 might exceed PATH_MAX. If this happens, return NULL.
15222
15223 2010-05-27 Robert Millan <rmh@gnu.org>
15224
15225 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15226 partmap module to handle cross-partmap setups.
15227 Reported by Orestes Mas. Gràcies!
15228
15229 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15230
15231 * util/grub-mkrescue.in: Initialise override_dir rather than
15232 assuming that it's unset or empty in the environment.
15233
15234 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15235
15236 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15237 variable index into p_index to suppress a warning with -Wshadow.
15238
15239 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15240
15241 * INSTALL: Added flex >= 2.5.35 requirement.
15242
15243 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15246
15247 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15248
15249 cmostest support.
15250
15251 * commands/i386/cmostest.c: New file.
15252 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15253 (cmostest_mod_SOURCES): New variable.
15254 (cmostest_mod_CFLAGS): Likewise.
15255 (cmostest_mod_LDFLAGS): Likewise.
15256 * conf/i386-pc.rmk: Likewise.
15257 * docs/grub.texi (Vendor power-on keys): New section.
15258 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15259 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15260 and GRUB_BUTTON_CMOS_ADDRESS.
15261 * util/grub.d/00_header.in: Handle powering-on by separate button.
15262
15263 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15264
15265 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15266 Removed drawing_scrollbar argument. All users updated
15267 Fixes #29792.
15268 Reported by Jo Shields
15269
15270 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15273 buffer since gfxterm handles double repaint.
15274
15275 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15276
15277 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15278 * term/gfxterm.c (real_scroll): Likewise.
15279
15280 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15283 before calling BIOS.
15284
15285 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15286
15287 * include/grub/i18n.h: Always enable grub_gettext.
15288
15289 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15292 partition naming style.
15293
15294 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
15295
15296 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15297 not the first option.
15298
15299 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15300
15301 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15302
15303 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15304
15305 * util/misc.c: Move inclusion of <limits.h> to ...
15306 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15307
15308 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15309
15310 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15311 Fix merge error in NetBSD code.
15312 (find_partition_start) [__NetBSD__]: Likewise.
15313
15314 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15315
15316 Fix grub-mkrescue usage unit testing.
15317
15318 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15319
15320 2010-05-18 Christian Franke <franke@computer.org>
15321
15322 * util/grub.d/10_windows.in: Use path names instead of
15323 drive letters to prevent warning from Cygwin 1.7.
15324 Add drivemap command to menuentry if needed.
15325
15326 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15327
15328 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15329 gnumach and gnumach.gz.
15330
15331 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * include/grub/i18n.h (gettext): Inline instead of using #define.
15334 (grub_gettext): Likewise.
15335 (_): Likewise.
15336
15337 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15340 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15341 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15342 (main): Add a slash after pkglibdirroot.
15343
15344 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15345
15346 * util/grub-install.in: Add missing "in" keyword.
15347
15348 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15351 Reported by: Seth Goldberg.
15352
15353 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15356
15357 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15358
15359 * configure.ac: Check for Linux device-mapper support.
15360
15361 * util/hostdisk.c (device_is_mapped): New function.
15362 (find_partition_start): New function, partly broken out from
15363 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15364 device-mapper support added.
15365 (linux_find_partition): Use find_partition_start.
15366 (convert_system_partition_to_system_disk): Add `st' argument.
15367 Support Linux /dev/mapper/* devices if device-mapper support is
15368 available; only DM-RAID devices are understood at present.
15369 (find_system_device): Add `st' argument. Pass it to
15370 convert_system_partition_to_system_disk.
15371 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15372 find_system_device and convert_system_partition_to_system_disk. Use
15373 find_partition_start.
15374
15375 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15376 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15377 * util/deviceiter.c [__linux__]: Define MINOR.
15378 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15379 * util/mkdevicemap.c (grub_putchar): New function.
15380 (grub_getkey): New function.
15381 (grub_refresh): New function.
15382 (main): Set debug=all if -v -v is used.
15383
15384 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15385
15386 Fix build with non-GNU libcs.
15387
15388 * util/misc.c (canonicalize_file_name): Move to ...
15389 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15390 grub_make_system_path_relative_to_its_root.
15391
15392 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15393
15394 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15395 we handle finding grub-mkimage. Default to finding grub-mkimage in
15396 ${bindir} with program_transform_name applied, and provide a
15397 --grub-mkimage option to override this.
15398
15399 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15400
15401 Remove grub-mkisofs.
15402
15403 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15404 (grub_mkisofs_SOURCES): Removed.
15405 (grub_mkisofs_CFLAGS): Removed.
15406 * util/mkisofs/defaults.h: Removed.
15407 * util/mkisofs/eltorito.c: Likewise.
15408 * util/mkisofs/exclude.h: Likewise.
15409 * util/mkisofs/hash.c: Likewise.
15410 * util/mkisofs/include/: Likewise.
15411 * util/mkisofs/include/fctldefs.h: Likewise.
15412 * util/mkisofs/include/mconfig.h: Likewise.
15413 * util/mkisofs/include/prototyp.h: Likewise.
15414 * util/mkisofs/include/statdefs.h: Likewise.
15415 * util/mkisofs/iso9660.h: Likewise.
15416 * util/mkisofs/joliet.c: Likewise.
15417 * util/mkisofs/match.c: Likewise.
15418 * util/mkisofs/match.h: Likewise.
15419 * util/mkisofs/mkisofs.c: Likewise.
15420 * util/mkisofs/mkisofs.h: Likewise.
15421 * util/mkisofs/msdos_partition.h: Likewise.
15422 * util/mkisofs/multi.c: Likewise.
15423 * util/mkisofs/name.c: Likewise.
15424 * util/mkisofs/rock.c: Likewise.
15425 * util/mkisofs/tree.c: Likewise.
15426 * util/mkisofs/write.c: Likewise.
15427
15428 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 Unify grub-mkimage accross platforms.
15431
15432 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15433 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15434 (grub_mkelfimage_SOURCES): Removed.
15435 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15436 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15437 (bin_UTILITIES): Add grub-mkimage.
15438 (grub_mkimage_SOURCES): New variable.
15439 (kernel_img_HEADERS): Remove machine/kernel.h.
15440 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15441 (pkglib_PROGRAMS): Add kernel.img.
15442 (kernel_img_HEADERS): Add machine/kernel.h.
15443 (kernel_img_FORMAT): Removed.
15444 (bin_UTILITIES): Remove grub-mkimage.
15445 (grub_mkimage_SOURCES): Removed.
15446 (grub_mkimage_CFLAGS): Likewise.
15447 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15448 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15449 (pkglib_PROGRAMS): Add kernel.img.
15450 (bin_UTILITIES): Remove grub-mkimage.
15451 (grub_mkimage_SOURCES): Removed.
15452 (grub_mkimage_CFLAGS): Likewise.
15453 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15454 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15455 (pkglib_PROGRAMS): Add kernel.img.
15456 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15457 (pkglib_PROGRAMS): Add kernel.img.
15458 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15459 (grub_mkimage_SOURCES): Removed.
15460 (grub_mkimage_CFLAGS): Likewise.
15461 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15462 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15463 (pkglib_PROGRAMS): Add kernel.img.
15464 (bin_UTILITIES): Remove grub-mkimage.
15465 (grub_mkimage_SOURCES): Removed.
15466 (grub_mkimage_CFLAGS): Likewise.
15467 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15468 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15469 (grub_mkimage_SOURCES): Removed.
15470 (grub_mkimage_CFLAGS): Likewise.
15471 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15472 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15473 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15474 (grub_pe32_optional_header): ... this.
15475 (grub_pe64_optional_header): ... and this. All users updated.
15476 (GRUB_PE32_PE32_MAGIC): Split into ..
15477 (GRUB_PE32_PE32_MAGIC): .. this.
15478 (GRUB_PE32_PE64_MAGIC): .. and this.
15479 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15480 * include/grub/elf.h (PT_GNU_STACK): New definition.
15481 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15482 * include/grub/i386/efi/kernel.h: Likewise.
15483 * include/grub/i386/kernel.h: Likewise.
15484 * include/grub/i386/pc/kernel.h: Likewise.
15485 * include/grub/i386/qemu/boot.h: Likewise.
15486 * include/grub/mips/kernel.h: Likewise.
15487 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15488 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15489 * include/grub/powerpc/kernel.h: Likewise.
15490 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15491 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15492 * include/grub/sparc64/kernel.h: Likewise.
15493 * include/grub/x86_64/efi/kernel.h: Likewise.
15494 * include/grub/x86_64/kernel.h: Likewise.
15495 * include/grub/offsets.h: New file.
15496 * include/grub/kernel.h (grub_module_info): Split into ...
15497 (grub_module_info32): ... this.
15498 (grub_module_info64): ... and this.
15499 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15500 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15501 (grub_boot_blocklist): Moved from here ...
15502 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15503 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15504 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15505 * include/grub/types.h (grub_target_to_host16): Removed.
15506 (grub_target_to_host32): Likewise.
15507 (grub_target_to_host64): Likewise.
15508 (grub_host_to_target16): Likewise.
15509 (grub_host_to_target32): Likewise.
15510 (grub_host_to_target64): Likewise.
15511 (grub_host_to_target_addr): Likewise.
15512
15513 Support grub-mkrescue for efi, coreboot and qemu.
15514
15515 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15516 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15517 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15518 * util/grub-mkrawimage.c: Moved from here ...
15519 * util/grub-mkimage.c: ... here. All users updated.
15520 (ALIGN_ADDR): Use image_target.
15521 (TARGET_NO_FIELD): New const.
15522 (image_target_desc): New type.
15523 (image_targets): New array.
15524 (grub_target_to_host64): Use image_target.
15525 (grub_target_to_host32): Likewise.
15526 (grub_target_to_host16): Likewise.
15527 (grub_host_to_target64): Likewise.
15528 (grub_host_to_target32): Likewise.
15529 (grub_host_to_target16): Likewise.
15530 (grub_host_to_target_addr): Likewise.
15531 (generate_image): Handle multiimage.
15532 (main): Require -O parameter. All users updated.
15533 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15534 util/efi/grub-mkimage.c
15535 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15536 New option --rom-directory.
15537 Use xorriso.
15538 * util/i386/efi/grub-mkimage.c: Removed.
15539 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15540 (grub_target_to_host32): Likewise.
15541 (grub_target_to_host64): Likewise.
15542 (grub_host_to_target16): Likewise.
15543 (grub_host_to_target32): Likewise.
15544 (grub_host_to_target64): Likewise.
15545 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15546 (grub_target_to_host32): Likewise.
15547 (grub_target_to_host64): Likewise.
15548 (grub_host_to_target16): Likewise.
15549 (grub_host_to_target32): Likewise.
15550 (grub_host_to_target64): Likewise.
15551
15552 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15553
15554 Source tree is reorganized for emu build.
15555
15556 * include/grub/util/console.h: Move from here...
15557 * include/grub/emu/console.h: ...to here.
15558 * include/grub/util/getroot.h: Move from here...
15559 * include/grub/emu/getroot.h: ...to here.
15560 * include/grub/util/hostdisk.h: Move from here...
15561 * include/grub/emu/hostdisk.h: ...to here.
15562 * util/console.c: Move from here...
15563 * kern/emu/console.c: ...to here.
15564 * util/getroot.c: Move from here...
15565 * kern/emu/getroot.c: ...to here.
15566 * util/grub-emu.c: Move from here...
15567 * kern/emu/main.c: ...to here.
15568 * util/hostdisk.c: Move from here...
15569 * kern/emu/hostdisk.c: ...to here.
15570 * util/hostfs.c: Move from here...
15571 * kern/emu/hostfs.c: ...to here.
15572 * util/mm.c: Move from here...
15573 * kern/emu/mm.c: ...to here.
15574 * util/pci.c: Move from here...
15575 * bus/emu/pci.c: ...to here.
15576 * util/sdl.c: Move from here...
15577 * video/emu/sdl.c: ...to here.
15578 * util/time.c: Move from here...
15579 * kern/emu/time.c: ...to here.
15580 * util/usb.c: Move from here...
15581 * bus/usb/emu/usb.c: ...to here.
15582
15583 * include/grub/emu/misc.h: New header for grub-emu functions.
15584 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15585
15586 * conf/any-emu.rmk: Rule updates for above renames.
15587 * conf/common.rmk: Likewise.
15588 * conf/i386-pc.rmk: Likewise.
15589 * conf/i386-qemu.rmk: Likewise.
15590 * conf/mips.rmk: Likewise.
15591 * conf/sparc64-ieee1275.rmk: Likewise.
15592 * conf/x86-efi.rmk: Likewise.
15593
15594 * disk/lvm.h: #include updates for above renames.
15595 * util/grub-mkrelpath.c: Likewise.
15596 * util/grub-probe.c: Likewise.
15597 * util/i386/pc/grub-setup.c: Likewise.
15598 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15599 * kern/emu/console.c: Likewise.
15600 * kern/emu/getroot.c: Likewise.
15601 * kern/emu/hostdisk.c: Likewise.
15602 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15603
15604 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15605 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15606 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15607 * util/misc.c: Remove grub-emu functions.
15608
15609 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Fix gfxmenu crash.
15612 Reported by: Thorsten Grützmacher.
15613
15614 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15615 timeout hook.
15616 (circprog_set_property): Register and unregister timeout hook.
15617 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15618 (label_destroy): Free template. and unregister hook.
15619 (label_set_state): New function.
15620 (label_set_property): Handle templates and hooks.
15621 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
15622 timeout hook.
15623 (progress_bar_set_property): Register and unregister timeout hook.
15624 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
15625 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
15626 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
15627 (update_timeout_visit): Removed.
15628 (update_timeouts): New function.
15629 (redraw_timeouts): Likewise.
15630 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
15631 (grub_gfxmenu_clear_timeout): Likewise.
15632 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
15633 (grub_gfxmenu_timeout_notify): Likewise.
15634 (grub_gfxmenu_timeout_notifications): New external variable.
15635 (grub_gfxmenu_timeout_register): New function.
15636 (grub_gfxmenu_timeout_unregister): Likewise.
15637
15638 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15639
15640 Transform (broken) vga terminal into (working) vga video driver.
15641
15642 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
15643 video/i386/pc/vga.c.
15644 * include/grub/video.h (grub_video_driver_id):
15645 Add GRUB_VIDEO_DRIVER_VGA.
15646 * term/i386/pc/vga.c: Renamed to ...
15647 * video/i386/pc/vga.c: ...this
15648 (DEBUG_VGA): Removed.
15649 (CHAR_WIDTH): Likewise.
15650 (CHAR_HEIGHT): Likewise.
15651 (TEXT_WIDTH): Likewise.
15652 (TEXT_HEIGHT): Likewise.
15653 (DEFAULT_FG_COLOR): Likewise.
15654 (DEFAULT_BG_COLOR): Likewise.
15655 (colored_char): Likewise.
15656 (xpos): Likewise.
15657 (ypos): Likewise.
15658 (cursor_state): Likewise.
15659 (fg_color): Likewise.
15660 (bg_color): Likewise.
15661 (text_buf): Likewise.
15662 (page): Likewise.
15663 (font): Likewise.
15664 (framebuffer): New variable.
15665 (set_read_map): Disabled.
15666 (setup): New variable.
15667 (is_target): Likewise.
15668 (grub_vga_mod_init): Likewise.
15669 (grub_vga_mod_fini): Likewise.
15670 (check_vga_mem): Likewise.
15671 (write_char): Likewise.
15672 (write_cursor): Likewise.
15673 (scroll_up): Likewise.
15674 (grub_vga_putchar): Likewise.
15675 (grub_vga_getcharwidth): Likewise.
15676 (grub_vga_getwh): Likewise.
15677 (grub_vga_getxy): Likewise.
15678 (grub_vga_gotoxy): Likewise.
15679 (grub_vga_cls): Likewise.
15680 (grub_vga_setcolorstate): Likewise.
15681 (grub_vga_setcursor): Likewise.
15682 (grub_video_vga_init): New function.
15683 (grub_video_vga_setup): Likewise.
15684 (grub_video_vga_fini): Likewise.
15685 (update_target): Likewise.
15686 (grub_video_vga_blit_bitmap): Likewise.
15687 (grub_video_vga_blit_render_target): Likewise.
15688 (grub_video_vga_set_active_render_target): Likewise.
15689 (grub_video_vga_get_active_render_target): Likewise.
15690 (grub_video_vga_swap_buffers): Likewise.
15691 (grub_video_vga_set_palette): Likewise.
15692 (grub_video_vga_get_info_and_fini): Likewise.
15693 (grub_vga_term): Removed.
15694 (grub_video_vga_adapter): New variable.
15695 (GRUB_MOD_INIT): Register a video driver instead of terminal.
15696 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
15697
15698 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15699
15700 * video/readers/jpeg.c: Indented.
15701
15702 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 Various jpeg cleanups.
15705
15706 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
15707 (grub_jpeg_decode_quan_table): Use sizeof.
15708 (grub_jpeg_decode_du): Use ARRAY_SIZE.
15709
15710 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
15711
15712 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
15713 tables. Ignore non-last ac bit.
15714 (grub_jpeg_decode_quan_table): Likewise.
15715
15716 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
15719 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
15720 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15721 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
15722 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
15723 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
15724
15725 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
15728 error.
15729
15730 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15731
15732 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
15733
15734 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
15737 condition.
15738
15739 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
15742 part.
15743
15744 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15745
15746 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
15747 pointers.
15748
15749 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
15752
15753 2010-05-01 Christian Franke <franke@computer.org>
15754
15755 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
15756 Remove broken Cygwin path conversion.
15757 * util/misc.c: [__CYGWIN__] Add include and define.
15758 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
15759 for Cygwin 1.7.
15760 (make_system_path_relative_to_its_root): Simplify loop, replace early
15761 return by break.
15762 [__CYGWIN__] Add conversion to win32 path.
15763 Include "/" case in trailing slash removal.
15764
15765 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * kern/main.c (grub_load_config): Fix copy-pasted comment.
15768 Reported by: Seth Goldberg
15769
15770 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15771
15772 * commands/help.c (grub_cmd_help): Fix a typo.
15773 Reported by: Seth Goldberg
15774
15775 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
15778 name and add N_.
15779 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
15780 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
15781 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
15782 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
15783 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
15784 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
15785 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15786 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15787 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15788 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15789 * normal/context.c (GRUB_MOD_INIT): Likewise.
15790 * normal/main.c (GRUB_MOD_INIT): Likewise.
15791 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15792 * term/serial.c (GRUB_MOD_INIT): Likewise.
15793 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15794
15795 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15796
15797 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
15798 extra == 0.
15799
15800 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * commands/iorw.c: New file.
15803 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
15804 (iorw_mod_SOURCES): New variable.
15805 (iorw_mod_CFLAGS): Likewise.
15806 (iorw_mod_LDFLAGS): Likewise.
15807
15808 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 Hotkey support
15811
15812 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
15813 * normal/main.c (hotkey_aliases): New variable.
15814 (grub_normal_add_menu_entry): Parse "--hotkey".
15815 * normal/menu_text.c (run_menu): Handle hotkeys.
15816
15817 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 * kern/i386/coreboot/init.c (grub_machine_init): Call
15820 grub_machine_mmap_init on qemu.
15821
15822 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * boot/i386/qemu/boot.S: Add a missing .code16.
15825
15826 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 Use LBIO on coreboot.
15829
15830 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
15831 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
15832 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
15833 New declaration.
15834 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
15835 grub_machine_mmap_init on coreboot.
15836 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
15837 GRUB_LINUXBIOS_MEMBER_LINK.
15838 (grub_machine_mmap_iterate): Fix declaration.
15839 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
15840
15841 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 Split coreboot and multiboot ports.
15844
15845 * conf/i386-multiboot.rmk: New file.
15846 * configure.ac: Add multiboot port.
15847 * include/grub/i386/multiboot/boot.h: New file.
15848 * include/grub/i386/multiboot/console.h: Likewise.
15849 * include/grub/i386/multiboot/init.h: Likewise.
15850 * include/grub/i386/multiboot/kernel.h: Likewise.
15851 * include/grub/i386/multiboot/loader.h: Likewise.
15852 * include/grub/i386/multiboot/memory.h: Likewise.
15853 * include/grub/i386/multiboot/serial.h: Likewise.
15854 * include/grub/i386/multiboot/time.h: Likewise.
15855 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
15856 * loader/multiboot.c: Likewise.
15857 * loader/multiboot_mbi2.c: Likewise.
15858 * util/grub-mkrescue.in: Generate multiboot rescue.
15859
15860 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * kern/parser.c (grub_parser_execute): Cope with read-only config.
15863
15864 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15865
15866 Merge handling of input and output terminals. Fix a hang.
15867
15868 * commands/terminal.c (abstract_terminal): New struct.
15869 (handle_command): New function. Based on grub_cmd_terminal_input.
15870 (grub_cmd_terminal_input): Use handle_command.
15871 (grub_cmd_terminal_output): Use handle_command.
15872
15873 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
15874
15875 Fix comment handling.
15876
15877 * tests/grub_script_comments.in: New testcase.
15878 * conf/tests.rmk: Rules for new testcase.
15879 * script/yylex.l: Updated flex rules.
15880
15881 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
15882
15883 * docs/grub.texi (play): Document that zero pitches produce rests.
15884 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
15885 if argc is 1.
15886
15887 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
15890 autogen issues.
15891
15892 2010-04-26 Christian Franke <franke@computer.org>
15893
15894 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
15895 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
15896 (grub_get_prefix): Remove function.
15897 * util/grub-emu.c (main): Replace grub_get_prefix () call by
15898 make_system_path_relative_to_its_root ().
15899 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15900
15901 2010-04-24 Christian Franke <franke@computer.org>
15902
15903 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
15904 (kernel_img_LDFLAGS): Remove -static-libgcc.
15905
15906 2010-04-24 Christian Franke <franke@computer.org>
15907
15908 * configure.ac: Do not CHECK_BSS_START_SYMBOL
15909 and CHECK_END_SYMBOL if grub-emu is built.
15910 Unset TARGET_OBJ2ELF if grub-emu is built
15911 without module support.
15912
15913 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
15914
15915 Nilfs2 support.
15916
15917 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
15918 (grub_fstest_SOURCES): Likewise.
15919 (pkglib_MODULES): Add nilfs2.mod.
15920 (nilfs2_mod_SOURCES): New variable.
15921 (nilfs2_mod_CFLAGS): Likewise.
15922 (nilfs2_mod_LDFLAGS): Likewise.
15923 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15924 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15925 * fs/nilfs2.c: New file.
15926
15927 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
15928
15929 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
15930 is not supported.
15931
15932 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
15933
15934 Add grub-mkconfig support for NetBSD.
15935
15936 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
15937 * util/grub-mkconfig.in: export new NetBSD specific variables.
15938 * po/POTFILES-shell: added 10_netbsd.in.
15939 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
15940
15941 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
15942
15943 Fix emu build with grub-emu-pci and grub-emu-modules.
15944
15945 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
15946 functions.
15947 * include/grub/libpciaccess.h: New file.
15948 * conf/any-emu.rmk: Update kernel headers for emu build.
15949
15950 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15951
15952 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15953
15954 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15957
15958 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15961 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15962 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15963 util/ieee1275/ofpath.c.
15964 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15965 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15966 * include/grub/sparc64/ieee1275/boot.h
15967 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15968 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15969 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15970 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15971 const char *.
15972 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15973 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15974 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15975 install.
15976
15977 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15978
15979 * util/grub-mkconfig.in: Corrected two == equality tests.
15980 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15981 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15982 expect a number appended to it.
15983 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15984 expects a number appended to it.
15985
15986 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15989
15990 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15991
15992 * util/hostdisk.c (make_device_name): Change to new partition naming.
15993
15994 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15995
15996 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15997
15998 2010-04-17 Christian Franke <franke@computer.org>
15999
16000 * Makefile.in: Add missing localedir setting.
16001
16002 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
16003
16004 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
16005 mistake in r2156. Noticed by Anthony Fok.
16006
16007 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
16008 @localedir@.
16009 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16010
16011 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
16012
16013 Fix a spurious, uninitialized variable warning.
16014
16015 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
16016 Initialize variable, shdr.
16017 (grub_freebsd_load_elfmodule): Likewise.
16018 (grub_freebsd_load_elf_meta): Likewise.
16019
16020 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
16021
16022 Fix for escaped dollar in double quoted strings.
16023
16024 * script/yylex.l: Updated flex rules.
16025 * conf/tests.rmk: Rule for new testcase.
16026 * tests/grub_script_dollar.in: New testcase.
16027
16028 2010-04-13 Carles Pina i Estany <carles@pina.cat>
16029 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
16030
16031 Enclose all translated strings in grub.cfg in single quotes, and
16032 escape them appropriately (Ubuntu bug #552921).
16033
16034 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16035 * util/grub.d/10_hurd.in: Use it.
16036 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16037 * util/grub.d/10_linux.in (linux_entry): Likewise.
16038
16039 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16040
16041 Fix cygwin compilation.
16042
16043 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16044 * include/grub/misc.h (__register_frame_info)
16045 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16046 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16047 * kern/misc.c (__register_frame_info)
16048 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16049 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16050
16051 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16052
16053 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16054
16055 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 Unify libgcc processing.
16058
16059 * Makefile.in (kernel_img_LDFLAGS): New variable.
16060 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16061 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16062 overwriting.
16063 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16064 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16065 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16066 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16067 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16068 overwriting. Remove -lgcc and -static-libgcc
16069 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16070 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16071 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16072 (kernel_img_LDFLAGS): Append instead of overwriting.
16073 Remove -lgcc and -static-libgcc
16074 * conf/sparc64-ieee1275.rmk: Likewise.
16075 * include/grub/powerpc/libgcc.h: Move to ...
16076 * include/grub/libgcc.h: .. this.
16077 * include/grub/libgcc.h: Don't export most of the function on x86.
16078 (__bswapsi2): New export.
16079 (__bswapdi2): Likewise.
16080 * include/grub/mips/libgcc.h: Removed.
16081 * include/grub/sparc64/libgcc.h: Likewise.
16082
16083 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16084
16085 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16086 disk_info_msg (conflicts with gettexting into languages with cases).
16087
16088 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16089
16090 Add grub-probe support for NetBSD.
16091
16092 * util/getroot.c (find_root_device): Convert block device to
16093 character device on NetBSD.
16094 * util/probe.c (probe): Require character device on NetBSD.
16095 * util/hostdisk.c: NetBSD specific headers.
16096 (configure_device_driver): new function to tune device driver
16097 parameters (currently only for NetBSD floppy driver).
16098 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16099 via disklabel ioctl).
16100 (open_device): call configure_device_driver on NetBSD.
16101 (convert_system_partition_to_system_disk): NetBSD specific code.
16102 (device_is_wholedisk): Likewise.
16103 (grub_util_biosdisk_get_grub_dev): Likewise.
16104 (make_device_name): Fixed a typo in bsd_part_str.
16105 * configure.ac: check for opendisk() and getrawpartition() on
16106 NetBSD and set LIBUTIL.
16107 * Makefile.in: add LIBUTIL to LIBS.
16108
16109 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16110
16111 Documentation fix.
16112
16113 * util/grub-script-check.c: Better help message.
16114
16115 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16116
16117 Fix FreeBSD build.
16118
16119 * configure.ac: Flex version check.
16120 * conf/common.rmk: Add -Wno-error to sh.mod.
16121 * script/yylex.l: Remove all #pragma.
16122
16123 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16126 prototype.
16127 Reported by: Seth Goldberg.
16128
16129 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16132 Rename "module" to "module2".
16133 Reported by: Seth Goldberg.
16134
16135 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16138 EXPORT_FUNC.
16139 Reported by: Seth Goldberg.
16140
16141 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16142
16143 * lib/posix_wrap/locale.h: Add missing file.
16144 Reported by: Seth Goldberg.
16145
16146 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 grub-emu module load support.
16149
16150 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16151 NO_DYNAMIC_MODULES switched to this.
16152 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16153 (CFLAGS): Likewise.
16154 * conf/any-emu.rmk: Generate symlist.
16155 (kernel_img_HEADERS): Add util/datetime.h.
16156 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16157 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16158 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16159 kern/$(target_cpu)/cache.S.
16160 * configure.ac (grub-emu-modules): New option.
16161 * genmk.rb: Handle multiple source lists.
16162 * include/grub/sdl.h: New file.
16163 * include/grub/libusb.h: Likewise.
16164 * util/grub-emu.c (main): Hanle (host) root.
16165 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16166 GRUB_ERR_UNKNOWN_DEVICE.
16167 * util/misc.c: Move mm functions to ...
16168 * util/mm.c: ... here. All users updated.
16169
16170 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16173 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16174 missing files.
16175 (maintainer-clean): Remove libgcrypt-grub.
16176
16177 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16180
16181 2010-04-09 EFI Coder <eficoder@hotmail.com>
16182
16183 * normal/menu_text.c (print_message): Clean up the message and show
16184 the Fn information when on EFI
16185 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16186
16187 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16190 All users updated.
16191 * normal/crypto.c (read_crypto_list): Likewise.
16192 * normal/dyncmd.c (read_command_list): Likewise.
16193 * normal/term.c (read_terminal_list): Likewise.
16194 * normal/main.c (read_lists): Use explicit prefix.
16195 (read_lists_hook): Use read_lists.
16196 (grub_normal_execute): Likewise.
16197
16198 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16199
16200 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16201 Reported by: Thomas Schmitt.
16202 Add -no-emul-boot to grub-mkisofs parameters.
16203
16204 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16205
16206 * font/font.c: Indented.
16207
16208 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16209
16210 Elif support to GRUB script (by Deepak Vankadaru).
16211
16212 * tests/grub_script_if.in: New testcase.
16213 * conf/tests.rmk: Rule for new testcase.
16214 * script/parser.y: Grammar rules for elif.
16215
16216 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16217
16218 While and until loops support to GRUB script.
16219
16220 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16221 (grub_script_create_cmdwhile): New function prototype.
16222 (grub_script_execute_cmdwhile): New function prototype.
16223 * script/execute.c (grub_script_execute_cmdwhile): New function.
16224 * script/parser.y (command): New commands.
16225 (whilecmd): New grammar rule.
16226 (untilcmd): New grammar rule.
16227 * script/script.c (grub_script_create_cmdwhile): New function.
16228 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16229 function.
16230
16231 * tests/grub_script_while1.in: New testcase.
16232 * conf/tests.rmk: Rule for new testcase.
16233
16234 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16235
16236 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16237 as *.jpg.
16238
16239 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
16240
16241 GRUB_BACKGROUND support.
16242
16243 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16244 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16245
16246 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16247
16248 Load fonts and modules for gfxmenu in grub-mkconfig.
16249 Idea by: Mario Vazquez
16250
16251 * util/grub.d/00_header.in: Load pf2 and image modules.
16252
16253 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 grub-mkconfig multiple terminal support.
16256
16257 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16258 * util/grub.d/00_header.in: Likewise.
16259
16260 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16261
16262 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16263 we use cd $(srcdir).
16264
16265 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
16266
16267 * util/grub.d/10_linux.in: Only use the first word of
16268 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16269 spaces in GRUB_DISTRIBUTOR.
16270 * util/grub.d/10_kfreebsd.in: Likewise.
16271 * util/grub.d/10_hurd.in: Likewise.
16272
16273 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16274
16275 Fix unit testing framework for Qemu 0.12.
16276
16277 * tests/util/grub-shell.in: Remove -serial stdio option.
16278
16279 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16280
16281 POSIX header file wrappers.
16282
16283 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16284 equivalents.
16285 * lib/posix_wrap/ctype.h: Likewise.
16286 * lib/posix_wrap/errno.h: Likewise.
16287 * lib/posix_wrap/langinfo.h: Likewise.
16288 * lib/posix_wrap/limits.h: Likewise.
16289 * lib/posix_wrap/localcharset.h: Likewise.
16290 * lib/posix_wrap/stdint.h: Likewise.
16291 * lib/posix_wrap/stdio.h: Likewise.
16292 * lib/posix_wrap/stdlib.h: Likewise.
16293 * lib/posix_wrap/string.h: Likewise.
16294 * lib/posix_wrap/sys/types.h: Likewise.
16295 * lib/posix_wrap/unistd.h: Likewise.
16296 * lib/posix_wrap/wchar.h: Likewise.
16297 * lib/posix_wrap/wctype.h: Likewise.
16298 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16299 (grub_script.yy.h): Likewise.
16300 * script/yylex.l: Remove POSIX emulation #defines.
16301 * Makefile.in (POSIX_CFLAGS): New variable.
16302 (GNULIB_UTIL_CFLAGS): Likewise.
16303
16304 Regexp support.
16305
16306 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16307 (regexp_mod_SOURCES): New variable.
16308 (regexp_mod_CFLAGS): Likewise.
16309 (regexp_mod_LDFLAGS): Likewise.
16310 * commands/regexp.c: New file.
16311 * gnulib/regcomp.c: New file. Imported from gnulib.
16312 * gnulib/regex.c: Likewise.
16313 * gnulib/regex_internal.c: Likewise.
16314 * gnulib/regex_internal.h: Likewise.
16315 * gnulib/regexec.c: Likewise.
16316 * gnulib/regex.h: Likewise.
16317
16318 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16319
16320 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16321 unsupported video mode types.
16322
16323 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16324
16325 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16326
16327 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16330 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16331
16332 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16333
16334 Remove unused grub_vga_get_font.
16335
16336 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16337 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16338
16339 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16340
16341 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16342 * include/grub/misc.h: Likewise.
16343
16344 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16345
16346 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16347 for which failure is fatal.
16348
16349 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16350
16351 * util/grub-install.in: Use mkdir -p to create grub directory.
16352 * util/i386/efi/grub-install.in: Likewise.
16353 * util/ieee1275/grub-install.in: Likewise.
16354
16355 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16356
16357 * Makefile.in (LEX): new variable.
16358
16359 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16360
16361 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16362 `=' and added double quotes on operands of this equality test.
16363
16364 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16365
16366 * Makefile.in (uninstall): Remove a leftover debug echo.
16367 Reported by: Grégoire Sutre
16368
16369 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16370
16371 MIPS multiboot2 support.
16372
16373 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16374 (multiboot2_mod_SOURCES): New variable.
16375 (multiboot2_mod_CFLAGS): Likewise.
16376 (multiboot2_mod_LDFLAGS): Likewise.
16377 (multiboot2_mod_ASFLAGS): Likewise.
16378 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16379 definition.
16380 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16381 (MULTIBOOT_MBI_REGISTER): Likewise.
16382 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16383 (MULTIBOOT_ELF32_MACHINE): Likewise.
16384 (MULTIBOOT_ELF64_MACHINE): Likewise.
16385 * include/grub/mips/multiboot.h: New file.
16386 * include/grub/video.h (grub_video_driver_id): New type
16387 GRUB_VIDEO_DRIVER_SM712.
16388 (grub_video_get_info_and_fini): Export.
16389 (grub_video_get_palette): Likewise.
16390 (grub_video_get_driver_id): Likewise.
16391 * include/multiboot2.h: Resynced with spec.
16392 * loader/i386/multiboot.c: Moved from here ...
16393 * loader/multiboot.c: ... here. All users updated.
16394 (grub_multiboot_boot): Use platform-specific macros.
16395 * loader/i386/multiboot_elfxx.c: Moved from here ...
16396 * loader/multiboot_elfxx.c: ... here. All users updated.
16397 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16398 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16399 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16400
16401 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16402
16403 Import gnulib argp module.
16404
16405 * gnulib/argp-ba.c: New file.
16406 * gnulib/argp-eexst.c: Likewise.
16407 * gnulib/argp-fmtstream.c: Likewise.
16408 * gnulib/argp-fmtstream.h: Likewise.
16409 * gnulib/argp-fs-xinl.c: Likewise.
16410 * gnulib/argp-help.c: Likewise.
16411 * gnulib/argp-namefrob.h: Likewise.
16412 * gnulib/argp-parse.c: Likewise.
16413 * gnulib/argp-pin.c: Likewise.
16414 * gnulib/argp-pv.c: Likewise.
16415 * gnulib/argp-pvh.c: Likewise.
16416 * gnulib/argp-version-etc.c: Likewise.
16417 * gnulib/argp-version-etc.h: Likewise.
16418 * gnulib/argp-xinl.c: Likewise.
16419 * gnulib/argp.h: Likewise.
16420
16421 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * kern/device.c (grub_device_iterate): Clear errors after failed
16424 opening device.
16425
16426 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16427
16428 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16429 returned by firmware.
16430
16431 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16432
16433 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16434 compilation on coreboot and qemu
16435
16436 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16437
16438 * include/multiboot2.h: Resync with spec.
16439
16440 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 Multiboot2 tag support
16443
16444 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16445 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16446 Remove loader/multiboot_loader.c.
16447 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16448 (grub_multiboot2_real_boot): Likewise.
16449 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16450 (grub_get_multiboot_mmap_count): New proto.
16451 (grub_fill_multiboot_mmap): Likewise.
16452 (grub_multiboot_set_video_mode): Likewise.
16453 (grub_multiboot_set_console): Likewise.
16454 (grub_multiboot_load): Likewise.
16455 (grub_multiboot_load_elf): Likewise.
16456 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16457 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16458 * include/multiboot.h: Resynced with specification.
16459 * include/multiboot2.h: Resynced with specification.
16460 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16461 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16462 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16463 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16464 users updated.
16465 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16466 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16467 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16468 Removed.
16469 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16470 Moved from here...
16471 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16472 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16473 Moved from here...
16474 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16475 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16476 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16477 All users updated.
16478 * loader/i386/multiboot_mbi2.c: New file.
16479
16480 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16481
16482 Resync with gnulib.
16483
16484 * Makefile.in (GNULIB_CFLAGS): New variable.
16485 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16486 (grub_script_check_CFLAGS): New variable.
16487 * gnulib/alloca.h: Resync with gnulib.
16488 * gnulib/error.c: Likewise.
16489 * gnulib/error.h: Likewise.
16490 * gnulib/fnmatch.c: Likewise.
16491 * gnulib/fnmatch_loop.c: Likewise.
16492 * gnulib/getdelim.c: Likewise.
16493 * gnulib/getline.c: Likewise.
16494 * gnulib/getopt.c: Likewise.
16495 * gnulib/getopt1.c: Likewise.
16496 * gnulib/getopt_int.h: Likewise.
16497 * gnulib/gettext.h: Likewise.
16498 * gnulib/progname.c: Likewise.
16499 * gnulib/progname.h: Likewise.
16500
16501 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16502
16503 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16504 which is the case with --disabled-nls.
16505
16506 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16507 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16508 * util/misc.c: Likewise.
16509 * util/mkisofs/mkisofs.c: Likewise.
16510 * util/mkisofs/mkisofs.h: Likewise.
16511
16512 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16513
16514 Simplify Apple CC support.
16515
16516 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16517 Add 0 byte at the end not to have a symbol with empty target.
16518 * mmap/i386/pc/mmap_helper.S: Likewise.
16519 * genmk.rb: Ignore errors 2030 and 2050.
16520 * kern/i386/pc/startup.S: Use LOCAL when possible.
16521
16522 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16523
16524 Testcase and the fix for final semicolon on cmdline.
16525
16526 * tests/grub_script_final_semicolon.in: New testcase.
16527 * conf/tests.rmk: Rules for the new testcase.
16528 * script/parser.y: Grammar fix.
16529
16530 2010-03-26 BVK Chaitanya <bvk@localhost>
16531
16532 Blank lines testcase for GRUB script.
16533
16534 * tests/grub_script_blanklines.in: New testcase.
16535 * conf/tests.rmk: Rules for the new testcase.
16536
16537 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 Don't use __FILE__.
16540
16541 * genmk.rb: Add -DGRUB_FILE to all C targets.
16542 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16543 * include/grub/list.h: Likewise.
16544 * include/grub/misc.h: Likewise.
16545 * include/grub/mm.h: Likewise.
16546 * include/grub/test.h: Likewise.
16547 * kern/mm.c: Likewise.
16548 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16549
16550 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Sunpc partitions support.
16553
16554 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16555 (grub_fstest_SOURCES): Likewise.
16556 (pkglib_MODULES): Add part_sunpc.mod.
16557 (part_sunpc_mod_SOURCES): New variable.
16558 (part_sunpc_mod_CFLAGS): Likewise.
16559 (part_sunpc_mod_LDFLAGS): Likewise.
16560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16561 * partmap/sunpc.c: New file.
16562
16563 2010-03-26 BVK Chaitanya <bvk@localhost>
16564
16565 For loop support to GRUB script.
16566
16567 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16568 (grub_script_create_cmdfor): New function prototype.
16569 (grub_script_execute_cmdfor): New function prototype.
16570 * script/execute.c (grub_script_execute_cmdfor): New function.
16571 * script/parser.y (command): New for command.
16572 (forcmd): New grammar rule.
16573 * script/script.c (grub_script_create_cmdfor): New function.
16574 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16575 function.
16576 * tests/grub_script_for1.in: New testcase.
16577 * conf/tests.rmk: Rules for new testcase.
16578
16579 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16580
16581 Nested partitions
16582
16583 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16584 'partition' is NULL, grub_partition_get_start already does that.
16585 * commands/loadenv.c (check_blocklists): Likewise.
16586 (write_blocklists): Likewise.
16587 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16588 (grub_fstest_SOURCES): Likewise.
16589 (pkglib_MODULES): Add part_bsd.mod.
16590 (part_bsd_mod_SOURCES): New variable.
16591 (part_bsd_mod_CFLAGS): Likewise.
16592 (part_bsd_mod_LDFLAGS): Likewise.
16593 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16594 (grub_emu_SOURCES): Likewise.
16595 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16596 * include/grub/bsdlabel.h: New file.
16597 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16598 'get_name'.
16599 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16600 (grub_partition_map_list): New variable.
16601 (grub_partition_map_register): Inline.
16602 (grub_partition_map_unregister): Likewise.
16603 (FOR_PARTITION_MAPS): New macro.
16604 (grub_partition_map_iterate): Removed.
16605 (grub_partition_get_start): Handle nested partitions.
16606 * include/grub/msdos_partition.h: Remove bsd-related entries.
16607 (grub_pc_partition): Remove.
16608 * kern/disk.c (grub_disk_close): Free partition data.
16609 (grub_disk_adjust_range): Handle nested partitions.
16610 * kern/partition.c (grub_partition_map_probe): New function.
16611 (grub_partition_probe): Parse name to number, handle subpartitions.
16612 (get_partmap): New function.
16613 (grub_partition_iterate): Handle subpartitions.
16614 (grub_partition_get_name): Likewise.
16615 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16616 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16617 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16618 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16619 Set 'number'.
16620 (acorn_partition_map_probe): Remove.
16621 (acorn_partition_map_get_name): Likewise.
16622 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
16623 Set 'number'.
16624 Set 'index' to 0 since there can be only one partition entry per sector.
16625 (amiga_partition_map_probe): Remove.
16626 (amiga_partition_map_get_name): Likewise.
16627 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
16628 Set 'number'.
16629 Set 'offset' and 'index' to real positions of partitions.
16630 (apple_partition_map_probe): Remove.
16631 (apple_partition_map_get_name): Likewise.
16632 * partmap/bsdlabel.c: New file.
16633 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
16634 Set 'number'.
16635 Allocate 'data' so it can be correctly freed.
16636 Set 'index' to offset inside sector.
16637 (gpt_partition_map_probe): Remove.
16638 (gpt_partition_map_get_name): Likewise.
16639 * partmap/msdos.c (grub_partition_parse): Remove.
16640 (pc_partition_map_iterate): Don't force raw access.
16641 Set 'number'.
16642 Make 'ext_offset' a local variable.
16643 (pc_partition_map_probe): Remove.
16644 (pc_partition_map_get_name): Remove.
16645 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
16646 Set 'number'.
16647 (sun_partition_map_probe): Remove.
16648 (sun_partition_map_get_name): Likewise.
16649 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
16650 (grub_pcpart_type): Likewise.
16651 * util/hostdisk.c (open_device): Handle new numbering scheme.
16652 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
16653 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
16654 * util/grub-probe.c (probe_partmap): Handle nested paritions.
16655 * util/grub-install.in: Insert all subpartition modules.
16656 * util/ieee1275/grub-install.in: Likewise.
16657
16658 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
16659
16660 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
16661 grammar.
16662
16663 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
16664
16665 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
16666
16667 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
16668
16669 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
16670 match where 'make install' puts them.
16671 * util/i386/efi/grub-install.in: Likewise.
16672
16673 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
16674
16675 * .bzrignore: Add gentrigtables, grub-script-check,
16676 grub_script_check_init.c, grub_script_check_init.h, and
16677 trigtables.c.
16678
16679 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
16680
16681 * kern/parser.c: Indented.
16682
16683 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
16686
16687 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
16690 alpha_mask_size == 0 case.
16691
16692 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
16693
16694 GRUB shell lexer and parser improvements.
16695
16696 * conf/any-emu.rmk: Build rule updates.
16697 * conf/common.rmk: Likewise.
16698 * conf/i386-coreboot.rmk: Likewise.
16699 * conf/i386-efi.rmk: Likewise.
16700 * conf/i386-ieee1275.rmk: Likewise.
16701 * conf/i386-pc.rmk: Likewise.
16702 * conf/powerpc-ieee1275.rmk: Likewise.
16703 * conf/x86_64-efi.rmk: Likewise.
16704
16705 * configure.ac: Configure check for flex.
16706
16707 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
16708 types.
16709 (grub_lexer_param): Struct member updates.
16710 (grub_parser_param): Likewise.
16711 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
16712 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
16713 (grub_script_lexer_init): Prototype update.
16714 (grub_script_lexer_record_start): Likewise.
16715 (grub_script_lexer_record_stop): Likewise.
16716 (grub_script_lexer_yywrap): New function prototype.
16717 (grub_script_lexer_fini): Likewise.
16718 (grub_script_execute_argument_to_string): Removed by...
16719 (grub_script_execute_argument_to_argv): ...better version.
16720
16721 * script/execute.c (ROUND_UPTO): New macro.
16722 (grub_script_execute_cmdline): Out of memory fixes.
16723 (grub_script_execute_menuentry): Likewise.
16724 (grub_script_execute_argument_to_string): Removed. Update all
16725 users by...
16726 (grub_script_execute_argument_to_argv): ...better version.
16727 * script/function.c (grub_script_function_create): Use
16728 grub_script_execute_argument_to_argv instead of
16729 grub_script_execute_argument_to_string.
16730
16731 * script/lexer.c (check_varstate): Removed.
16732 (check_textstate): Removed.
16733 (grub_script_lexer_record_start): Likewise.
16734 (grub_script_lexer_record_stop): Likewise.
16735 (recordchar): Replaced with...
16736 (grub_script_lexer_record): ...new function.
16737 (nextchar): Removed.
16738 (grub_script_lexer_init): Rewritten.
16739 (grub_script_yylex): Rewritten.
16740 (append_newline): New function.
16741 (grub_script_lexer_yywrap): New function.
16742 (grub_script_lexer_fini): New function.
16743 (grub_script_yyerror): Sets error flag.
16744
16745 * script/yylex.l: New file.
16746 (grub_lexer_yyfree): Wrapper for flex yyffre.
16747 (grub_lexer_yyalloc): Likewise.
16748 (grub_lexer_yyrealloc): Likewise.
16749 * script/parser.y: Refactored.
16750
16751 * script/script.c (grub_script_arg_add): Out of memory fixes.
16752 (grub_script_add_arglist): Likewise.
16753 (grub_script_create_cmdline): Likewise.
16754 (grub_script_create_cmdmenu): Likewise.
16755 (grub_script_add_cmd): Likewise.
16756 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
16757 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
16758 unnecessary code.
16759
16760 * tests/grub_script_echo1.in: New testcase.
16761 * tests/grub_script_vars1.in: New testcase.
16762 * tests/grub_script_echo_keywords.in: New testcase.
16763
16764 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16765
16766 Remove some redundancy in build system.
16767
16768 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
16769 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
16770 (TARGET_LDFLAGS): Add -nostdlib.
16771 (TARGET_IMG_LDFLAGS): Likewise.
16772 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
16773 anything since mmap isn't available.
16774 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
16775 Add util/time.c.
16776 (pkglib_MODULES): Remove reboot.mod.
16777 (reboot_mod_SOURCES): Removed.
16778 (reboot_mod_CFLAGS): Likewise.
16779 (reboot_mod_LDFLAGS): Likewise.
16780 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
16781 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
16782 (DEFSYMFILES): Add kernel_syms.lst.
16783 (kernel_img_HEADERS): Add common headers.
16784 (symlist.c): New target.
16785 (kernel_syms.lst): Likewise.
16786 (pkglib_MODULES): Add memdisk.mod.
16787 (memdisk_mod_SOURCES): New variable.
16788 (memdisk_mod_CFLAGS): Likewise.
16789 (memdisk_mod_LDFLAGS): Likewise.
16790 (pkglib_MODULES): Add reboot.mod.
16791 (reboot_mod_SOURCES): New variable.
16792 (reboot_mod_CFLAGS): Likewise.
16793 (reboot_mod_LDFLAGS): Likewise.
16794 (pkglib_MODULES): Add date.mod.
16795 (date_mod_SOURCES): New variable.
16796 (date_mod_CFLAGS): Likewise.
16797 (date_mod_LDFLAGS): Likewise.
16798 (pkglib_MODULES): Add datehook.mod.
16799 (datehook_mod_SOURCES): New variable.
16800 (datehook_mod_CFLAGS): Likewise.
16801 (datehook_mod_LDFLAGS): Likewise.
16802 (pkglib_MODULES): Add lsmmap.mod.
16803 (lsmmap_mod_SOURCES): New variable.
16804 (lsmmap_mod_CFLAGS): Likewise.
16805 (lsmmap_mod_LDFLAGS): Likewise.
16806 (pkglib_MODULES): Add boot.mod.
16807 (boot_mod_SOURCES): New variable.
16808 (boot_mod_CFLAGS): Likewise.
16809 (boot_mod_LDFLAGS): Likewise.
16810 * conf/i386-coreboot.rmk: Removed redundant parts.
16811 * conf/i386-ieee1275.rmk: Likewise.
16812 * conf/i386-pc.rmk: Likewise.
16813 * conf/mips-yeeloong.rmk: Likewise.
16814 * conf/mips.rmk: Likewise.
16815 * conf/powerpc-ieee1275.rmk: Likewise.
16816 * conf/sparc64-ieee1275.rmk: Likewise.
16817 * conf/x86_64-efi.rmk: Likewise.
16818 * conf/i386-coreboot.rmk: Moved qemu parts ..
16819 * conf/i386-qemu.rmk: ... here
16820 * conf/i386-efi.rmk: Moved common parts to...
16821 * conf/x86-efi.rmk: ... here.
16822 * conf/i386.rmk: Added modules common to all x86 variants.
16823 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
16824 * disk/memdisk.c: Remove grub/machine/kernel.h.
16825 * gensymlist.sh.in: Include symbol.h.
16826 * hook/datehook.c: Correct module name.
16827 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
16828 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
16829 * include/grub/i386/efi/serial.h: New file.
16830 * include/grub/x86_64/efi/serial.h: Likewise.
16831 * util/time.c: Likewise.
16832 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
16833
16834 2010-03-14 Colin King <colin.king@ubuntu.com>
16835 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
16836
16837 Shrink the pre-partition-table part of boot.img by eight bytes.
16838
16839 * boot/i386/pc/boot.S (ERR): New macro.
16840 (chs_mode): Use ERR.
16841 (geometry_error): Likewise.
16842 (hd_probe_error): Remove. This is only used once, so we wrwite
16843 it inline instead.
16844 (read_error): Instead of printing read_error_string, just set up
16845 %si and fall through to ...
16846 (error_message): ... this new function, also used by ERR.
16847
16848 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
16849
16850 Speed up consecutive hostdisk operations on the same device.
16851
16852 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
16853 (grub_util_biosdisk_open): Initialise disk->data.
16854 (struct linux_partition_cache): New structure.
16855 (linux_find_partition): Cache partition start positions; these are
16856 expensive to compute on every read and write.
16857 (open_device): Cache open file descriptor in disk->data, so that we
16858 don't have to reopen it and flush the buffer cache for consecutive
16859 operations on the same device.
16860 (grub_util_biosdisk_close): New function.
16861 (grub_util_biosdisk_dev): Set `close' member.
16862
16863 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
16864 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
16865 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16866 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16867 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
16868
16869 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16870
16871 Compile parts of grub-emu as modules.
16872
16873 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
16874 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
16875 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
16876 (all-local): Add $(GRUB_EMU).
16877 (install-local): Install $(GRUB_EMU).
16878 (uninstall): Uninstall $(GRUB_EMU).
16879 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
16880 * kern/dl.c: Likewise.
16881 * commands/sleep.c: Not include machine/time.h.
16882 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
16883 (COMMON_CFLAGS): Likewise.
16884 (sbin_UTILITIES): Remove grub-emu.
16885 (grub_emu_SOURCES): Removed.
16886 (kernel_img_RELOCATABLE): New variable.
16887 (pkglib_PROGRAMS): Add kernel.img.
16888 (kernel_img_SOURCES): New variable
16889 (kernel_img_CFLAGS): Likewise.
16890 (kernel_img_LDFLAGS): Likewise.
16891 (TARGET_NO_STRIP): Likewise.
16892 (TARGET_NO_DYNAMIC_MODULES): Likewise.
16893 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
16894 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
16895 (grub-emu): New target.
16896 (GRUB_EMU): New variable.
16897 * configure.ac: Whitelist -emu as possible x86_64 architecture.
16898 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
16899 * loader/xnu.c: Likewise.
16900 * include/grub/pci.h: Likewise.
16901 * genemuinit.sh: New file.
16902 * genemuinitheader.sh: Likewise.
16903 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
16904 Support TARGET_NO_DYNAMIC_MODULES.
16905 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
16906 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
16907 * disk/loopback.c: Likewise.
16908 * font/font_cmd.c: Likewise.
16909 * partmap/acorn.c: Likewise.
16910 * partmap/amiga.c: Likewise.
16911 * partmap/apple.c: Likewise.
16912 * partmap/gpt.c: Likewise.
16913 * partmap/msdos.c: Likewise.
16914 * partmap/sun.c: Likewise.
16915 * parttool/msdospart.c: Likewise.
16916 * term/gfxterm.c: Likewise.
16917 * video/bitmap.c: Likewise.
16918 * video/readers/jpeg.c: Likewise.
16919 * video/readers/png.c: Likewise.
16920 * video/readers/tga.c: Likewise.
16921 * video/video.c: Likewise.
16922 * util/grub-emu.c (read_command_list): Removed.
16923 (main): Don't call util_init_nls.
16924 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
16925 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
16926
16927 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16928
16929 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
16930 date.mod, datehook.mod.
16931 (datetime_mod_SOURCES): New variable.
16932 (datetime_mod_CFLAGS): Likewise.
16933 (datetime_mod_LDFLAGS): Likewise.
16934 (date_mod_SOURCES): Likewise.
16935 (date_mod_CFLAGS): Likewise.
16936 (date_mod_LDFLAGS): Likewise.
16937 (datehook_mod_SOURCES): Likewise.
16938 (datehook_mod_CFLAGS): Likewise.
16939 (datehook_mod_LDFLAGS): Likewise.
16940 * conf/sparc64-ieee1275.rmk: Likewise.
16941 * lib/ieee1275/datetime.c: New file.
16942
16943 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
16946 (ieee1275_fb_mod_SOURCES): New variable.
16947 (ieee1275_fb_mod_CFLAGS): Likewise.
16948 (ieee1275_fb_mod_LDFLAGS): Likewise.
16949 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
16950 New proto.
16951 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
16952 (HEAP_MAX_ADDR): Likewise.
16953 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16954 type.
16955 Correct stop condition.
16956 (grub_ieee1275_devices_iterate): New function.
16957 * video/ieee1275.c: New file.
16958
16959 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16960
16961 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16962
16963 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16964 as scratch.
16965 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16966 SCRATCH_PAD_DISKBOOT as scratch.
16967 (bootit): Pass Openfirmware pointer in %o4.
16968 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16969 of 0x200000.
16970 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16971 with util/grub-mkrawimage.c.
16972 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16973 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16974 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16975 (grub_aout_load) [GRUB_UTIL]: Likewise.
16976 * include/grub/kernel.h (grub_modules_get_end): New proto.
16977 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16978 (SCRATCH_PAD_BOOT): New definition.
16979 (SCRATCH_PAD_DISKBOOT): Likewise.
16980 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16981 * include/grub/sparc64/ieee1275/ieee1275.h
16982 (grub_ieee1275_original_stack): New variable
16983 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16984 New definition
16985 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16986 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16987 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16988 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16989 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16990 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16991 (grub_platform_image_format_t): New type.
16992 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16993 * kern/main.c (grub_modules_get_end)
16994 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16995 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16996 (codestart): Switch stacks.
16997 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16998 variable.
16999 (grub_heap_init): Use grub_modules_get_end.
17000 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
17001 stack.
17002 * util/grub-mkrawimage.c (generate_image): Support sparc64.
17003 (main): Likewise.
17004 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
17005
17006 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
17007
17008 * util/grub-mkrescue.in: Base ISO UUID on UTC.
17009
17010 2010-03-08 Matt Kraai <kraai@ftbfs.org>
17011
17012 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
17013 bug #559005).
17014
17015 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
17016
17017 * genmoddep.awk: Output all missing symbols and not only first.
17018
17019 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17020
17021 * NEWS: Put the date of 1.98 release.
17022
17023 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17024
17025 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17026 ft2build.h.
17027
17028 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17029
17030 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17031 completition in the middle of string.
17032
17033 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * util/grub-mkrescue.in: Use mktemp with explicit template.
17036
17037 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17040
17041 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17044 right pointer.
17045
17046 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17047
17048 Fix FreeBSD compilation.
17049
17050 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17051 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17052
17053 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17054
17055 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17056
17057 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17058
17059 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17060
17061 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17064
17065 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17066
17067 Support relative image path in theme file.
17068
17069 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17070 (image_set_property): Handle theme_dir and relative path.
17071
17072 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17073
17074 * configure.ac: Alias amd64 to x86_64.
17075
17076 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17077
17078 * NEWS: mention multiboot on EFI.
17079
17080 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17081
17082 * kern/main.c (grub_load_modules): Handle errors from init functions of
17083 embeded modules.
17084
17085 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17086
17087 * normal/autofs.c (autoload_fs_module): Handle errors.
17088
17089 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17090
17091 Disable linux.mod on qemu-mips since it's not functional and leads
17092 to compilation failure.
17093
17094 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17095 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17096 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17097 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17098 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17099 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17100 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17101 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17102 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17103 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17104 Reported by: BVK Chaitanya
17105
17106 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17107
17108 * INSTALL: Add gettext as a dependency and add qemu to a new section
17109 "Prerequisites for make-check".
17110
17111 2010-03-04 Christian Franke <franke@computer.org>
17112
17113 * util/grub-pe2elf.c: Add missing include "progname.h".
17114
17115 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * normal/crypto.c (read_crypto_list): Fix a typo.
17118 Reported by: Seth Goldberg.
17119
17120 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17121
17122 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
17123 Reported by: Seth Goldberg.
17124
17125 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17128 ascii.bitmaps.
17129
17130 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17131
17132 * genmk.rb: Remove terminal*.lst in make clean.
17133 Reported by: Seth Goldberg.
17134
17135 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17136
17137 * util/i386/efi/grub-install.in: Copy gettext files.
17138
17139 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17140
17141 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17142
17143 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 Wait for user entry basing on presence of output rather than on errors.
17146
17147 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17148 (grub_install_newline_hook): Likewise.
17149 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17150 * normal/menu.c (show_menu): Check line_counter to determine presence
17151 of output.
17152 * normal/term.c (grub_normal_line_counter): New variable.
17153 (grub_normal_get_line_counter): New function.
17154 (grub_install_newline_hook): Likewise.
17155
17156 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17157
17158 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17159
17160 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 * configure.ac: Update version to 1.98.
17163
17164 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17165
17166 * util/grub.d/10_linux.in (linux_entry): Don't default to
17167 gfxpayload=keep if Linux doesn't support video handover.
17168
17169 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17170
17171 Don't compile video modules on yeeloong since video subsystem is part
17172 of kernel.
17173
17174 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17175 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17176 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17177 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17178 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17179 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17180 * include/grub/bitmap_scale.h: Likewise.
17181 * include/grub/bufio.h: Likewise.
17182 * include/grub/font.h: Likewise.
17183 * include/grub/gfxterm.h: Likewise.
17184 * include/grub/video.h: Likewise.
17185 * include/grub/vbe.h: Don't include video_fb.h.
17186 * video/i386/pc/vbe.c: Include video_fb.h.
17187 * commands/i386/pc/vbetest.c: Include video.h.
17188
17189 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17190
17191 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17192 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17193 default entry if GRUB_SAVEDEFAULT=true. This allows using
17194 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17195 saving a new default on every boot.
17196
17197 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17198
17199 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17200 * normal/term.c (read_terminal_list): Likewise.
17201 * normal/main.c (grub_normal_init_page): Likewise.
17202 (grub_normal_read_line_real): Likewise.
17203
17204 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17207 memory leak.
17208 Reported by: Seth Goldberg.
17209
17210 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17211
17212 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17213 duplicate declaration of `start'.
17214
17215 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17216
17217 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17218 filename.
17219 Reported by: Georgy Buranov
17220
17221 2010-02-20 Carles Pina i Estany <carles@pina.cat>
17222
17223 * util/grub-mkrawimage.c (usage): Change string formatting to
17224 improve gettext.
17225
17226 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17227
17228 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17229 backspace keys.
17230
17231 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17232
17233 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17234 Reported by: Michael Suchanek.
17235
17236 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
17237
17238 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17239 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17240
17241 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17242
17243 Remove any reference to non-free fonts.
17244
17245 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17246 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17247 uses non-free components.
17248 * font/font.c (grub_font_get_name): Remove example name.
17249 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17250 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17251 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17252 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17253
17254 2010-02-16 Georgy Buranov <gburanov@gmail.com>
17255
17256 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17257
17258 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17259
17260 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17261 Double divisor.
17262 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17263 features.
17264 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17265
17266 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17267
17268 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17269
17270 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17271
17272 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17273 * docs/grub.texi (Command-line and menu entry commands): Document play
17274 command.
17275
17276 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17277
17278 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17279 parse arguments as inline tempo and notes. Move code for playing notes
17280 to...
17281 (play): ... new function.
17282
17283 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17284
17285 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17286 grub_uint16_t instead of short.
17287 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17288 disk from little endian to cpu endianness.
17289
17290 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17291
17292 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17293 GRUB_TICKS_PER_SECOND instead of 120.
17294
17295 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17296
17297 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17298 escape sequence after \e.
17299
17300 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17301
17302 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17303 non-ASCII characters.
17304
17305 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17306
17307 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17308 set root in single quotes to prevent \, from being unescaped.
17309
17310 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 Prevent unknown commands from stopping menuentry execution.
17313
17314 * script/execute.c (grub_script_execute_cmdline): Print error after
17315 unknown command.
17316
17317 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17318
17319 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17320 Reported by: Pavel Pisa.
17321
17322 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17323
17324 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17325
17326 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17327
17328 Merge grub_ieee1275_map_physical into grub_map and rename to
17329 grub_ieee1275_map
17330
17331 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17332 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17333 Remove.
17334 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17335 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17336 necessary.
17337 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17338
17339 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17340
17341 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17342 opening and not after.
17343
17344 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17345
17346 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17347 constants.
17348
17349 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17350
17351 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17352 (alloc_phys): Use ALIGN_UP instead of align_addr.
17353
17354 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17355
17356 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17357
17358 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17359
17360 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17361
17362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17363
17364 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17365 verbose dprintf.
17366
17367 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 Fix over-4GiB seek on sparc64.
17370
17371 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17372 Replace pos_i and pos_lo with pos. All users updated.
17373 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17374 New constant.
17375 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17376 Likewise.
17377 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17378 and pos_lo.
17379
17380 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * util/grub-mkrawimage.c (main): Call set_program_name.
17383
17384 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17385
17386 Properly align 64-bit targets.
17387
17388 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17389 (generate_image): Use ALIGN_ADDR.
17390
17391 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17392
17393 Properly create cross-endian images.
17394
17395 * include/grub/types.h (grub_host_to_target_addr): New macro
17396 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17397
17398 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17399
17400 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17401
17402 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17403
17404 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17405
17406 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17407 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17408 (grub_linux_boot): Divide by 64K when on VESA.
17409
17410 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17411
17412 Support GRUB_GFXPAYLOAD_LINUX.
17413
17414 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17415 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17416
17417 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17418
17419 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17420 to show messages instead of discarding them.
17421 Process errors after executing command and not before. Keep old method
17422 too as precaution.
17423
17424 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 * configure.ac: Check for ft2build.h.
17427
17428 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17429
17430 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17431
17432 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17433
17434 * genkernsyms.sh.in: Use TARGET_CC.
17435
17436 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
17437
17438 * NEWS: Update.
17439
17440 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17441
17442 * include/grub/multiboot2.h: Remove leftover file.
17443 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17444 * include/grub/partition.h [GRUB_UTIL]: Likewise.
17445
17446 2010-02-07 Yves Blusseau <blusseau@zetam.org>
17447
17448 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
17449
17450 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17451
17452 Fix warnings in grub-emu when compiling with maximum warning options.
17453
17454 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17455 (grub_arch_modules_addr): Return 0 and not NULL.
17456 * util/misc.c (ENABLE_RELOCATABLE): New definition.
17457 (xstrdup): Use newstr instead of dup.
17458 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17459 of disk to dsk to avoid shadowing.
17460 (find_free_slot): Fix prototype.
17461 * util/getroot.c (grub_util_is_dmraid): Make static.
17462 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17463 Add missing prototype.
17464 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
17465
17466 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17467
17468 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17469 appropriately.
17470
17471 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17472
17473 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17474 code out.
17475
17476 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17477
17478 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17479 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17480 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17481 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17482 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17483 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17484
17485 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * include/grub/err.h (grub_err_printf): Don't export.
17488
17489 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17492
17493 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17496 * kern/misc.c (grub_gettext_dummy): Make static.
17497
17498 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17499
17500 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17501 by non-valid ones.
17502 * kern/term.c (grub_putchar): Likewise.
17503
17504 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17507 buggy hook call and memory leak.
17508
17509 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17510
17511 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17512
17513 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17516
17517 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17520 modevar.
17521 Return grub_errno on allocation error.
17522
17523 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17524
17525 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17526
17527 2010-02-06 Yves Blusseau <blusseau@zetam.org>
17528
17529 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17530 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17531
17532 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17533
17534 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17535 non-pxe disk.
17536 (grub_pxefs_open): Likewise.
17537
17538 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17539
17540 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17541 * util/grub.d/10_kfreebsd.in: Likewise.
17542 * util/grub.d/10_linux.in: Likewise.
17543
17544 2010-02-06 Colin D Bennett <colin@gibibit.com>
17545
17546 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17547 (gfxmenu_mod_SOURCES): New variable.
17548 (gfxmenu_mod_CFLAGS): Likewise.
17549 (gfxmenu_mod_LDFLAGS): Likewise.
17550 * include/grub/term.h (grub_term_set_current_output): Declare
17551 argument as const.
17552 * docs/gfxmenu-theme-example.txt: New file.
17553 * gfxmenu/gfxmenu.c: Likewise.
17554 * gfxmenu/gui_box.c: Likewise.
17555 * gfxmenu/gui_canvas.c: Likewise.
17556 * gfxmenu/gui_circular_progress.c: Likewise.
17557 * gfxmenu/gui_image.c: Likewise.
17558 * gfxmenu/gui_label.c: Likewise.
17559 * gfxmenu/gui_list.c: Likewise.
17560 * gfxmenu/gui_progress_bar.c: Likewise.
17561 * gfxmenu/gui_string_util.c: Likewise.
17562 * gfxmenu/gui_util.c: Likewise.
17563 * gfxmenu/icon_manager.c: Likewise.
17564 * gfxmenu/model.c: Likewise.
17565 * gfxmenu/named_colors.c: Likewise.
17566 * gfxmenu/theme_loader.c: Likewise.
17567 * gfxmenu/view.c: Likewise.
17568 * gfxmenu/widget-box.c: Likewise.
17569 * include/grub/gfxmenu_model.h: Likewise.
17570 * include/grub/gfxmenu_view.h: Likewise.
17571 * include/grub/gfxwidgets.h: Likewise.
17572 * include/grub/gui.h: Likewise.
17573 * include/grub/gui_string_util.h: Likewise.
17574 * include/grub/icon_manager.h: Likewise.
17575
17576 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17577
17578 Agglomerate scrolling in gfxterm.
17579
17580 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17581 (grub_virtual_screen_setup): Initialise 'total_screen'.
17582 (write_char): Split to ...
17583 (paint_char): ... this ...
17584 (write_char): ... and this.
17585 (paint_char): Handle delayed scrolling.
17586 (draw_cursor): Likewise.
17587 (scroll_up): Split to ...
17588 (real_scroll): ... this ...
17589 (scroll_up): ... and this.
17590 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17591 characters.
17592 (grub_gfxterm_refresh): Call real_scroll.
17593
17594 2010-02-06 Colin D Bennett <colin@gibibit.com>
17595
17596 * include/grub/misc.h (grub_iscntrl): New inline function.
17597 (grub_isalnum): Likewise.
17598 (grub_strtol): Likewise.
17599
17600 2010-02-06 Colin D Bennett <colin@gibibit.com>
17601
17602 * normal/menu_text.c (get_entry_number): Move from here ...
17603 * normal/menu.c (get_entry_number): ... moved here.
17604 * include/grub/menu.h (grub_menu_get_default_entry_index):
17605 New prototype.
17606 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17607 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17608 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17609 (grub_menu_viewer_should_return): Likewise.
17610 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17611 * normal/menu_text.c (run_menu): Enable menu switching.
17612 * normal/menu_viewer.c (should_return): New variable.
17613 (menu_viewer_changed): Likewise.
17614 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17615 (grub_menu_viewer_should_return): New function.
17616 (menuviewer_write_hook): Likewise.
17617 (grub_menu_viewer_init): Likewise.
17618
17619 2010-02-06 Colin D Bennet <colin@gibibit.com>
17620 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17621
17622 Support for gfxterm in a window.
17623
17624 * include/grub/gfxterm.h: New file.
17625 * include/grub/video.h (struct grub_video_rect): New declaration.
17626 (grub_video_rect_t): Likewise.
17627 * term/gfxterm.c (struct grub_gfxterm_window): New type.
17628 (refcount): New variable.
17629 (render_target): Likewise.
17630 (window): Likewise.
17631 (repaint_callback): Likewise.
17632 (grub_virtual_screen_setup): Use 'render_target'.
17633 (init_window): New function.
17634 (grub_gfxterm_init_window): Likewise.
17635 (grub_gfxterm_init): Check reference counter.
17636 Use init_window.
17637 (destroy_window): New function.
17638 (grub_gfxterm_destroy_window): Likewise.
17639 (grub_gfxterm_fini): Check reference counter.
17640 Use destroy_window.
17641 (redraw_screen_rect): Restore viewport.
17642 Use 'render_target' and 'window'.
17643 Call 'repaint_callback'.
17644 (write_char): Use 'render_target'.
17645 (draw_cursor): Likewise.
17646 (scroll_up): Restore viewport.
17647 Use 'render_target' and 'window'.
17648 Call 'repaint_callback'.
17649 (grub_gfxterm_cls): Likewise.
17650 (grub_gfxterm_refresh): Use 'window'.
17651 (grub_gfxterm_set_repaint_callback): New function.
17652 (grub_gfxterm_background_image_cmd): Use 'window'.
17653 (grub_gfxterm_get_term): New function.
17654 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
17655
17656 2010-02-06 Colin D Bennett <colin@gibibit.com>
17657
17658 Bitmap scaling support.
17659
17660 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
17661 (bitmap_scale_mod_SOURCES): New variable.
17662 (bitmap_scale_mod_CFLAGS): Likewise.
17663 (bitmap_scale_mod_LDFLAGS): Likewise.
17664 * include/grub/bitmap_scale.h: New file.
17665 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
17666 (background_image_cmd_options): New variable.
17667 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
17668 (cmd): Rename and change type to ...
17669 (background_image_cmd_handle): ... this. All users updated.
17670 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
17671 * video/bitmap_scale.c: New file.
17672
17673 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17674
17675 SDL support.
17676
17677 * Makefile.in (LIBSDL): New variable.
17678 (enable_grub_emu_sdl): Likewise.
17679 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
17680 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
17681 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
17682 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
17683 * util/sdl.c: New file.
17684
17685 2010-02-06 Colin D Bennett <colin@gibibit.com>
17686 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 Double buffering support.
17689
17690 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
17691 * include/grub/video.h: Update comment.
17692 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
17693 New type.
17694 (grub_video_fb_doublebuf_blit_init): New prototype.
17695 * term/gfxterm.c (scroll_up): Support double buffering.
17696 (grub_gfxterm_refresh): Likewise.
17697 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
17698 (grub_video_fb_doublebuf_blit_init): Likewise.
17699 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
17700 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
17701 'displayed_page', 'render_page' and 'update_screen'.
17702 (grub_video_vbe_fini): Free offscreen buffer.
17703 (doublebuf_pageflipping_commit): New function.
17704 (doublebuf_pageflipping_update_screen): Likewise.
17705 (doublebuf_pageflipping_init): Likewise.
17706 (double_buffering_init): Likewise.
17707 (grub_video_vbe_setup): Enable doublebuffering.
17708 (grub_video_vbe_swap_buffers): Implement.
17709 (grub_video_vbe_set_active_render_target): Handle double buffering.
17710 (grub_video_vbe_get_active_render_target): Likewise.
17711 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
17712 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
17713 (grub_video_vbe_enable_double_buffering): Likewise.
17714 (grub_video_vbe_swap_buffers): Use update_screen.
17715 (grub_video_set_mode): Use double buffering.
17716
17717 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17718
17719 * maintainance/gentrigtables.py: Remove.
17720 * lib/trig.c: Likewise.
17721
17722 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
17723
17724 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
17725 `trigtables.c'.
17726 (trigtables.c): New rule.
17727 (gentrigtables): Likewise.
17728 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
17729
17730 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17731
17732 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
17733 integer constants.
17734
17735 2010-02-06 Colin D Bennet <colin@gibibit.com>
17736
17737 Trigonometry support.
17738
17739 * include/grub/trig.h: New file.
17740 * lib/trig.c: Likewise.
17741 * maintainance/gentrigtables.py: Likewise.
17742 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
17743 (trig_mod_SOURCES): New variable.
17744 (trig_mod_CFLAGS): Likewise.
17745 (trig_mod_LDFLAGS): Likewise.
17746
17747 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
17750 disk devices.
17751
17752 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17753
17754 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
17755 error.
17756
17757 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 * util/hostdisk.c (open_device): Don't use partition device when reading
17760 before the partition.
17761 (grub_util_biosdisk_read): Don't read from partition and before the
17762 partition in single operation.
17763 (grub_util_biosdisk_write): Don't write to partition and before the
17764 partition in single operation.
17765
17766 2010-02-03 Torsten Landschoff <torsten@debian.org>
17767
17768 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17769 last sectors.
17770
17771 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17772
17773 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
17774 CDROM reads.
17775 (grub_biosdisk_write): Refuse to write to CDROM.
17776
17777 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17778
17779 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
17780
17781 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17782
17783 * font/font.c (find_glyph): Check that bmp_idx is available before
17784 using it.
17785 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
17786 with (font == NULL).
17787
17788 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
17789
17790 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
17791
17792 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
17793
17794 * include/grub/script_sh.h (sourcecode): Add const qualifier.
17795 * util/grub-script-check.c (getline): Fix empty lines case.
17796
17797 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
17798
17799 * Makefile.in (check): Exit with fail status when one of the tests
17800 fails.
17801 * tests/example_functional_test.c (example_test): Fix reversed assert.
17802 * tests/example_unit_test.c (example_test): Likewise.
17803
17804 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
17805
17806 * util/grub.d/10_linux.in: This script does not use any of the
17807 contents of gettext.sh, only the external command `gettext', so stop
17808 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
17809 the same prefix as GRUB.)
17810 * util/grub.d/10_kfreebsd.in: Likewise.
17811
17812 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17813
17814 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
17815 of the line.
17816
17817 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17818
17819 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17820 last sectors.
17821
17822 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17823
17824 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
17825 having a 4KiB and not 32KiB buffer size.
17826
17827 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17828
17829 * util/hostfs.c: Include `<errno.h>'.
17830 (grub_hostfs_read): Handle errors from fseeko() and fread().
17831
17832 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17833
17834 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
17835 loop when using read hooks on files whose size isn't sector-aligned.
17836
17837 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17838
17839 Remove unused parameter.
17840
17841 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
17842 (grub_iso9660_open): Remove initialization of `data->length'.
17843
17844 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17845
17846 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
17847 memleak conditions.
17848
17849 2010-01-27 Carles Pina i Estany <carles@pina.cat>
17850
17851 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
17852 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
17853
17854 2010-01-26 Carles Pina i Estany <carles@pina.cat>
17855
17856 * util/bin2h.c (usage): Fix warning (space after backslash).
17857
17858 2010-01-26 Carles Pina i Estany <carles@pina.cat>
17859
17860 * font/font.c: Include `grub/fontformat.h.
17861 Remove font file format constants.
17862 (grub_font_load): Use the new macros.
17863 * include/grub/fontformat.h: New file.
17864 * util/grub-mkfont.c: Include `grub/fontformat.c'.
17865 (write_font_pf2): Use the new macros.
17866
17867 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17868
17869 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
17870 does.
17871
17872 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17873
17874 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
17875
17876 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
17877 (_start): Macroify `0x7F'.
17878
17879 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
17880 (make_install_device): Use "(pxe)" as fallback prefix when booting
17881 via PXE.
17882
17883 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * configure.ac: Reset LIBS after check for libgcc symbols.
17886
17887 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
17888
17889 * util/hostdisk.c (open_device): Add trailing newline to debug
17890 message.
17891
17892 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
17893
17894 * configure.ac: Check for `limits.h'.
17895 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
17896
17897 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
17898
17899 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
17900 capitalize error strings.
17901
17902 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
17903
17904 * util/grub.d/10_hurd.in: Add a recovery mode.
17905
17906 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
17907
17908 * configure.ac: Check for libgcc symbols with -nostdlib.
17909
17910 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
17911
17912 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
17913
17914 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17915
17916 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
17917 stack since heap may be unavailable at that point.
17918 (grub_ofconsole_gotoxy): Likewise.
17919
17920 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17921
17922 * configure.ac: Check for _restgpr_14_x.
17923 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
17924 and _savegpr_* prototypes.
17925
17926 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
17927
17928 Use generic grub_reboot() for i386-efi.
17929
17930 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
17931 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
17932 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
17933
17934 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17935
17936 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
17937 presence of "prefix" variable as it breaks when normal.mod is
17938 embedded.
17939
17940 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
17943 stack since heap is unavailable at that point.
17944
17945 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17946
17947 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
17948 (grub_freebsd_bootinfo): Rewritten.
17949 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
17950
17951 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17952
17953 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17954
17955 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17956
17957 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17958 domain now.
17959
17960 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
17961
17962 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17963 around for handling "/" to the correct fix. Fix a memory leak. Use
17964 xstrdup instead of strdup.
17965
17966 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17969
17970 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17971
17972 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17973
17974 * font/font.c (struct grub_font): New member 'bmp_idx'.
17975 (font_init): Initialise 'bmp_idx'.
17976 (load_font_index): Fill 'bmp_idx'.
17977 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17978
17979 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17980
17981 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17982 unnecessary calls.
17983
17984 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17985
17986 Move context handling out of the kernel.
17987
17988 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17989 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17990 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17991 * conf/i386-efi.rmk: Likewise.
17992 * conf/i386-ieee1275.rmk: Likewise.
17993 * conf/i386-pc.rmk: Likewise.
17994 * conf/powerpc-ieee1275.rmk: Likewise.
17995 * conf/sparc64-ieee1275.rmk: Likewise.
17996 * conf/x86_64-efi.rmk: Likewise.
17997 * include/grub/env.h: Include grub/menu.h.
17998 (grub_env_var_type): Removed.
17999 (grub_env_var): Replaced field 'type' with 'global'.
18000 (grub_env_find): New prototype.
18001 (grub_env_context_open): Remove EXPORT_FUNC.
18002 (grub_env_context_close): Likewise.
18003 (grub_env_export): Likewise.
18004 (grub_env_set_data_slot): Removed.
18005 (grub_env_get_data_slot): Likewise.
18006 (grub_env_unset_data_slot): Likewise.
18007 (grub_env_unset_menu): New prototype.
18008 (grub_env_set_menu): Likewise.
18009 (grub_env_get_menu): Likewise.
18010 * include/grub/env_private.h: New file.
18011 * include/grub/normal.h (grub_context_init): New prototype.
18012 (grub_context_fini): Likewise.
18013 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
18014 * normal/context.c (grub_cmd_export): ... to here.
18015 * kern/env.c: Include env_private.h.
18016 (HASHSZ): Moved to include/grub/env_private.h.
18017 (grub_env_context): Likewise.
18018 (grub_env_sorted_var): Likewise.
18019 (current_context): Renamed from this ...
18020 (grub_current_context): ...to this. 'static' removed. All users updated.
18021 (grub_env_find): Removed 'static'.
18022 (grub_env_context_open): Moved to normal/context.c.
18023 (grub_env_context_close): Likewise.
18024 (grub_env_export): Likewise.
18025 (mangle_data_slot_name): Removed.
18026 (grub_env_set_data_slot): Likewise.
18027 (grub_env_get_data_slot): Likewise.
18028 (grub_env_unset_data_slot): Likewise.
18029 * kern/main.c (grub_set_root_dev): Don't export root.
18030 It will be done later.
18031 (grub_main): Don't export prefix.
18032 It will be done later.
18033 * normal/context.c: New file.
18034 * normal/main.c (free_menu): Use grub_env_unset_menu.
18035 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18036 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18037 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18038 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18039
18040 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18041
18042 setpci support.
18043
18044 * commands/setpci.c: New file.
18045 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18046 (setpci_mod_SOURCES): New variable.
18047 (setpci_mod_CFLAGS): Likewise.
18048 (setpci_mod_LDFLAGS): Likewise.
18049
18050 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18051
18052 Byte-addressable PCI configuration space.
18053
18054 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18055 dword address.
18056 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18057 GRUB_PCI_REG_CACHELINE.
18058 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18059 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18060 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18061 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18062 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18063 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18064 grub_pci_make_address.
18065 (lock_rom_area): Likewise.
18066 * commands/lspci.c (grub_lspci_iter): Use macroses
18067 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18068 of grub_pci_make_address.
18069 * disk/ata.c (grub_ata_pciinit): Likewise.
18070 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18071 (GRUB_PCI_REG_VENDOR): Likewise.
18072 (GRUB_PCI_REG_DEVICE): Likewise.
18073 (GRUB_PCI_REG_COMMAND): Likewise.
18074 (GRUB_PCI_REG_STATUS): Likewise.
18075 (GRUB_PCI_REG_REVISION): Likewise.
18076 (GRUB_PCI_REG_CLASS): Likewise.
18077 (GRUB_PCI_REG_CACHELINE): Likewise.
18078 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18079 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18080 (GRUB_PCI_REG_BIST): Likewise.
18081 (GRUB_PCI_REG_ADDRESSES): Likewise.
18082 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18083 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18084 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18085 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18086 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18087 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18088 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18089 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18090 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18091 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18092 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18093 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18094 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18095 (GRUB_PCI_REG_MIN_GNT): Likewise.
18096 (GRUB_PCI_REG_MAX_LAT): Likewise.
18097 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18098 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18099 * video/efi_uga.c (find_framebuf): Likewise.
18100 * video/sm712.c (grub_video_sm712_setup): Likewise.
18101 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18102 space.
18103
18104 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18105
18106 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18107 can be reliably determined to be supported.
18108
18109 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18110
18111 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18112 that VESA is supported.
18113 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18114 supported.
18115
18116 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18119
18120 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18121
18122 * util/misc.c (make_system_path_relative_to_its_root): Work around
18123 special-casing of "/", as previous incarnation of this routine did.
18124
18125 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18126
18127 Fix any-emu compilation.
18128
18129 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18130 * grub_bin2h_SOURCES: New variable.
18131
18132 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18133
18134 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18135
18136 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18137
18138 * util/grub.d/00_header.in: Fix handling of locale_dir.
18139
18140 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18141
18142 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18143 as possible unifont location (Gentoo).
18144 Reported by: Alexander Brüning
18145
18146 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18147
18148 Don't try to generate lists for kernel.img.
18149
18150 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18151 (pkglib_MODULES): Remove kernel.img.
18152 (kernel_img_EXPORTS): Removed.
18153 (kernel_img_RELOCATABLE): New variable.
18154 * conf/x86_64-efi.rmk: Likewise.
18155 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18156
18157 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18158
18159 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18160 grub_xasprintf or grub_snprintf.
18161 (grub_vsprintf): Likewise.
18162 (grub_snprintf): New proto.
18163 (grub_vsnprintf): Likewise.
18164 (grub_xasprintf): Likewise.
18165 (grub_xvasprintf): Likewise.
18166 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18167 (grub_sprintf): Removed.
18168 (grub_vsnprintf): New function.
18169 (grub_snprintf): Likewise.
18170 (grub_xvasprintf): Likewise.
18171 (grub_xasprintf): Likewise.
18172 (grub_vsprintf): Renamed to ...
18173 (grub_vsnprintf_real): ...this. New argument max_len.
18174
18175 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18176
18177 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18178 fix grub-script-check warning.
18179
18180 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18181
18182 * include/grub/font.h (grub_font_load): Fix prototype.
18183
18184 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18185
18186 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18187
18188 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * include/grub/x86_64/at_keyboard.h: New file.
18191
18192 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * loader/mips/linux.c: Include missing grub/i18n.h.
18195
18196 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18197
18198 * normal/menu.c (notify_execution_failure): Clarify error message.
18199
18200 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18201
18202 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18203 return value (and revert all return statements). Update users.
18204
18205 2010-01-20 Dan Merillat <debian@dan.merillat.org>
18206
18207 * kern/device.c (grub_device_iterate): Allocate new part_ent
18208 structure based on sizeof (*p) rather than sizeof (p->next), to
18209 account for structure padding.
18210
18211 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18212 disk is NULL, which might happen for LVM physical volumes with no
18213 LVM signature.
18214
18215 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18216
18217 * loader/mips/linux.c (grub_cmd_initrd)
18218 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18219
18220 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18221
18222 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18223 (grub_video_video_init, grub_video_bitmap_init)
18224 (grub_font_manager_init, grub_term_gfxterm_init)
18225 (grub_at_keyboard_init): New extern declarations.
18226 (grub_machine_init): Initialize gfxterm and at_keyboard.
18227
18228 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18229
18230 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18231 `gfxterm.mod' into core image.
18232
18233 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18234 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18235 (kernel_img_FORMAT): Copy to ...
18236
18237 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18238 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18239 (kernel_img_FORMAT): ... here, and ...
18240
18241 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18242 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18243 (kernel_img_FORMAT): ... here.
18244
18245 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18246 and input (at_keyboard) terminals in kernel.
18247 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18248
18249 (pkglib_MODULES): Remove `pci.mod'.
18250 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18251 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18252 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18253 (at_keyboard_mod_LDFLAGS): Remove variables.
18254
18255 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
18256
18257 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18258
18259 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18260
18261 * include/grub/mips/libgcc.h: Only export symbols for functions
18262 that libgcc provides.
18263
18264 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 MIPS support.
18267
18268 * bus/bonito.c: New file.
18269 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18270 GRUB_PCI_NUM_DEVICES.
18271 * term/i386/pc/serial.c: Move to ...
18272 * term/serial.c: ... here. All users updated.
18273 * util/i386/pc/grub-mkimage.c: Move to ...
18274 * util/grub-mkrawimage.c: ... here. All users updated.
18275 * term/i386/pc/at_keyboard.c: Move to ...
18276 * term/at_keyboard.c: ... here. All users updated.
18277 * conf/mips-qemu-mips.rmk: New file.
18278 * conf/mips-yeeloong.rmk: Likewise.
18279 * conf/mips.rmk: Likewise.
18280 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18281 mipsel-qemu-mips.
18282 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18283 to port addresses.
18284 (grub_ata_pciinit): Support CS5536.
18285 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18286 * font/font_cmd.c (loadfont_command): Open file before passing it to
18287 grub_font_load.
18288 (pseudo_file_read): New function.
18289 (pseudo_file_close): Likewise.
18290 (pseudo_fs): New structure.
18291 (load_font_module): New function.
18292 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18293 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18294 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18295 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18296 * include/grub/i386/at_keyboard.h: Split into ...
18297 * include/grub/at_keyboard.h: ... this ...
18298 * include/grub/i386/at_keyboard.h: ... and this.
18299 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18300 New prototype.
18301 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18302 updated.
18303 (grub_elf64_size): Likewise.
18304 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18305 filename.
18306 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18307 * include/grub/i386/coreboot/serial.h: Rewritten.
18308 * include/grub/i386/ieee1275/serial.h: Include
18309 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18310 * include/grub/i386/pc/serial.h: Moved from here ...
18311 * include/grub/serial.h: ... to here. All users updated.
18312 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18313 (GRUB_PCI_NUM_BUS): Likewise.
18314 (GRUB_PCI_NUM_DEVICES): Likewise.
18315 (grub_pci_device_map_range): Add missing volatile keyword.
18316 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18317 * include/grub/mips/at_keyboard.h: New file.
18318 * include/grub/mips/cache.h: Likewise.
18319 * include/grub/mips/io.h: Likewise.
18320 * include/grub/mips/kernel.h: Likewise.
18321 * include/grub/mips/libgcc.h: Likewise.
18322 * include/grub/mips/pci.h: Likewise.
18323 * include/grub/mips/qemu-mips/boot.h: Likewise.
18324 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18325 * include/grub/mips/qemu-mips/loader.h: Likewise.
18326 * include/grub/mips/qemu-mips/memory.h: Likewise.
18327 * include/grub/mips/qemu-mips/serial.h: Likewise.
18328 * include/grub/mips/qemu-mips/time.h: Likewise.
18329 * include/grub/mips/relocator.h: Likewise.
18330 * include/grub/mips/time.h: Likewise.
18331 * include/grub/mips/types.h: Likewise.
18332 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18333 * include/grub/mips/yeeloong/boot.h: Likewise.
18334 * include/grub/mips/yeeloong/kernel.h: Likewise.
18335 * include/grub/mips/yeeloong/loader.h: Likewise.
18336 * include/grub/mips/yeeloong/memory.h: Likewise.
18337 * include/grub/mips/yeeloong/pci.h: Likewise.
18338 * include/grub/mips/yeeloong/serial.h: Likewise.
18339 * include/grub/mips/yeeloong/time.h: Likewise.
18340 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18341 * kern/elf.c (grub_elf32_size): New parameter. All users
18342 updated.
18343 (grub_elf64_size): Likewise.
18344 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18345 Load modules before saying "Welcome to GRUB!".
18346 Call grub_refresh after saying "Welcome to GRUB!".
18347 * kern/mips/cache.S: New file.
18348 * kern/mips/cache_flush.S: Likewise.
18349 * kern/mips/dl.c: Likewise.
18350 * kern/mips/init.c: Likewise.
18351 * kern/mips/qemu-mips/init.c: Likewise.
18352 * kern/mips/startup.S: Likewise.
18353 * kern/mips/yeeloong/init.c: Likewise.
18354 * kern/term.c (grub_putcode): Handle NULL terminal.
18355 (grub_getcharwidth): Likewise.
18356 (grub_getkey): Likewise.
18357 (grub_checkkey): Likewise.
18358 (grub_getkeystatus): Likewise.
18359 (grub_getxy): Likewise.
18360 (grub_getwh): Likewise.
18361 (grub_gotoxy): Likewise.
18362 (grub_cls): Likewise.
18363 (grub_setcolorstate): Likewise.
18364 (grub_setcolor): Likewise.
18365 (grub_getcolor): Likewise.
18366 (grub_refresh): Likewise.
18367 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18368 (write_jump): Add hatch nop.
18369 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18370 * lib/mips/setjmp.S: New file.
18371 * loader/mips/linux.c: Likewise.
18372 * term/i386/pc/at_keyboard.c: Move from here ...
18373 * term/at_keyboard.c: ... to here.
18374 * term/i386/pc/serial.c: Moved from here ...
18375 * term/serial.c: ... to here. All users updated.
18376 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18377 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18378 (serial_translate_key_sequence): Avoid deadlock.
18379 (grub_serial_getkey): Handle backspace.
18380 (grub_serial_putchar): Fix newline handling.
18381 * util/i386/pc/grub-mkimage.c: Move from here ...
18382 * util/grub-mkrawimage.c: ... to here. All users updated.
18383 (generate_image): New parameters 'font_path' and 'format'.
18384 Support embedding font.
18385 Use grub_host_to_target* instead of grub_cpu_to_le*.
18386 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18387 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18388 (options): New option "--font".
18389 (usage): Likewise.
18390 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18391 (main): Handle "--font".
18392 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18393 (grub_virtual_screen_setup): Set bg_color_display.
18394 (redraw_screen_rect): Use bg_color_display instead of incorrect
18395 bg_color.
18396 (grub_gfxterm_cls): Likewise.
18397 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18398 Support embedding config file.
18399 (add_segments): Likewise.
18400 (options): New option "--config".
18401 (main): Handle "--config".
18402 * video/sm712.c: New file.
18403
18404 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18405
18406 Fix parallel builds.
18407
18408 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18409 font.c depend on ascii.h).
18410
18411 2010-01-12 Carles Pina i Estany <carles@pina.cat>
18412
18413 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18414
18415 2010-01-11 Carles Pina i Estany <carles@pina.cat>
18416
18417 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18418 By default: disabled.
18419 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18420 parameter.
18421
18422 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18423
18424 * font/font.c: Update copyright years.
18425 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18426
18427 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18428
18429 * font/font.c: Include `ascii.h'.
18430 (ASCII_BITMAP_SIZE): New macro.
18431 (ascii_font_glyph): Define.
18432 (ascii_glyph_lookup): New function.
18433 (grub_font_get_string_width): Change comment. If glyph not found, use
18434 ascii_glyph_lookup.
18435 (grub_font_get_glyph_with_fallback): If glyph not available returns
18436 ascii_glyph_lookup.
18437 * util/grub-mkfont.c (file_formats): New enum.
18438 (options): Add `ascii-bitmaps' new option.
18439 (usage): Add `asii-bitmaps' new option.
18440 (write_font_ascii_bitmap): New function.
18441 (write_font): Rename to ...
18442 (write_font_p2): ... this. Remove print_glyphs call.
18443 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18444 used. Call print_glyphs.
18445 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18446
18447 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18448
18449 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18450 (grub_bin2h_SOURCES): New variable.
18451 * util/bin2h.c: New file.
18452
18453 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18454
18455 * include/multiboot.h: Resynced with spec.
18456 * include/multiboot2.h: Likewise.
18457 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18458 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18459
18460 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18461
18462 * include/grub/term.h (grub_term_register_input,
18463 grub_term_register_output): Check return of terminal init()
18464 routines, and abort if errors are raised.
18465
18466 * commands/terminal.c: Update copyright year.
18467
18468 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18469
18470 * commands/terminal.c (grub_cmd_terminal_input)
18471 (grub_cmd_terminal_output): Check return of terminal init()
18472 routines, and abort if errors are raised.
18473
18474 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 * include/grub/i386/bsd.h: Fix include pathes.
18477
18478 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18479
18480 Add missing *BSD copyright headers.
18481
18482 * include/grub/aout.h: Add BSD licence.
18483 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18484 * include/grub/i386/freebsd_linker.h: ... here,
18485 * include/grub/i386/freebsd_reboot.h: ... here,
18486 * include/grub/i386/netbsd_bootinfo.h: ... here,
18487 * include/grub/i386/netbsd_reboot.h: ... here,
18488 * include/grub/i386/openbsd_bootarg.h: ... here,
18489 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18490 licence to each file.
18491
18492 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18493
18494 * acinclude.m4: Remove `nop' assembly instruction; it's not
18495 implemented by all architectures.
18496
18497 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18498
18499 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18500 ELILO. This is no longer necessary.
18501
18502 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18503
18504 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18505
18506 * util/grub-script-check.c: grub-script-check tool.
18507 * conf/common.rmk: Make rules for grub-script-check.
18508
18509 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18510
18511 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18512 spotting it back in 2008. Shame on me for forgetting he did.
18513
18514 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18515
18516 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18517
18518 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18519 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18520 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18521 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18522 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18523 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18524
18525 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18526
18527 * include/grub/test.h: Add license header.
18528 * tests/example_functional_test.c: Likewise.
18529 * tests/example_unit_test.c: Likewise.
18530 * tests/lib/functional_test.c: Likewise.
18531 * tests/lib/test.c: Likewise.
18532 * tests/lib/unit_test.c: Likewise.
18533
18534 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18535
18536 Use flag-based instead of hook-based video mode selection and "auto"
18537 keyword.
18538
18539 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18540 (grub_video_set_mode): Changed prototype. All users updated.
18541 (grub_video_check_mode_flag): New inline function.
18542 * video/video.c (parse_modespec): New function.
18543 (grub_video_set_mode): Parse flags and keywords.
18544
18545 2010-01-17 Carles Pina i Estany <carles@pina.cat>
18546
18547 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18548 fprintf call.
18549
18550 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18551
18552 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18553
18554 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18555
18556 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18557 string.
18558 * util/grub-emu.c (usage): Likewise.
18559 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18560 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18561 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18562 * util/i386/pc/grub-setup.c (usage): Likewise.
18563
18564 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18565
18566 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18567 the message.
18568 (grub_util_info): Likewise.
18569 (grub_util_error): Likewise.
18570 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18571 and/or new lines in `grub_util_warna', `grub_util_info',
18572 `grub_util_error' calls.
18573 * util/getroot.c: Likewise.
18574 * util/grub-editenv.c: Likewise.
18575 * util/grub-emu.c: Likewise.
18576 * util/grub-fstest.c: Likewise.
18577 * util/grub-mkdevicemap.c: Likewise.
18578 * util/grub-mkfont.c: Likewise.
18579 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18580 * util/grub-mkrelpath.c: Likewise.
18581 * util/grub-pe2elf.c: Likewise.
18582 * util/grub-probe.c: Likewise.
18583 * util/hostdisk.c: Likewise.
18584 * util/i386/efi/grub-mkimage.c: Likewise.
18585 * util/i386/pc/grub-mkimage.c: Likewise.
18586 * util/i386/pc/grub-setup.c: Likewise.
18587 * util/ieee1275/ofpath.c: Likewise.
18588 * util/mkisofs/eltorito.c: Likewise.
18589 * util/mkisofs/rock.c: Likewise.
18590 * util/mkisofs/write.c: Likewise.
18591 * util/raid.c: Likewise.
18592 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18593 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18594
18595 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18596
18597 Enable multiboot on non-pc.
18598
18599 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18600 multiboot.mod and multiboot2.mod to ...
18601 * conf/i386.rmk (pkglib_MODULES): ... here.
18602 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18603 Moved to ...
18604 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18605 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18606 Moved to ...
18607 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18608 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18609 Moved to ...
18610 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18611 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18612 Moved to ...
18613 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18614 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18615 relocator.mod.
18616 (ata_mod_SOURCES): Removed.
18617 (ata_mod_CFLAGS): Likewise.
18618 (ata_mod_LDFLAGS): Likewise.
18619 (relocator_mod_SOURCES): Removed.
18620 (relocator_mod_CFLAGS): Likewise.
18621 (relocator_mod_ASFLAGS): Likewise.
18622 (relocator_mod_LDFLAGS): Likewise.
18623 Include i386.mk.
18624 * include/grub/x86_64/multiboot.h: New file.
18625 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
18626 Terminate EFI.
18627
18628 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18629
18630 Video multiboot support.
18631
18632 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
18633 New prototype.
18634 * include/multiboot.h: Resynced with multiboot specification.
18635 * include/multiboot2.h: Likewise.
18636 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
18637 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
18638 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
18639 (HAS_VGA_TEXT): Likewise.
18640 (accepts_video): New variable.
18641 (grub_multiboot_set_accepts_video): New function.
18642 (grub_multiboot_get_mbi_size): Account for video structures.
18643 (set_video_mode): New function.
18644 (retrieve_video_parameters): Likewise.
18645 (grub_multiboot_make_mbi): Fill video fields.
18646
18647 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18648
18649 Video driver ids.
18650
18651 * include/grub/video.h (grub_video_driver_id): New type.
18652 (grub_video_adapter): New member 'id'. All users updated.
18653 (grub_video_get_driver_id): New proto.
18654 * video/video.c (grub_video_get_driver_id): New function.
18655
18656 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18657
18658 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
18659 `var=val'.
18660
18661 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18662
18663 * normal/cmdline.c (print_completion): Gettextizze.
18664
18665 2001-01-14 Carles Pina i Estany <carles@pina.cat>
18666
18667 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
18668
18669 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18670
18671 * gettext/gettext.c (grub_gettext_translate): Push and pop
18672 grub_errno.
18673 (grub_gettext_delete_list): Change comment style.
18674 * kern/err.c (grub_error): Gettextizze.
18675 (grub_fatal): Gettextizze.
18676
18677 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18678
18679 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
18680 (grub_linux16_real_boot): ... this.
18681 * kern/i386/loader.S: Likewise.
18682 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
18683 (grub_linux16_boot): New function. Switches to text mode and calls
18684 grub_linux16_real_boot().
18685
18686 * loader/i386/bsd.c: Include `<grub/video.h>'.
18687 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
18688 text mode before calling grub_unix_real_boot().
18689
18690 * loader/i386/multiboot.c: Include `<grub/video.h>'.
18691 (grub_multiboot_boot): Switch to text mode before calling
18692 grub_relocator32_boot().
18693
18694 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
18695 (grub_chainloader_boot): Switch to text mode before calling
18696 grub_chainloader_real_boot().
18697
18698 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18699 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18700
18701 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
18702 non-empty value.
18703
18704 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18705 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18706
18707 * util/grub.d/00_header.in: Define a "savedefault" function for use
18708 in menu entries.
18709 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
18710
18711 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18712 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18713
18714 * util/grub-mkconfig_lib.in (save_default_entry): Only set
18715 saved_entry if boot_once is unset.
18716 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
18717 previous saved entry (i.e. grub-reboot).
18718
18719 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18720
18721 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
18722
18723 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18724
18725 * util/grub.d/00_header.in: Use `set var=val' rather than plain
18726 `var=val'.
18727 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
18728
18729 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18730
18731 * util/grub-reboot.in: Fix --version output.
18732 * util/grub-set-default.in: Likewise.
18733
18734 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18735
18736 * util/grub.d/00_header.in: Silently ignore zero-sized environment
18737 blocks.
18738
18739 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18740
18741 * util/grub.d/00_header.in: Quote the value assigned to `default',
18742 in case it contains spaces.
18743
18744 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18745
18746 * util/grub.d/30_os-prober.in: Fix merge error that moved a
18747 `save_default_entry' call from the macosx case to the linux case.
18748
18749 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
18750 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
18753 in `chosen' environment variable.
18754 * normal/menu_text.c (get_entry_number): Check if the variable
18755 matches the title of a menu entry.
18756 (run_menu): Pass menu to get_entry_number.
18757
18758 * util/grub-reboot.in: New file.
18759 * util/grub-set-default.in: New file.
18760 * conf/common.rmk (grub-reboot): New utility.
18761 (grub-set-default): New utility.
18762
18763 * util/grub-mkconfig_lib.in (save_default_entry): New function.
18764 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
18765 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
18766 move it to `saved_entry' for the next boot. Load environment on
18767 initialisation.
18768 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
18769 * util/grub.d/10_hurd.in: Likewise.
18770 * util/grub.d/10_linux.in (linux_entry): Likewise.
18771 * util/grub.d/10_windows.in: Likewise.
18772 * util/grub.d/30_os-prober.in: Likewise.
18773
18774 * util/grub-install.in: Create environment block.
18775 * util/i386/efi/grub-install.in: Likewise.
18776 * util/ieee1275/grub-install.in: Likewise.
18777 * util/sparc64/ieee1275/grub-install.in: Likewise.
18778
18779 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
18780
18781 Unit testing framework for GRUB.
18782
18783 * Makefile.in: Test framework build rules for 'make check'.
18784 * conf/tests.rmk: Build rules for individual tests and framework.
18785
18786 * include/grub/test.h: Header file for whitebox tests.
18787 * tests/lib/functional_test.c: Framework support for whitebox
18788 functional tests.
18789 * tests/lib/test.c: Common whitebox testing code for unit and
18790 functional tests.
18791 * tests/lib/unit_test.c: Framework support for whitebox unit
18792 tests.
18793
18794 * tests/util/grub-shell-tester.in: Support utility for grub-script
18795 tests.
18796 * tests/util/grub-shell.in: Utility to execute grub-script
18797 commands in a Qemu instance.
18798
18799 * tests/example_functional_test.c: Example whitebox functional
18800 test.
18801 * tests/example_grub_script_test.in: Example grub-script test.
18802 * tests/example_scripted_test.in: Example scripted test.
18803 * tests/example_unit_test.c: Example whitebox unit test.
18804
18805 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18806
18807 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
18808 Add loader/i386/multiboot_mbi.c.
18809 (multiboot2_mod_SOURCES): Likewise.
18810 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
18811 (multiboot2_mod_SOURCES): Likewise.
18812 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
18813 (grub_multiboot_make_mbi): Likewise.
18814 (grub_multiboot_free_mbi): Likewise.
18815 (grub_multiboot_init_mbi): Likewise.
18816 (grub_multiboot_add_module): Likewise.
18817 (grub_multiboot_set_bootdev): Likewise.
18818 * loader/i386/multiboot.c (mbi): Removed.
18819 (mbi_dest): Likewise.
18820 (alloc_mbi): New variable.
18821 (grub_multiboot_payload_size): Removed. All users updated.
18822 (grub_multiboot_pure_size): New variable.
18823 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
18824 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
18825 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
18826 (grub_fill_multiboot_mmap): Likewise.
18827 (grub_multiboot_get_bootdev): Likewise.
18828 (grub_multiboot): Use multiboot_mbi functions.
18829 * loader/i386/multiboot_mbi.c: New file.
18830
18831 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18832
18833 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
18834 it would result in module crash.
18835
18836 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18837
18838 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
18839 (grub_ofconsole_getwh): Split to ...
18840 (grub_ofconsole_getwh): ... this.
18841 (grub_ofconsole_dimensions): ...and this.
18842 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
18843
18844 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
18845
18846 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
18847
18848 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * loader/i386/pc/multiboot2.c: Removed stalled file.
18851
18852 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
18855 Reported by: Grégoire Sutre
18856
18857 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
18858
18859 * util/misc.c (canonicalize_file_name): New function.
18860 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
18861 instead of realpath().
18862
18863 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
18864
18865 * util/grub-install.in (usage): Clarify meaning of --root-directory,
18866 and make it clearer that it's optional. Based on confusion
18867 witnessed on IRC.
18868
18869 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18870
18871 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
18872 in premature implicit newline.
18873
18874 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18875
18876 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
18877 which resulted in garbled command line at the end of screen.
18878
18879 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18880
18881 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
18882 initialization with similar approach as with other Linux loaders.
18883
18884 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18885
18886 Fix i386-ieee1275 build.
18887
18888 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
18889 and grub_term_height() for video_{width,height} initialization.
18890
18891 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18892
18893 Fix grub-emu build.
18894
18895 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
18896
18897 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18898 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18899
18900 Support for multiple terminals.
18901
18902 * Makefile.in (pkglib_DATA): terminal.lst.
18903 (terminal.lst): New target.
18904 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
18905 (GRUB_MOD_INIT(handler)): Likewise.
18906 (GRUB_MOD_FINI(handler)): Likewise.
18907 * commands/help.c (grub_cmd_help): Handle multiple terminals.
18908 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
18909 * commands/sleep.c (do_print): Use grub_term_restore_pos.
18910 (grub_cmd_sleep): Use grub_term_save_pos.
18911 * commands/terminal.c: New file.
18912 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
18913 commands/terminal.c and lib/charset.c.
18914 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
18915 (pkglib_MODULES): Add terminal.mod.
18916 (terminal_mod_SOURCES): New variable.
18917 (terminal_mod_CFLAGS): Likewise.
18918 (terminal_mod_LDFLAGS): Likewise.
18919 * genhandlerlist.sh: Don't handle terminals.
18920 * genmk.rb: Generate terminal-*.lst.
18921 * genterminallist.sh: New file.
18922 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
18923 (grub_is_valid_utf8): Likewise.
18924 (grub_utf8_to_ucs4_alloc): Likewise.
18925 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
18926 (grub_menu_register_viewer): Changed argument.
18927 (grub_menu_try_text): New proto.
18928 (grub_gfxmenu_try_hook): New declaration.
18929 * include/grub/normal.h (grub_normal_exit_level): New declaration.
18930 (grub_menu_init_page): Additional argument term.
18931 (grub_normal_init_page): Likewise.
18932 (grub_cmdline_get): Arguments simplified.
18933 (grub_utf8_to_ucs4_alloc): Removed.
18934 (grub_print_ucs4): Additional argument term.
18935 (grub_getstringwidth): Likewise.
18936 (grub_print_message_indented): Likewise.
18937 (grub_menu_text_register_instances): New proto.
18938 (grub_show_menu): Likewise.
18939 (read_terminal_list): Likewise.
18940 (grub_set_more): Likewise.
18941 * include/grub/parser.h: Include handler.h.
18942 * include/grub/reader.h: Rewritten.
18943 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
18944 (GRUB_TERM_WIDTH): Changed to function.
18945 (GRUB_TERM_HEIGHT): Likewise.
18946 (GRUB_TERM_BORDER_WIDTH): Likewise.
18947 (GRUB_TERM_BORDER_HEIGHT): Likewise.
18948 (GRUB_TERM_NUM_ENTRIES): Likewise.
18949 (GRUB_TERM_ENTRY_WIDTH): Likewise.
18950 (GRUB_TERM_CURSOR_X): Likewise.
18951 (grub_term_input_class): Likewise.
18952 (grub_term_output_class): Likewise.
18953 (grub_term_outputs_disabled): New declaration.
18954 (grub_term_inputs_disabled): Likewise.
18955 (grub_term_outputs): Likewise.
18956 (grub_term_inputs): Likewise.
18957 (grub_term_register_input): Rewritten.
18958 (grub_term_register_output): Likewise.
18959 (grub_term_unregister_input): Likewise.
18960 (grub_term_unregister_output): Likewise.
18961 (FOR_ACTIVE_TERM_INPUTS): New macro.
18962 (FOR_DISABLED_TERM_INPUTS): Likewise.
18963 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18964 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18965 * include/grub/terminfo.h: Add oterm argument to all protypes.
18966 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18967 Use grub_rescue_run.
18968 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18969 All users updated.
18970 * kern/reader.c: Removed. All users updated.
18971 * kern/rescue_reader.c (grub_rescue_init): Removed.
18972 (grub_rescue_reader): Likewise.
18973 (grub_register_rescue_reader): Likewise.
18974 (grub_rescue_run): New function based on kern/reader.c.
18975 * kern/term.c: Adapted for multiterm.
18976 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18977 (grub_is_valid_utf8): Likewise.
18978 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18979 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18980 right terminal.
18981 * loader/i386/linux.c (grub_linux_boot): Likewise.
18982 * normal/auth.c (grub_username_get): New function.
18983 (grub_auth_check_authentication): Use grub_username_get.
18984 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18985 * normal/color.c: Adapt for multiterm.
18986 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18987 (grub_normal_init_page): Additional argument term.
18988 (read_lists): Call read_terminal_lists.
18989 (grub_enter_normal_mode): Call grub_cmdline_run.
18990 Handle grub_normal_exit_level.
18991 (grub_cmd_normal): Make reentrant.
18992 (grub_cmd_normal_exit): New function.
18993 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18994 * normal/menu.c: Adapt for multiterm.
18995 * normal/menu_entry.c: Likewise.
18996 * normal/menu_text.c: Likewise.
18997 * normal/menu_viewer.c: Removed. All users updated.
18998 * normal/term.c: New file.
18999 * util/console.c: Change order of includes to workaround a bug in
19000 ncurses headers.
19001 * term/terminfo.c: New argument oterm on all exported functions.
19002 All users updated.
19003 * util/grub-editenv.c (grub_term_input_class): Removed.
19004 (grub_term_output_class): Likewise.
19005
19006 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
19007
19008 Make loader output a bit more user-friendly.
19009
19010 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
19011 is being loaded. Likewise for the Hurd.
19012
19013 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
19014 that kernel of FreeBSD ${version} is being loaded.
19015
19016 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
19017 grub_dprintf().
19018 (grub_cmd_initrd): Likewise.
19019 * util/grub.d/10_linux.in (linux_entry): Print message indicating
19020 that Linux ${version} is being loaded. Likewise for initrd.
19021
19022 2010-01-09 Carles Pina i Estany <carles@pina.cat>
19023
19024 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19025
19026 2010-01-08 Carles Pina i Estany <carles@pina.cat>
19027
19028 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19029 (GRUB_MOD_INIT): Gettextizze.
19030 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19031 (GRUB_MOD_INIT): Gettextizze.
19032 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19033 (grub_cmd_linux): Capitalise Linux.
19034 (GRUB_MOD_INIT): Gettextizze.
19035 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19036 (grub_cmd_linux): Capitalise Linux.
19037 (GRUB_MOD_INIT): Gettextizze.
19038 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19039 (grub_cmd_linux): Capitalise Linux.
19040 (GRUB_MOD_INIT): Gettextizze.
19041 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19042 (GRUB_MOD_INIT): Gettextizze.
19043 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19044 (grub_cmd_linux): Capitalise Linux.
19045 (GRUB_MOD_INIT): Gettextizze.
19046 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19047 (grub_cpu_xnu_init): Gettextizze.
19048 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19049 (GRUB_MOD_INIT): Gettextizze.
19050 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19051 (GRUB_MOD_INIT): Gettextizze.
19052 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19053 (grub_linux_load64): Capitalise Linux.
19054 (GRUB_MOD_INIT): Gettextizze.
19055 * loader/xnu.c: Include `<grub/i18n.h>'.
19056 (GRUB_MOD_INIT): Gettextizze.
19057 * po/POTFILES: Add `loader/efi/appleloader.c',
19058 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19059 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19060 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19061 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19062 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19063 and `loader/xnu.c'.
19064
19065 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19066
19067 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19068
19069 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19070
19071 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19072 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19073 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19074
19075 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19076
19077 Reset Multiboot 2 support. New loader implements the draft in
19078 /branches/multiboot2 and shares as much code as possible with the
19079 production Multiboot 1 implementation.
19080
19081 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19082 * loader/multiboot2.c: Likewise.
19083 * loader/i386/multiboot_helper.S: Likewise.
19084 * include/multiboot2.h: Replace with latest version from the draft
19085 in /branches/multiboot2.
19086
19087 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19088 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19089 and `loader/multiboot2.c'.
19090 (pkglib_MODULES): Add `multiboot2.mod'.
19091 (multiboot2_mod_SOURCES): New variable.
19092 (multiboot2_mod_LDFLAGS): Likewise.
19093 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19094
19095 * conf/i386-pc.rmk: Likewise.
19096
19097 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19098 (multiboot_mod_SOURCES): Remove variable.
19099 (multiboot_mod_LDFLAGS): Likewise.
19100 (multiboot_mod_CFLAGS): Likewise.
19101
19102 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19103 `<multiboot2.h>' instead of `<multiboot.h>'.
19104 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19105 (MULTIBOOT_HEADER_MAGIC): New macros.
19106
19107 * loader/multiboot_loader.c (module_version_status): Remove variable.
19108 (find_multi_boot2_header): Remove function.
19109 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19110 logic. Always check for the Multiboot version we're compiling for.
19111 (grub_cmd_module_loader): Likewise.
19112 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19113 command instead of `multiboot'.
19114
19115 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19116
19117 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19118 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19119 all users.
19120
19121 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19122 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19123
19124 Fix breakage introduced with previous commit.
19125
19126 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19127 commands.
19128 * normal/handler.c (read_handler_list): Revert part of previous commit
19129 affecting this file.
19130 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19131 (grub_normal_execute): ... here.
19132
19133 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19134
19135 Merge prefix-redefinition-fix branch.
19136
19137 * normal/autofs.c (read_fs_list): Make function capable of being
19138 run multiple times, gracefuly replacing the previous data
19139 structures.
19140 * normal/dyncmd.c (read_command_list): Likewise.
19141 * normal/handler.c (read_handler_list): Likewise.
19142 * normal/main.c (read_lists): New function. Calls all the
19143 list reading functions.
19144 (grub_normal_execute): Use read_lists() instead of calling all
19145 list reading functions explicitly. Register read_lists() as a
19146 variable hook attached to ${prefix}.
19147
19148 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19149
19150 Merge crypto branch.
19151
19152 * Makefile.in (pkglib_DATA): Add crypto.lst.
19153 (crypto.lst): New target.
19154 * commands/hashsum.c: New file.
19155 * commands/password.c (check_password): Use grub_crypto_memcmp.
19156 * commands/password_pbkdf2.c: New file.
19157 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19158 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19159 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19160 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19161 -I$(srcdir)/lib/libgcrypt_wrap.
19162 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19163 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19164 password_pbkdf2.mod.
19165 (crypto_mod_SOURCES): New variable.
19166 (crypto_mod_CFLAGS): Likewise.
19167 (crypto_mod_LDFLAGS): Likewise.
19168 (hashsum_mod_SOURCES): New variable.
19169 (hashsum_mod_CFLAGS): Likewise.
19170 (hashsum_mod_LDFLAGS): Likewise.
19171 (pbkdf2_mod_SOURCES): New variable.
19172 (pbkdf2_mod_CFLAGS): Likewise.
19173 (pbkdf2_mod_LDFLAGS): Likewise.
19174 (password_pbkdf2_mod_SOURCES): New variable.
19175 (password_pbkdf2_mod_CFLAGS): Likewise.
19176 (password_pbkdf2_mod_LDFLAGS): Likewise.
19177 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19178 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19179 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19180 Include conf/gcry.rmk.
19181 * include/grub/auth.h: Rewritten.
19182 * include/grub/crypto.h: New file.
19183 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19184 * include/grub/normal.h (read_crypto_list): New prototype.
19185 * lib/crypto.c: New file.
19186 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19187 * lib/pbkdf2.c: Likewise.
19188 * normal/auth.c (grub_auth_strcmp): Removed.
19189 (grub_iswordseparator): Likewise.
19190 (grub_auth_strword): Likewise.
19191 (is_authenticated): Use grub_strword.
19192 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19193 and grub_strword. Pass entered password to authentication callback.
19194 * normal/crypto.c: New file.
19195 * normal/main.c: Call read_crypto_list.
19196 * util/grub-mkpasswd-pbkdf2.c: New file.
19197 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19198
19199 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19200
19201 Fix descent and ascent calculation.
19202
19203 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19204 (options): New option "asce".
19205 (usage): Likewise.
19206 (add_char): Ignore invalid glyphs for descent calculation.
19207 Calculate ascent from actual content.
19208 (print_glyphs): Use 'asce'.
19209 (write_font): Likewise. Allow ascent override.
19210 (main): Handle "asce" option.
19211
19212 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19213
19214 * kern/err.c: Include `<grub/i18n.h>'.
19215 (grub_print_error): Add full stop. Gettextizze.
19216 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19217 (grub_bsd_load_elf): Capitalise ELF.
19218 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19219 (grub_cmd_freebsd_module): Likewise.
19220 (grub_cmd_freebsd_module_elf): Likewise.
19221 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19222
19223 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19224
19225 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19226 * commands/search_file.c (HELP_MESSAGE): New macro.
19227 * commands/search_label.c (HELP_MESSAGE): Likewise.
19228 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19229 * po/POTFILES: Add `commands/search_file.c',
19230 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19231 `commands/search.c'.
19232
19233 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19234
19235 * config.rpath: Update from Gnulib.
19236
19237 2010-01-05 Yves Blusseau <blusseau@zetam.org>
19238
19239 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19240
19241 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19242
19243 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19244
19245 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19246
19247 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19248 arguments to fread so that we get a return value in bytes, rather
19249 than something that will normally be rounded down to 0.
19250 Adjust error handling to avoid producing garbage when size_t is not
19251 the same size as long long.
19252
19253 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19254
19255 * util/mkisofs/write.c (padblock_write): Check return value of
19256 fread.
19257
19258 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19259
19260 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19261 floppy images now.
19262
19263 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19264
19265 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19266
19267 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19268 instead of manual alignment.
19269 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19270 verbose). Avoid attempts to read past end of the device
19271 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19272 but GRUB_DISK_CACHE_SIZE may exceed that).
19273
19274 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19275
19276 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19277 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19278 it to upper layer.
19279
19280 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19283 New constant.
19284 (grub_efi_piwg_device_path): New structure
19285 (grub_efi_piwg_device_path_t): New type.
19286 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19287 (devpath_1): Transform to a structure. All users updated.
19288 (devpath_2): Likewise.
19289 (devpath_3): Likewise.
19290 (devpath_4): Likewise.
19291 (devpath_5): Likewise.
19292
19293 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19294
19295 * loader/efi/appleloader.c: Restored. Update all users.
19296
19297 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19298
19299 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19300
19301 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19302 (struct boot_blocklist): Move from here ...
19303 * include/grub/i386/pc/boot.h [ASM_FILE]
19304 (struct grub_boot_blocklist): ... to here. Update all users.
19305 (setup): Only initialize `start' member of `first_block'
19306 structure. Add assert() calls to verify the other members.
19307
19308 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19309 (generate_image): Fix broken blocklist length initialization.
19310 Add assert() call to verify blocklist `segment' field.
19311
19312 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19313
19314 * loader/efi/appleloader.c: Remove. Update all users.
19315
19316 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19317
19318 * boot/i386/pc/boot.S: Update copyright year.
19319 * boot/i386/pc/cdboot.S: Likewise.
19320 * boot/i386/pc/diskboot.S: Likewise.
19321 * boot/i386/pc/lnxboot.S: Likewise.
19322 * boot/i386/pc/pxeboot.S: Likewise.
19323 * bus/pci.c: Likewise.
19324 * commands/cmp.c: Likewise.
19325 * commands/help.c: Likewise.
19326 * commands/hexdump.c: Likewise.
19327 * commands/i386/pc/halt.c: Likewise.
19328 * commands/i386/pc/play.c: Likewise.
19329 * commands/i386/pc/vbeinfo.c: Likewise.
19330 * commands/ls.c: Likewise.
19331 * commands/test.c: Likewise.
19332 * disk/dmraid_nvidia.c: Likewise.
19333 * disk/i386/pc/biosdisk.c: Likewise.
19334 * disk/ieee1275/nand.c: Likewise.
19335 * disk/ieee1275/ofdisk.c: Likewise.
19336 * disk/lvm.c: Likewise.
19337 * disk/raid.c: Likewise.
19338 * disk/raid6_recover.c: Likewise.
19339 * disk/scsi.c: Likewise.
19340 * fs/affs.c: Likewise.
19341 * fs/cpio.c: Likewise.
19342 * fs/ext2.c: Likewise.
19343 * fs/hfs.c: Likewise.
19344 * fs/iso9660.c: Likewise.
19345 * fs/ntfs.c: Likewise.
19346 * fs/sfs.c: Likewise.
19347 * fs/udf.c: Likewise.
19348 * fs/ufs.c: Likewise.
19349 * fs/xfs.c: Likewise.
19350 * gencmdlist.sh: Likewise.
19351 * genmk.rb: Likewise.
19352 * include/grub/disk.h: Likewise.
19353 * include/grub/efi/api.h: Likewise.
19354 * include/grub/efi/efi.h: Likewise.
19355 * include/grub/efi/pe32.h: Likewise.
19356 * include/grub/elf.h: Likewise.
19357 * include/grub/fs.h: Likewise.
19358 * include/grub/i386/at_keyboard.h: Likewise.
19359 * include/grub/i386/pc/memory.h: Likewise.
19360 * include/grub/i386/pc/vbe.h: Likewise.
19361 * include/grub/i386/pci.h: Likewise.
19362 * include/grub/i386/tsc.h: Likewise.
19363 * include/grub/ieee1275/ieee1275.h: Likewise.
19364 * include/grub/ntfs.h: Likewise.
19365 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19366 * include/grub/sparc64/libgcc.h: Likewise.
19367 * include/grub/symbol.h: Likewise.
19368 * include/grub/types.h: Likewise.
19369 * include/multiboot2.h: Likewise.
19370 * io/gzio.c: Likewise.
19371 * kern/device.c: Likewise.
19372 * kern/disk.c: Likewise.
19373 * kern/efi/efi.c: Likewise.
19374 * kern/efi/mm.c: Likewise.
19375 * kern/elf.c: Likewise.
19376 * kern/file.c: Likewise.
19377 * kern/i386/dl.c: Likewise.
19378 * kern/i386/pc/init.c: Likewise.
19379 * kern/i386/pc/startup.S: Likewise.
19380 * kern/ieee1275/ieee1275.c: Likewise.
19381 * kern/ieee1275/init.c: Likewise.
19382 * kern/main.c: Likewise.
19383 * kern/mm.c: Likewise.
19384 * kern/powerpc/dl.c: Likewise.
19385 * kern/sparc64/dl.c: Likewise.
19386 * kern/x86_64/dl.c: Likewise.
19387 * lib/hexdump.c: Likewise.
19388 * loader/efi/appleloader.c: Likewise.
19389 * loader/i386/ieee1275/linux.c: Likewise.
19390 * loader/i386/pc/chainloader.c: Likewise.
19391 * loader/i386/pc/linux.c: Likewise.
19392 * loader/i386/pc/multiboot2.c: Likewise.
19393 * loader/ieee1275/multiboot2.c: Likewise.
19394 * loader/multiboot2.c: Likewise.
19395 * loader/multiboot_loader.c: Likewise.
19396 * loader/powerpc/ieee1275/linux.c: Likewise.
19397 * normal/completion.c: Likewise.
19398 * normal/menu_entry.c: Likewise.
19399 * partmap/apple.c: Likewise.
19400 * util/grub.d/10_hurd.in: Likewise.
19401 * util/hostfs.c: Likewise.
19402 * video/readers/png.c: Likewise.
19403
19404 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
19405
19406 * include/grub/misc.h (GNUC_PREREQ): New macro.
19407 (ATTRIBUTE_ERROR): New macro.
19408 * include/grub/list.h (grub_bad_type_cast_real): Use
19409 ATTRIBUTE_ERROR.
19410
19411 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19412
19413 * normal/menu_text.c (print_message): Change messages.
19414
19415 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19416
19417 * normal/menu_entry.c (store_completion): Gettextizze.
19418
19419 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19420
19421 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19422
19423 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19424
19425 * po/POTFILES: Sort correctly.
19426
19427 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19428
19429 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19430 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19431 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19432 full stop.
19433 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19434 summary. Gettextizze the strings.
19435 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19436 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19437 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19438 full stop.
19439 (GRUB_MOD_INIT): Remove command name from summary.
19440 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19441 summary.
19442 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19443 * term/i386/pc/serial.c (options): Add full stops.
19444 (GRUB_MOD_INIT): Remove command name from the summary.
19445
19446 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19447
19448 * commands/acpi.c: Gettextizze help strings and/or options. Include
19449 `grub/i18n.h' if needed.
19450 * commands/blocklist.c: Likewise.
19451 * commands/boot.c: Likewise.
19452 * commands/cat.c: Likewise.
19453 * commands/cmp.c: Likewise.
19454 * commands/configfile.c: Likewise.
19455 * commands/crc.c: Likewise.
19456 * commands/date.c: Likewise.
19457 * commands/echo.c: Likewise.
19458 * commands/efi/fixvideo.c: Likewise.
19459 * commands/efi/loadbios.c: Likewise.
19460 * commands/gptsync.c: Likewise.
19461 * commands/halt.c: Likewise.
19462 * commands/handler.c: Likewise.
19463 * commands/hdparm.c: Likewise.
19464 * commands/hexdump.c: Likewise.
19465 * commands/i386/cpuid.c: Likewise.
19466 * commands/i386/pc/drivemap.c: Likewise.
19467 * commands/i386/pc/halt.c: Likewise.
19468 * commands/i386/pc/pxecmd.c: Likewise.
19469 * commands/i386/pc/vbeinfo.c: Likewise.
19470 * commands/i386/pc/vbetest.c: Likewise.
19471 * commands/ieee1275/suspend.c: Likewise.
19472 * commands/keystatus.c: Likewise.
19473 * commands/loadenv.c: Likewise.
19474 * commands/ls.c: Likewise.
19475 * commands/lsmmap.c: Likewise.
19476 * commands/lspci.c: Likewise.
19477 * commands/memrw.c: Likewise.
19478 * commands/minicmd.c: Likewise.
19479 * commands/parttool.c: Likewise.
19480 * commands/password.c: Likewise.
19481 * commands/probe.c: Likewise.
19482 * commands/read.c: Likewise.
19483 * commands/reboot.c: Likewise.
19484 * commands/search.c: Likewise.
19485 * commands/sleep.c: Likewise.
19486 * commands/test.c: Likewise.
19487 * commands/true.c: Likewise.
19488 * commands/usbtest.c: Likewise.
19489 * commands/videotest.c: Likewise.
19490 * commands/xnu_uuid.c: Likewise.
19491 * disk/loopback.c: Likewise.
19492 * hello/hello.c: Likewise.
19493 * loader/i386/bsd.c: Likewise.
19494 * term/i386/pc/serial.c: Likewise.
19495 * po/POTFILES: Add new files.
19496
19497 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
19498
19499 * term/i386/pc/at_keyboard.c
19500 (keyboard_controller_wait_untill_ready): Rename to ...
19501 (keyboard_controller_wait_until_ready): ... this. Update all users.
19502
19503 2010-01-01 Carles Pina i Estany <carles@pina.cat>
19504
19505 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19506 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19507 string using string width.
19508 * normal/menu_text.c (grub_print_message_indented): Use
19509 grub_print_spaces and not print_spaces.
19510 (print_timeout): Likewise.
19511 (print_spaces): Move to...
19512 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19513
19514 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19515
19516 Import from Gnulib.
19517
19518 * gnulib/getdelim.c: New file.
19519 * gnulib/getline.c: Likewise.
19520
19521 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19522
19523 * include/grub/list.h (grub_assert_fail): Removed.
19524 (grub_bad_type_cast_real): New function.
19525 (grub_bad_type_cast): New macro.
19526 (GRUB_AS_LIST): Use grub_bad_type_cast.
19527 (GRUB_AS_LIST_P): Likewise.
19528 (GRUB_AS_NAMED_LIST): Likewise.
19529 (GRUB_AS_NAMED_LIST_P): Likewise.
19530 (GRUB_AS_PRIO_LIST): Likewise.
19531 (GRUB_AS_PRIO_LIST_P): Likewise.
19532 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
19533
19534 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19537 Fix syntax error.
19538
19539 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19540
19541 * configure.ac: Check for TARGET_CFLAGS initialization before we
19542 initialize it ourselves (sigh).
19543 Move a few modifications to TARGET_CFLAGS to be unconditional
19544 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19545 eh_frame)
19546
19547 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19548 * term/i386/pc/at_keyboard.c
19549 (keyboard_controller_wait_untill_ready): Likewise.
19550 (keyboard_controller_led): Rename `led_status' paramter to avoid
19551 name conflict.
19552
19553 2009-12-28 Carles Pina i Estany <carles@pina.cat>
19554
19555 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19556 quotes.
19557
19558 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19559
19560 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19561
19562 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19563
19564 * normal/menu_text.c (grub_print_message_indented): Prevent
19565 past-the-end-of-array dereference.
19566
19567 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19568
19569 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19570 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19571
19572 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19573
19574 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19575 * normal/main.c (grub_normal_read_line): Remove a space from the
19576 default prompt.
19577
19578 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19579
19580 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19581 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19582 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19583 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19584 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19585 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19586 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19587
19588 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19589
19590 * video/readers/jpeg.c (cmd): Declare.
19591 (grub_cmd_jpegtest): Use `grub_command_t' type.
19592 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19593 Assign to `cmd'.
19594 (GRUB_MOD_FINI): Use `cmd' to unregister.
19595 * video/readers/png.c (cmd): Declare.
19596 (grub_cmd_pngtest): Use `grub_command_t' type.
19597 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19598 Assign to `cmd'.
19599 (GRUB_MOD_FINI): Use `cmd' to unregister.
19600 * video/readers/tga.c (cmd): Declare.
19601 (grub_cmd_tgatest): Use `grub_command_t' type.
19602 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19603 Assign to `cmd'.
19604 (GRUB_MOD_FINI): Use `cmd' to unregister.
19605
19606 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19607
19608 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19609 stops.
19610 * kern/corecmd.c (grub_register_core_commands): Likewise.
19611 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19612 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19613 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19614 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19615 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19616 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19617 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19618 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19619 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19620 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19621 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19622 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19623 * normal/handler.c (insert_handler): Likewise.
19624 * normal/main.c (GRUB_MOD_INIT): Likewise.
19625 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19626
19627 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19628
19629 * commands/help.c (grub_cmd_help): Print the command name before the
19630 summary.
19631 (GRUB_MOD_INIT): Remove command name from the summary.
19632 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
19633 string as summary.
19634 * lib/arg.c (find_long): Print the command name before the summary.
19635 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
19636 summary.
19637 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
19638 * commands/cat.c (GRUB_MOD_INIT): Likewise.
19639 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
19640 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19641 * commands/crc.c (GRUB_MOD_INIT): Likewise.
19642 * commands/date.c (GRUB_MOD_INIT): Likewise.
19643 * commands/echo.c (GRUB_MOD_INIT): Likewise.
19644 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
19645 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19646 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19647 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
19648 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
19649 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
19650 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
19651 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19652 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
19653 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
19654 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
19655 * commands/ls.c (GRUB_MOD_INIT): Likewise.
19656 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19657 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19658 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19659 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
19660 * commands/password.c (GRUB_MOD_INIT): Likewise.
19661 * commands/probe.c (GRUB_MOD_INIT): Likewise.
19662 * commands/read.c (GRUB_MOD_INIT): Likewise.
19663 * commands/search.c (GRUB_MOD_INIT): Likewise.
19664 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
19665 * commands/test.c (GRUB_MOD_INIT): Likewise.
19666 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
19667 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19668 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19669 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
19670 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19671 * lib/arg.c (GRUB_MOD_INIT): Likewise.
19672 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
19673 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19674 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19675 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19676 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19677 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
19678 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
19679 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
19680
19681 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19682
19683 Use search command for preliminar UUID search.
19684
19685 * commands/search.c: Split into ...
19686 * commands/search_wrap.c: ...this
19687 * commands/search.c: ...and this.
19688 * commands/search_file.c: New file.
19689 * commands/search_label.c: New file.
19690 * commands/search_uuid.c: New file.
19691 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
19692 Add commands/search_wrap.c, commands/search_file.c,
19693 commands/search_label.c and commands/search_uuid.c.
19694 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
19695 (search_mod_SOURCES): Set to commands/search_wrap.c.
19696 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
19697 search_label.mod.
19698 (search_fs_file_mod_SOURCES): New variable.
19699 (search_fs_file_mod_CFLAGS): Likewise.
19700 (search_fs_file_mod_LDFLAGS): Likewise.
19701 (search_label_mod_SOURCES): Likewise.
19702 (search_label_mod_CFLAGS): Likewise.
19703 (search_label_mod_LDFLAGS): Likewise.
19704 (search_fs_uuid_mod_SOURCES): New variable.
19705 (search_fs_uuid_mod_CFLAGS): Likewise.
19706 (search_fs_uuid_mod_LDFLAGS): Likewise.
19707 (fs_file_mod_SOURCES): Removed.
19708 (fs_file_mod_CFLAGS): Likewise.
19709 (fs_file_mod_LDFLAGS): Likewise.
19710 (fs_uuid_mod_SOURCES): Removed.
19711 (fs_uuid_mod_CFLAGS): Likewise.
19712 (fs_uuid_mod_LDFLAGS): Likewise.
19713 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
19714 Set to util/grub-install.in.
19715 * disk/fs_file.c: Removed.
19716 * disk/fs_uuid.c: Likewise.
19717 * include/grub/search.h: New file.
19718 * util/grub-install.in: Handle sparc64.
19719 Create and use load.cfg.
19720 * util/sparc64/ieee1275/grub-install.in: Removed.
19721
19722 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
19725 Ignore return status if CF is cleared.
19726 (grub_biosdisk_get_diskinfo_standard): Likewise.
19727
19728 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19729
19730 * term/i386/pc/at_keyboard.c
19731 (keyboard_controller_wait_untill_ready): New function.
19732 (grub_keyboard_controller_write, grub_keyboard_controller_read)
19733 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
19734 for keyboard polling, rather than duplicate the same loop. This
19735 saves a few bytes in code size.
19736
19737 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19738
19739 Support for (pxe[:server[:gateway]]) syntax and
19740 use environment variable for PXE.
19741
19742 * commands/i386/pc/pxecmd.c (options): Removed.
19743 (print_ip): Removed.
19744 (grub_cmd_pxe): Removed
19745 (grub_cmd_pxe_unload): New function.
19746 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
19747 (grub_pxe_your_ip): Made static.
19748 (grub_pxe_default_server_ip): Likewise.
19749 (grub_pxe_default_gateway_ip): Likewise.
19750 (grub_pxe_blksize): Likewise.
19751 (parse_ip): New function.
19752 (grub_pxe_open): Support server and gateway specification.
19753 (grub_pxe_close): Free disk->data.
19754 (grub_pxefs_open): Use disk->data.
19755 (grub_pxefs_read): Likewise.
19756 (grub_env_write_readonly): New function.
19757 (set_mac_env): Likewise.
19758 (set_env_limn_ro): Likewise.
19759 (parse_dhcp_vendor): Likewise.
19760 (grub_pxe_detect): Set the environment variables.
19761 (set_ip_env): New function.
19762 (write_ip_env): Likewise.
19763 (grub_env_write_pxe_default_server): Likewise.
19764 (grub_env_write_pxe_default_gateway): Likewise.
19765 (grub_env_write_pxe_blocksize): Likewise.
19766 (GRUB_MOD_INIT(pxe)): Set environment variables.
19767 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
19768 (grub_pxe_mac_addr_t): ... this. All users updated.
19769 (grub_pxe_your_ip): Removed.
19770 (grub_pxe_server_ip): Likewise.
19771 (grub_pxe_gateway_ip): Likewise.
19772 (grub_pxe_blksize): Likewise.
19773
19774 2009-12-25 Carles Pina i Estany <carles@pina.cat>
19775
19776 * commands/help.c: Include `<grub/i18n.h>'.
19777 (grub_cmd_help): Gettextizze.
19778 (GRUB_MOD_INIT): Likewise.
19779 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
19780 (GRUB_MOD_INIT): Gettextizze.
19781 * commands/search.c: Include `<grub/i18n.h>'.
19782 (options): Gettextizze.
19783 (GRUB_MOD_INIT): Gettextizze.
19784 * lib/arg.c: Include `<grub/i18n.h>'.
19785 (help_options): Gettextizze.
19786 (find_long): Likewise.
19787 (grub_arg_show_help): Likewise.
19788 * normal/dyncmd.c: Include `<grub/i18n.h>'.
19789 (read_command_list): Gettextizze.
19790 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
19791 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
19792
19793 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19794
19795 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
19796 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
19797 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
19798 (led_status): New variable.
19799 (keyboard_controller_led): New function.
19800 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
19801 update led status for caps lock, num lock and scroll lock.
19802
19803 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
19804
19805 * util/hostdisk.c (open_device): Fix a comment.
19806
19807 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19808
19809 * util/grub-install.in (host_os): New variable.
19810 * util/i386/efi/grub-install.in (host_os): Likewise.
19811
19812 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19813
19814 * util/mkisofs/write.c (padblock_write): Abort when given an
19815 excedingly large embed image, instead of silently truncating it.
19816
19817 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19818
19819 * include/multiboot.h: Indentation fixes.
19820
19821 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * include/multiboot.h (struct multiboot_aout_symbol_table)
19824 (struct multiboot_elf_section_header_table): New structure
19825 declarations (stolen from GRUB Legacy).
19826 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
19827 table information.
19828
19829 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
19830 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
19831 type aliases.
19832
19833 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19834
19835 * include/multiboot.h: Make comments src2texi-friendly.
19836
19837 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19838
19839 For consistency with [multiboot]/docs/boot.S.
19840
19841 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
19842 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
19843 (MULTIBOOT_MAGIC2): Rename from this ...
19844 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
19845
19846 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19847
19848 * include/multiboot.h: Remove `<grub/types.h>'.
19849 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
19850 types. Update all users.
19851
19852 2009-12-25 Carles Pina i Estany <carles@pina.cat>
19853
19854 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
19855 `couldn't' and `can not' by `cannot'.
19856 * commands/i386/pc/drivemap.c: Likewise.
19857 * disk/ata.c: Likewise.
19858 * disk/ieee1275/nand.c: Likewise.
19859 * fs/affs.c: Likewise.
19860 * fs/fat.c: Likewise.
19861 * fs/hfs.c: Likewise.
19862 * fs/hfsplus.c: Likewise.
19863 * fs/iso9660.c: Likewise.
19864 * fs/jfs.c: Likewise.
19865 * fs/minix.c: Likewise.
19866 * fs/reiserfs.c: Likewise.
19867 * fs/sfs.c: Likewise.
19868 * fs/udf.c: Likewise.
19869 * fs/ufs.c: Likewise.
19870 * fs/xfs.c: Likewise.
19871 * loader/powerpc/ieee1275/linux.c: Likewise.
19872 * loader/sparc64/ieee1275/linux.c: Likewise.
19873 * util/grub-probe.c: Likewise.
19874 * util/misc.c: Likewise.
19875
19876 2009-12-24 Carles Pina i Estany <carles@pina.cat>
19877
19878 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
19879 grub_errno calls.
19880 * commands/acpi.c: Likewise.
19881 * commands/blocklist.c: Likewise.
19882 * commands/efi/loadbios.c: Likewise.
19883 * commands/i386/pc/drivemap.c: Likewise.
19884 * commands/loadenv.c: Likewise.
19885 * commands/memrw.c: Likewise.
19886 * commands/password.c: Likewise.
19887 * commands/videotest.c: Likewise.
19888 * disk/ata.c: Likewise.
19889 * disk/ata_pthru.c: Likewise.
19890 * disk/dmraid_nvidia.c: Likewise.
19891 * disk/ieee1275/nand.c: Likewise.
19892 * disk/ieee1275/ofdisk.c: Likewise.
19893 * disk/loopback.c: Likewise.
19894 * disk/lvm.c: Likewise.
19895 * disk/mdraid_linux.c: Likewise.
19896 * disk/raid.c: Likewise.
19897 * disk/raid6_recover.c: Likewise.
19898 * disk/scsi.c: Likewise.
19899 * efiemu/main.c: Likewise.
19900 * efiemu/mm.c: Likewise.
19901 * efiemu/pnvram.c: Likewise.
19902 * efiemu/symbols.c: Likewise.
19903 * font/font.c: Likewise.
19904 * fs/cpio.c: Likewise.
19905 * fs/hfsplus.c: Likewise.
19906 * fs/iso9660.c: Likewise.
19907 * fs/jfs.c: Likewise.
19908 * fs/minix.c: Likewise.
19909 * fs/ntfs.c: Likewise.
19910 * fs/ntfscomp.c: Likewise.
19911 * fs/reiserfs.c: Likewise.
19912 * fs/ufs.c: Likewise.
19913 * fs/xfs.c: Likewise.
19914 * gettext/gettext.c: Likewise.
19915 * include/grub/auth.h: Likewise.
19916 * kern/elf.c: Likewise.
19917 * kern/file.c: Likewise.
19918 * kern/ieee1275/init.c: Likewise.
19919 * kern/ieee1275/mmap.c: Likewise.
19920 * kern/ieee1275/openfw.c: Likewise.
19921 * kern/powerpc/dl.c: Likewise.
19922 * kern/sparc64/dl.c: Likewise.
19923 * lib/arg.c: Likewise.
19924 * loader/i386/bsd.c: Likewise.
19925 * loader/i386/bsdXX.c: Likewise.
19926 * loader/i386/efi/linux.c: Likewise.
19927 * loader/i386/efi/xnu.c: Likewise.
19928 * loader/i386/ieee1275/linux.c: Likewise.
19929 * loader/i386/linux.c: Likewise.
19930 * loader/i386/multiboot.c: Likewise.
19931 * loader/i386/pc/linux.c: Likewise.
19932 * loader/i386/pc/multiboot2.c: Likewise.
19933 * loader/i386/xnu.c: Likewise.
19934 * loader/ieee1275/multiboot2.c: Likewise.
19935 * loader/macho.c: Likewise.
19936 * loader/machoXX.c: Likewise.
19937 * loader/multiboot2.c: Likewise.
19938 * loader/multiboot_loader.c: Likewise.
19939 * loader/powerpc/ieee1275/linux.c: Likewise.
19940 * loader/sparc64/ieee1275/linux.c: Likewise.
19941 * loader/xnu.c: Likewise.
19942 * loader/xnu_resume.c: Likewise.
19943 * mmap/i386/pc/mmap.c: Likewise.
19944 * normal/menu_viewer.c: Likewise.
19945 * partmap/acorn.c: Likewise.
19946 * partmap/amiga.c: Likewise.
19947 * partmap/apple.c: Likewise.
19948 * script/lexer.c: Likewise.
19949 * term/gfxterm.c: Likewise.
19950 * term/i386/pc/serial.c: Likewise.
19951 * term/i386/pc/vga.c: Likewise.
19952 * term/ieee1275/ofconsole.c: Likewise.
19953 * term/terminfo.c: Likewise.
19954 * video/bitmap.c: Likewise.
19955 * video/efi_gop.c: Likewise.
19956 * video/efi_uga.c: Likewise.
19957 * video/fb/video_fb.c: Likewise.
19958 * video/i386/pc/vbe.c: Likewise.
19959 * video/readers/tga.c: Likewise.
19960 * video/video.c: Likewise.
19961
19962 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
19963
19964 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19965 * commands/lspci.c: Likewise.
19966 * commands/probe.c: Likewise.
19967 * commands/xnu_uuid.c: Likewise.
19968 * conf/i386-coreboot.rmk: Likewise.
19969 * conf/i386-efi.rmk: Likewise.
19970 * conf/i386-ieee1275.rmk: Likewise.
19971 * conf/i386-pc.rmk: Likewise.
19972 * conf/powerpc-ieee1275.rmk: Likewise.
19973 * conf/sparc64-ieee1275.rmk: Likewise.
19974 * conf/x86_64-efi.rmk: Likewise.
19975 * fs/i386/pc/pxe.c: Likewise.
19976 * gettext/gettext.c: Likewise.
19977 * include/grub/efi/graphics_output.h: Likewise.
19978 * include/grub/i386/pc/memory.h: Likewise.
19979 * kern/env.c: Likewise.
19980 * kern/i386/qemu/startup.S: Likewise.
19981 * lib/i386/pc/biosnum.c: Likewise.
19982 * lib/i386/relocator.c: Likewise.
19983 * lib/i386/relocator_asm.S: Likewise.
19984 * lib/relocator.c: Likewise.
19985 * loader/i386/bsd.c: Likewise.
19986 * loader/i386/multiboot.c: Likewise.
19987 * loader/i386/pc/chainloader.c: Likewise.
19988 * loader/i386/xnu.c: Likewise.
19989 * loader/xnu.c: Likewise.
19990 * normal/main.c: Likewise.
19991 * normal/menu_text.c: Likewise.
19992 * util/getroot.c: Likewise.
19993 * util/grub-mkconfig_lib.in: Likewise.
19994 * util/grub.d/00_header.in: Likewise.
19995 * util/i386/pc/grub-mkimage.c: Likewise.
19996 * util/mkisofs/eltorito.c: Likewise.
19997 * util/mkisofs/exclude.h: Likewise.
19998 * util/mkisofs/hash.c: Likewise.
19999 * util/mkisofs/iso9660.h: Likewise.
20000 * util/mkisofs/joliet.c: Likewise.
20001 * util/mkisofs/mkisofs.c: Likewise.
20002 * util/mkisofs/mkisofs.h: Likewise.
20003 * util/mkisofs/multi.c: Likewise.
20004 * util/mkisofs/name.c: Likewise.
20005 * util/mkisofs/rock.c: Likewise.
20006 * util/mkisofs/tree.c: Likewise.
20007 * util/mkisofs/write.c: Likewise.
20008 * video/efi_gop.c: Likewise.
20009
20010 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
20011
20012 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
20013 size counting.
20014
20015 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20016
20017 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
20018 * genmk.rb (class SCRIPT): Modify the target file instead of source.
20019
20020 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20021
20022 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
20023 (GRUB_MOD_INIT(memrw)): Update help line.
20024
20025 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20026
20027 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20028 Use grub_extcmd_t. All users updated.
20029 (options): New variable.
20030 (grub_cmd_read): Restructure for readability. Support "-v" option.
20031 (grub_cmd_write): Restructure for readability.
20032
20033 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20034
20035 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20036
20037 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20038
20039 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20040 with the actual contents of the correspondending make variable.
20041 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20042 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20043 specifying `*.lst' and `efiemu??.o'
20044
20045 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20046
20047 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20048 after function name.
20049 Noticed by Rene Engelhard <rene@debian.org>.
20050
20051 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20052
20053 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20054 (options): New variable.
20055 (iospace): Likewise.
20056 (grub_lspci_iter): List IO spaces if "-i" was given.
20057 (grub_cmd_lspci): Parse options.
20058 (GRUB_MOD_INIT(lspci)): Use extcmd.
20059 (GRUB_MOD_FINI(lspci)): Likewise.
20060
20061 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20062
20063 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20064 `function' keyword.
20065 Patch by Tony Mancill <tmancill@debian.org>.
20066
20067 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20070 (grub_uhci_portstatus): Likewise.
20071 (grub_uhci_portstatus): Add necessary delay.
20072 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
20073
20074 2009-12-21 Carles Pina i Estany <carles@pina.cat>
20075
20076 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20077 (GRUB_MOD_INIT): Likewise.
20078 * commands/boot.c (GRUB_MOD_INIT): Likewise.
20079 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20080 * commands/echo.c (options): Fix capitalizations and/or full stops.
20081 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20082 (enable_rom_area): Likewise.
20083 (GRUB_MOD_INIT): Likewise.
20084 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20085 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20086 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20087 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20088 * commands/hexdump.c (options): Likewise.
20089 * commands/i386/cpuid.c (options): Likewise.
20090 (GRUB_MOD_INIT): Likewise.
20091 * commands/i386/pc/drivemap.c (options): Likewise.
20092 (GRUB_MOD_INIT): Likewise.
20093 * commands/i386/pc/halt (options): Likewise.
20094 (GRUB_MOD_INIT): Likewise.
20095 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20096 * commands/i386/pc/pxecmd.c (options): Likewise.
20097 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20098 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20099 * commands/keystatus.c (options): Likewise.
20100 (GRUB_MOD_INIT): Likewise.
20101 * commands/loadenv.c (options): Likewise.
20102 * commands/ls.c (options): Likewise.
20103 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20104 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20105 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20106 * commands/parttool.c (helpmsg): Likewise.
20107 * commands/probe.c (options): Likewise.
20108 * commands/read.c (GRUB_MOD_INIT): Likewise.
20109 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20110 * commands/search.c (options): Likewise.
20111 * commands/sleep.c (options): Likewise.
20112 * commands/test.c (GRUB_MOD_INIT): Likewise.
20113 * commands/true.c (GRUB_MOD_INIT): Likewise.
20114 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20115 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20116 * lib/arg.c (help_options): Likewise.
20117 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20118 `$(XGETTEXT)'.
20119 * po/POTFILES: Add `commands/loadenv.c'.
20120
20121 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
20122
20123 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
20124 instead of specifying them explicit.
20125
20126 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20127
20128 * NEWS: Add grub-probe support for GNU/Hurd.
20129
20130 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20131
20132 * NEWS: gettext was added after 1.97.
20133
20134 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20135
20136 * util/mkisofs/msdos_partition.h: New file (based on
20137 include/grub/msdos_partition.h).
20138 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20139 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20140 (ld_options, main): Recognize --protective-msdos-label.
20141 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20142 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20143 (padblock_write): If `use_protective_msdos_label' is set, patch a
20144 protective DOS-style label in the output image.
20145
20146 * util/grub-mkrescue.in: Use --protective-msdos-label.
20147
20148 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20149
20150 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20151 boot.
20152
20153 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20154
20155 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20156 variables.
20157 (ld_options, main): Recognize `--embedded-boot'.
20158 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20159 declarations.
20160 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20161 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20162 (padblock_write): Likewise. Rewrite to support embedded boot image.
20163
20164 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20165 for BIOS-based disk boot instead of only ElTorito.
20166
20167 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20168
20169 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20170 build (not needed for bootstrap).
20171
20172 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20173
20174 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20175 from i386-pc build (not needed for bootstrap).
20176 Rewrite a pair of strings.
20177
20178 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20179
20180 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20181
20182 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
20183
20184 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20185
20186 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20187
20188 * kern/env.c (grub_env_context_open): Mark exported variable for
20189 reexport.
20190
20191 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20192
20193 * kern/env.c (grub_env_export): Create nonexistent variables before
20194 exporting.
20195
20196 2009-12-20 Carles Pina i Estany <carles@pina.cat>
20197
20198 * include/grub/auth.h: Include `<grub/i18n.h>'.
20199 (GRUB_GET_PASSWORD): Gettextizze string.
20200 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20201 menu_text.c.
20202 (grub_utf8_to_ucs4_alloc): Fix indentation.
20203 (grub_print_ucs4): Likewise.
20204 (grub_getstringwidth): Likewise.
20205 (print_message_indented): New declaration.
20206 * normal/auth.c: Include `<grub/i18n.h>'.
20207 (grub_auth_check_authentication): Gettexttize string.
20208 * normal/cmdline.c: Include `<grub/i18n.h>'.
20209 (grub_cmdline_get): Gettextizze.
20210 * normal/color.c: Include `<grub/i18n.h>'.
20211 (grub_parse_color_name_pair): Gettexttize strings.
20212 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20213 string (use `print_message_indented').
20214 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20215 `include/grub/normal.h'.
20216 (print_message_indented): Renamed to ...
20217 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20218 used in normal/main.c).
20219 (print_message): Use `grub_print_message_indented' instead of
20220 `print_message_indented'.
20221 (print_timeout): Likewise.
20222 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20223 (grub_normal_print_device_info): Gettexttize strings.
20224 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20225
20226 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20227
20228 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20229 of arguments. Return number of tokens and not arguments. All users
20230 updated.
20231
20232 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20233
20234 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20235 non-MSDOS paritions.
20236
20237 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20238
20239 * include/grub/types.h (UNUSED): Removed since it conflicts with
20240 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20241 Reported by Grégoire Sutre.
20242
20243 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20244
20245 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20246 (grub_print_ucs4_alloc): Likewise.
20247 (grub_getstringwidth): Likewise.
20248 * normal/main.c (grub_normal_init_page): Gettextize version string.
20249 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20250 (getstringwidth): Renamed to ...
20251 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20252 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20253 (grub_print_ucs4): Remove `static' qualifer (now used in
20254 normal/main.c).
20255 * po/POTFILES: Add normal/main.c.
20256
20257 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20258
20259 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20260 (print_message_indented): Add `margin_left' and `margin_right'
20261 parameters.
20262 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20263 strings.
20264 (print_timeout): Use `print_message_indented' to print the message.
20265 Deletes `second_stage' parameter.
20266 (run_menu): Update `print_timeout' calls.
20267
20268 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 Fix console palette on OpenFirmware.
20271
20272 * term/ieee1275/ofconsole.c (MAX): Removed.
20273 (colors): Redone based on VGA palette.
20274 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20275 colors are supported.
20276 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20277
20278 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20279
20280 Fix potential EfiEmu double prepare.
20281
20282 * efiemu/main.c (prepared): New variable
20283 (grub_efiemu_unload): Set prepare to '0'.
20284 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20285
20286 set_virtual_address_map support.
20287
20288 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20289 prototype.
20290 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20291 prototype.
20292 (grub_efiemu_crc32): Likewise.
20293 (grub_efiemu_crc64): Likewise.
20294 (grub_efiemu_set_virtual_address_map): Likewise.
20295 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20296 New definition.
20297 (grub_autoefi_set_virtual_address_map): Likewise.
20298 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20299 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20300 Restructure flow to accomodate it.
20301 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20302 (grub_efiemu_crc): Recompute CRC32.
20303 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20304 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20305 * efiemu/symbols.c (relocated_handle): New variable.
20306 (grub_efiemu_free_syms): Free relocated_handle.
20307 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20308 (grub_efiemu_write_sym_markers): New function.
20309 (grub_efiemu_set_virtual_address_map): Likewise.
20310
20311 Newer XNU parameters.
20312
20313 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20314 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20315 (grub_xnu_fill_devicetree): New prototype.
20316 (grub_xnu_heap_real_start): New variable.
20317 * loader/xnu.c (get_name_ptr): New function.
20318 (grub_xnu_load_driver): Fill namelen and name.
20319
20320 64-bit xnu support.
20321
20322 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20323 and 'loader/macho64.c'.
20324 * conf/i386-pc.rmk: Likewise.
20325 * conf/x86_64-efi.rmk: Likewise.
20326 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20327 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20328 * include/grub/macho.h (grub_macho_segment64): New structure.
20329 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20330 (grub_macho_size32): ... to this.
20331 (grub_macho32_get_entry_point): Renamed from ...
20332 (grub_macho_get_entry_point32): ... to this.
20333 (grub_macho_contains_macho64): New prototype.
20334 (grub_macho_size64): Likewise.
20335 (grub_macho_get_entry_point64): Likewise.
20336 (grub_macho32_load): Renamed from ...
20337 (grub_macho_load32): ... to this.
20338 (grub_macho32_filesize): Renamed from ...
20339 (grub_macho_filesize32): ... to this.
20340 (grub_macho32_readfile): Renamed from ...
20341 (grub_macho_readfile32): ... to this.
20342 (grub_macho_filesize64): New prototype.
20343 (grub_macho_readfile64): Likewise.
20344 (grub_macho_parse32): Likewise.
20345 (grub_macho_parse64): Likewise.
20346 * loader/macho.c: Split into ...
20347 * loader/machoXX.c: ... and this. Replace 32 with XX.
20348 * loader/macho32.c: New file.
20349 * loader/macho64.c: Likewise.
20350 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20351 (grub_cmd_xnu_kernel): Make 32-bit only.
20352 (grub_cmd_xnu_kernel64): New function.
20353 (grub_xnu_load_driver): Support Mach-O 64.
20354 (grub_cmd_xnu_mkext): Likewise.
20355 * util/grub.d/30_os-prober.in (osx_entry): New function.
20356 Generate entries for 64-bit boot too.
20357
20358 Eliminate ad-hoc tree format in XNU and EfiEmu.
20359
20360 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20361 * efiemu/pnvram.c: Rewritten to use environment variables.
20362 All users updated.
20363
20364 Inline utf16_to_utf8.
20365
20366 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20367 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20368 All users updated.
20369 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20370
20371 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20372 * commands/usbtest.c (grub_usb_get_string): ... move here.
20373 (usb_print_str): Fix error handling.
20374 * include/grub/usb.h (grub_usb_get_string): Remove.
20375
20376 UTF-8 to UTF-16 transformation.
20377
20378 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20379 (charset_mod_SOURCES): New variable.
20380 (charset_mod_CFLAGS): Likewise.
20381 (charset_mod_LDFLAGS): Likewise.
20382 * include/grub/utf.h: New file.
20383 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20384
20385 Support for device properties.
20386
20387 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20388 (grub_xnu_devprop_device_header): Likewise.
20389 (grub_xnu_devprop_device_descriptor): Likewise.
20390 (grub_xnu_devprop_add_device): New prototype.
20391 (grub_xnu_devprop_remove_device): Likewise.
20392 (grub_xnu_devprop_remove_property): Likewise.
20393 (grub_xnu_devprop_add_property_utf8): Likewise.
20394 (grub_xnu_devprop_add_property_utf16): Likewise.
20395 (grub_cpu_xnu_init): Likewise.
20396 (grub_cpu_xnu_fini): Likewise.
20397 (grub_cpu_xnu_unload): Likewise.
20398 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20399 (property_descriptor): Likewise.
20400 (devices): New variable.
20401 (grub_xnu_devprop_remove_property): New function.
20402 (grub_xnu_devprop_add_device): Likewise.
20403 (grub_xnu_devprop_remove_device): Likewise.
20404 (grub_xnu_devprop_add_property): Likewise.
20405 (grub_xnu_devprop_add_property_utf8): Likewise.
20406 (grub_xnu_devprop_add_property_utf16): Likewise.
20407 (hextoval): Likewise.
20408 (grub_cpu_xnu_fill_devprop): Likewise.
20409 (grub_cmd_devprop_load): Likewise.
20410 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20411 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20412 (cmd_devprop_load): New variable.
20413 (grub_cpu_xnu_init): New function.
20414 (grub_cpu_xnu_fini): Likewise.
20415 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20416 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20417 (grub_cmd_xnu_devtree): Likewise.
20418 (hextoval): New function.
20419 (unescape): Likewise.
20420 (grub_xnu_fill_devicetree): Likewise.
20421
20422 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20423 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20424
20425 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 Workaround for broken ATI VBE.
20428
20429 * video/i386/pc/vbe.c (last_set_mode): New variable.
20430 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20431 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20432 (grub_video_vbe_setup): Don't check for reserved flag.
20433
20434 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
20435
20436 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20437 the `find' command.
20438
20439 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 UUID support for HFS.
20442
20443 * fs/hfs.c (grub_hfs_uuid): New function.
20444 (grub_hfs_fs): New value .uuid.
20445 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20446
20447 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
20448
20449 Fix a segfault with parsing unknown long options.
20450
20451 * util/grub-mkrelpath.c (options): Zero terminate it.
20452
20453 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20454
20455 * include/grub/misc.h (grub_puts): New declaration.
20456 (grub_puts_): Likewise.
20457 * kern/misc.c (grub_puts): New definition.
20458 (grub_puts_): Likewise.
20459
20460 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20461
20462 * util/grub-probe.c (probe): Improve error message.
20463
20464 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20465
20466 * loader/i386/multiboot_elfxx.c
20467 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20468 initialization.
20469
20470 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 Relocator framework
20473
20474 * loader/i386/xnu_helper.S: Removed. All users updated.
20475 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20476 (relocator_mod_SOURCES): New variable.
20477 (relocator_mod_CFLAGS): Likewise.
20478 (relocator_mod_LDFLAGS): Likewise.
20479 (relocator_mod_ASFLAGS): Likewise.
20480 * conf/x86_64.rmk: Likewise.
20481 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20482 (grub_multiboot_payload_entry_offset): Likewise.
20483 (grub_multiboot_forward_relocator): Likewise.
20484 (grub_multiboot_forward_relocator_end): Likewise.
20485 (grub_multiboot_backward_relocator): Likewise.
20486 (grub_multiboot_backward_relocator_end): Likewise.
20487 (grub_multiboot_payload_eip): New variable.
20488 (grub_multiboot_payload_orig): Likewise.
20489 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20490 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20491 * include/grub/i386/memory.h
20492 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20493 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20494 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20495 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20496 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20497 * include/grub/i386/relocator.h: New file.
20498 * include/grub/x86_64/relocator.h: Likewise.
20499 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20500 (XNU_RELOCATOR): New macro.
20501 (grub_xnu_launcher_start): Remove.
20502 (grub_xnu_launcher_end): Likewise.
20503 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20504 (grub_xnu_heap_real_start): Remove.
20505 (grub_xnu_heap_start): Change to void *. All users updated.
20506 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20507 * lib/i386/relocator.c: New file.
20508 * lib/i386/relocator_asm.S: Likewise.
20509 * lib/i386/relocator_backward.S: Likewise.
20510 * lib/mips/relocator.c: Likewise.
20511 * lib/mips/relocator_asm.S: Likewise.
20512 * lib/relocator.c: Likewise.
20513 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20514 (entry): Removed.
20515 (playground): Likewise.
20516 (grub_multiboot_payload_orig): New variable.
20517 (grub_multiboot_payload_dest): Likewise.
20518 (grub_multiboot_payload_size): Likewise.
20519 (grub_multiboot_payload_eip): Likewise.
20520 (grub_multiboot_payload_esp): Likewise.
20521 (grub_multiboot_boot): Use grub_relocator32_boot.
20522 (grub_multiboot_unload): Free relocators.
20523 (grub_multiboot): Setup stack. Use relocators.
20524 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20525 (grub_multiboot_load_elfXX): Use relocators.
20526 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20527 (grub_multiboot_payload_size): Likewise.
20528 (grub_multiboot_payload_dest): Likewise.
20529 (grub_multiboot_payload_entry_offset): Likewise.
20530 (grub_multiboot_forward_relocator): Likewise.
20531 (grub_multiboot_backward_relocator): Likewise.
20532 (grub_multiboot_real_boot): Likewise.
20533 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20534 (grub_xnu_entry_point): Likewise.
20535 (grub_xnu_arg1): Likewise.
20536 (grub_xnu_stack): Likewise.
20537 (grub_xnu_launch): Removed.
20538 (grub_xnu_boot_resume): New function.
20539 (grub_xnu_boot): Use relocators.
20540 * loader/i386/xnu_helper.S: Removed.
20541 * loader/xnu.c (grub_xnu_heap_start): New variable.
20542 (grub_xnu_heap_size): Likewise.
20543 (grub_xnu_heap_malloc): Use relocators.
20544 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20545
20546 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20547
20548 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20549 anything.
20550
20551 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20552
20553 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20554 GRUB_ERR_NONE before calling grub_env_set.
20555
20556 2009-12-12 Robert Millan <rmh@aybabtu.com>
20557
20558 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20559 * genmk.rb (video): New variable.
20560 (CLEANFILES, VIDEOFILES): Add #{video}.
20561 (#{video}): New target rule.
20562 * genvideolist.sh: New file.
20563 * Makefile.in (pkglib_DATA): Add video.lst.
20564 (video.lst): New target rule.
20565 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20566 `video.lst'.
20567 * util/grub.d/30_os-prober.in: Replace `vbe' with
20568 ${GRUB_VIDEO_BACKEND}.
20569
20570 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20571
20572 * THANKS: Add David Miller.
20573
20574 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20575
20576 libpciaccess support.
20577
20578 * Makefile.in (LIBPCIACCESS): New variable.
20579 (enable_grub_emu_pci): Likewise.
20580 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20581 util/pci.c and commands/lspci.c.
20582 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20583 * configure.ac (grub-emu-pci): New option.
20584 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20585 (grub_pci_device_unmap_range): Likewise.
20586 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20587 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20588 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20589 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20590 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20591 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20592 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20593 * include/grub/pciutils.h: New file.
20594 * util/pci.c: Likewise.
20595
20596 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
20597
20598 * util/misc.c: Don't include <errno.h> twice.
20599
20600 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
20601
20602 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20603 name in an error message.
20604 (grub_biosdisk_rw): Likewise.
20605
20606 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 Eliminate NTFS 4Gib barrier.
20609
20610 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20611 (read_run_data): Likewise.
20612 (grub_ntfs_read_run_list): Likewise.
20613 (grub_ntfs_read_block): Likewise.
20614 (grub_ntfs_iterate_dir): Likewise.
20615 (read_mft): Likewise.
20616 (read_data): Likewise.
20617 Use COM_LOG_LEN.
20618 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20619 to avoid 64-bit division
20620 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
20621 (grub_ntfs_rlst): Use grub_disk_addr_t.
20622
20623 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20624
20625 Eliminate grub-fstest 4Gib barrier.
20626
20627 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
20628 (read_file): Fix error reporting.
20629
20630 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20631
20632 Eliminate hexdump 4Gib barrier.
20633
20634 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
20635 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
20636
20637 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20638
20639 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
20640 Fixes amarsh bug.
20641
20642 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
20643
20644 Remove miscellaneous files in distclean target.
20645
20646 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
20647
20648 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
20649
20650 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
20651 if they're already set. This resolves the conflict between my
20652 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
20653 fixing the --grub-probe option again.
20654 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
20655 change on 2009-10-06, so that we now once again source
20656 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20657
20658 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
20659
20660 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
20661 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
20662 `util/devicemap.c'.
20663
20664 2009-12-08 Carles Pina i Estany <carles@pina.cat>
20665
20666 * include/grub/misc.h (grub_printf_): New declaration.
20667 * kern/misc.c (grub_printf_): New definition.
20668 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
20669 instead of `grub_printf' and `_'.
20670 * normal/menu_entry.c (store_completion): Likewise.
20671 (run): Likewise.
20672 (grub_menu_entry_run): Likewise.
20673 * normal/menu_text.c (grub_wait_after_message): Likewise.
20674 (notify_booting): Likewise.
20675 (notify_fallback): Likewise.
20676 (notify_execution_failure): Likewise.
20677
20678 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
20679
20680 * configure.ac: Check for vasprintf.
20681 * util/misc.c (asprintf): Move allocation from here ...
20682 (vasprintf): ... to here. New function.
20683 (xasprintf): New function.
20684 * include/grub/util/misc.h (vasprintf, xasprintf): Add
20685 prototypes.
20686 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20687 * util/grub-mkfont.c (write_font): Likewise.
20688 * util/grub-probe.c (probe): Likewise.
20689 * util/hostdisk.c (make_device_name): Likewise.
20690
20691 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
20692
20693 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
20694 anything even prefixed with 'cdrom' as a cdrom.
20695
20696 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
20697
20698 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
20699 mount points.
20700
20701 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20702
20703 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
20704 grub_gettext_msg_list.
20705 (grub_gettext_gettranslation_from_position): Return const char *
20706 and not char *.
20707 (grub_gettext_translate): Add the translated strings into a list,
20708 returns from the list if existing there.
20709 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
20710 (grub_gettext_delete_list): Delete the list.
20711 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
20712 lang environment variable is changed.
20713 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
20714
20715 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20716
20717 Rename kernel.mod to kernel.img.
20718
20719 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
20720 (kernel_mod_EXPORTS): Rename to ...
20721 (kernel_img_EXPORTS): ... this.
20722 (kernel_mod_SOURCES): Rename to ...
20723 (kernel_img_SOURCES): ... this.
20724 (kernel_mod_HEADERS): Rename to ...
20725 (kernel_img_HEADERS): ... this. All users updated.
20726 (kernel_mod_CFLAGS): Rename to ...
20727 (kernel_img_CFLAGS): ... this.
20728 (kernel_mod_ASFLAGS): Rename to ...
20729 (kernel_img_ASFLAGS): ... this.
20730 (kernel_mod_LDFLAGS): Rename to ...
20731 (kernel_img_LDFLAGS): ... this.
20732 * conf/x86_64-efi.rmk: Likewise.
20733 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
20734 (read_kernel_image): ... this. All users updated.
20735 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
20736
20737 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20738
20739 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
20740 (print_spaces): New function.
20741 (grub_print_ucs4): New function.
20742 (getstringwidth): New function.
20743 (print_message_indented): New function.
20744 (print_message): Gettexttize strings using print_message_indented.
20745 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
20746 width.
20747 (get_entry_number): Gettextize and uses dynamic terminal width.
20748 (notify_booting, notify_fallback, notify_execution_failure):
20749 Gettextize.
20750 * normal/menu_entry.c (store_completion): Cleanup the gettextized
20751 string.
20752 (run): Likewise.
20753 (grub_menu_entry_run): Likewise.
20754 * PO/POTFILES: Add normal/menu_entry.c.
20755
20756 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
20759
20760 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20761
20762 * util/grub-install.in: Install gettext .mo files.
20763 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
20764
20765 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20766
20767 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
20768 grub_dprintf.
20769
20770 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
20771
20772 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
20773 non-firmware-dependant one in realmode.S takes precedence.
20774
20775 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * commands/halt.c: Replace misc arch-specific headers with
20778 `<grub/misc.h>'.
20779 * commands/reboot.c: Likewise.
20780 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
20781 `<grub/misc.h>'.
20782 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
20783 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
20784 (kernel_img_SOURCES): ... to here.
20785
20786 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
20787 * include/grub/i386/pc/init.h: Likewise.
20788 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20789 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20790
20791 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
20792
20793 * include/grub/i386/halt.h: Remove.
20794 * include/grub/i386/reboot.h: Likewise.
20795
20796 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
20797
20798 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
20799
20800 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
20801 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
20802 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
20803 "progname.h"
20804 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20805 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20806 (usage): Add missing comma in printf.
20807
20808 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
20809
20810 Use the same reboot approach on i386 coreboot and qemu as we do on
20811 BIOS.
20812
20813 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
20814 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
20815 * kern/i386/reboot.c: Remove.
20816 * include/grub/i386/reboot.h (grub_reboot): Export function.
20817 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
20818 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
20819 0xf000:0xfff0 instead of 0xffff:0x0000.
20820 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
20821 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
20822
20823 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
20824
20825 Fix $srcdir != $objdir build.
20826
20827 * Makefile.in (po/%.po): Rewrite as ...
20828 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
20829
20830 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
20831
20832 Fix GNU/Hurd grub-install crash.
20833 * util/grub-probe.c (probe): Try to access `path' only when it is not
20834 NULL.
20835
20836 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 Correct module naming.
20839
20840 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20841 (GRUB_MOD_INIT(efi_uga)): ... to this
20842 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20843 (GRUB_MOD_FINI(efi_uga)): ... to this
20844 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20845 (GRUB_MOD_INIT(efi_gop)): ... to this
20846 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20847 (GRUB_MOD_FINI(efi_gop)): ... to this
20848
20849 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
20850
20851 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
20852 translatable.
20853 (usage): Translate `arg' strings using gettext().
20854 Thanks to Jordi Mallach for the suggestion.
20855
20856 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20857
20858 GOP support. Based on patch from Bean
20859 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20860
20861 * video/efi_gop.c: New file.
20862 * include/grub/efi/graphics_output.h: Likewise.
20863 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
20864 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20865 variables.
20866 * conf/x86_64-efi.rmk: Likewise.
20867
20868 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20869
20870 Rename efi_fb to efi_uga.
20871
20872 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20873 'efi_uga.mod'.
20874 (efi_fb_mod_SOURCES): Rename this ...
20875 (efi_uga_mod_SOURCES): ... to this.
20876 (efi_fb_mod_CFLAGS): Rename this ...
20877 (efi_uga_mod_CFLAGS): ... to this.
20878 (efi_fb_mod_LDFLAGS): Rename this ...
20879 (efi_uga_mod_LDFLAGS): ... to this.
20880 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20881 'efi_uga.mod'.
20882 (efi_fb_mod_SOURCES): Rename this ...
20883 (efi_uga_mod_SOURCES): ... to this.
20884 (efi_fb_mod_CFLAGS): Rename this ...
20885 (efi_uga_mod_CFLAGS): ... to this.
20886 (efi_fb_mod_LDFLAGS): Rename this ...
20887 (efi_uga_mod_LDFLAGS): ... to this.
20888 * video/efi_fb.c: Move this ...
20889 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
20890
20891 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20892
20893 * po/README: New file. Explain our PO file workflow.
20894
20895 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20896
20897 * po/ChangeLog: Remove. Move relevant entries back to ...
20898 * ChangeLog: ... here.
20899 * po/ca.po: Remove (now handled by TLP).
20900 * po/id.po: Likewise.
20901 * po/zh_CN.po: Likewise.
20902 * Makefile.in (LINGUAS): Initialize in a way that supports
20903 empty set.
20904
20905 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20906
20907 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
20908 reliing on po/LINGUAS.
20909 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
20910 (po/%.po): ... this.
20911
20912 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20913
20914 * util/i386/efi/grub-mkimage.c: Include "progname.h".
20915 (main): Use `program_name' instead of nonexistent `progname'.
20916
20917 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20918
20919 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20920 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
20921
20922 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20923
20924 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
20925 commit.
20926 * conf/i386-efi.rmk: Likewise.
20927 * conf/i386-ieee1275.rmk: Likewise.
20928 * conf/powerpc-ieee1275.rmk: Likewise.
20929 * conf/sparc64-ieee1275.rmk: Likewise.
20930 * conf/x86_64-efi.rmk: Likewise.
20931
20932 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20933
20934 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
20935
20936 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20937
20938 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
20939
20940 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20941
20942 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
20943 (grub_mkdevicemap_SOURCES): New variable.
20944 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
20945 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
20946 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
20947 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
20948 (grub_mkdevicemap_SOURCES): Remove.
20949 * conf/i386-efi.rmk: Likewise.
20950 * conf/i386-ieee1275.rmk: Likewise.
20951 * conf/i386-pc.rmk: Likewise.
20952 * conf/powerpc-ieee1275.rmk: Likewise.
20953 * conf/sparc64-ieee1275.rmk: Likewise.
20954 * conf/x86_64-efi.rmk: Likewise.
20955 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20956 (usage): Fix strings to use `program_name'.
20957 (main): Initialize gettext.
20958 * util/grub-editenv.c: Likewise.
20959 * util/grub-emu.c: Likewise.
20960 * util/grub-fstest.c: Likewise.
20961 * util/grub-mkdevicemap.c: Likewise.
20962 * util/grub-mkfont.c: Likewise.
20963 * util/grub-mkrelpath.c: Likewise.
20964 * util/grub-pe2elf.c: Likewise.
20965 * util/grub-probe.c: Likewise.
20966 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20967 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20968 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20969
20970 * util/misc.c: Include `"progname.h"'.
20971 (progname): Remove variable.
20972 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20973
20974 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
20975
20976 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20977 printf and print a newline after the menuentry header line.
20978 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20979
20980 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
20981
20982 autoconf >= 2.60 support $(localedir).
20983
20984 * INSTALL: Note that autoconf 2.60 is required.
20985 * configure.ac (AC_PREREQ): Bump to 2.60.
20986 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20987 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20988
20989 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20990
20991 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20992 aclocal is run.
20993
20994 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20995
20996 * normal/main.c (grub_normal_read_line): Fix off-by-one
20997 buffer overflow.
20998
20999 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
21000
21001 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
21002 "parser.grub" in grub_command_execute() call.
21003
21004 2009-11-24 Carles Pina i Estany <carles@pina.cat>
21005
21006 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
21007 * conf/i386-efi.rmk: Likewise.
21008 * conf/i386-ieee1275.rmk: Likewise.
21009 * conf/i386-pc.rmk: Likewise.
21010 * conf/powerpc-ieee1275.rmk: Likewise.
21011 * conf/sparc64-ieee1275.rmk: Likewise.
21012 * conf/x86_64-efi.rmk: Likewise.
21013 * gettext/gettex.c: Include <grub/i18n.h>.
21014 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
21015 here ...
21016 * include/grub/i18n.h: ... to here
21017 * include/grub/i18n.h: ... to here.
21018 * kern/misc.c: Include <grub/i18n.h>
21019 (grub_gettext_dummy): Move above user.
21020
21021 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21022
21023 * util/Makefile.in (install-local): Convert a `for' into a normal
21024 shell expansion.
21025
21026 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21027
21028 * autogen.sh: Add automake call.
21029 * config.guess: Remove.
21030 * config.sub: Likewise.
21031 * install-sh: Likewise.
21032
21033 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21034
21035 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21036
21037 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21038
21039 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21040 function to a normal shell `for'.
21041
21042 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21043
21044 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21045
21046 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21047
21048 * util/grub-mkrelpath.c: New file.
21049 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21050 (grub_mkrelpath_SOURCES): New variable.
21051 * include/grub/util/misc.h: New function prototype.
21052 * util/misc.c (make_system_path_relative_to_its_root): New function.
21053
21054 * util/grub-mkconfig_lib.in (bindir): New variable.
21055 (grub_mkrelpath): Likewise.
21056 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21057
21058 * util/probe.c (probe): Make the file path relative to its root.
21059 Change a info message to use the GRUB path. Enable again the
21060 check if we can read the file with GRUB facilities.
21061
21062 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21063 to its root.
21064
21065 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21066
21067 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21068 platform.
21069
21070 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21071
21072 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21073 strncmp().
21074
21075 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21076
21077 * util/getroot.c (grub_util_is_dmraid): New function.
21078 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21079 devices as normal ones, not as LVM.
21080
21081 2009-11-23 Carles Pina i Estany <carles@pina.cat>
21082
21083 * conf/common.rmk: Add grub-gettext_lib target and updates
21084 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21085 LDFLAGS.
21086 * gettext/gettext.c: New file. (Reads mo files).
21087 * include/grub/file.h (grub_file_pread): New prototype.
21088 * include/grub/i18n.h (_): New prototype.
21089 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21090 prototypes.
21091 * kern/misc.c (grub_gettext_dummy): New function.
21092 * normal/menu_text.c: Include <grub/i18n.h>.
21093 * normal/menu_text.c (print_timeout): Gettexttize string.
21094 * normal/menu_text.c (print_message): Gettexttize string.
21095 * po/POTFILES: Add `normal/menu_text.c'.
21096 * po/ca.po: Add new translations.
21097 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21098 gettext module and defines locale_dir and lang in grub.cfg.
21099 * NEWS: Add gettext support.
21100
21101 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21102
21103 * util/hostdisk.c: Include `<grub/i18n.h>'.
21104 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21105 (make_device_name): Rewrite using asprintf.
21106 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21107 (find_system_device): If a device is not found, generate one just
21108 by reusing the OS path name.
21109 (read_device_map): Make it permissible for device.map not to exist.
21110
21111 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21112
21113 * script/sh/execute.c: Move from here ...
21114 * script/execute.c: ... to here. Update all users.
21115 * script/sh/function.c: Move from here ...
21116 * script/function.c: ... to here. Update all users.
21117 * script/sh/lexer.c: Move from here ...
21118 * script/lexer.c: ... to here. Update all users.
21119 * script/sh/main.c: Move from here ...
21120 * script/main.c: ... to here. Update all users.
21121 * script/sh/parser.y: Move from here ...
21122 * script/parser.y: ... to here. Update all users.
21123 * script/sh/script.c: Move from here ...
21124 * script/script.c: ... to here. Update all users.
21125
21126 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21127
21128 * configure.ac: Detect all `emu' platforms. Define
21129 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21130 --enable-grub-emu logic. Disable include/grub/machine
21131 symlink on `emu' platforms.
21132
21133 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21134 * gensymlist.sh.in: Likewise.
21135
21136 * include/grub/i386/coreboot/machine.h: Remove file.
21137 * include/grub/i386/efi/machine.h: Likewise.
21138 * include/grub/i386/ieee1275/machine.h: Likewise.
21139 * include/grub/i386/pc/machine.h: Likewise.
21140 * include/grub/i386/qemu/machine.h: Likewise.
21141 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21142 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21143 * include/grub/x86_64/efi/machine.h: Likewise.
21144
21145 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21146 * commands/halt.c: Likewise.
21147 * commands/reboot.c: Likewise.
21148 * include/grub/autoefi.h: Likewise.
21149 * include/grub/i386/at_keyboard.h: Likewise.
21150 * include/grub/i386/kernel.h: Likewise.
21151 * include/grub/i386/loader.h: Likewise.
21152 * include/grub/i386/pc/memory.h: Likewise.
21153 * kern/dl.c: Likewise.
21154 * kern/i386/coreboot/init.c: Likewise.
21155 * loader/i386/bsd.c: Likewise.
21156 * loader/i386/linux.c: Likewise.
21157 * loader/multiboot_loader.c: Likewise.
21158 * term/i386/pc/serial.c: Likewise.
21159 * term/usb_keyboard.c: Likewise.
21160
21161 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21162 `<grub/machine/machine.h>'
21163 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21164 * util/misc.c: Remove `<grub/machine/machine.h>' and
21165 `<grub/machine/time.h>'.
21166
21167 * Makefile.in (enable_grub_emu): Remove variable.
21168 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21169
21170 * conf/any-emu.rmk: New file.
21171 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21172 (grub_emu_init.c): Move from here ...
21173 * conf/any-emu.rmk: ... to here.
21174
21175 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21176 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21177 * conf/any-emu.rmk: ... to here.
21178
21179 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21180
21181 * include/grub/parser.h (grub_parser_register): Document need
21182 of `name' parameter.
21183 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21184 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21185 "sh" to "grub".
21186
21187 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21188
21189 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21190 `$(XGETTEXT)'.
21191 * include/grub/i18n.h (N_): New macro.
21192 * util/mkisofs/mkisofs.h: Likewise.
21193 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21194 around N_().
21195 (usage): Use gettext() to translate help strings when printing them.
21196
21197 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21198
21199 Based on patch from Bean
21200 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21201
21202 * video/efi_fb.c: New file.
21203 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21204 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21205 variables.
21206 * conf/x86_64-efi.rmk: Likewise.
21207
21208 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21209
21210 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21211 * util/i386/pc/grub-setup.c: Likewise.
21212
21213 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21214
21215 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21216 <hurd/fs.h>
21217 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21218 file_get_storage_info to implement grub_guess_root_device.
21219
21220 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21221
21222 * Makefile.in (target): Use make's builtin $(shell) function
21223 instead of calling directly $(SHELL) to create the locale directories,
21224 inside the $(foreach) function.
21225
21226 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21227
21228 * util/grub-mkrescue.in: Print an error and usage if output option
21229 has not been given.
21230
21231 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21232
21233 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21234 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21235 root and /boot are on different devices.
21236
21237 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21238
21239 Fix build for srcdir != objdir.
21240
21241 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21242 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21243 $(srcdir).
21244 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21245 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21246 reference for input.
21247
21248 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21251 or hardlinking it). Remove -J option, Joliet is not compatible with
21252 multiple source directories.
21253
21254 2009-11-21 Carles Pina i Estany <carles@pina.cat>
21255 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21256
21257 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21258 (process_input_dir): New function. Process an arbitrary input
21259 directory.
21260 Misc adjustments to support both "override mode" and system-wide mode.
21261
21262 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21263
21264 * configure.ac (UNIFONT_BDF): Rename to ...
21265 (FONT_SOURCE): ... this. Update all users.
21266
21267 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21268
21269 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21270 to the list of unifont files to look for.
21271
21272 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21273
21274 Patch from Joe Auricchio <jauricchio@gmail.com>
21275 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21276 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21277 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21278
21279 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21280
21281 * Makefile.in (install-local): Add a missing backslash.
21282
21283 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21284
21285 * include/grub/x86_64/io.h: New file.
21286
21287 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21288
21289 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21290 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21291 Include `"progname.h"'.
21292 (main): Initialize gettext.
21293 * util/i386/pc/grub-setup.c: Gettexttize.
21294 * util/i386/pc/grub-mkimage.c: Likewise.
21295
21296 * Makefile.in (po/*.po): Redefine as ...
21297 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21298
21299 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21300
21301 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21302
21303 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21304 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21305 (program_name): Remove.
21306 (main): Initialize gettext support.
21307 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21308 Include `<libintl.h>'.
21309 (_): New macro.
21310
21311 * util/mkisofs/eltorito.c: Gettexttize.
21312 * util/mkisofs/joliet.c: Likewise.
21313 * util/mkisofs/mkisofs.c: Likewise.
21314 * util/mkisofs/multi.c: Likewise.
21315 * util/mkisofs/rock.c: Likewise.
21316 * util/mkisofs/tree.c: Likewise.
21317 * util/mkisofs/write.c: Likewise.
21318
21319 * po/POTFILES: Update with new files.
21320
21321 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21322
21323 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21324 * util/mkisofs/iso9660.h: Likewise.
21325 * util/mkisofs/joliet.c: Likewise.
21326 * util/mkisofs/mkisofs.c: Likewise.
21327 * util/mkisofs/mkisofs.h: Likewise.
21328 * util/mkisofs/rock.c: Likewise.
21329 * util/mkisofs/tree.c: Likewise.
21330 * util/mkisofs/write.c: Likewise.
21331
21332 * util/mkisofs/eltorito.c (rcsid): Remove.
21333 * util/mkisofs/hash.c: Likewise.
21334 * util/mkisofs/joliet.c: Likewise.
21335 * util/mkisofs/name.c: Likewise.
21336 * util/mkisofs/rock.c: Likewise.
21337 * util/mkisofs/tree.c: Likewise.
21338 * util/mkisofs/write.c: Likewise.
21339
21340 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21341
21342 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21343 instead of static allocation.
21344 * util/mkisofs/match.h: Likewise.
21345
21346 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21347
21348 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21349 and `util/grub.d/10_linux.in'.
21350 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21351 translatable Shell files.
21352
21353 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21354
21355 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21356
21357 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21358
21359 * INSTALL: Document Automake is needed for bootstrap.
21360 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
21361 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21362 Add gettext initialization.
21363 (kfreebsd_entry): Make menuentry output translatable.
21364
21365 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21366
21367 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21368 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21369 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21370 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21371 (LINGUAS): Auto-generate using `po/LINGUAS'.
21372 * po/LINGUAS: New file.
21373
21374 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21375
21376 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21377 other things).
21378 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21379 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21380 bindtextdomain() calls for gettext initialization.
21381
21382 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21383
21384 * gnulib/progname.c: New file (imported from Gnulib).
21385 * gnulib/progname.h: Likewise.
21386 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21387 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21388 (usage): Replace `progname' with `program_name'.
21389 (main): Use set_program_name() for program name initialization.
21390
21391 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21392
21393 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21394 from here ...
21395 * Makefile.in (CPPFLAGS): ... to here.
21396
21397 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21398
21399 * aclocal.m4: Move from here ...
21400 * acinclude.m4: ... to here.
21401 * autogen.sh: Add call to `aclocal'.
21402 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21403
21404 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21405
21406 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21407 (LINGUAS): New variable.
21408 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21409 (install-local): Install MO files.
21410 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21411 * include/grub/i18n.h: New file.
21412 * po/POTFILES: New file.
21413 * po/ca.po: New file.
21414 * util/grub.d/10_linux.in (bindir): New variable.
21415 Add gettext initialization.
21416 (linux_entry): Make menuentry output translatable.
21417 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21418 (usage): Make --help output translatable.
21419 (main): Initialize gettext.
21420
21421 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21422
21423 * import_gcry.py: New file (written by Vladimir with minor
21424 adjustments).
21425 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21426 ciphers.
21427 * INSTALL: Document that Python is required for bootstrap.
21428
21429 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21430
21431 Import ciphers from libgcrypt 1.4.4.
21432
21433 * lib/libgcrypt/cipher/ChangeLog
21434 * lib/libgcrypt/cipher/ac.c
21435 * lib/libgcrypt/cipher/arcfour.c
21436 * lib/libgcrypt/cipher/bithelp.h
21437 * lib/libgcrypt/cipher/blowfish.c
21438 * lib/libgcrypt/cipher/camellia-glue.c
21439 * lib/libgcrypt/cipher/camellia.c
21440 * lib/libgcrypt/cipher/camellia.h
21441 * lib/libgcrypt/cipher/cast5.c
21442 * lib/libgcrypt/cipher/cipher.c
21443 * lib/libgcrypt/cipher/crc.c
21444 * lib/libgcrypt/cipher/des.c
21445 * lib/libgcrypt/cipher/dsa.c
21446 * lib/libgcrypt/cipher/ecc.c
21447 * lib/libgcrypt/cipher/elgamal.c
21448 * lib/libgcrypt/cipher/hash-common.c
21449 * lib/libgcrypt/cipher/hash-common.h
21450 * lib/libgcrypt/cipher/hmac-tests.c
21451 * lib/libgcrypt/cipher/md.c
21452 * lib/libgcrypt/cipher/md4.c
21453 * lib/libgcrypt/cipher/md5.c
21454 * lib/libgcrypt/cipher/primegen.c
21455 * lib/libgcrypt/cipher/pubkey.c
21456 * lib/libgcrypt/cipher/rfc2268.c
21457 * lib/libgcrypt/cipher/rijndael-tables.h
21458 * lib/libgcrypt/cipher/rijndael.c
21459 * lib/libgcrypt/cipher/rmd.h
21460 * lib/libgcrypt/cipher/rmd160.c
21461 * lib/libgcrypt/cipher/rsa.c
21462 * lib/libgcrypt/cipher/seed.c
21463 * lib/libgcrypt/cipher/serpent.c
21464 * lib/libgcrypt/cipher/sha1.c
21465 * lib/libgcrypt/cipher/sha256.c
21466 * lib/libgcrypt/cipher/sha512.c
21467 * lib/libgcrypt/cipher/tiger.c
21468 * lib/libgcrypt/cipher/twofish.c
21469 * lib/libgcrypt/cipher/whirlpool.c
21470
21471 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21472
21473 Fix build for systems without error().
21474
21475 * gnulib/error.c: New file (imported from Gnulib).
21476 * gnulib/error.h: Likewise.
21477 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21478 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21479 (this variable is now used by error()).
21480
21481 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21482
21483 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21484 instead of relying that char is signed.
21485
21486 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21489 blocksize different from specified.
21490 (grub_pxefs_read): Likewise.
21491
21492 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21493
21494 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21495
21496 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21497 (grub_ata_readwrite): Likewise. Update 2 format strings.
21498 (grub_atapi_read): Likewise.
21499
21500 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21501 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21502 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21503 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21504 (ata_mod_LDFLAGS): Move from here ...
21505 * conf/i386.rmk: ... to here ...
21506 * conf/x86_64-efi.rmk: ... and here.
21507 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21508 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21509
21510 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21511
21512 Relicense multiboot.h, with RMS' blessing.
21513
21514 * include/multiboot.h: Change to X11 license.
21515
21516 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21517
21518 Support --version in grub-mkisofs.
21519
21520 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21521 (OPTION_VERSION): New macro.
21522 (ld_options): Recognize --version.
21523 (usage): Move `program_name' from here ...
21524 (program_name): ... to here. Add `static' qualifier.
21525 (main): Recognize `OPTION_VERSION'.
21526
21527 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
21528
21529 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21530 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21531
21532 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21533
21534 Fix help2man generation for mkisofs.
21535
21536 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21537 (usage): Send output to stdout (rather than stderr).
21538
21539 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21540
21541 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21542 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21543 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21544 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21545 (bin_SCRIPTS): Add `grub-mkfloppy'.
21546 (grub_mkfloppy_SOURCES): New variable.
21547
21548 * util/grub-mkrescue.in: New file.
21549 * util/i386/pc/grub-mkfloppy.in: New file.
21550
21551 * util/i386/coreboot/grub-mkrescue.in: Remove.
21552 * util/i386/pc/grub-mkrescue.in: Remove.
21553
21554 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21555
21556 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21557 from here ...
21558 * include/multiboot.h (struct multiboot_header): ... to here. Update
21559 all users.
21560 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21561 from here ...
21562 * include/multiboot.h (struct multiboot_info): ... to here. Update
21563 all users.
21564 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21565 from here ...
21566 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21567 Update all users.
21568 * include/grub/multiboot.h (struct grub_mod_list): Move
21569 from here ...
21570 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21571 Update all users.
21572
21573 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21574
21575 * include/multiboot2.h (multiboot_word): Rename from this ...
21576 (multiboot2_word): ... to this. Update all users.
21577 (multiboot_header): Rename from this ...
21578 (multiboot2_header): ... to this. Update all users.
21579 (multiboot_tag_header): Rename from this ...
21580 (multiboot2_tag_header): ... to this. Update all users.
21581 (multiboot_tag_start): Rename from this ...
21582 (multiboot2_tag_start): ... to this. Update all users.
21583 (multiboot_tag_name): Rename from this ...
21584 (multiboot2_tag_name): ... to this. Update all users.
21585 (multiboot_tag_module): Rename from this ...
21586 (multiboot2_tag_module): ... to this. Update all users.
21587 (multiboot_tag_memory): Rename from this ...
21588 (multiboot2_tag_memory): ... to this. Update all users.
21589 (multiboot_tag_unused): Rename from this ...
21590 (multiboot2_tag_unused): ... to this. Update all users.
21591 (multiboot_tag_end): Rename from this ...
21592 (multiboot2_tag_end): ... to this. Update all users.
21593
21594 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21595
21596 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21597 this platform we should support Multiboot1 first.
21598
21599 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21600 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21601 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21602
21603 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21604
21605 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21606 of write calls (converting them to fwrite() if they aren't already).
21607 (get_torito_desc): Likewise.
21608 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21609
21610 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21611
21612 * util/i386/pc/grub-install.in: Move from here ...
21613 * util/grub-install.in: ... to here. Update all users.
21614
21615 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
21616
21617 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21618
21619 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21620
21621 Support for El Torito without floppy emulation.
21622
21623 * util/mkisofs/eltorito.c: Include `<errno.h>'.
21624 (init_boot_catalog): Improve error handling.
21625 (get_torito_desc): Don't use floppy emulation unless requested by
21626 user. Patch boot information table when requested via
21627 `-boot-info-table'.
21628 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
21629 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
21630 (use_boot_info_table): New variables.
21631 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
21632 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
21633 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
21634 `--eltorito-emul-floppy'.
21635 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
21636 and `OPTION_ELTORITO_EMUL_FLOPPY'.
21637 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
21638 (use_boot_info_table, get_731): New prototypes.
21639 * util/mkisofs/write.c (get_731): New function.
21640
21641 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
21642
21643 Fix the generation of the man page.
21644
21645 * util/pc/i386/grub-install.in: Source
21646 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21647
21648 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21649
21650 Large file support for grub-mkisofs.
21651
21652 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
21653 * util/mkisofs/mkisofs.c (next_extent, last_extent)
21654 (session_start): Upgrade type to `uint64_t'. Update all users.
21655 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
21656 (struct directory_entry): Upgrade type of `starting_block' and
21657 `size' to `uint64_t'. Update all users.
21658 (struct deferred): Remove unused structure.
21659 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
21660 Update all users.
21661 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
21662 file is larger than `UINT32_MAX'.
21663 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
21664 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
21665 return value.
21666 (struct deferred_write): Upgrade type of `extent' and `size' to
21667 `uint64_t'. Update all users.
21668 (last_extent_written): Upgrade type to `uint64_t'. Update all
21669 users.
21670 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
21671 Update all users. Upgrade type of `remain' to `int64_t' and
21672 `use' to `size_t'. Use error() to handle fread() errors.
21673 (write_files): Rely on write_one_file() rather than calling
21674 xfwrite() directly.
21675
21676 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
21677
21678 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
21679
21680 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21681
21682 * util/mkisofs/fnmatch.c: Remove.
21683 * util/mkisofs/getopt1.c: Likewise.
21684 * util/mkisofs/getopt.c: Likewise.
21685 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
21686 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
21687 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
21688 `gnulib/getopt1.c' and `gnulib/getopt.c'.
21689 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
21690
21691 * configure.ac: Detect `mingw32msvc' host_os.
21692 Check for lstat(), getuid() and getgid().
21693
21694 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
21695 instances of `u_char' with `uint8_t'.
21696
21697 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
21698 [!HAVE_GETUID] (getuid): New function (stub).
21699 [!HAVE_GETGID] (getgid): Likewise.
21700 [!HAVE_LSTAT] (lstat): Likewise.
21701 [!S_IROTH] (S_IROTH): New macro (dummy).
21702 [!S_IRGRP] (S_IRGRP): Likewise.
21703
21704 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21705
21706 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
21707 conditional expression).
21708
21709 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21710
21711 Import from Gnulib.
21712
21713 * gnulib/fnmatch.c: New file.
21714 * gnulib/fnmatch.h: Likewise.
21715 * gnulib/fnmatch_loop.c: Likewise.
21716 * gnulib/getopt.c: Likewise.
21717 * gnulib/getopt.h: Likewise.
21718 * gnulib/getopt1.c: Likewise.
21719 * gnulib/getopt_int.h: Likewise.
21720 * gnulib/gettext.h: Likewise.
21721
21722 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21723
21724 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
21725 * normal/handler.c (read_handler_list): Likewise.
21726
21727 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21728
21729 Misc cleanup.
21730
21731 * kern/command.c (grub_register_command_prio): Use
21732 grub_zalloc() instead of explicitly zeroing data.
21733 * kern/list.c: Include `<grub/mm.h>'.
21734 (grub_named_list_find): Replace `0' with `NULL'.
21735 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
21736 (fs_module_list): Change type to `grub_named_list_t'. Update all
21737 users.
21738 * normal/dyncmd.c (read_command_list): Add space between function
21739 call and parenthesis.
21740 * normal/handler.c (read_handler_list): Likewise.
21741
21742 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21743
21744 * normal/auth.c (punishment_delay): Moved from here ...
21745 (grub_auth_strcmp): ... to here (inside function).
21746
21747 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21748
21749 * include/grub/list.h (struct grub_named_list): Remove `const'
21750 qualifier from `name'.
21751 (struct grub_prio_list): Likewise.
21752
21753 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21754
21755 * normal/auth.c: Include `<grub/time.h>'.
21756 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
21757
21758 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21759
21760 * normal/auth.c (punishment_delay): New variable.
21761 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
21762 (grub_auth_check_authentication): Punish failed login attempts with
21763 an incremental (2^N) delay.
21764
21765 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21766
21767 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
21768 path with $(srcdir).
21769
21770 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21771
21772 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
21773
21774 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21775
21776 * util/i386/coreboot/grub-mkrescue.in: New file.
21777 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
21778 variables.
21779
21780 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
21781 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
21782 * configure.ac: Add header and function checks to satisfy grub-mkisofs
21783 requirements.
21784 * util/mkisofs/defaults.h: New file.
21785 * util/mkisofs/eltorito.c: Likewise.
21786 * util/mkisofs/exclude.h: Likewise.
21787 * util/mkisofs/fnmatch.c: Likewise.
21788 * util/mkisofs/getopt.c: Likewise.
21789 * util/mkisofs/getopt1.c: Likewise.
21790 * util/mkisofs/hash.c: Likewise.
21791 * util/mkisofs/include/fctldefs.h: Likewise.
21792 * util/mkisofs/include/mconfig.h: Likewise.
21793 * util/mkisofs/include/prototyp.h: Likewise.
21794 * util/mkisofs/include/statdefs.h: Likewise.
21795 * util/mkisofs/iso9660.h: Likewise.
21796 * util/mkisofs/joliet.c: Likewise.
21797 * util/mkisofs/match.c: Likewise.
21798 * util/mkisofs/match.h: Likewise.
21799 * util/mkisofs/mkisofs.c: Likewise.
21800 * util/mkisofs/mkisofs.h: Likewise.
21801 * util/mkisofs/multi.c: Likewise.
21802 * util/mkisofs/name.c: Likewise.
21803 * util/mkisofs/rock.c: Likewise.
21804 * util/mkisofs/tree.c: Likewise.
21805 * util/mkisofs/write.c: Likewise.
21806
21807 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
21810 being insecure.
21811
21812 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21813
21814 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
21815 `grub-mkimage' (and use $0 when possible).
21816
21817 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21818
21819 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
21820 error message for excessively large memory map.
21821
21822 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21823
21824 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
21825 executable bit.
21826
21827 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21828
21829 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
21830 message for coreboot users.
21831
21832 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
21833
21834 Fix build with GNU gold.
21835
21836 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
21837 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
21838 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
21839 link addresses.
21840 * aclocal.m4: Likewise.
21841
21842 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
21843
21844 * configure.ac (AC_PREREQ): Bump to 2.59d.
21845 * INSTALL: Make it more clear when Autoconf and Ruby are
21846 needed and when to run `./autogen.sh'.
21847
21848 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
21849
21850 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
21851 OSes.
21852
21853 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21854
21855 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
21856
21857 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21858
21859 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
21860 giving it to GNU Mach.
21861
21862 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21863
21864 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
21865 GNU partition number to get internal GRUB partition number.
21866
21867 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21868
21869 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
21870 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
21871
21872 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
21873
21874 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
21875 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
21876 case.
21877
21878 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
21879
21880 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
21881
21882 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21883
21884 Fix build problem.
21885
21886 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
21887 `-isystem=$(srcdir)/include'.
21888
21889 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21890
21891 * util/i386/pc/grub-install.in: Remove hint that device.map should be
21892 checked (grub-install doesn't currently rely on it).
21893
21894 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
21895
21896 Revert SVN r2660.
21897
21898 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
21899 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21900 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
21901 * conf/i386-ieee1275.rmk: Likewise.
21902 * conf/i386-pc.rmk: Likewise.
21903 * conf/powerpc-ieee1275.rmk: Likewise.
21904 * conf/sparc64-ieee1275.rmk: Likewise.
21905 * conf/x86_64-efi.rmk: Likewise.
21906
21907 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
21910
21911 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21912
21913 * include/grub/misc.h: Stop checking for APPLE_CC.
21914
21915 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21916
21917 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
21918 doesn't cause an infinite call loop.
21919
21920 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
21921
21922 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
21923 strings.
21924
21925 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21926
21927 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
21928 variable.
21929 * Makefile.in: Likewise.
21930
21931 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21932
21933 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
21934
21935 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21936
21937 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
21938
21939 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21940
21941 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
21942
21943 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21944
21945 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
21946 from here ...
21947 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
21948
21949 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21950
21951 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
21952 in $(MAKEINFO) invocation. This makes it clear in output that
21953 errors are being ignored.
21954
21955 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21956
21957 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21958 from here ...
21959 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21960 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21961 * conf/i386-ieee1275.rmk: Likewise.
21962 * conf/i386-pc.rmk: Likewise.
21963 * conf/powerpc-ieee1275.rmk: Likewise.
21964 * conf/sparc64-ieee1275.rmk: Likewise.
21965 * conf/x86_64-efi.rmk: Likewise.
21966
21967 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
21968
21969 * util/grub-editenv.c (main): If only a command is given, use
21970 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21971 (usage): FILENAME is now optional and has a default.
21972
21973 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
21974
21975 Improve grub-mkconfig performance when there are several menu
21976 entries on a single filesystem.
21977
21978 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21979 prepare_grub_to_access_device.
21980 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21981 * util/grub.d/30_os-prober.in: Likewise.
21982
21983 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21984
21985 * util/grub.d/10_freebsd.in: Remove.
21986 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21987 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21988
21989 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21990
21991 * docs/grub.cfg: Fix example usage of *BSD loaders.
21992
21993 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21994
21995 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21996 grub_util_error() call.
21997
21998 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21999
22000 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
22001 `reserved_first_sector' member.
22002 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
22003 `reserved_first_sector' to 1.
22004 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
22005 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
22006 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
22007 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
22008 filesystems which begin at first sector.
22009 (options): New option --skip-fs-probe.
22010 (main): Handle --skip-fs-probe and pass it to setup().
22011
22012 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
22015 (memset): Fix function prototype.
22016
22017 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22018 2009-10-25 Vasily Averin <vvs@parallels.com>
22019
22020 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
22021 `dirent.direntlen == 0'.
22022
22023 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22024
22025 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22026 `cpio'.
22027 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22028
22029 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22030
22031 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22032 `__trampoline_setup' and `__ucmpdi2'.
22033 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22034 that libgcc provides.
22035
22036 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22037
22038 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22039 * include/grub/sparc64/libgcc.h (memset): Likewise.
22040 * include/grub/misc.h (memset, memcmp): New function prototypes.
22041
22042 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22043
22044 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22045 `cpio'.
22046 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22047
22048 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22049
22050 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22051 * docs/grub.cfg: Compensate for recent change in multiboot
22052 loader (since 2009-08-14 it won't pass filename to payload).
22053 * util/grub.d/10_hurd.in: Likewise.
22054
22055 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
22056
22057 * config.guess: Update to latest version from config git
22058 repository.
22059 * config.sub: Likewise.
22060
22061 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22062
22063 Fix build on sparc64.
22064
22065 * configure.ac: Perform checks for libgcc symbols before
22066 adding `-nostdlib' to LDFLAGS.
22067
22068 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22069
22070 Let user specify OpenBSD root device.
22071
22072 * loader/i386/bsd.c (openbsd_root): New variable.
22073 (openbsd_opts): New option 'root'.
22074 (OPENBSD_ROOT_ARG): New macro.
22075 (grub_openbsd_boot): Use 'openbsd_root'.
22076 (grub_cmd_openbsd): Fill 'openbsd_root'.
22077
22078 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 * NEWS: Misc adjustments.
22081
22082 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22083
22084 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22085
22086 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22087
22088 * configure.ac: Bump version to 1.97.
22089
22090 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
22091
22092 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22093 -mno-3dnow on x86 architectures. Some toolchains enable these
22094 features by default, but they rely on registers that aren't enabled
22095 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22096
22097 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22098
22099 Make entry text a bit more readable.
22100
22101 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22102
22103 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22106
22107 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22108
22109 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22110 operations.
22111
22112 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 * configure.ac: Add missing dollar.
22115
22116 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22117
22118 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22119
22120 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22121 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22122 exports.
22123 * include/grub/sparc64/libgcc.h: Likewise. Use
22124 preprocessor conditionals.
22125
22126 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22127
22128 * conf/common.rmk (grub-dumpbios): Remove rule.
22129 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22130 * util/grub-dumpbios.in: Remove file.
22131
22132 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22133
22134 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22135 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22136
22137 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22138 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22139 users.
22140
22141 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22142 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22143 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22144 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22145 users.
22146
22147 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22148
22149 * term/tparm.c: Switch to GPLv3.
22150
22151 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22152
22153 * include/grub/i386/cpuid.h: Add header protection.
22154
22155 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22156
22157 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22158
22159 * include/grub/i386/cpuid.h: New file.
22160 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22161 (has_longmode): Rename to ...
22162 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22163 `static' attribute.
22164 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22165 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22166 on a CPU that doesn't implement AMD64 instruction set.
22167
22168 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22169
22170 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22171 that version.texi is rebuilt on version number changes.
22172
22173 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22174
22175 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22176 Fixes bug #27602.
22177
22178 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22179
22180 * util/i386/pc/grub-install.in: Source
22181 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22182 that the --grub-probe option will work.
22183 * util/sparc64/ieee1275/grub-install.in: Likewise.
22184
22185 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22186
22187 * configure.ac: Bump version to 1.97~beta4.
22188
22189 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22190
22191 Resync grub-mkdevicemap in x86_64-efi.
22192
22193 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22194 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22195 `util/devicemap.c'.
22196
22197 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
22198
22199 * util/grub-editenv.c (create_envblk_file): Write new block with a
22200 .new suffix and then rename it into place, to ensure atomic
22201 creation.
22202
22203 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22204
22205 Do not automatically install headers.
22206
22207 * Makefile.in (include_DATA): Remove. Update all users.
22208
22209 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22210
22211 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22212 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22213
22214 * util/osdetect.lua: Remove.
22215 * script/lua/lauxlib.c: Likewise.
22216 * script/lua/ldebug.c: Likewise.
22217 * script/lua/grub_main.c: Likewise.
22218 * script/lua/lauxlib.h: Likewise.
22219 * script/lua/ldebug.h: Likewise.
22220 * script/lua/ltablib.c: Likewise.
22221 * script/lua/liolib.c: Likewise.
22222 * script/lua/lstrlib.c: Likewise.
22223 * script/lua/lualib.h: Likewise.
22224 * script/lua/ldo.c: Likewise.
22225 * script/lua/ldump.c: Likewise.
22226 * script/lua/ldo.h: Likewise.
22227 * script/lua/loslib.c: Likewise.
22228 * script/lua/lundump.c: Likewise.
22229 * script/lua/grub_lib.c: Likewise.
22230 * script/lua/ldblib.c: Likewise.
22231 * script/lua/lundump.h: Likewise.
22232 * script/lua/lmem.c: Likewise.
22233 * script/lua/grub_lib.h: Likewise.
22234 * script/lua/lmathlib.c: Likewise.
22235 * script/lua/lstate.c: Likewise.
22236 * script/lua/ltm.c: Likewise.
22237 * script/lua/lvm.c: Likewise.
22238 * script/lua/lmem.h: Likewise.
22239 * script/lua/lstate.h: Likewise.
22240 * script/lua/ltm.h: Likewise.
22241 * script/lua/ltable.c: Likewise.
22242 * script/lua/lvm.h: Likewise.
22243 * script/lua/llex.c: Likewise.
22244 * script/lua/lgc.c: Likewise.
22245 * script/lua/grub_lua.h: Likewise.
22246 * script/lua/loadlib.c: Likewise.
22247 * script/lua/lfunc.c: Likewise.
22248 * script/lua/lopcodes.c: Likewise.
22249 * script/lua/lparser.c: Likewise.
22250 * script/lua/ltable.h: Likewise.
22251 * script/lua/llex.h: Likewise.
22252 * script/lua/lgc.h: Likewise.
22253 * script/lua/lfunc.h: Likewise.
22254 * script/lua/lbaselib.c: Likewise.
22255 * script/lua/lopcodes.h: Likewise.
22256 * script/lua/lparser.h: Likewise.
22257 * script/lua/lzio.c: Likewise.
22258 * script/lua/linit.c: Likewise.
22259 * script/lua/lobject.c: Likewise.
22260 * script/lua/llimits.h: Likewise.
22261 * script/lua/lstring.c: Likewise.
22262 * script/lua/lzio.h: Likewise.
22263 * script/lua/lapi.c: Likewise.
22264 * script/lua/lcode.c: Likewise.
22265 * script/lua/lua.h: Likewise.
22266 * script/lua/lobject.h: Likewise.
22267 * script/lua/lstring.h: Likewise.
22268 * script/lua/lapi.h: Likewise.
22269 * script/lua/lcode.h: Likewise.
22270 * script/lua/luaconf.h: Likewise.
22271
22272 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
22273
22274 * docs/grub.texi (Command-line and menu entry commands): Document
22275 date and echo commands.
22276
22277 2009-09-24 Pavel Roskin <proski@gnu.org>
22278
22279 * include/grub/kernel.h (struct grub_module_header): Remove
22280 `grub_module_header_types'. Make `type' unsigned. Make `size'
22281 32-bit on all platforms.
22282 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22283 8-bit field. Use grub_host_to_target32() for `size'.
22284 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22285 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22286 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22287
22288 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22289
22290 Fix "lost keypress" bug in at_keyboard.
22291
22292 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22293 Checks for readyness of input buffer (without flushing it).
22294 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22295 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22296
22297 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22298
22299 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22300 size check within GRUB_MACHINE_PCBIOS section.
22301
22302 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22303
22304 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22305 return value.
22306 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22307 KEYBOARD_ISREADY check.
22308 (grub_at_keyboard_checkkey): Rename to ...
22309 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22310 Remove gratuitous cast.
22311
22312 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
22313
22314 * configure.ac: Call AC_PROG_MKDIR_P.
22315 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22316 version.texi in $(builddir) rather than $(srcdir).
22317 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22318 to makeinfo's @include search path.
22319
22320 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22321
22322 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22323
22324 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22325
22326 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22327 for `*.dpkg-new'.
22328
22329 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
22330
22331 Build info documentation. Some code borrowed from Automake.
22332
22333 * configure.ac: Check for makeinfo.
22334 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22335 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22336 docs/version.texi.
22337 (MOSTLYCLEANFILES): Add vti.tmp.
22338 (docs/version.texi, docs/stamp-vti): Update automatically.
22339 (docs/grub.info): Build info documentation. Use --force and ignore
22340 errors for now.
22341 (all-local): Add $(INFOS).
22342 (install-local): Install info files.
22343 (uninstall): Uninstall info files.
22344 * docs/version.texi: Remove from revision control. This file is
22345 automatically generated on build now.
22346 * gendistlist.sh: Add `*.info'.
22347
22348 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22349
22350 * kern/term.c: Fix indentation.
22351
22352 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22353
22354 * util/hostdisk.c: Fix a comment.
22355
22356 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22357
22358 Fix regression introduced in r2539.
22359
22360 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22361 to 0xA1.
22362
22363 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
22364
22365 * util/grub.d/30_os-prober.in: Don't throw away stderr from
22366 os-prober. Under normal operation, it does not print anything to
22367 stderr; if it does, we need to debug it, and throwing away stderr
22368 makes that excessively difficult.
22369
22370 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22371
22372 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22373
22374 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22375
22376 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22377 AC_LANG_PROGRAM from autoconf.
22378 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22379 prototypes (fixes warning).
22380
22381 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22382 `--disable-werror' was used.
22383
22384 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22385
22386 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22387 uninitialized `lastaddr'.
22388
22389 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22390
22391 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
22392
22393 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22394
22395 * commands/test.c (get_fileinfo): Return immediately if
22396 grub_fs_probe fails.
22397
22398 2009-09-14 José Martínez <xosemp@gmail.com>
22399
22400 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22401
22402 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22403
22404 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22405 output.
22406
22407 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22408
22409 * configure.ac: Remove --enable-grub-pe2elf. Only build
22410 grub-pe2elf when needed by the build system itself.
22411 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22412
22413 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22414
22415 * configure.ac: Bump version to 1.97~beta3.
22416 * docs/version.texi: Likewise.
22417
22418 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22419
22420 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22421 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22422 from here ...
22423 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22424 (grub_linux_setup_video): ... to here (with some adjustments).
22425
22426 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22427
22428 Fix memory corruption issue (spotted by Colin Watson).
22429
22430 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22431 causing returned size to be stored in an incorrect memory location.
22432 Fix use of uninitialized value when storing the returned size.
22433
22434 2009-09-12 Yves Blusseau <blusseau@zetam.org>
22435
22436 Change clean rules to properly remove files
22437
22438 * genmk.rb: add new clean rules
22439 * Makefile.in (clean): add the new targets
22440 (mostlyclean): likewise
22441
22442 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22443
22444 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22445 to grub_uint64_t.
22446 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22447 non-resident files.
22448
22449 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22450
22451 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22452 part of bug #27349.
22453
22454 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22455
22456 * util/grub-mkconfig.in: Make the created config mode 400 and
22457 print a warning if it fails.
22458
22459 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22460
22461 * util/grub.d/40_custom.in: Ask user to type custom entries below
22462 comment, rather than below 'exec tail' line.
22463
22464 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22465
22466 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22467 visible in grub.cfg.
22468
22469 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22470
22471 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22472 file.
22473
22474 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22475
22476 * docs/grub.cfg: Add an example menu entry for memtest86+.
22477
22478 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
22479
22480 * config.guess: Update to latest version from config git.
22481 * config.sub: Likewise.
22482
22483 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
22484
22485 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22486 unknown-command case. Fixes bug #27320.
22487
22488 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
22489
22490 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22491 `help' if the command exists.
22492
22493 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22494
22495 * INSTALL: Require GCC 4.1.3 or later.
22496
22497 2009-09-06 Yves Blusseau <blusseau@zetam.org>
22498
22499 * Makefile.in (RMKFILES): add i386-qemu.rmk
22500 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22501 $(srcdir)/stamp-h.in
22502
22503 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22504
22505 * util/grub-probe.c (probe): Comment out buggy codepath, which
22506 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22507 should be re-enabled after 1.97.
22508
22509 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
22510
22511 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22512 find searches for.
22513
22514 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22515
22516 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22517 unnecessary calls to grub_error.
22518
22519 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
22520
22521 * NEWS: Mention `keystatus' and Unicode fonts.
22522
22523 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22524
22525 * configure.ac: Bump version to 1.97~beta2.
22526 * docs/version.texi: Likewise.
22527
22528 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22529
22530 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22531 containing unwind information in some cases where it previously did
22532 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22533 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22534 discussion.
22535
22536 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22537
22538 Embedding loadenv module into grub-emu
22539
22540 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22541 commands/loadenv.c
22542 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22543 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22544 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22546 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22547 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22548
22549 2009-09-03 Magnus Granberg <zorry@ume.nu>
22550
22551 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22552 include -fPIE in the default specs.
22553 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22554 to TARGET_CFLAGS.
22555
22556 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
22557
22558 * INSTALL: Note that GNU Bison 2.3 or later is required.
22559
22560 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22561
22562 * kern/i386/pc/startup.S: Fix typo.
22563
22564 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22565
22566 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22567 according to GCS.
22568
22569 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22570
22571 * docs/grub.texi (Naming convention): Describe one-based partition
22572 numbering.
22573 (Device syntax): Likewise.
22574 (File name syntax): Likewise.
22575 (Block list syntax): Likewise.
22576 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22577 menu.lst.
22578 (File name syntax): Likewise.
22579 (Command-line and menu entry commands): Document acpi, blocklist,
22580 crc, export, insmod, keystatus, ls, set, and unset commands.
22581
22582 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22585 to avoid implying that only one of --shift, --ctrl, or --alt may be
22586 used.
22587
22588 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22589
22590 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22591 rather than comparing against S_IFREG, which will almost never work.
22592
22593 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22596 (write_blocklists): Likewise.
22597
22598 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
22599
22600 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22601 argument to grub_printf.
22602
22603 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
22604
22605 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
22606 non GNU test.
22607
22608 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22609
22610 * kern/file.c (grub_file_read): Spelling fix
22611
22612 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22615 loading of headers in some cases.
22616
22617 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22618
22619 * configure.ac: Bump version to 1.97~beta1.
22620 * docs/version.texi: Likewise.
22621
22622 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * include/grub/i386/xnu.h: Add license header.
22625 include grub/err.h explicitly.
22626
22627 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22628
22629 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
22630 to `ufs' in the vfs.root.mountfrom kernel parameter.
22631
22632 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22633
22634 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
22635
22636 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
22637 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
22638
22639 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
22640 `ARRAY_SIZE' macro.
22641
22642 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22643
22644 * kern/file.c (grub_file_read): Check offset.
22645 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
22646 * fs/jfs.c (grub_jfs_read_file): Likewise.
22647 * fs/ntfs.c (grub_ntfs_read): Likewise.
22648 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
22649 * fs/minix.c (grub_minix_read_file): Correct offset check.
22650 * fs/ufs.c (grub_ufs_read_file): Likewise.
22651
22652 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22653
22654 * term/i386/pc/console.c (bios_data_area): Cast
22655 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
22656
22657 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22658
22659 1-bit optimised blitters.
22660
22661 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
22662 prototype.
22663 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22664 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22665 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22666 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22667 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22668 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22669 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
22670 function.
22671 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22672 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22673 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22674 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22675 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22676 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22677 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
22678 when possible.
22679 * video/video.c (grub_video_get_blit_format): Return
22680 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
22681
22682 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22683
22684 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
22685 the first argument to grub_printf.
22686
22687 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22688 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
22689
22690 Add `getkeystatus' terminal method. Add a new `keystatus' command
22691 to query it.
22692
22693 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
22694 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
22695 modifier key bitmasks.
22696 (struct grub_term_input): Add `getkeystatus' member.
22697 (grub_getkeystatus): Add prototype.
22698 * kern/term.c (grub_getkeystatus): New function.
22699
22700 * include/grub/i386/pc/memory.h
22701 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
22702 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
22703 Data Area layout.
22704 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
22705 (grub_console_term_input): Set `getkeystatus' member.
22706 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
22707 constants.
22708 (grub_usb_keyboard_getreport): Likewise.
22709 (grub_usb_keyboard_checkkey): Likewise.
22710 (grub_usb_keyboard_getkeystatus): New function.
22711 (grub_usb_keyboard_term): Set `getkeystatus' member.
22712
22713 * commands/keystatus.c: New file.
22714 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
22715 (keystatus_mod_SOURCES): New variable.
22716 (keystatus_mod_CFLAGS): Likewise.
22717 (keystatus_mod_LDFLAGS): Likewise.
22718 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
22719 commands/keystatus.c.
22720 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22722 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22724 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22726
22727 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 Split befs.mod and afs.mod into *_be.mod and *.mod
22730
22731 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
22732 (grub_fstest_SOURCES): Likewise.
22733 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
22734 (afs_be_mod_SOURCES): New variable.
22735 (afs_be_mod_CFLAGS): Likewise.
22736 (afs_be_mod_LDFLAGS): Likewise.
22737 (befs_be_mod_SOURCES): Likewise.
22738 (befs_be_mod_CFLAGS): Likewise.
22739 (befs_be_mod_LDFLAGS): Likewise.
22740 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
22741 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22742 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22743 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22744 (grub_emu_SOURCES): Likewise.
22745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22746 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22747 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22748 * fs/afs_be.c: New file.
22749 * fs/befs_be.c: New file.
22750 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
22751 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
22752 (U16): Replaced with ...
22753 (grub_afs_to_cpu16): ...this. All users updated.
22754 (U32): Replaced with ...
22755 (grub_afs_to_cpu32): ...this. All users updated.
22756 (U64): Replaced with ...
22757 (grub_afs_to_cpu64): ...this. All users updated.
22758 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
22759 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
22760 (grub_afs_validate_sblock): Check only one endianness.
22761 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22762 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22763 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22764 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22765 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22766 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22767 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22768 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22769
22770 2009-08-26 Bean <bean123ch@gmail.com>
22771
22772 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
22773 64-bit number.
22774 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
22775 (grub_xfs_inode_block): Change return type to grub_uint64_t.
22776 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
22777
22778 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22779
22780 NetBSD memory map support.
22781
22782 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
22783 (grub_netbsd_btinfo_mmap_header): New structure.
22784 (grub_netbsd_btinfo_mmap_entry): Likewise.
22785 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
22786
22787 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22788
22789 Enable bsd.mod on coreboot.
22790
22791 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
22792 (bsd_mod_SOURCES): New variable.
22793 (bsd_mod_CFLAGS): Likewise.
22794 (bsd_mod_LDFLAGS): Likewise.
22795 (bsd_mod_ASFLAGS): Likewise.
22796 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
22797 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
22798
22799 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22800
22801 Cleanup NetBSD root support.
22802
22803 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
22804 grub_bsd_get_device.
22805 Fix typo.
22806
22807 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
22808
22809 * util/grub.d/00_header.in: Move check for the video backend of
22810 gfxterm from here ...
22811 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
22812 a suitable video backend.
22813
22814 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22815
22816 Fix breakage in grub-setup.
22817
22818 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
22819 "msdos_partition_map".
22820
22821 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22822
22823 Fix breakage in normal/auth.c.
22824
22825 * normal/auth.c (grub_iswordseparator): New function.
22826
22827 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22828
22829 Authentication support.
22830
22831 * commands/password.c: New file.
22832 * conf/common.rmk (pkglib_MODULES): Add password.mod.
22833 (password_mod_SOURCES): New variable.
22834 (password_mod_CFLAGS): Likewise.
22835 (password_mod_LDFLAGS): Likewise.
22836 (normal_mod_SOURCES): Add normal/auth.c.
22837 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
22838 normal/auth.c.
22839 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22840 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22841 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22843 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22844 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22845 * include/grub/auth.h: New file.
22846 * include/grub/err.h (grub_err_t): New enum value
22847 GRUB_ERR_ACCESS_DENIED.
22848 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
22849 'users'.
22850 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
22851 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
22852 users updated.
22853 * normal/auth.c: New file.
22854 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
22855 (grub_cmdline_run): Don't allow to go to command line without
22856 authentication.
22857 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
22858 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
22859 menuentry without superuser rights.
22860 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
22861 user isn't a superuser.
22862
22863 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22864
22865 Save space by inlining misc.c functions.
22866
22867 * kern/misc.c (grub_iswordseparator): Made static.
22868 * kern/misc.c (grub_strcat): Moved from here ...
22869 * include/grub/misc.h (grub_strcat): ... here. Inlined.
22870 * kern/misc.c (grub_strncat): Moved from here ...
22871 * include/grub/misc.h (grub_strncat): ... here. Inlined.
22872 * kern/misc.c (grub_strcasecmp): Moved from here ...
22873 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
22874 * kern/misc.c (grub_strncasecmp): Moved from here ...
22875 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
22876 * kern/misc.c (grub_isalpha): Moved from here ...
22877 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
22878 * kern/misc.c (grub_isdigit): Moved from here ...
22879 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
22880 * kern/misc.c (grub_isgraph): Moved from here ...
22881 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
22882 * kern/misc.c (grub_tolower): Moved from here ...
22883 * include/grub/misc.h (grub_tolower): ... here. Inlined.
22884
22885 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22886
22887 * script/sh/function.c (grub_script_function_find): Cut error message
22888 not to flood terminal.
22889 * script/sh/lexer.c (grub_script_yylex): Remove command line length
22890 limit.
22891 * script/sh/script.c (grub_script_arg_add): Duplicate string.
22892
22893 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
22894
22895 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
22896 `report' grub_uint8_t *.
22897 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
22898 Use a 50-millisecond timeout rather than just repeating
22899 grub_usb_keyboard_getreport 50 times.
22900 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
22901
22902 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22903
22904 Rename *_partition_map to part_*
22905
22906 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
22907 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
22908 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
22909 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
22910 All users updated.
22911 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
22912 All users updated.
22913 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
22914 * util/grub-probe.c (probe_partmap): Don't transform partition name
22915 to get module name.
22916
22917 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22918
22919 Fix OpenBSD and NetBSD support.
22920
22921 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
22922 memory address conflict.
22923 (OPENBSD_MMAP_ACPI): New definition.
22924 (OPENBSD_MMAP_NVS): Likewise.
22925 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
22926 and OPENBSD_MMAP_NVS.
22927 Add memory map terminator
22928 Explicit cast when calling grub_unix_real_boot.
22929 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
22930
22931 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22932
22933 Let user specify NetBSD root device.
22934
22935 * loader/i386/bsd.c (netbsd_root): New variable.
22936 (netbsd_opts): New option 'root'.
22937 (NETBSD_ROOT_ARG): New macro.
22938 (grub_netbsd_boot): Use 'netbsd_root'.
22939 (grub_bsd_unload): Free 'netbsd_root'.
22940 (grub_cmd_netbsd): Fill 'netbsd_root'.
22941
22942 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22943
22944 Support for 64-bit NetBSD.
22945
22946 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
22947 point when booting non-FreeBSD.
22948
22949 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22950
22951 Support --no-smp and --no-acpi for NetBSD.
22952
22953 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22954 (NETBSD_AB_NOACPI): Likewise.
22955 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22956 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22957
22958 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22959
22960 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22961 errors.
22962 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22963 errors. Call grub_error when needed.
22964
22965 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22966
22967 * commands/search.c (search_fs): Try searching without autoload first.
22968 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22969 filesystem module explicitly for faster booting.
22970
22971 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
22972
22973 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22974
22975 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
22976
22977 * util/grub.d/30_os-prober.in: Disable os-prober if
22978 `GRUB_DISABLE_OS_PROBER' was set to true.
22979
22980 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22981
22982 * partmap/pc.c: Rename to ...
22983 * partmap/msdos.c: ... this. Update all users.
22984 (grub_pc_partition_map): Rename to ...
22985 (grub_msdos_partition_map): ... this. Update all users.
22986
22987 * parttool/pcpart.c: Rename to ...
22988 * parttool/msdospart.c: ... this. Update all users.
22989
22990 * include/grub/pc_partition.h: Rename to ...
22991 * include/grub/msdos_partition.h: ... this. Update all users.
22992 (grub_pc_partition_bsd_entry): Rename to ...
22993 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22994 (grub_pc_partition_disk_label): Rename to ...
22995 (grub_msdos_partition_disk_label): ... this. Update all users.
22996 (grub_pc_partition_entry): Rename to ...
22997 (grub_msdos_partition_entry): ... this. Update all users.
22998 (grub_pc_partition_mbr): Rename to ...
22999 (grub_msdos_partition_mbr): ... this. Update all users.
23000 (grub_pc_partition): Rename to ...
23001 (grub_msdos_partition): ... this. Update all users.
23002 (grub_pc_partition_is_empty): Rename to ...
23003 (grub_msdos_partition_is_empty): ... this. Update all users.
23004 (grub_pc_partition_is_extended): Rename to ...
23005 (grub_msdos_partition_is_extended): ... this. Update all users.
23006 (grub_pc_partition_is_bsd): Rename to ...
23007 (grub_msdos_partition_is_bsd): ... this. Update all users.
23008
23009 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
23010 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
23011 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
23012 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
23013 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
23014 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
23015 (gpt_mod_LDFLAGS): Rename to ...
23016 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
23017 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
23018 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
23019 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
23020 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
23021 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
23022 (part_gpt_mod_LDFLAGS): ... this.
23023 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23024 `pcpart.mod' to `msdospart.mod'.
23025 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23026 to ...
23027 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23028 (msdospart_mod_LDFLAGS): ... this.
23029
23030 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23033 (openbsd_opts): Likewise.
23034 (netbsd_opts): Likewise.
23035 (freebsd_flags): Added 0 terminator.
23036 (openbsd_flags): Likewise.
23037 (netbsd_flags): Likewise.
23038 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23039 (grub_cmd_freebsd): Transformed into extended command.
23040 (grub_cmd_openbsd): Likewise.
23041 (grub_cmd_netbsd): Likewise.
23042 (cmd_freebsd): Changed type to grub_extcmd_t.
23043 (cmd_openbsd): Likewise.
23044 (cmd_netbsd): Likewise.
23045 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23046 grub_cmd_openbsd as extended commands.
23047 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23048 cmd_netbsd and cmd_openbsd
23049
23050 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23051
23052 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23053
23054 2009-08-21 Pavel Roskin <proski@gnu.org>
23055
23056 * Makefile.in (install-local): When checking if a file is in the
23057 build directory, use "test -e" to detect symlinks.
23058
23059 * Makefile.in (install-local): Remove all files in
23060 $(DESTDIR)$(pkglibdir) before installing new files there.
23061
23062 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23063
23064 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23065 grub-mkelfimage.
23066
23067 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23068
23069 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23070 explicitly specified by the user.
23071
23072 2009-08-18 Pavel Roskin <proski@gnu.org>
23073
23074 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23075 grub_uint8_t pointer for data.
23076 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23077 Likewise.
23078 * video/fb/fbutil.c: Remove unnecessary casts.
23079
23080 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23081
23082 VBE cleanup.
23083
23084 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23085 (grub_vbe_set_video_mode): Save active mode info
23086 only after setting the mode.
23087 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23088 second argument.
23089
23090 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23091
23092 Rename variables for clarity.
23093
23094 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23095 (active_vbe_mode_info): ... this. All users updated.
23096 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23097 All users updated.
23098 (initial_mode): Rename to ...
23099 (initial_vbe_mode): ... this. All users updated.
23100 (mode_in_use): Rename to ..
23101 (vbe_mode_in_use): ... this. All users updated.
23102 (mode_list): Rename to ..
23103 (vbe_mode_list): ... this. All users updated.
23104 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23105 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23106 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23107 'mode_list_size' to 'vbe_mode_list_size'.
23108 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23109 'best_mode_info' to 'best_vbe_mode_info' and
23110 'best_mode' to 'best_vbe_mode'
23111
23112 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23113
23114 Remove duplicate grub_video_fb_get_video_ptr.
23115
23116 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23117 (grub_video_fb_get_video_ptr): ... this.
23118 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23119 * video/fb/fbutil.c: Add comment about addressing.
23120 (get_data_ptr): Rename to ...
23121 (grub_video_fb_get_video_ptr): ... this. All users updated.
23122 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23123
23124 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23125
23126 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23127 grub_dprintf() that was just added.
23128
23129 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23130
23131 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23132 (DEFAULT_VIDEO_MODE): Remove macros.
23133 (grub_linux_boot): Remove assumption that Linux has FB support,
23134 and use "text" as default video mode.
23135
23136 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23137
23138 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23139 grub_dprintf.
23140 * fs/fat.c (grub_fat_read_data): Likewise.
23141
23142 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23143
23144 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23145 payload.
23146 (grub_module): Likewise.
23147
23148 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23149
23150 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23151 mbi->cmdline but free playground.
23152
23153 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23154
23155 Handle group offset on UFS1.
23156
23157 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23158 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23159
23160 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23161
23162 Split ufs.mod into ufs1.mod and ufs2.mod.
23163
23164 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23165 (grub_fstest_SOURCES): Likewise.
23166 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23167 (ufs_mod_SOURCES): Remove.
23168 (ufs_mod_CFLAGS): Likewise.
23169 (ufs_mod_LDFLAGS): Likewise.
23170 (ufs1_mod_SOURCES): New variable.
23171 (ufs1_mod_CFLAGS): Likewise.
23172 (ufs1_mod_LDFLAGS): Likewise.
23173 (ufs2_mod_SOURCES): New variable.
23174 (ufs2_mod_CFLAGS): Likewise.
23175 (ufs2_mod_LDFLAGS): Likewise.
23176 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23177 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23178 Likewise.
23179 (grub_emu_SOURCES): Likewise.
23180 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23181 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23182 (grub_setup_SOURCES): Likewise.
23183 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23184 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23185 (grub_setup_SOURCES): Likewise.
23186 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23187 Likewise.
23188 * fs/ufs2.c: New file.
23189 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23190
23191 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 Framebuffer split.
23194
23195 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23196 subsystem at the end.
23197 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23198 (video_fb_mod_SOURCES): New variable.
23199 (video_fb_mod_CFLAGS): Likewise.
23200 (video_fb_mod_LDFLAGS): Likewise.
23201 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23202 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23203 * video/i386/pc/vbeblit.c: Moved from here ...
23204 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23205 * video/i386/pc/vbefill.c: Moved from here ...
23206 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23207 * video/i386/pc/vbeutil.c: Moved from here ...
23208 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23209 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23210 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23211 * include/grub/i386/pc/vbefill.h: Moved from here ...
23212 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23213 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23214 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23215 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23216 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23217 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23218 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23219 (grub_video_adapter): Added 'get_info_and_fini'.
23220 (grub_video_get_info_and_fini): New prototype.
23221 (grub_video_set_mode): make modestring const char *.
23222 * loader/i386/linux.c (grub_linux_setup_video): Use
23223 grub_video_get_info_and_fini.
23224 (grub_linux_boot): Move modesetting just before booting.
23225 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23226 grub_video_get_info_and_fini.
23227 * video/i386/pc/vbe.c: Moved framebuffer part ...
23228 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23229 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23230 grub_video_fbstd_colors and grub_video_fb_set_palette.
23231 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23232 grub_video_fb_init.
23233 (grub_video_vbe_fini): Use grub_video_fb_fini.
23234 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23235 render_target and use grub_video_fb_set_active_render_target and
23236 grub_video_fb_set_palette.
23237 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23238 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23239 (grub_video_vbe_adapter): Use framebuffer.
23240 * video/video.c (grub_video_get_info_and_fini): New function.
23241 (grub_video_set_mode): Make modestring const char *.
23242 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23243 values are already initialised.
23244
23245 2009-08-14 Pavel Roskin <proski@gnu.org>
23246
23247 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23248 ABS and APPLE_CC.
23249 * boot/i386/pc/diskboot.S: Likewise.
23250 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23251 sectors allow compilation on MacOSX.
23252 * conf/i386-pc.rmk: Enable unconditional compilation of
23253 lnxboot.img.
23254
23255 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
23256
23257 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23258 * util/grub.d/00_header.in: Enter interruptible sleep if
23259 GRUB_HIDDEN_TIMEOUT is set.
23260
23261 2009-08-13 Yves Blusseau <blusseau@zetam.org>
23262
23263 * include/grub/symbol.h: Add the LOCAL macro.
23264 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23265 starting with "L_".
23266
23267 2009-08-13 Pavel Roskin <proski@gnu.org>
23268
23269 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23270 any modern compilers we support.
23271
23272 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23273 Use local labels starting with "L_" so that Apple assembler
23274 knows they are local.
23275
23276 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23277
23278 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23279 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23280 (bsd_kernel_types): ... this enum.
23281
23282 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23283 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23284 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23285
23286 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23287 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23288 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23289 messages.
23290
23291 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23292
23293 * util/grub-dumpdevtree: Moved from here ...
23294 * util/i386/efi/grub-dumpdevtree: ... to here.
23295 (hexify): New function. Converts a string to its hex version.
23296 Generate hex versions of "efi" and "device-properties" by calling
23297 hexify() on the ASCII strings rather than by hardcoding numbers.
23298
23299 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23300
23301 * fs/jfs.c: Update copyright year.
23302
23303 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23304
23305 * util/grub.d/00_header.in: Fix a comment.
23306 * util/grub.d/10_linux.in: Likewise.
23307 * util/grub.d/10_windows.in: Likewise.
23308 * util/grub.d/10_hurd.in: Likewise.
23309
23310 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23311
23312 * util/grub-mkconfig.in: Allow the user to specify the used font
23313 with GRUB_FONT.
23314
23315 2009-08-08 Pavel Roskin <proski@gnu.org>
23316
23317 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23318 available, xfs.mod needs it now.
23319
23320 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23321 the "g" modifier in sed when the intention is to strip something
23322 once. This fixes comparison of kernels with multiple dashes.
23323
23324 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23325 on it. Add missing space before closing bracket. Fix
23326 misleading formatting.
23327
23328 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23329
23330 * docs/grub.texi: Major overhaul. Remove all sections that are
23331 specific to GRUB Legacy, or mostly composed of Legacy-specific
23332 information.
23333
23334 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23335
23336 * docs/version.texi: New file. Provides version information for
23337 grub.texi.
23338
23339 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23340
23341 * docs/grub.texi: Update CVS information to SVN.
23342 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23343
23344 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23345
23346 * util/grub-mkconfig.in: Remove a wrong `fi'.
23347
23348 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23349
23350 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23351 (grub_jfs_uuid): New function.
23352 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23353
23354 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23355
23356 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23357 of it to ...
23358 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23359 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23360
23361 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23362
23363 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23364 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23365 Update all users.
23366
23367 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23368 not just "vmlinu[zx]".
23369 Moved from here ...
23370 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23371 all users.
23372
23373 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23374 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23375 all users.
23376
23377 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23378
23379 * util/grub.d/10_freebsd.in: Use an absolute device path for
23380 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23381
23382 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
23383
23384 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23385 handling of multiple abstraction modules.
23386
23387 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23388
23389 Fix a bug resulting in black screen when loading Linux using a
23390 packed video mode.
23391
23392 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23393 function.
23394
23395 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23396 (grub_vbe_bios_getset_dac_palette_width): New function.
23397 (grub_vbe_bios_get_dac_palette_width)
23398 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23399 grub_vbe_bios_getset_dac_palette_width()).
23400
23401 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23402 check for return status.
23403 (grub_vbe_get_video_mode_info): When getting information for a packed
23404 mode (<= 8 bpp), obtain DAC palette width using
23405 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23406 {red,green,blue}_mark_size.
23407
23408 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
23409
23410 * commands/search.c (options): Fix help output to match actual code.
23411
23412 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23415 of homegrown code.
23416
23417 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23418
23419 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23420 on XFS or ReiserFS.
23421
23422 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23423
23424 Support Apple partition map with sector size different from 512 bytes.
23425
23426 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23427 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23428 and 'apart.partmap_size'.
23429
23430 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23431 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23432
23433 Fix cpuid command.
23434
23435 * commands/i386/cpuid.c (options): New variable.
23436 (grub_cmd_cpuid): Return real error.
23437 (GRUB_MOD_INIT(cpuid)): Declare options.
23438
23439 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23440
23441 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23442 valid.
23443
23444 2009-07-31 Bean <bean123ch@gmail.com>
23445
23446 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23447 log2_inode.
23448 (grub_fshelp_node): Move inode field to the end.
23449 (grub_xfs_data): Remove inode field.
23450 (grub_xfs_inode_block): Calculate inode size using sblock.
23451 (grub_xfs_inode_offset): Likewise.
23452 (grub_xfs_read_inode): Calculate inode size using sblock.
23453 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23454 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23455 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23456 to match inode size.
23457 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23458 not accessible when data is null.
23459 (grub_xfs_open): Likewise.
23460
23461 2009-07-31 Bean <bean123ch@gmail.com>
23462
23463 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23464 Don't change pv->disk if it's already set.
23465
23466 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23467 (grub_raid_register): ... here.
23468 (grub_raid_rescan): Removed.
23469
23470 * include/grub/raid.h (grub_raid_rescan): Removed.
23471
23472 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23473 (fstest): Replace grub_raid_rescan with module fini function followed
23474 by init function.
23475
23476 * util/grub-probe.c: Add include file <grub/raid.h>.
23477 (probe_raid_level): New function.
23478 (probe): Detect abstraction by walking the disk device, support two
23479 level of abstraction (LVM on RAID) when detecting partition map.
23480
23481 2009-07-31 Pavel Roskin <proski@gnu.org>
23482
23483 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23484 to grub_zalloc(), it was erroneous.
23485 Reported by Bean <bean123ch@gmail.com>
23486
23487 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23488
23489 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
23490 embedding zone, not only the first one.
23491
23492 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
23493
23494 * term/gfxterm.c (clear_char): New function.
23495 (grub_virtual_screen_setup): Use clear_char.
23496 (scroll_up): Likewise.
23497 (grub_virtual_screen_cls): Likewise.
23498
23499 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
23500
23501 * util/deviceiter.c (get_acceleraid_disk_name): New static
23502 function.
23503 (grub_util_iterate_devices): Handle Accelraid devices.
23504 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23505
23506 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23507
23508 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23509 separator for the suggested gfxpayload string (';' collides with the
23510 parser and needs escaping).
23511
23512 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23513
23514 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23515 Clear direction flag before jumping to OS.
23516 (grub_multiboot2_real_boot): Likewise.
23517
23518 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23519
23520 * util/i386/pc/grub-install: Fix parsing of --disk-module
23521 option.
23522
23523 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23524
23525 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23526 when embedding.
23527
23528 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
23529
23530 * util/grub-mkconfig.in (package_version): New variable.
23531 Use it do display the version.
23532
23533 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23534
23535 * kern/file.c (grub_file_open): Revert to previous check with
23536 grub_errno.
23537
23538 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23539
23540 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23541 from help line. It's out of sync with code.
23542
23543 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23544
23545 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23546 entries on failed boot.
23547
23548 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23549
23550 * kern/file.c (grub_file_open): Fix an error check.
23551
23552 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23553
23554 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23555 partition map couldn't be identified.
23556
23557 2009-07-23 Pavel Roskin <proski@gnu.org>
23558
23559 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23560 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23561 case of little endian words becomes just an optimization.
23562 Respect const modifier.
23563 (md5_final): Use code that doesn't depend on endianness.
23564
23565 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23566 to avoid loss of upper bits if align is unsigned and shorter
23567 than addr.
23568
23569 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23570
23571 UUID support for UFS
23572
23573 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23574 (grub_ufs_uuid): New function.
23575 (grub_ufs_fs): add .uuid
23576
23577 2009-07-21 Pavel Roskin <proski@gnu.org>
23578
23579 * kern/dl.c (grub_dl_check_header): Make static.
23580
23581 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
23582
23583 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23584 add drivemap for Vista. It breaks Windows 7.
23585
23586 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23587
23588 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23589 128 bytes
23590
23591 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23592
23593 Add BFS support
23594
23595 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23596 (grub_fstest_SOURCES): Likewise.
23597 (pkglib_MODULES): Add befs.mod.
23598 (befs_mod_SOURCES): New variable.
23599 (befs_mod_CFLAGS): Likewise.
23600 (befs_mod_LDFLAGS): Likewise.
23601 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23602 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23603 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23604 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23605 (grub_setup_SOURCES): Likewise.
23606 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23607 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23608 (grub_setup_SOURCES): Likewise.
23609 * fs/befs.c: New file.
23610 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23611 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23612 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23613 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23614 (B_KEY_INDEX_ALIGN): New declaration.
23615 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23616 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23617 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23618 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23619 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23620 (grub_afs_mount) [MODE_BFS]: Likewise.
23621 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
23622 (grub_afs_fs): Use GRUB_AFS_FSNAME
23623 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
23624 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
23625 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
23626 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
23627
23628 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
23629
23630 * util/getroot.c (find_root_device): Add support for MacOSX.
23631 * util/hostdisk.c: Likewise.
23632
23633 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23634
23635 * font/font.c (find_glyph): Check whether a font is present to avoid
23636 segmentation fault.
23637
23638 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
23639
23640 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
23641
23642 2009-07-20 Pavel Roskin <proski@gnu.org>
23643
23644 * configure.ac: Trim excessively wordy excuses.
23645
23646 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23647
23648 Add symlink, mtime and label support to AtheFS.
23649
23650 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
23651 (grub_afs_iterate_dir): Handle symlinks.
23652 (grub_afs_open): Use grub_afs_read_symlink.
23653 (grub_afs_dir): Likewise.
23654 Pass mtime.
23655 (grub_afs_label): New function.
23656 (grub_afs_fs): Add grub_afs_label.
23657 (grub_afs_read_symlink): New function.
23658
23659 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23660
23661 Fix AtheFS support.
23662
23663 * fs/afs.c: Fix comments style.
23664 (grub_afs_blockrun): Declare as packed.
23665 (grub_afs_datastream): Likewise.
23666 (grub_afs_bnode): Likewise.
23667 (grub_afs_btree): Likewise.
23668 (grub_afs_sblock): Likewise.
23669 Declare `name' as char.
23670 (grub_afs_inode): Declare as packed.
23671 Change void *vnode to grub_uint32_t unused.
23672 (grub_afs_iterate_dir): Check that key_size is positive.
23673 (grub_afs_mount): Don't read superblock twice.
23674 (grub_afs_dir): Don't free node in case of error,
23675 grub_fshelp_find_file already handles this.
23676 (grub_afs_open): Likewise.
23677
23678 2009-07-19 Pavel Roskin <proski@gnu.org>
23679
23680 * Makefile.in: Remove LIBLZO and enable_lzo.
23681 * conf/i386-pc.rmk: Remove lzo support.
23682 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
23683 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
23684 support.
23685 * kern/i386/pc/lzo1x.S: Remove.
23686 * kern/i386/pc/startup.S: Remove lzo support.
23687 * util/i386/pc/grub-mkimage.c: Likewise.
23688
23689 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
23690
23691 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
23692 * fs/xfs.c (grub_xfs_dir): Likewise.
23693 * fs/afs.c (grub_afs_dir): Likewise.
23694 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
23695 (grub_iso9660_open): Likewise.
23696 * fs/jfs.c (grub_jfs_open): Likewise.
23697 * fs/ext2.c (grub_ext2_dir): Likewise.
23698 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
23699 * script/sh/lexer.c (grub_script_yylex): Likewise.
23700
23701 2009-07-16 Pavel Roskin <proski@gnu.org>
23702
23703 * configure.ac: Never add "-c" to CFLAGS.
23704
23705 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
23706
23707 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
23708 grub_cv_cc_efiemu should be used.
23709
23710 * configure.ac: Typo fixes.
23711
23712 * kern/mm.c (grub_zalloc): New function.
23713 (grub_debug_zalloc): Likewise.
23714 * include/grub/mm.h: Declare grub_zalloc() and
23715 grub_debug_zalloc().
23716 * util/misc.c (grub_zalloc): New function.
23717 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
23718 instead of grub_malloc(), remove unneeded initializations.
23719 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
23720 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
23721 * commands/parttool.c (grub_cmd_parttool): Likewise.
23722 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23723 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
23724 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
23725 * disk/usbms.c (grub_usbms_finddevs): Likewise.
23726 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
23727 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
23728 (grub_cmd_efiemu_pnvram): Likewise.
23729 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
23730 * fs/iso9660.c (grub_iso9660_mount): Likewise.
23731 (grub_iso9660_iterate_dir): Likewise.
23732 * fs/jfs.c (grub_jfs_opendir): Likewise.
23733 * fs/ntfs.c (list_file): Likewise.
23734 (grub_ntfs_mount): Likewise.
23735 * kern/disk.c (grub_disk_open): Likewise.
23736 * kern/dl.c (grub_dl_load_core): Likewise.
23737 * kern/elf.c (grub_elf_file): Likewise.
23738 * kern/env.c (grub_env_context_open): Likewise.
23739 (grub_env_set): Likewise.
23740 (grub_env_set_data_slot): Likewise.
23741 * kern/file.c (grub_file_open): Likewise.
23742 * kern/fs.c (grub_fs_blocklist_open): Likewise.
23743 * loader/i386/multiboot.c (grub_module): Likewise.
23744 * loader/xnu.c (grub_xnu_create_key): Likewise.
23745 (grub_xnu_create_value): Likewise.
23746 * normal/main.c (grub_normal_add_menu_entry): Likewise.
23747 (read_config_file): Likewise.
23748 * normal/menu_entry.c (make_screen): Likewise.
23749 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23750 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
23751 * script/sh/script.c (grub_script_parse): Likewise.
23752 * video/bitmap.c (grub_video_bitmap_create): Likewise.
23753 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
23754 * video/readers/png.c (grub_png_output_byte): Likewise.
23755 (grub_video_reader_png): Likewise.
23756
23757 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23758
23759 Enable all targets that can be built by default
23760
23761 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
23762 grub-mkfont and grub-fstest if they can be built
23763
23764 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23765
23766 Fix hang and segmentation fault in grub-emu-usb
23767
23768 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
23769 * util/usb.c (grub_libusb_devices): likewise
23770 (grub_libusb_init): rename to ...
23771 (GRUB_MOD_INIT (libusb)):...this
23772 (grub_libusb_fini): rename to ..
23773 (GRUB_MOD_FINI (libusb)):...this
23774 * disk/usbms.c (grub_usbms_transfer): fix retry logic
23775 * include/grub/disk.h (grub_raid_init): removed, it's useless
23776 (grub_raid_fini): likewise
23777 (grub_lvm_init): likewise
23778 (grub_lvm_fini): likewise
23779 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
23780 by grub_init_all
23781
23782 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23783
23784 Fix libusb
23785
23786 * Makefile.in (LIBUSB): new macro
23787 * genmk.rb (Utility/print_tail): new method
23788 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
23789 (top level): call util.print_tail at the end.
23790
23791 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Make FreeBSD accept zpool.cache
23794
23795 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
23796 type is /boot/zfs/zpool.cache
23797
23798 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23799
23800 Fix 64-bit efiemu
23801
23802 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
23803 correct wrong typedef
23804 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
23805
23806 2009-07-15 Pavel Roskin <proski@gnu.org>
23807
23808 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
23809 * kern/disk.c (struct grub_disk_cache): Likewise.
23810
23811 * commands/probe.c (options): Typo fix.
23812
23813 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
23814 Increase to 0x5a to accommodate FAT32. Adjust other offsets
23815 accordingly.
23816 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
23817
23818 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
23819 the end of "Error" to make the message more readable.
23820
23821 * boot/i386/pc/boot.S (kernel_segment): Remove.
23822 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
23823 for destination.
23824
23825 * boot/i386/pc/boot.S (boot_version): Remove.
23826 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
23827 Remove.
23828
23829 * include/grub/i386/pc/boot.h: Sort all offsets.
23830 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
23831 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
23832 * boot/i386/pc/boot.S: Assert location of every offset listed in
23833 include/grub/i386/pc/boot.h.
23834
23835 2009-07-13 Pavel Roskin <proski@gnu.org>
23836
23837 * include/grub/i386/coreboot/machine.h: Rename
23838 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
23839 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
23840 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
23841
23842 * kern/dl.c: Force native word size to suppress warnings when
23843 compiling grub-emu.
23844
23845 * kern/device.c (grub_device_iterate): Change struct part_ent to
23846 hold the name, not a pointer to it. Use one grub_malloc() per
23847 partition, not two. Free partition_name if grub_malloc() fails.
23848 Set ents to NULL only before grub_partition_iterate() is called.
23849
23850 2009-07-11 Bean <bean123ch@gmail.com>
23851
23852 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
23853 childname.
23854
23855 2009-07-10 Bean <bean123ch@gmail.com>
23856 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
23857
23858 * kern/ieee1275/openfw.c (grub_children_iterate)
23859 (grub_devalias_iterate): Fix size evaluation for property or path
23860 strings, which was broken since r2132.
23861
23862 2009-07-07 Pavel Roskin <proski@gnu.org>
23863
23864 * commands/search.c (search_file): Merge into ...
23865 (search_fs): ... this. Accept search type as argument.
23866 (grub_cmd_search): Pass search type to search_fs().
23867
23868 * include/grub/util/console.h: New file.
23869 * util/console.c: Use it instead of grub/machine/console.h.
23870 * util/grub-emu.c: Likewise.
23871
23872 * lib/arg.c (find_long_option): Remove.
23873 (find_long): Add `len' argument, make `s' const char *.
23874 (grub_arg_parse): Parse long options in place, not in a
23875 temporary buffer.
23876
23877 2009-07-06 Pavel Roskin <proski@gnu.org>
23878
23879 * commands/search.c (search_fs): Fix potential NULL pointer
23880 dereference.
23881
23882 * commands/search.c (search_fs): Replace QUID macro with quid_fn
23883 function pointer.
23884
23885 2009-07-06 Daniel Mierswa <impulze@impulze.org>
23886
23887 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
23888 comparison.
23889
23890 2009-07-05 Pavel Roskin <proski@gnu.org>
23891
23892 * include/grub/i386/linux.h (struct linux_kernel_params):
23893 Restore padding3, it's still needed.
23894
23895 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
23896 FreeBSD.
23897 * util/osdetect.lua: Likewise.
23898
23899 2009-07-05 Bean <bean123ch@gmail.com>
23900
23901 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
23902
23903 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
23904 (grub_lua_getenv): Likewise.
23905 (grub_lua_setenv): Likewise.
23906 (save_errno): New function.
23907 (push_result): Likewise.
23908 (grub_lua_enum_device): Likewise.
23909 (grub_lua_enum_file): Likewise.
23910 (grub_lua_file_open): Likewise.
23911 (grub_lua_file_close): Likewise.
23912 (grub_lua_file_seek): Likewise.
23913 (grub_lua_file_read): Likewise.
23914 (grub_lua_file_getline): Likewise.
23915 (grub_lua_file_getsize): Likewise.
23916 (grub_lua_file_getpos): Likewise.
23917 (grub_lua_file_eof): Likewise.
23918 (grub_lua_file_exist): Likewise.
23919 (grub_lua_add_menu): Likewise.
23920
23921 * script/lua/grub_lua.h (isupper): New inline function.
23922 (islower): Likewise.
23923 (ispunct): Likewise.
23924 (isxdigit): Likewise.
23925 (strcspn): Change to normal function.
23926 (strpbkr): New function declaration.
23927 (memchr): Likewise.
23928
23929 * script/lua/grub_main.c (scan_str): New function.
23930 (strcspn): Likewise.
23931 (strpbrk): Likewise.
23932 (memchr): Likewise.
23933
23934 * script/lua/linit.c (lualibs): Enable the string library.
23935
23936 * util/osdetect.lua: New file.
23937
23938 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
23939
23940 * include/grub/i386/linux.h (struct linux_kernel_params): Add
23941 `capabilities' member.
23942
23943 2009-07-02 Pavel Roskin <proski@gnu.org>
23944
23945 * genparttoollist.sh: Add missing newline at the end.
23946
23947 2009-07-01 Pavel Roskin <proski@gnu.org>
23948
23949 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
23950
23951 * util/hostdisk.c (open_device): Remove `const' from
23952 `sysctl_size', as sysctlbyname() can change it (in this case it
23953 doesn't actually happen).
23954
23955 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23956 using signed long int constants.
23957
23958 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23959 constant to avoid a warning on FreeBSD.
23960
23961 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23962 where it's needed.
23963
23964 * Makefile.in: Install include/grub/machine symlink.
23965
23966 * Makefile.in: When installing symlinks, use "cp -fR", which
23967 works on FreeBSD and MacOSX.
23968 From Yves Blusseau <cl7m42e02@sneakemail.com>
23969
23970 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23971 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23972
23973 * util/misc.c: Move grub_reboot() and grub_halt() ...
23974 * util/grub-emu.c: ... here. Make main_env static.
23975 * include/grub/util/misc.h: Remove main_env.
23976
23977 * kern/mm.c: Use correct format to print size_t.
23978
23979 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23980 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23981 * kern/powerpc/dl.c: Likewise.
23982 * kern/sparc64/dl.c: Likewise.
23983 * kern/x86_64/dl.c: Likewise.
23984
23985 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23986
23987 Fix grub-emu build on sparc64-ieee1275.
23988
23989 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
23990 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23991
23992 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23995 (grub_reboot, grub_halt): New functions.
23996
23997 * util/i386/pc/misc.c: Delete. Update all users.
23998 * util/sparc64/ieee1275/misc.c: Likewise.
23999 * util/powerpc/ieee1275/misc.c: Likewise.
24000
24001 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24002
24003 * conf/i386.rmk (setjmp_mod_SOURCES)
24004 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
24005 * conf/common.rmk (setjmp_mod_SOURCES)
24006 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
24007 to use $(target_cpu).
24008 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
24009 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
24010 * conf/powerpc-ieee1275.rmk: Likewise.
24011 * conf/sparc64-ieee1275.rmk: Likewise.
24012
24013 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
24014 $(target_cpu) for kern/$(target_cpu)/dl.c.
24015 * conf/i386-efi.rmk: Likewise.
24016 * conf/i386-ieee1275.rmk: Likewise.
24017 * conf/x86_64-efi.rmk: Likewise.
24018 * conf/i386-coreboot.rmk: Likewise.
24019 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
24020 $(target_cpu) for kern/$(target_cpu)/dl.c and for
24021 kern/$(target_cpu)/cache.S.
24022 * conf/sparc64-ieee1275.rmk: Likewise.
24023
24024 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24025
24026 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24027 type to `grub_uint8_t', and adjust `padding9' accordingly.
24028
24029 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24030
24031 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24032
24033 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24034 assembly in final jump, using register constraints.
24035
24036 (grub_linux_boot): For text mode, initialize `have_vga' using
24037 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24038
24039 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24040 right before the final jump.
24041
24042 Set `video_mode' to 0x3.
24043
24044 Document initialization of `video_page', `video_mode' and
24045 `video_ega_bx'.
24046
24047 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24048
24049 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24050 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
24051 and set GRUB_LINUX_FLAG_QUIET appropriately.
24052
24053 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24054
24055 Fix build on Debian / sparc.
24056
24057 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24058
24059 2009-06-28 Pavel Roskin <proski@gnu.org>
24060
24061 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24062 fix a warning.
24063
24064 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24065
24066 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24067
24068 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24069 `err'.
24070
24071 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24072
24073 Revert r2338.
24074
24075 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24076 file can't be opened. grub_file_open() is already supposed to set
24077 grub_errno / grub_errmsg appropriately.
24078 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24079
24080 2009-06-27 Pavel Roskin <proski@gnu.org>
24081 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24082
24083 * include/grub/dl.h: Include grub/elf.h.
24084 (struct grub_dl): Add symtab field.
24085 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24086 GRUB_MODULES_MACHINE_READONLY.
24087 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24088 of the header for read-only modules.
24089 (grub_dl_unload): Free mod->symtab for read-only modules.
24090 * kern/i386/dl.c: Use mod->symtab.
24091 * kern/powerpc/dl.c: Likewise.
24092 * kern/sparc64/dl.c: Likewise.
24093 * kern/x86_64/dl.c: Likewise.
24094
24095 * conf/i386-qemu.rmk: New file.
24096 * kern/i386/qemu/startup.S: Likewise.
24097 * kern/i386/qemu/mmap.c: Likewise.
24098 * boot/i386/qemu/boot.S: Likewise.
24099 * include/grub/i386/qemu/time.h: Likewise.
24100 * include/grub/i386/qemu/serial.h: Likewise.
24101 * include/grub/i386/qemu/kernel.h: Likewise.
24102 * include/grub/i386/qemu/console.h: Likewise.
24103 * include/grub/i386/qemu/boot.h: Likewise.
24104 * include/grub/i386/qemu/init.h: Likewise.
24105 * include/grub/i386/qemu/machine.h: Likewise.
24106 * include/grub/i386/qemu/loader.h: Likewise.
24107 * include/grub/i386/qemu/memory.h: Likewise.
24108
24109 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24110 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24111 [qemu] (pkglib_IMAGES): Add `boot.img'.
24112 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24113 [qemu] (boot_img_FORMAT): New variables.
24114 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24115 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24116 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24117 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24118 [qemu] (kernel_img_FORMAT): New variables.
24119
24120 * configure.ac: Recognise `i386-qemu'.
24121
24122 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24123 (for no compression).
24124 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24125 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24126 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24127 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24128 ifdefs).
24129
24130 2009-06-27 Pavel Roskin <proski@gnu.org>
24131
24132 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24133 read.
24134 * efiemu/prepare32.c: Likewise.
24135 * efiemu/prepare64.c: Likewise.
24136
24137 2009-06-26 Pavel Roskin <proski@gnu.org>
24138
24139 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24140 * include/grub/elf.h: Define symbols without "32" or "64" based
24141 on GRUB_TARGET_WORDSIZE.
24142 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24143 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24144 ELF definitions.
24145 * efiemu/loadcore64.c: Likewise.
24146 * loader/i386/bsd32.c: Likewise.
24147 * loader/i386/bsd64.c: Likewise.
24148 * kern/dl.c: Remove own ELF definitions.
24149 * util/i386/efi/grub-mkimage.c: Likewise.
24150
24151 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24152
24153 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24154 segment 0x0 unconditionally, because the reference generated by
24155 GAS is an absolute address.
24156
24157 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24158
24159 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24160 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24161
24162 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24163
24164 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24165 indexes. Check for -f explicitly.
24166 (search_file): Improve error message.
24167 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
24168
24169 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24170
24171 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24172 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24173
24174 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24175
24176 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24177 * conf/i386-ieee1275.rmk: Likewise.
24178 * conf/i386-coreboot.rmk: Likewise.
24179
24180 * kern/i386/pc/startup.S (grub_stop): Remove function.
24181 * kern/i386/ieee1275/startup.S: Likewise.
24182 * kern/i386/coreboot/startup.S: Likewise.
24183 * kern/i386/misc.S (grub_stop): New function.
24184
24185 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24186
24187 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24188 * kern/i386/realmode.S (real_to_prot): ... to here.
24189
24190 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24191
24192 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24193 with `kernel.img'.
24194 (kernel_elf_SOURCES): Rename to ...
24195 (kernel_img_SOURCES): ... this.
24196 (kernel_elf_HEADERS): Rename to ...
24197 (kernel_img_HEADERS): ... this. Update all users.
24198 (kernel_elf_ASFLAGS): Rename to ...
24199 (kernel_img_ASFLAGS): ... this.
24200 (kernel_elf_CFLAGS): Rename to ...
24201 (kernel_img_CFLAGS): ... this.
24202 (kernel_elf_LDFLAGS): Rename to ...
24203 (kernel_img_LDFLAGS): ... this.
24204 * conf/i386-coreboot.rmk: Likewise.
24205 * conf/powerpc-ieee1275.rmk: Likewise.
24206
24207 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24208 with "kernel.img".
24209
24210 2009-06-21 Pavel Roskin <proski@gnu.org>
24211
24212 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24213 to match nested functions.
24214 * loader/sparc64/ieee1275/linux.c: Likewise.
24215
24216 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24217
24218 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24219
24220 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24221 all i386 platforms.
24222
24223 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24224
24225 Fix asm file handling on ELF, and remove workarounds.
24226
24227 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
24228 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
24229 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24230 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24231
24232 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24233
24234 Load BSD ELF modules
24235
24236 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24237 and loader/i386/bsd64.c
24238 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24239 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24240 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24241 (grub_freebsd_load_elfmodule32): New declaration
24242 (grub_freebsd_load_elfmoduleobj64): Likewise
24243 (grub_freebsd_load_elf_meta32): Likewise
24244 (grub_freebsd_load_elf_meta64): Likewise
24245 (grub_freebsd_add_meta): Likewise
24246 (grub_freebsd_add_meta_module): Likewise
24247 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24248 (grub_freebsd_add_meta_module): Likewise and move module-specific
24249 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24250 (grub_cmd_freebsd): Add elf-kernel specific parts
24251 based on grub_freebsd_add_meta_module
24252 (grub_cmd_freebsd_module): Add type parsing moved from
24253 grub_freebsd_add_meta_module
24254 (grub_cmd_freebsd_module_elf): New function
24255 (cmd_freebsd_module_elf): New variable
24256 (GRUB_MOD_INIT): Register freebsd_module_elf
24257 * loader/i386/bsd32.c: New file
24258 * loader/i386/bsd64.c: Likewise
24259 * loader/i386/bsdXX.c: Likewise
24260 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24261 (grub_elf64_load): Likewise
24262 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24263 All users updated
24264 (grub_elf64_load_hook_t): Likewise
24265
24266 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
24267
24268 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24269 variable.
24270 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24271 don't write a menu entry for recovery mode.
24272
24273 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24274
24275 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24276 after it's no longer needed.
24277
24278 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24279
24280 * include/grub/i386/loader.h (grub_linux_prot_size)
24281 (grub_linux_tmp_addr, grub_linux_real_addr)
24282 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24283 GRUB_MACHINE_PCBIOS.
24284 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24285 common grub_util_info() call to ...
24286 (generate_image): ... here.
24287 Fix use of uninitialized memory, comparison of signed with
24288 unsigned integers and memory leak.
24289 Remove bogus module address message.
24290
24291 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24292
24293 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24294 grub_raid_register
24295 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24296
24297 2009-06-19 Pavel Roskin <proski@gnu.org>
24298
24299 * configure.ac: Remove stray AC_MSG_CHECKING.
24300
24301 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 * disk/scsi.c (grub_scsi_open): use continue instead of big if
24304
24305 2009-06-18 Pavel Roskin <proski@gnu.org>
24306
24307 * conf/common.rmk: Add fs_file.mod.
24308 * disk/fs_file.c: New file.
24309 * include/grub/disk.h (enum grub_disk_dev_id): Add
24310 GRUB_DISK_DEVICE_FILE_ID.
24311
24312 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24313
24314 Fix build with Apple's toolchain. Part 2
24315
24316 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24317 a fake start
24318
24319 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24320
24321 Fix build with Apple's toolchain. Part 1
24322
24323 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24324 for long calls
24325 * configure.ac: remove a leftover AC_MSG_RESULT
24326 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
24327 Apple's toolchain
24328
24329 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24330
24331 Fix warnings
24332
24333 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24334 (decomp_block): initialize ch
24335 use grub_memcpy instead of memcpy
24336
24337 2009-06-17 Pavel Roskin <proski@gnu.org>
24338
24339 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24340 version, use declarations needed to use vga_text as the startup
24341 console.
24342
24343 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24344 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24345 the kernel.
24346 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24347 and grub_at_keyboard_fini(), it's done on module load and
24348 unload.
24349
24350 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
24351
24352 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24353 file can't be found.
24354 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24355
24356 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24357
24358 Fix newline handling
24359
24360 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
24361 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
24362 (grub_script_yylex): don't segfault on unterminated script
24363 newline terminates command and variable
24364
24365 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24366
24367 avoid double grub_adjust_range call. Bug reported by David Simner
24368
24369 * kern/disk.c (grub_disk_write): change to raw disk access before
24370 calling disk_read
24371
24372 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
24373
24374 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24375 spaces, for the benefit of help2man.
24376 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24377
24378 2009-06-16 Pavel Roskin <proski@gnu.org>
24379
24380 * kern/i386/halt.c: Include grub/machine/init.h.
24381 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24382
24383 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
24384
24385 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24386 drivemap menuentry.
24387
24388 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24389
24390 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24391 `echo' command.
24392
24393 2009-06-16 Pavel Roskin <proski@gnu.org>
24394
24395 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24396 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24397 save %dx, we only need %dl and we never change it.
24398 * boot/i386/pc/cdboot.S: Don't set the root drive.
24399 * boot/i386/pc/pxeboot.S: Likewise.
24400 * include/grub/i386/pc/boot.h: Remove
24401 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24402 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24403 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24404 * kern/i386/pc/init.c (make_install_device): Remove references
24405 to grub_root_drive.
24406 * kern/i386/pc/startup.S: Likewise.
24407 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24408
24409 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 xnu_uuid command
24412
24413 * commands/xnu_uuid.c: new file
24414 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24415 (xnu_uuid_mod_SOURCES): new variable
24416 (xnu_uuid_mod_CFLAGS): likewise
24417 (xnu_uuid_mod_LDFLAGS): likewise
24418 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24419 * conf/i386-ieee1275.rmk: likewise
24420 * conf/i386-pc.rmk: likewise
24421 * conf/powerpc-ieee1275.rmk: likewise
24422 * conf/sparc64-ieee1275.rmk: likewise
24423 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24424
24425 2009-06-16 Pavel Roskin <proski@gnu.org>
24426
24427 * configure.ac: Avoid '==' in test command, it's not portable.
24428
24429 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24430
24431 Probe command
24432
24433 * commands/probe.c: new file
24434 * conf/common.rmk (pkglib_MODULES): add probe.mod
24435 (probe_mod_SOURCES): new variable
24436 (probe_mod_CFLAGS): likewise
24437 (probe_mod_LDFLAGS): likewise
24438 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24439 * conf/i386-ieee1275.rmk: likewise
24440 * conf/i386-pc.rmk: likewise
24441 * conf/powerpc-ieee1275.rmk: likewise
24442 * conf/sparc64-ieee1275.rmk: likewise
24443
24444 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24445
24446 Fix handling of string like \"hello\" and "a
24447 b"
24448
24449 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24450 (grub_script_yylex): fix parsing of quoting, escaping and newline
24451
24452 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24453
24454 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
24455 handling
24456
24457 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
24458
24459 * util/grub-mkconfig.in: Fix parsing of --output option.
24460
24461 2009-06-12 Pavel Roskin <proski@gnu.org>
24462
24463 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24464 genmk.rb don't need to be generated or installed.
24465
24466 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24467
24468 * commands/i386/pc/drivemap_int13h.S: add more comments
24469
24470 2009-06-11 Pavel Roskin <proski@gnu.org>
24471
24472 * Makefile.in (uninstall): Uninstall manuals.
24473
24474 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24475 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24476 and update-grub_lib in two places.
24477 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24478
24479 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24480 a compiler warning.
24481
24482 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24483 `entry_lo' to fix variable shadowing.
24484
24485 2009-06-11 Christian Franke <franke@computer.org>
24486
24487 * kern/misc.c (__enable_execute_stack): Add missing return type
24488 to prevent gcc warning.
24489
24490 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24491
24492 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24493
24494 2009-06-11 Pavel Roskin <proski@gnu.org>
24495
24496 * Makefile.in: Don't rely on any scripts being executable.
24497 Always use $(SHELL) to run shell scripts.
24498
24499 * configure.ac: Always define ___main if using -nostdlib. This
24500 fixes tests on Cygwin.
24501
24502 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24503
24504 UDF fix
24505
24506 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
24507 is in bytes and not in blocks
24508
24509 2009-06-11 Pavel Roskin <proski@gnu.org>
24510
24511 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24512 warning.
24513
24514 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24515
24516 * util/grub.d/30_os-prober.in: Fix a comment. Source
24517 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24518 to set the root device. Place drivemap command in the generated
24519 chain entry.
24520
24521 2009-06-11 Pavel Roskin <proski@gnu.org>
24522
24523 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24524 have long been resolved.
24525
24526 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
24527
24528 * util/grub.d/10_linux.in: Capitalise "Linux".
24529
24530 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24531
24532 2009-06-11 Pavel Roskin <proski@gnu.org>
24533
24534 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24535 fix a gcc warning and ensure that the function won't ever exit.
24536
24537 * kern/i386/ieee1275/init.c: Add missing prototype for
24538 grub_stop_floppy().
24539
24540 * loader/ieee1275/multiboot2.c [__i386__]: Include
24541 grub/cpu/multiboot.h.
24542
24543 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24544 casts to short - they are not portable and cause warnings. Fix
24545 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24546
24547 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24548
24549 Drivemap fixes
24550
24551 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24552 new function
24553 (grub_get_root_biosnumber_saved): new variable
24554 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24555 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
24556 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
24557 %dx after the call if necessary
24558 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24559 (boot_mod_SOURCES): remove
24560 (boot_mod_CFLAGS): remove
24561 (boot_mod_LDFLAGS): remove
24562 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24563 (boot_mod_SOURCES): new variable
24564 (boot_mod_CFLAGS): likewise
24565 (boot_mod_LDFLAGS): likewise
24566 * conf/i386-efi.rmk: likewise
24567 * conf/i386-ieee1275.rmk: likewise
24568 * conf/i386-pc.rmk: likewise
24569 * conf/powerpc-ieee1275.rmk: likewise
24570 * conf/sparc64-ieee1275.rmk: likewise
24571 * conf/x86_64-efi.rmk: likewise
24572 * include/grub/i386/pc/biosnum.h: new file
24573 * lib/i386/pc/biosnum.c: likewise
24574 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24575 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24576 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
24577
24578 2009-06-10 Pavel Roskin <proski@gnu.org>
24579
24580 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24581 Use separate variables. Read only the file size at the end, but
24582 not the checksum that we don't use.
24583
24584 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24585 Adjust all callers.
24586
24587 * kern/ieee1275/openfw.c: Remove libc includes.
24588 * kern/ieee1275/cmain.c: Likewise.
24589 * include/grub/ieee1275/ieee1275.h: Likewise.
24590
24591 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24592 compiler warnings.
24593
24594 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
24595
24596 * Makefile.in: Remove all trailing whitespace.
24597 * conf/i386-pc.rmk: Likewise.
24598 * conf/powerpc-ieee1275.rmk: Likewise.
24599 * conf/sparc64-ieee1275.rmk: Likewise.
24600 * docs/grub.texi: Likewise.
24601 * docs/texinfo.tex: Likewise.
24602 * disk/fs_uuid.c: Likewise.
24603 * disk/lvm.c: Likewise.
24604 * disk/scsi.c: Likewise.
24605 * disk/ata.c: Likewise.
24606 * disk/ieee1275/ofdisk.c: Likewise.
24607 * disk/i386/pc/biosdisk.c: Likewise.
24608 * disk/host.c: Likewise.
24609 * disk/raid.c: Likewise.
24610 * disk/efi/efidisk.c: Likewise.
24611 * disk/usbms.c: Likewise.
24612 * disk/memdisk.c: Likewise.
24613 * disk/loopback.c: Likewise.
24614 * kern/powerpc/dl.c: Likewise.
24615 * kern/device.c: Likewise.
24616 * kern/dl.c: Likewise.
24617 * kern/sparc64/dl.c: Likewise.
24618 * kern/ieee1275/ieee1275.c: Likewise.
24619 * kern/term.c: Likewise.
24620 * kern/fs.c: Likewise.
24621 * kern/i386/dl.c: Likewise.
24622 * kern/i386/pc/startup.S: Likewise.
24623 * kern/i386/pc/init.c: Likewise.
24624 * kern/i386/pc/mmap.c: Likewise.
24625 * kern/i386/pc/lzo1x.S: Likewise.
24626 * kern/i386/ieee1275/init.c: Likewise.
24627 * kern/i386/realmode.S: Likewise.
24628 * kern/i386/tsc.c: Likewise.
24629 * kern/partition.c: Likewise.
24630 * kern/corecmd.c: Likewise.
24631 * kern/file.c: Likewise.
24632 * kern/efi/efi.c: Likewise.
24633 * kern/efi/init.c: Likewise.
24634 * kern/efi/mm.c: Likewise.
24635 * kern/main.c: Likewise.
24636 * kern/err.c: Likewise.
24637 * kern/env.c: Likewise.
24638 * kern/disk.c: Likewise.
24639 * kern/generic/millisleep.c: Likewise.
24640 * kern/generic/rtc_get_time_ms.c: Likewise.
24641 * kern/misc.c: Likewise.
24642 * kern/parser.c: Likewise.
24643 * genmk.rb: Likewise.
24644 * configure.ac: Likewise.
24645 * boot/i386/pc/diskboot.S: Likewise.
24646 * boot/i386/pc/pxeboot.S: Likewise.
24647 * boot/i386/pc/boot.S: Likewise.
24648 * boot/i386/pc/lnxboot.S: Likewise.
24649 * boot/i386/pc/cdboot.S: Likewise.
24650 * parttool/pcpart.c: Likewise.
24651 * video/readers/tga.c: Likewise.
24652 * video/video.c: Likewise.
24653 * video/bitmap.c: Likewise.
24654 * lib/envblk.c: Likewise.
24655 * lib/i386/setjmp.S: Likewise.
24656 * fs/xfs.c: Likewise.
24657 * fs/afs.c: Likewise.
24658 * fs/fat.c: Likewise.
24659 * fs/ntfs.c: Likewise.
24660 * fs/udf.c: Likewise.
24661 * fs/affs.c: Likewise.
24662 * fs/iso9660.c: Likewise.
24663 * fs/hfs.c: Likewise.
24664 * fs/fshelp.c: Likewise.
24665 * fs/ext2.c: Likewise.
24666 * fs/jfs.c: Likewise.
24667 * fs/reiserfs.c: Likewise.
24668 * fs/hfsplus.c: Likewise.
24669 * fs/minix.c: Likewise.
24670 * fs/cpio.c: Likewise.
24671 * fs/sfs.c: Likewise.
24672 * fs/ufs.c: Likewise.
24673 * efiemu/prepare.c: Likewise.
24674 * efiemu/loadcore_common.c: Likewise.
24675 * efiemu/runtime/efiemu.sh: Likewise.
24676 * efiemu/runtime/efiemu.S: Likewise.
24677 * efiemu/runtime/efiemu.c: Likewise.
24678 * efiemu/pnvram.c: Likewise.
24679 * efiemu/main.c: Likewise.
24680 * efiemu/i386/pc/cfgtables.c: Likewise.
24681 * efiemu/i386/loadcore64.c: Likewise.
24682 * efiemu/i386/loadcore32.c: Likewise.
24683 * efiemu/loadcore.c: Likewise.
24684 * efiemu/symbols.c: Likewise.
24685 * efiemu/mm.c: Likewise.
24686 * include/grub/autoefi.h: Likewise.
24687 * include/grub/datetime.h: Likewise.
24688 * include/grub/term.h: Likewise.
24689 * include/grub/hfs.h: Likewise.
24690 * include/grub/lvm.h: Likewise.
24691 * include/grub/i386/tsc.h: Likewise.
24692 * include/grub/i386/linux.h: Likewise.
24693 * include/grub/i386/xnu.h: Likewise.
24694 * include/grub/i386/efiemu.h: Likewise.
24695 * include/grub/i386/pc/biosdisk.h: Likewise.
24696 * include/grub/i386/pc/memory.h: Likewise.
24697 * include/grub/i386/pc/vbe.h: Likewise.
24698 * include/grub/parttool.h: Likewise.
24699 * include/grub/video.h: Likewise.
24700 * include/grub/memory.h: Likewise.
24701 * include/grub/fs.h: Likewise.
24702 * include/grub/partition.h: Likewise.
24703 * include/grub/xnu.h: Likewise.
24704 * include/grub/efi/api.h: Likewise.
24705 * include/grub/efi/pe32.h: Likewise.
24706 * include/grub/efi/memory.h: Likewise.
24707 * include/grub/multiboot.h: Likewise.
24708 * include/grub/usbdesc.h: Likewise.
24709 * include/grub/multiboot2.h: Likewise.
24710 * include/grub/acpi.h: Likewise.
24711 * include/grub/efiemu/efiemu.h: Likewise.
24712 * include/grub/disk.h: Likewise.
24713 * include/grub/ieee1275/ieee1275.h: Likewise.
24714 * include/grub/net.h: Likewise.
24715 * include/grub/machoload.h: Likewise.
24716 * include/grub/macho.h: Likewise.
24717 * include/multiboot.h: Likewise.
24718 * genmoddep.awk: Likewise.
24719 * normal/main.c: Likewise.
24720 * normal/menu_entry.c: Likewise.
24721 * normal/menu_viewer.c: Likewise.
24722 * normal/completion.c: Likewise.
24723 * normal/cmdline.c: Likewise.
24724 * normal/misc.c: Likewise.
24725 * normal/datetime.c: Likewise.
24726 * bus/usb/usbtrans.c: Likewise.
24727 * bus/usb/ohci.c: Likewise.
24728 * bus/usb/uhci.c: Likewise.
24729 * bus/usb/usb.c: Likewise.
24730 * mmap/efi/mmap.c: Likewise.
24731 * mmap/i386/pc/mmap_helper.S: Likewise.
24732 * mmap/i386/pc/mmap.c: Likewise.
24733 * mmap/i386/mmap.c: Likewise.
24734 * mmap/i386/uppermem.c: Likewise.
24735 * mmap/mmap.c: Likewise.
24736 * commands/acpi.c: Likewise.
24737 * commands/echo.c: Likewise.
24738 * commands/blocklist.c: Likewise.
24739 * commands/loadenv.c: Likewise.
24740 * commands/usbtest.c: Likewise.
24741 * commands/boot.c: Likewise.
24742 * commands/parttool.c: Likewise.
24743 * commands/search.c: Likewise.
24744 * commands/cat.c: Likewise.
24745 * commands/i386/pc/play.c: Likewise.
24746 * commands/i386/pc/drivemap.c: Likewise.
24747 * commands/i386/pc/vbeinfo.c: Likewise.
24748 * commands/i386/pc/acpi.c: Likewise.
24749 * commands/i386/pc/vbetest.c: Likewise.
24750 * commands/ls.c: Likewise.
24751 * commands/cmp.c: Likewise.
24752 * commands/test.c: Likewise.
24753 * commands/efi/acpi.c: Likewise.
24754 * commands/gptsync.c: Likewise.
24755 * commands/help.c: Likewise.
24756 * partmap/amiga.c: Likewise.
24757 * partmap/apple.c: Likewise.
24758 * partmap/acorn.c: Likewise.
24759 * partmap/pc.c: Likewise.
24760 * partmap/sun.c: Likewise.
24761 * partmap/gpt.c: Likewise.
24762 * script/sh/lexer.c: Likewise.
24763 * script/sh/function.c: Likewise.
24764 * font/font.c: Likewise.
24765 * font/font_cmd.c: Likewise.
24766 * loader/powerpc/ieee1275/linux.c: Likewise.
24767 * loader/efi/chainloader.c: Likewise.
24768 * loader/multiboot_loader.c: Likewise.
24769 * loader/macho.c: Likewise.
24770 * loader/i386/multiboot.c: Likewise.
24771 * loader/i386/linux.c: Likewise.
24772 * loader/i386/pc/linux.c: Likewise.
24773 * loader/i386/pc/multiboot2.c: Likewise.
24774 * loader/i386/pc/chainloader.c: Likewise.
24775 * loader/i386/pc/xnu.c: Likewise.
24776 * loader/i386/bsd_trampoline.S: Likewise.
24777 * loader/i386/efi/linux.c: Likewise.
24778 * loader/i386/multiboot_elfxx.c: Likewise.
24779 * loader/i386/bsd_helper.S: Likewise.
24780 * loader/i386/bsd.c: Likewise.
24781 * loader/i386/linux_trampoline.S: Likewise.
24782 * loader/i386/xnu_helper.S: Likewise.
24783 * loader/i386/xnu.c: Likewise.
24784 * loader/i386/bsd_pagetable.c: Likewise.
24785 * loader/i386/multiboot_helper.S: Likewise.
24786 * loader/xnu.c: Likewise.
24787 * loader/xnu_resume.c: Likewise.
24788 * io/gzio.c: Likewise.
24789 * term/efi/console.c: Likewise.
24790 * term/terminfo.c: Likewise.
24791 * term/ieee1275/ofconsole.c: Likewise.
24792 * term/i386/pc/serial.c: Likewise.
24793 * term/i386/pc/vesafb.c: Likewise.
24794 * term/i386/pc/vga.c: Likewise.
24795 * term/usb_keyboard.c: Likewise.
24796 * term/gfxterm.c: Likewise.
24797 * aclocal.m4: Likewise.
24798 * util/lvm.c: Likewise.
24799 * util/grub.d/30_os-prober.in: Likewise.
24800 * util/grub.d/10_hurd.in: Likewise.
24801 * util/console.c: Likewise.
24802 * util/grub-macho2img.c: Likewise.
24803 * util/grub-probe.c: Likewise.
24804 * util/hostfs.c: Likewise.
24805 * util/i386/pc/grub-mkimage.c: Likewise.
24806 * util/i386/pc/grub-setup.c: Likewise.
24807 * util/i386/efi/grub-mkimage.c: Likewise.
24808 * util/grub-mkconfig.in: Likewise.
24809 * util/raid.c: Likewise.
24810 * util/resolve.c: Likewise.
24811 * util/grub-mkdevicemap.c: Likewise.
24812 * util/grub-emu.c: Likewise.
24813 * util/getroot.c: Likewise.
24814 * util/hostdisk.c: Likewise.
24815 * util/usb.c: Likewise.
24816 * util/grub-editenv.c: Likewise.
24817 * util/misc.c: Likewise.
24818
24819 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
24820
24821 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
24822 `genparttoollist.sh'.
24823 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
24824 Add `*.sh' to the list find searches for and change `mdate.sh'
24825 to `mdate-sh'.
24826
24827 2009-06-10 Pavel Roskin <proski@gnu.org>
24828
24829 * include/grub/multiboot2.h: Provide compatibility defines for
24830 multiboot2.h.
24831 * include/multiboot2.h: Include stdint.h only if needed, using
24832 angle brackets.
24833 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
24834 grub/multiboot2.h.
24835 * loader/ieee1275/multiboot2.c: Likewise.
24836 * loader/multiboot2.c: Likewise.
24837 * loader/multiboot_loader.c: Likewise.
24838
24839 * configure.ac: Use -nostdlib when probing for the target. It
24840 should not be required to have libc for the target.
24841
24842 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
24843 they fail without libc headers for the target.
24844 * include/grub/powerpc/libgcc.h: Use weak attribute for all
24845 exports.
24846 * include/grub/sparc64/libgcc.h: Likewise. Don't use
24847 preprocessor conditionals.
24848
24849 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
24850 build system doesn't need to be aware of the tar.c internals.
24851
24852 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
24853
24854 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
24855
24856 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
24857
24858 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
24859 disk limit to 26 for IDE, Virtio, Xen and SCSI.
24860
24861 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
24862
24863 * util/i386/pc/grub-install.in: Change the error message if UUIDs
24864 aren't available if ata.mod gets used.
24865
24866 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
24867
24868 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
24869 initialising controller.
24870 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24871
24872 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24873
24874 * util/i386/pc/grub-install.in: Add a parameter --disk-module
24875 to choose between ata and biosdisk module on i386-pc.
24876
24877 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
24878
24879 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
24880 Subclass and Programming Interface fields in terms of the 3 byte
24881 Class Code register.
24882 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24883
24884 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
24885 interface is OHCI. Add grub_dprintf for symmetry with
24886 bus/usb/uhci.c.
24887 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
24888 interface is UHCI. Add interf variable for programming
24889 interface. Print interface with class/subclass.
24890
24891 * bus/usb/ohci.c: Set interf with correct field.
24892
24893 * bus/usb/uhci.c: Remove unneeded doubled lines.
24894 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
24895 Remove whitespace inside comment.
24896
24897 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
24898
24899 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
24900 as fallback an equivalent option without depth.
24901
24902 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24903
24904 Not fail if unable to retrieve C/H/S on LBA disks
24905
24906 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
24907 if unable to retrieve C/H/S on LBA disks
24908
24909 2009-06-08 Pavel Roskin <proski@gnu.org>
24910
24911 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
24912 about aliasing.
24913
24914 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24915
24916 * Makefile.in (uninstall): Remove all $lib_DATA files.
24917
24918 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24919
24920 Bugfix: install on partitionless device
24921
24922 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
24923 is a whole disk
24924
24925 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24926
24927 * Makefile.in (uninstall): Remove all $include_DATA files.
24928
24929 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24930
24931 * commands/true.c: New file. Implement the true and false commands.
24932 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
24933 (true_mod_SOURCES): New variable.
24934 (true_mod_CFLAGS): Likewise.
24935 (true_mod_LDFLAGS): Likewise.
24936
24937 2009-06-05 Colin D Bennett <colin@gibibit.com>
24938
24939 Optimized font character lookup using binary search instead of linear
24940 search. Fonts now are required to have the character index ordered by
24941 code point.
24942
24943 * font/font.c (load_font_index): Verify that fonts have ordered
24944 character indices.
24945 (find_glyph): Use binary search instead of linear search to find a
24946 character in a font.
24947
24948 2009-06-05 Michael Scherer <misc@mandriva.org>
24949
24950 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
24951 uses case sensitive btree.
24952 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24953 only for case insensitive filesystems.
24954
24955 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24956
24957 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24958 * conf/common.rmk (search_mod_CFLAGS): likewise
24959
24960 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24961
24962 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
24963 compensate a compiler bug
24964
24965 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24966
24967 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
24968 instead of '\b'
24969
24970 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24971
24972 Definitions for creating asm symbols with Apple's CC
24973
24974 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24975 [APPLE_CC] (VARIABLE): likewise
24976
24977 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24978
24979 Disable lnxboot.img when compiled
24980 with Apple's CC
24981
24982 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24983 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24984 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24985 [! APPLE_CC] (CODE_LENG): skip
24986 [! APPLE_CC] (setup_sects): likewise
24987 [! APPLE_CC]: skip filling
24988
24989 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Address in trampolines based on 32-bit registers when compiled
24992 with Apple's CC
24993
24994 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
24995 for addresses
24996 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24997
24998 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24999
25000 Avoid aliases when compiling with Apple's CC for PCBIOS machine
25001
25002 * kern/misc.c [APPLE_CC] (memcpy): new function
25003 [APPLE_CC] (memmove): likewise
25004 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
25005 (memcpy): define alias conditionally on !APPLE_CC
25006 (memset): likewise
25007 (abort): likewise
25008 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
25009 APPLE_CC are defined
25010 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
25011 (grub_assert_fail): make prototype conditional
25012
25013 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25014
25015 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
25016
25017 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
25018 grub-macho2img
25019 (CLEANFILES): add grub-macho2img
25020 (grub_macho2img_SOURCES): new variable
25021 * kern/i386/pc/startup.S (bss_start): new variable
25022 (bss_end): likewise
25023 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25024 * util/grub-macho2img.c: new file
25025
25026 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25027
25028 Use objconv when compiling with Apple's CC
25029
25030 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25031 (efiemu64.o): likewise
25032 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25033 when compiling with Apple's CC
25034 (efiemu64_s.o): likewise
25035 * configure.ac: check for objconv when compiling with Apple's CC
25036 * genmk.rb: use objconv for modules when compiled with Apple's CC
25037
25038 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25039
25040 Define segment as well as section when compiling with
25041 Apple's CC
25042
25043 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25044 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25045 (efiemu_convert_pointer): likewise
25046 (efiemu_set_virtual_address_map): likewise
25047 (efiemu_convert_pointer): likewise
25048 (efiemu_getcrc32): likewise
25049 (init_crc32_table): likewise
25050 (reflect): likewise
25051 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25052 (GRUB_MOD_DEP): likewise
25053
25054 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25055
25056 Allow a compilation without -mcmodel=large
25057
25058 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25059 when compiled without -mcmodel=large
25060 (filter_memory_map): remove memory post 4 GiB when compiled
25061 without -mcmodel=large
25062 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
25063 TARGET_CFLAGS when -mcmodel=large isn't supported
25064
25065 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25066
25067 Remove nested functions in efiemu core
25068
25069 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
25070
25071 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25074
25075 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25076 temporary storage
25077 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25078 using Apple's CC
25079 (grub_cpu_is_tsc_supported): likewise
25080 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
25081
25082 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25083
25084 Absolute addressing through constant with Apple's cc
25085
25086 * kern/i386/pc/startup.S: Define necessary constants
25087 and address through it when using ABS with Apple's CC
25088 * boot/i386/pc/diskboot.S: likewise
25089 * boot/i386/pc/boot.S: likewise
25090 * boot/i386/pc/lnxboot.S: likewise
25091 * boot/i386/pc/cdboot.S: likewise
25092 * mmap/i386/pc/mmap_helper.S: likewise
25093 * commands/i386/pc/drivemap_int13h.S: likewise
25094
25095 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25096
25097 Check if compiler is apple cc
25098
25099 * Makefile.in (ASFLAGS): new variable
25100 (TARGET_ASFLAGS): likewise
25101 (TARGET_MODULE_FORMAT): likewise
25102 (TARGET_APPLE_CC): likewise
25103 (OBJCONV): likewise
25104 (TARGET_IMG_CFLAGS): likewise
25105 (TARGET_CPPFLAGS): add includedir
25106 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25107 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25108 Check for linker script only if compiler isn't Apple's CC
25109 (TARGET_MODULE_FORMAT): set
25110 (TARGET_APPLE_CC): likewise
25111 (TARGET_ASFLAGS): likewise
25112 (ASFLAGS): likewise
25113 Check for objcopy only if compiler isn't Apple's CC
25114 Check for BSS symbol only if compiler isn't Apple's CC
25115 * genmk.rb: adapt nm options if we use Apple's utils
25116 * aclocal.m4 (grub_apple_cc): new test
25117 (grub_apple_target_cc): likewise
25118
25119 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25120
25121 Simplify sed expressions and improve awk
25122
25123 * Makefile.in (install-local): simplify sed expression
25124 * gencmdlist.sh: likewise
25125 * genmoddep.awk: avoid adding module as a dependency of itself
25126
25127 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25128
25129 Add missing start symbols
25130
25131 * boot/i386/pc/boot.S: add start
25132 * boot/i386/pc/pxeboot.S: likewise
25133
25134 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 Fix wrong assumptions with grub-mkimage on EFI
25137
25138 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
25139 (relocate_addresses): consider both r_addend and value at offset
25140 (make_mods_section): zerofill modinfo and header
25141 (convert_elf): write prefix here
25142
25143 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25144
25145 Use .asciz instead of .string
25146
25147 * i386/pc/diskboot.S: use .asciz instead of .string
25148 * i386/pc/boot.S: likewise
25149 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25150 (GRUB_MOD_NAME): likewise
25151
25152 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25153
25154 gfxpayload support
25155
25156 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25157 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25158 (grub_video_setup): remove
25159 (grub_video_set_mode): new prototype
25160 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25161 (vid_mode): remove
25162 (linux_vesafb_res): compile only on PCBIOS
25163 (grub_linux_boot): support gfxpayload
25164 * loader/i386/pc/xnu.c (video_hook): new function
25165 (grub_xnu_set_video): support gfxpayload
25166 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25167 (DEFAULT_VIDEO_HEIGHT): likewise
25168 (DEFAULT_VIDEO_FLAGS): likewise
25169 (DEFAULT_VIDEO_MODE): new definition
25170 (video_hook): new function
25171 (grub_gfxterm_init): use grub_video_set_mode
25172 * util/grub.d/30_os-prober.in: remove explicit modesetting before
25173 loading xnu
25174 * video/video.c (grub_video_setup): removed
25175 (grub_video_set_mode): new function based on grub_gfxterm_init and
25176 grub_video_setup
25177
25178 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25179
25180 Avoid calling biosdisk in drivemap
25181
25182 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25183 (revparse_biosdisk): likewise
25184 (list_mappings): derive name from id directly
25185 (grub_cmd_drivemap): use tryparse_diskstring
25186
25187 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25188
25189 Script fixes
25190
25191 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25192 (grub_lexer_param): add tokenonhold
25193 (grub_script_create_cmdline): remove cmdline. All callers updated
25194 (grub_script_function_create): make functionname
25195 grub_script_arg. All callers updated
25196 (grub_script_execute_argument_to_string): new prototype
25197 * kern/parser.c (state_transitions): reorder
25198 (grub_parser_cmdline_state): fix a bug and make more compact
25199 * script/sh/execute.c (grub_script_execute_argument_to_string):
25200 make global
25201 (grub_script_execute_cmdline): use new format
25202 * script/sh/function.c (grub_script_function_create): make functionname
25203 grub_script_arg. All callers updated
25204 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
25205 (grub_script_yylex): remove
25206 (grub_script_yylex2): renamed to ...
25207 (grub_script_yylex): ...renamed
25208 parse the expressions like a${b}c
25209 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25210 (GRUB_PARSER_TOKEN_VAR): remove
25211 (GRUB_PARSER_TOKEN_NAME): likewise
25212 ("if"): declare as typeless
25213 ("while"): likewise
25214 ("function"): likewise
25215 ("else"): likewise
25216 ("then"): likewise
25217 ("fi"): likewise
25218 (text): remove
25219 (argument): likewise
25220 (script): accept empty scripts and make exit on error
25221 (arguments): use GRUB_PARSER_TOKEN_ARG
25222 (function): likewise
25223 (command): move error handling to script
25224 (menuentry): move grub_script_lexer_ref before
25225 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
25226 argument. All callers updated
25227
25228 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25229
25230 Prevent GRUB from probing floppies during boot.
25231
25232 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25233 * commands/search.c (options): Add --no-floppy.
25234 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25235 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25236 --no-floppy when searching for UUIDs.
25237
25238 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25239
25240 Simplify the code duplication in commands/search.c.
25241
25242 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25243 (search_fs): ... this. Update all users.
25244
25245 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
25246
25247 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25248
25249 2009-05-28 Pavel Roskin <proski@gnu.org>
25250
25251 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25252 Remove the original symlink explicitly.
25253
25254 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25255 just one slash. That's how grub_fshelp_find_file() does it.
25256
25257 2009-05-26 Pavel Roskin <proski@gnu.org>
25258
25259 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25260 to `str'.
25261
25262 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25263 possibly unused.
25264
25265 2009-05-25 Christian Franke <franke@computer.org>
25266
25267 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25268 register.
25269 (grub_atapi_identify): Add wait after drive select.
25270 (grub_ata_identify): Do more strict status register check before
25271 calling grub_atapi_identify (). Suppress error message if status
25272 register is 0x00 after command failure. Add status register
25273 check after PIO read to avoid bogus identify due to stuck DRQ.
25274 Thanks to Pavel Roskin for testing.
25275 (grub_device_initialize): Remove unsafe status register check.
25276 Thanks to 'phcoder' for problem report and patch.
25277 Prevent sign extension in debug message.
25278
25279 2009-05-23 Colin D Bennett <colin@gibibit.com>
25280
25281 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25282 definition file, and functions defined in `normal/menu.c' have had
25283 their prototypes moved to `include/grub/menu.h' for consistency.
25284
25285 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25286 from normal.h.
25287 (grub_menu_get_entry): Likewise.
25288 (grub_menu_get_timeout): Likewise.
25289 (grub_menu_set_timeout): Likewise.
25290 (grub_menu_execute_entry): Likewise.
25291 (grub_menu_execute_with_fallback): Likewise.
25292 (grub_menu_entry_run): Likewise.
25293
25294 * include/grub/normal.h: Re-ordered and grouped function
25295 prototypes by file that the function is defined in.
25296 (grub_menu_execute_callback): Removed; moved to menu.h.
25297 (grub_menu_get_entry): Likewise.
25298 (grub_menu_get_timeout): Likewise.
25299 (grub_menu_set_timeout): Likewise.
25300 (grub_menu_execute_entry): Likewise.
25301 (grub_menu_execute_with_fallback): Likewise.
25302 (grub_menu_entry_run): Likewise.
25303 (grub_menu_addentry): Renamed from this ...
25304 (grub_normal_add_menu_entry): ... to this.
25305
25306 * normal/main.c (grub_menu_addentry): Renamed from this ...
25307 (grub_normal_add_menu_entry): ... to this.
25308
25309 * script/sh/execute.c (grub_script_execute_menuentry): Update
25310 reference to renamed grub_menu_addentry function.
25311
25312 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
25313
25314 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25315
25316 2009-05-22 Pavel Roskin <proski@gnu.org>
25317
25318 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25319 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25320 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25321 compiling for the i386 targets, but not for the utilities.
25322
25323 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25324 to grub_uint8_t.
25325 (grub_root_drive): Likewise.
25326 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25327 remove alignment.
25328 (grub_root_drive): Change size to byte.
25329 (grub_start_addr): Remove.
25330 (grub_end_addr): Likewise.
25331 (grub_apm_bios_info): Likewise.
25332
25333 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
25334
25335 * normal/i386: Remove.
25336 * normal/powerpc: Likewise.
25337 * normal/sparc64: Likewise.
25338 * normal/x86_64: Likewise.
25339
25340 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
25343 * loader/i386/linux_trampoline.S: Fix indentation
25344 * loader/i386/xnu_helper.S: Likewise
25345
25346 2009-05-18 Colin D Bennett <colin@gibibit.com>
25347
25348 Display error messages when parsing a Lua statement fails.
25349 Previously, executing a syntactically invalid statement like
25350 ")foo" or "bar;" would silently fail.
25351
25352 * script/lua/grub_main.c (handle_lua_error): New function.
25353 (grub_lua_parse_line): Improved reporting of Lua parser and
25354 execution errors.
25355
25356 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25357
25358 Remove -Werror which causes build to fail on some systems
25359
25360 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25361 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25362 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
25363
25364 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25365
25366 trampoline for linux on 64-bit platform
25367
25368 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25369 loader/i386/efi/linux_trampoline.S
25370 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
25371 declaration
25372 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25373 here
25374 * loader/i386/linux_trampoline.S: moved here
25375 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25376 trampoline
25377 (jumpvector): removed
25378 (grub_linux_trampoline_start): new declaration
25379 (grub_linux_trampoline_end): likewise
25380 (grub_linux_boot): use trampoline when on 64-bit platform
25381 * loader/i386/linux.c: likewise
25382
25383 2009-05-16 Pavel Roskin <proski@gnu.org>
25384
25385 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25386 const to avoid a warning.
25387 (grub_lua_setenv): Likewise.
25388 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25389 lmsg to fix a warning.
25390
25391 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25392
25393 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
25394 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25395 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25396 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25397 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25398 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25399 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25400 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25401
25402 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25403
25404 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25405
25406 2009-05-16 Bean <bean123ch@gmail.com>
25407
25408 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25409 (lua_mod_SOURCES): New variable.
25410 (lua_mod_CFLAGS): Likewise.
25411 (lua_mod_LDFLAGS): Likewise.
25412
25413 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25414 (setjmp_mod_SOURCES): New variable.
25415 (setjmp_mod_CFLAGS): Likewise.
25416 (setjmp_LDFLAGS): Likewise.
25417
25418 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25419 (setjmp_mod_SOURCES): New variable.
25420 (setjmp_mod_CFLAGS): Likewise.
25421 (setjmp_LDFLAGS): Likewise.
25422
25423 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25424 (setjmp_mod_SOURCES): New variable.
25425 (setjmp_mod_CFLAGS): Likewise.
25426 (setjmp_LDFLAGS): Likewise.
25427
25428 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25429 (setjmp_mod_SOURCES): New variable.
25430 (setjmp_mod_CFLAGS): Likewise.
25431 (setjmp_LDFLAGS): Likewise.
25432
25433 * normal/i386/setjmp.S: Moved from here ...
25434 * lib/i386/setjmp.S: ... Moved here
25435 * normal/x86_64/setjmp.S: Moved from here ...
25436 * lib/x86_64/setjmp.S: ... Moved here
25437 * normal/powerpc/setjmp.S: Moved from here ...
25438 * lib/powerpc/setjmp.S: ... Moved here
25439 * normal/sparc64/setjmp.S: Moved from here ...
25440 * lib/sparc64/setjmp.S: ... Moved here
25441
25442 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25443 returns_twice in mingw.
25444
25445 * script/lua/grub_lib.c: New file.
25446 * script/lua/grub_lib.h: Likewise.
25447 * script/lua/grub_lua.h: Likewise.
25448 * script/lua/grub_main.c: Likewise.
25449 * script/lua/lapi.c: Likewise.
25450 * script/lua/lapi.h: Likewise.
25451 * script/lua/lauxlib.c: Likewise.
25452 * script/lua/lauxlib.h: Likewise.
25453 * script/lua/lbaselib.c: Likewise.
25454 * script/lua/lcode.c: Likewise.
25455 * script/lua/lcode.h: Likewise.
25456 * script/lua/ldblib.c: Likewise.
25457 * script/lua/ldebug.c: Likewise.
25458 * script/lua/ldebug.h: Likewise.
25459 * script/lua/ldo.c: Likewise.
25460 * script/lua/ldo.h: Likewise.
25461 * script/lua/ldump.c: Likewise.
25462 * script/lua/lfunc.c: Likewise.
25463 * script/lua/lfunc.h: Likewise.
25464 * script/lua/lgc.c: Likewise.
25465 * script/lua/lgc.h: Likewise.
25466 * script/lua/linit.c: Likewise.
25467 * script/lua/liolib.c: Likewise.
25468 * script/lua/llex.c: Likewise.
25469 * script/lua/llex.h: Likewise.
25470 * script/lua/llimits.h: Likewise.
25471 * script/lua/lmathlib.c: Likewise.
25472 * script/lua/lmem.c: Likewise.
25473 * script/lua/lmem.h: Likewise.
25474 * script/lua/loadlib.c: Likewise.
25475 * script/lua/lobject.c: Likewise.
25476 * script/lua/lobject.h: Likewise.
25477 * script/lua/lopcodes.c: Likewise.
25478 * script/lua/lopcodes.h: Likewise.
25479 * script/lua/loslib.c: Likewise.
25480 * script/lua/lparser.c: Likewise.
25481 * script/lua/lparser.h: Likewise.
25482 * script/lua/lstate.c: Likewise.
25483 * script/lua/lstate.h: Likewise.
25484 * script/lua/lstring.c: Likewise.
25485 * script/lua/lstring.h: Likewise.
25486 * script/lua/lstrlib.c: Likewise.
25487 * script/lua/ltable.c: Likewise.
25488 * script/lua/ltable.h: Likewise.
25489 * script/lua/ltablib.c: Likewise.
25490 * script/lua/ltm.c: Likewise.
25491 * script/lua/ltm.h: Likewise.
25492 * script/lua/lua.h: Likewise.
25493 * script/lua/luaconf.h: Likewise.
25494 * script/lua/lualib.h: Likewise.
25495 * script/lua/lundump.c: Likewise.
25496 * script/lua/lundump.h: Likewise.
25497 * script/lua/lvm.c: Likewise.
25498 * script/lua/lvm.h: Likewise.
25499 * script/lua/lzio.c: Likewise.
25500 * script/lua/lzio.h: Likewise.
25501
25502 2009-05-16 Bean <bean123ch@gmail.com>
25503
25504 * include/grub/kernel.h (grub_module_header_types): Add type
25505 OBJ_TYPE_CONFIG.
25506
25507 * kern/main.c (grub_load_config): New function.
25508 (grub_main): Call grub_load_config to read boot config.
25509
25510 * grub-mkimage (generate_image): New parameter config_path.
25511 (options): New option --config.
25512 (main): Parse --config option, and pass it to generate_image.
25513
25514 2009-05-14 Christian Franke <franke@computer.org>
25515
25516 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25517 This fixes build on Cygwin.
25518
25519 2009-05-14 Pavel Roskin <proski@gnu.org>
25520
25521 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25522 jump. This saves two bytes, so the typical case of 2 swapped
25523 drives would fit 32 bytes.
25524
25525 2009-05-13 Pavel Roskin <proski@gnu.org>
25526
25527 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25528 grub_uint32_t to avoid a warning.
25529
25530 * loader/i386/linux.c (allocate_pages): When assigning
25531 real_mode_mem, cast through grub_size_t to fix a warning. The
25532 code already makes sure that the value would fit a pointer.
25533 (grub_linux_setup_video): Cast render_target->data to
25534 grub_size_t to fix a warning.
25535
25536 2009-05-13 Javier Martín <lordhabbit@gmail.com>
25537
25538 * commands/i386/pc/drivemap.c: New file - implement drivemap
25539 command.
25540 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25541 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25542
25543 2009-05-13 Pavel Roskin <proski@gnu.org>
25544
25545 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25546 embedding_area_exists.
25547
25548 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25549
25550 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25551 it easier to understand / work with.
25552 Improve warning messages for cases where there's no embedding area,
25553 or when it is too small (or core.img too large).
25554
25555 2009-05-13 Pavel Roskin <proski@gnu.org>
25556
25557 * loader/i386/pc/multiboot2.c: Add necessary includes for
25558 grub_multiboot2_real_boot().
25559
25560 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25561 PX record is always little-endian. We only need the lower 2
25562 bytes of the mode.
25563
25564 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25565 facilitate code reuse.
25566 (grub_cpio_mount): Use "struct head", not a char buffer. This
25567 fixes a warning reported by gcc 4.4.
25568
25569 * kernel/disk.c (grub_disk_read): Use void pointer for the
25570 buffer.
25571 (grub_disk_write): Use const void pointer for the buffer.
25572 Adjust all callers. Remove unnecessary casts.
25573
25574 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25575
25576 * util/i386/pc/grub-install.in: Update copyright year.
25577
25578 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25579
25580 gptsync
25581
25582 * commands/gptsync.c: new file
25583 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25584 (gptsync_mod_SOURCES): new variable
25585 (gptsync_mod_CFLAGS): likewise
25586 (gptsync_mod_LDFLAGS): likewise
25587 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
25588 new definition
25589 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25591 * conf/i386-ieee1275.rmk: likewise
25592 * conf/i386-pc.rmk: likewise
25593 * conf/powerpc-ieee1275.rmk: likewise
25594
25595 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25596
25597 Fixed grub-emu
25598
25599 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25600 (grub_dl_ref): likewise
25601
25602 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25603
25604 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25605 split in two functions (one for msdos and one for gpt).
25606
25607 2009-05-08 Pavel Roskin <proski@gnu.org>
25608
25609 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25610 not modified.
25611
25612 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25613 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25614 Initialize them with -1. Add sanity check for bad1. Eliminate
25615 nerr variable.
25616
25617 2009-05-08 David S. Miller <davem@davemloft.net>
25618
25619 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25620
25621 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
25622
25623 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
25624 existence.
25625
25626 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
25627
25628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25629 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
25630
25631 2009-05-05 David S. Miller <davem@davemloft.net>
25632
25633 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
25634
25635 2009-05-05 Pavel Roskin <proski@gnu.org>
25636
25637 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
25638 of grub_dl_ref() and grub_dl_unref().
25639 * commands/parttool.c: Remove preprocessor conditionals around
25640 grub_dl_ref() and grub_dl_unref().
25641 * fs/affs.c: Likewise.
25642 * fs/afs.c: Likewise.
25643 * fs/cpio.c: Likewise.
25644 * fs/ext2.c: Likewise.
25645 * fs/fat.c: Likewise.
25646 * fs/hfs.c: Likewise.
25647 * fs/hfsplus.c: Likewise.
25648 * fs/iso9660.c: Likewise.
25649 * fs/jfs.c: Likewise.
25650 * fs/minix.c: Likewise.
25651 * fs/ntfs.c: Likewise.
25652 * fs/reiserfs.c: Likewise.
25653 * fs/sfs.c: Likewise.
25654 * fs/udf.c: Likewise.
25655 * fs/ufs.c: Likewise.
25656 * fs/xfs.c: Likewise.
25657 * include/grub/dl.h: Likewise.
25658 * loader/xnu.c: Likewise.
25659
25660 2009-05-04 Pavel Roskin <proski@gnu.org>
25661
25662 * commands/acpi.c: Remove unused variable my_mod.
25663 * partmap/amiga.c: Likewise.
25664 * partmap/apple.c: Likewise.
25665 * partmap/gpt.c: Likewise.
25666 * partmap/pc.c: Likewise.
25667 * partmap/sun.c: Likewise.
25668 * term/gfxterm.c: Likewise.
25669 * term/i386/pc/vesafb.c: Likewise.
25670 * term/i386/pc/vga.c: Likewise.
25671
25672 2009-05-04 David S. Miller <davem@davemloft.net>
25673
25674 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
25675 pointer args to grub_ieee1275_get_property().
25676
25677 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
25678
25679 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
25680 devices, and do not traverse down under controller nodes.
25681
25682 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
25683 (grub_ofdisk_open): Use it to un-escape "," characters.
25684 * kern/disk.c (find_part_sep): New.
25685 (grub_disk_open): Use it to find the first non-escaped ','
25686 character in the disk name.
25687 * util/ieee1275/devicemap.c (escape_of_path): New.
25688 (grub_util_emit_devicemap_entry): Use it.
25689 * util/sparc64/ieee1275/grub-install.in: Update script to
25690 strip partition specifiers properly by not triggering on
25691 '\' escaped ',' characters.
25692
25693 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25694
25695 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
25696 to 0x300.
25697 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
25698 resolutions.
25699 (linux_vesafb_modes): Add a lot of additional modes to the list (based
25700 on documentation from Wikipedia).
25701
25702 2009-05-04 Pavel Roskin <proski@gnu.org>
25703
25704 * disk/ata.c: Spelling fixes.
25705 * disk/raid.c: Likewise.
25706 * disk/usbms.c: Likewise.
25707 * disk/dmraid_nvidia.c: Likewise.
25708 * kern/ieee1275/openfw.c: Likewise.
25709 * kern/ieee1275/init.c: Likewise.
25710 * kern/ieee1275/cmain.c: Likewise.
25711 * boot/i386/pc/cdboot.S: Likewise.
25712 * video/readers/png.c: Likewise.
25713 * video/i386/pc/vbe.c: Likewise.
25714 * fs/udf.c: Likewise.
25715 * fs/hfs.c: Likewise.
25716 * fs/reiserfs.c: Likewise.
25717 * efiemu/runtime/efiemu.c: Likewise.
25718 * efiemu/main.c: Likewise.
25719 * efiemu/mm.c: Likewise.
25720 * include/grub/elf.h: Likewise.
25721 * include/grub/xnu.h: Likewise.
25722 * include/grub/usbdesc.h: Likewise.
25723 * include/grub/usb.h: Likewise.
25724 * include/grub/script_sh.h: Likewise.
25725 * include/grub/lib/LzmaEnc.h: Likewise.
25726 * include/grub/efiemu/efiemu.h: Likewise.
25727 * include/grub/command.h: Likewise.
25728 * normal/menu.c: Likewise.
25729 * normal/main.c: Likewise.
25730 * normal/datetime.c: Likewise.
25731 * bus/usb/uhci.c: Likewise.
25732 * mmap/i386/uppermem.c: Likewise.
25733 * mmap/mmap.c: Likewise.
25734 * commands/acpi.c: Likewise.
25735 * commands/test.c: Likewise.
25736 * partmap/apple.c: Likewise.
25737 * font/font.c: Likewise.
25738 * loader/sparc64/ieee1275/linux.c: Likewise.
25739 * loader/macho.c: Likewise.
25740 * loader/i386/bsd_trampoline.S: Likewise.
25741 * loader/i386/bsd.c: Likewise.
25742 * loader/xnu.c: Likewise.
25743 * term/i386/pc/vesafb.c: Likewise.
25744 * term/usb_keyboard.c: Likewise.
25745 * util/resolve.c: Likewise.
25746 * util/getroot.c: Likewise.
25747
25748 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
25749
25750 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
25751
25752 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25753
25754 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
25755 build error.
25756
25757 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25758
25759 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
25760 parameter only available on BIOS.
25761
25762 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25763
25764 Removed wrong semicolon in declaration
25765
25766 * grub/misc.h (grub_dprintf): remove semicolon
25767
25768 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25769
25770 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
25771 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
25772 is done by grub_cmd_linux() now).
25773 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
25774 restore video to text mode.
25775 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
25776 indicates lack of "vga=" parameter. "vga=0" is mapped to
25777 `GRUB_LINUX_VID_MODE_NORMAL'.
25778
25779 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
25780
25781 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
25782 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
25783 and `normal/script.c'. Add `kern/rescue_reader.c',
25784 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
25785 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
25786 `grub_script.tab.c'.
25787
25788 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25789 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25791 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25792 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25793
25794 * Makefile.in: Remove duplicated 2008 in Copyright line.
25795
25796 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25797
25798 * util/misc.c (grub_util_warn): New function. Emits a warning
25799 unconditionally.
25800 * include/grub/util/misc.h (grub_util_warn): New declaration.
25801
25802 * util/i386/pc/grub-install.in: Understand --force and pass it down
25803 to grub-setup.
25804
25805 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
25806 down to setup().
25807 (setup): Improve error messages and add warnings when requested to
25808 install in odd layouts. Refuse to install using blocklists unless
25809 --force was set.
25810
25811 2009-05-04 martin f. krafft <madduck@madduck.net>
25812
25813 * disk/raid.c (grub_raid_scan_device): Improve debug message.
25814
25815 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25816
25817 Updated copyright year
25818
25819 * fs/hfsplus.c: updated copyright year
25820
25821 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25822
25823 HFS+ UUID
25824
25825 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
25826 in the space previously used by unused3
25827 (grub_hfsplus_uuid): new function
25828 (grub_hfsplus_fs): added uuid field
25829
25830 2009-05-03 Pavel Roskin <proski@gnu.org>
25831
25832 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
25833 suppress warnings. It's no longer needed.
25834 * disk/host.c: Likewise.
25835 * disk/ata_pthru.c: Likewise.
25836 * disk/loopback.c: Likewise.
25837 * hook/datehook.c: Likewise.
25838 * parttool/pcpart.c: Likewise.
25839 * fs/i386/pc/pxe.c: Likewise.
25840 * fs/ntfscomp.c: Likewise.
25841 * efiemu/main.c: Likewise.
25842 * mmap/mmap.c: Likewise.
25843 * commands/crc.c: Likewise.
25844 * commands/hexdump.c: Likewise.
25845 * commands/hdparm.c: Likewise.
25846 * commands/acpi.c: Likewise.
25847 * commands/echo.c: Likewise.
25848 * commands/minicmd.c: Likewise.
25849 * commands/blocklist.c: Likewise.
25850 * commands/memrw.c: Likewise.
25851 * commands/loadenv.c: Likewise.
25852 * commands/usbtest.c: Likewise.
25853 * commands/lsmmap.c: Likewise.
25854 * commands/boot.c: Likewise.
25855 * commands/parttool.c: Likewise.
25856 * commands/configfile.c: Likewise.
25857 * commands/search.c: Likewise.
25858 * commands/ieee1275/suspend.c: Likewise.
25859 * commands/cat.c: Likewise.
25860 * commands/i386/pc/pxecmd.c: Likewise.
25861 * commands/i386/pc/play.c: Likewise.
25862 * commands/i386/pc/halt.c: Likewise.
25863 * commands/i386/pc/vbeinfo.c: Likewise.
25864 * commands/i386/pc/vbetest.c: Likewise.
25865 * commands/lspci.c: Likewise.
25866 * commands/date.c: Likewise.
25867 * commands/handler.c: Likewise.
25868 * commands/ls.c: Likewise.
25869 * commands/test.c: Likewise.
25870 * commands/cmp.c: Likewise.
25871 * commands/efi/loadbios.c: Likewise.
25872 * commands/efi/fixvideo.c: Likewise.
25873 * commands/halt.c: Likewise.
25874 * commands/help.c: Likewise.
25875 * commands/reboot.c: Likewise.
25876 * hello/hello.c: Likewise.
25877 * script/sh/main.c: Likewise.
25878 * loader/xnu.c: Likewise.
25879 * term/terminfo.c: Likewise.
25880 * term/i386/pc/serial.c: Likewise.
25881 * term/usb_keyboard.c: Likewise.
25882
25883 2009-05-03 David S. Miller <davem@davemloft.net>
25884
25885 * normal/menu.c: Include grub/parser.h
25886
25887 2009-05-03 Pavel Roskin <proski@gnu.org>
25888
25889 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
25890 not char*.
25891 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
25892 Suggested by Javier Martín <lordhabbit@gmail.com>
25893
25894 * util/i386/pc/grub-mkrescue.in: Allow for the case when
25895 efiemu??.o doesn't exist.
25896 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
25897 copying.
25898
25899 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
25900
25901 FreeBSD 64-bit support
25902
25903 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
25904 and loader/i386/bsd_trampoline.S
25905 (bsd_mod_ASFLAGS): new variable
25906 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
25907 (FREEBSD_MODTYPE_KERNEL64): likewise
25908 (grub_bsd64_trampoline_start): likewise
25909 (grub_bsd64_trampoline_end): likewise
25910 (grub_bsd64_trampoline_selfjump): likewise
25911 (grub_bsd64_trampoline_gdt): likewise
25912 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
25913 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
25914 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
25915 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
25916 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
25917 of "attrib" member
25918 * loader/i386/bsd_pagetable.c: new file
25919 * loader/i386/bsd_trampoline.S: likewise
25920 * loader/i386/bsd.c (ALIGN_QWORD): new macro
25921 (ALIGN_VAR): likewise
25922 (entry_hi): new variable
25923 (kern_end_mdofs): likewise
25924 (is_64bit): likewise
25925 (grub_freebsd_add_meta): use ALIGN_VAR
25926 (grub_e820_mmap): new declaration
25927 (grub_freebsd_add_mmap): new function
25928 (grub_freebsd_add_meta_module): support 64 bit kernels
25929 (grub_freebsd_list_modules): use ALIGN_VAR
25930 (gdt_descriptor): new declaration
25931 (grub_freebsd_boot): support 64 bit kernels
25932 (grub_bsd_elf64_hook): new function
25933 (grub_bsd_load_elf): support elf64
25934
25935 2009-05-03 Bean <bean123ch@gmail.com>
25936
25937 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
25938 after we get the result of if statement.
25939
25940 2009-05-03 Bean <bean123ch@gmail.com>
25941
25942 * Makefile.in (enable_efiemu): New variable.
25943
25944 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
25945 set.
25946 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
25947 path.
25948 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
25949 path, add -mno-red-zone option.
25950 (efiemu64_s.o): Likewise.
25951 (efiemu64.o): Use macro $^ for source file.
25952
25953 * configure.ac (--enable-efiemu): New option.
25954
25955 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25956
25957 xnu support
25958
25959 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25960 (pkglib_MODULES): add xnu.mod
25961 (xnu_mod_SOURCES): new variable
25962 (xnu_mod_CFLAGS): likewise
25963 (xnu_mod_LDFLAGS): likewise
25964 (xnu_mod_ASFLAGS): likewise
25965 * conf/i386-pc.rmk: likewise
25966 * conf/x86_64-efi.rmk: likewise
25967 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
25968 new declaration
25969 * include/grub/i386/macho.h: new file
25970 * include/grub/i386/xnu.h: likewise
25971 * include/grub/macho.h: likewise
25972 * include/grub/machoload.h: likewise
25973 * include/grub/x86_64/macho.h: likewise
25974 * include/grub/x86_64/xnu.h: likewise
25975 * include/grub/xnu.h: likewise
25976 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25977 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25978 * loader/i386/efi/xnu.c: new file
25979 * loader/i386/pc/xnu.c: likewise
25980 * loader/i386/xnu.c: likewise
25981 * loader/i386/xnu_helper.S: likewise
25982 * loader/macho.c: likewise
25983 * loader/xnu.c: likewise
25984 * loader/xnu_resume.c: likewise
25985 * util/grub-dumpdevtree: likewise
25986 * include/grub/i386/pit.h: include grub/err.h
25987 (grub_pit_wait): export
25988 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
25989
25990 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 Efiemu
25993
25994 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
25995 _linux_efi, linux_efi.
25996 new files in grub-emu
25997 new targets efiemu32.o and efiemu64.o
25998 * loader/linux_normal_efiemu.c: likewise
25999 * loader/i386/efi/linux.c: added preliminary efiemu support
26000 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
26001 files to copy
26002 * include/grub/autoefi.h: new file
26003 * include/grub/i386/efiemu.h: likewise
26004 * include/grub/i386/pc/efiemu.h: likewise
26005 * include/grub/efi/api.h: add LL suffix when necessary
26006 new definitions relating to tables
26007 * include/grub/efiemu/efiemu.h: new file
26008 * include/grub/efiemu/runtime.h: likewise
26009 * efiemu/prepare.c: likewise
26010 * efiemu/loadcore_common.c: likewise
26011 * efiemu/loadcore64.c: likewise
26012 * efiemu/runtime/efiemu.sh: likewise
26013 * efiemu/runtime/efiemu.S: likewise
26014 * efiemu/runtime/efiemu.c: likewise
26015 * efiemu/runtime/config.h: likewise
26016 * efiemu/prepare32.c: likewise
26017 * efiemu/main.c: likewise
26018 * efiemu/modules/pnvram.c: likewise
26019 * efiemu/modules/i386: likewise
26020 * efiemu/modules/i386/pc: likewise
26021 * efiemu/modules/acpi.c: likewise
26022 * efiemu/i386/pc/cfgtables.c: likewise
26023 * efiemu/i386/loadcore64.c: likewise
26024 * efiemu/i386/loadcore32.c: likewise
26025 * efiemu/prepare64.c: likewise
26026 * efiemu/loadcore.c: likewise
26027 * efiemu/symbols.c: likewise
26028 * efiemu/mm.c: likewise
26029 * efiemu/loadcore32.c: likewise
26030
26031 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26032
26033 ACPI spoofing
26034
26035 * commands/acpi.c: new file
26036 * commands/i386/pc/acpi.c: likewise
26037 * commands/efi/acpi.c: likewise
26038 * include/grub/acpi.h: likewise
26039 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26040 (acpi_mod_SOURCES): new variable
26041 (acpi_mod_CFLAGS): likewise
26042 (acpi_mod_LDFLAGS): likewise
26043 * conf/i386-efi.rmk: likewise
26044 * conf/x86_64-efi.rmk: likewise
26045
26046 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26047
26048 Missing part from mmap patch
26049
26050 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26051 (grub_mmap_unregister)
26052 (grub_mmap_free_and_unregister): use grub_mmap_register
26053
26054 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26055
26056 Mmap services
26057
26058 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26059 * loader/i386/linux.c (find_mmap_size): likewise
26060 (allocate_pages): likewise
26061 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26062 (grub_fill_multiboot_mmap): likewise
26063 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26064 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26065 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26066 (OPENBSD_MMAP_RESERVED): likewise
26067 * include/grub/i386/pc/memory.h: include grub/memory.h
26068 (grub_lower_mem): removed
26069 (grub_upper_mem): likewise
26070 (GRUB_MACHINE_MEMORY_ACPI): new definition
26071 (GRUB_MACHINE_MEMORY_NVS): likewise
26072 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26073 (GRUB_MACHINE_MEMORY_HOLE): likewise
26074 (grub_machine_mmap_register): likewise
26075 (grub_machine_mmap_unregister): likewise
26076 (grub_machine_get_upper): likewise
26077 (grub_machine_get_lower): likewise
26078 (grub_machine_get_post64): likewise
26079 * include/grub/i386/efi/memory.h: new file
26080 * include/grub/x86_64/efi/memory.h: likewise
26081 * include/grub/efi/memory.h: likewise
26082 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26083 (mmap_mod_SOURCES): new variable
26084 (mmap_mod_LDFLAGS): likewise
26085 (mmap_mod_ASFLAGS): likewise
26086 * conf/i386-coreboot.rmk: likewise
26087 * conf/i386-ieee1275.rmk: likewise
26088 * conf/i386-efi.rmk: likewise
26089 * conf/x86_64-efi.rmk: likewise
26090 * include/grub/types.h (UINT_TO_PTR): new macro
26091 (PTR_TO_UINT32): likewise
26092 (PTR_TO_UINT64): likewise
26093 * include/grub/memory.h: new file
26094 * mmap/i386/pc/mmap.c: likewise
26095 * mmap/i386/pc/mmap_helper.S: likewise
26096 * mmap/i386/uppermem.c: likewise
26097 * mmap/mmap.c: likewise
26098 * mmap/efi/mmap.c: likewise
26099 * kern/i386/coreboot/init.c (grub_machine_init): don't use
26100 grub_upper_mem
26101 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26102 (grub_upper_mem): likewise
26103 (grub_machine_init): don't use grub_upper_mem,
26104 make grub_lower_mem local
26105 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26106 grub_mmap_iterate and grub_mmap_get_upper
26107 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26108
26109 2009-05-02 Bean <bean123ch@gmail.com>
26110
26111 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26112 script/sh/parser.y.
26113 (pkglib_MODULES): Add normal.mod and sh.mod.
26114 (normal_SOURCES): New variable.
26115 (normal_mod_CFLAGS): Likewise.
26116 (normal_mod_LDFLAGS): Likewise.
26117 (sh_mod_SOURCES): Likewise.
26118 (sh_mod_CFLAGS): Likewise.
26119 (sh_mod_LDFLAGS): Likewise.
26120
26121 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26122 script/sh/lexer.c_DEPENDENCIES.
26123 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26124 kern/rescue_reader.c and kern/rescue_parser.c.
26125 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26126 (grub_emu_SOURCES): Change source files.
26127 (pkglib_MODULES): Remove normal.mod.
26128 (normal_SOURCES): Removed.
26129 (normal_mod_CFLAGS): Likewise.
26130 (normal_mod_LDFLAGS): Likewise.
26131 * conf/i386-coreboot.rmk: Likewise.
26132 * conf/i386-efi.rmk: Likewise.
26133 * conf/i386-ieee1276.rmk: Likewise.
26134 * conf/powerpc-ieee1275.rmk: Likewise.
26135 * conf/sparc64-ieee1275.rmk: Likewise.
26136 * conf/x86_64-efi.rmk: Likewise.
26137
26138 * include/grub/command.h (grub_command_execute): New inline function.
26139
26140 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26141
26142 * include/grub/normal.h: Remove <grub/setjmp.h>.
26143 (grub_fs_module_list): Moved to normal/autofs.c.
26144 (grub_exit_env): Removed.
26145 (grub_command_execute): Likewise.
26146 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26147 parameter script.
26148 (read_command_list): New function declaration.
26149 (read_fs_list): Likewise.
26150
26151 * include/parser.h: Include <grub/reader.h>.
26152 (grub_parser_split_cmdline): Change type of getline parameter.
26153 (grub_parser): New structure.
26154 (grub_parser_class): New variable.
26155 (grub_parser_execute): New function declaration.
26156 (grub_register_rescue_parser): Likewise.
26157 (grub_parser_register): New inline function.
26158 (grub_parser_unregister): Likewise.
26159 (grub_parser_get_current): Likewise.
26160 (grub_parser_set_current): Likewise.
26161
26162 * include/grub/reader.h: New file.
26163 * kern/reader.c: Likewise.
26164 * kern/rescue_parser.c: Likewise.
26165 * kern/rescue_reader.c: Likewise.
26166 * normal/autofs.c: Likewise.
26167 * normal/dyncmd.c: Likewise.
26168
26169 * include/grub/rescue.h: Removed.
26170 * normal/command.h: Likewise.
26171
26172 * include/grub/script.h: Moved to ...
26173 * include/grub/script_sh.h: ... Moved here.
26174 * normal/execute.c: Moved to ...
26175 * script/sh/execute.c: ... Moved here.
26176 * normal/function.c: Moved to ...
26177 * script/sh/function.c: ... Moved here.
26178 * normal/lexer.c: Moved to ...
26179 * script/sh/lexer.c: ... Moved here.
26180 * normal/parser.y: Moved to ...
26181 * script/sh/parser.y: ... Moved here.
26182 * normal/script.c: Moved to ...
26183 * script/sh/script.c: ... Moved here.
26184
26185 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26186 <grub/reader.h>.
26187 (grub_exit_env): Removed.
26188 (fs_module_list): Moved to normal/autofs.c.
26189 (grub_file_getline): Don't handle comment here.
26190 (free_menu): Skip removed field entry->commands.
26191 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26192 script parameter.
26193 (read_config_file): Removed nested parameter, change getline function.
26194 (grub_enter_normal_mode): Removed.
26195 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26196 (read_command_list): Likewise.
26197 (autoload_fs_module): Moved to normal/autofs.c.
26198 (read_fs_list): Likewise.
26199 (reader_nested): New variable.
26200 (grub_normal_execute): Run parser.sh to switch to sh parser.
26201 (grub_cmd_rescue): Removed.
26202 (cmd_normal): Removed.
26203 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26204 rescue command.
26205 (grub_cmdline_run): New function.
26206 (grub_normal_reader_init): Likewise.
26207 (grub_normal_read_line): Likewise.
26208 (grub_env_write_pager): Likewise.
26209 (cmdline): New variable.
26210 (grub_normal_reader): Likewise.
26211 (GRUB_MOD_INIT): Register normal reader and set as current, register
26212 pager hook, register normal command with grub_register_command_prio,
26213 so that it won't show up in command.lst.
26214 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26215 grub_fs_autoload_hook.
26216
26217 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26218 (grub_menu_execute_entry): Replace grub_script_execute with
26219 grub_parser_execute, change parameter to grub_command_execute.
26220
26221 * normal/menu_text.c: Remove <grub/script.h>.
26222
26223 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26224 and <grub/parser.h>.
26225 (run): Change editor_getline to use new parser interface. Change
26226 parameter to grub_command_execute.
26227
26228 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26229 <grub/reader.h> and <grub/parser.h>.
26230 (grub_load_normal_mode): Execute normal command.
26231 (grub_main): Call grub_register_core_commands,
26232 grub_register_rescue_parser and grub_register_rescue_reader, use
26233 grub_reader_loop to enter input loop.
26234
26235 * kern/parser.c (grub_parser_split_cmdline): Change type of
26236 getline parameter.
26237 (grub_parser_class): New variable.
26238 (grub_parser_execute): New function.
26239
26240 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26241 * loader/multiboot2.c: Likewise.
26242 * loader/sparc64/ieee1275/linux.c: Likewise.
26243
26244 * util/grub-emu.c (read_command_list): New dummy function.
26245
26246 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26247
26248 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26249 count to 16 for CCISS and IDA.
26250
26251 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26252
26253 * normal/menu_text.c (grub_wait_after_message): Print a newline
26254 after waiting for user input.
26255
26256 * loader/i386/linux.c: Include `<grub/normal.h>'.
26257 (grub_cmd_linux): Improve the error message about `ask' mode, by
26258 waiting for user input so it's not missed (we can do this, since
26259 user requested interaction).
26260
26261 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26262
26263 Added missing lst to grub-mkrescue
26264
26265 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26266 and ${input_dir}/parttool.lst
26267
26268 2009-04-30 David S. Miller <davem@davemloft.net>
26269
26270 * util/hostdisk.c (device_is_wholedisk): New function.
26271 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26272 zero only if device_is_wholedisk() returns true.
26273
26274 * util/hostdisk.c (convert_system_partition_to_system_disk):
26275 Handle virtual disk devices named /dev/vdiskX as found on sparc
26276 and powerpc.
26277
26278 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26279 lettered partition specifier is found, convert to numbered.
26280
26281 2009-04-29 David S. Miller <davem@davemloft.net>
26282
26283 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26284 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26285
26286 * normal/command.c: Add missing newline at end of file.
26287
26288 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26289 warnings.
26290 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26291 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26292 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26293 ihandles have a 32-bit type but need to be stored in a "void *".
26294
26295 2009-04-28 Pavel Roskin <proski@gnu.org>
26296
26297 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26298 not disk. Adjust all dependencies.
26299 (grub_fs_uuid_close): Use grub_device_close(), not
26300 grub_disk_close().
26301
26302 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26303 parent's partition, don't copy it by reference, as it gets freed
26304 on close.
26305
26306 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26307
26308 Preboot hooks support
26309
26310 * commands/boot.c (struct grub_preboot_t): new declaration
26311 (preboots_head): new variable
26312 (preboots_tail): likewise
26313 (grub_loader_register_preboot_hook): new function
26314 (grub_loader_unregister_preboot_hook): likewise
26315 (grub_loader_set): launch preboot hooks
26316 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26317 (grub_loader_register_preboot_hook): new declaration
26318 (grub_loader_unregister_preboot_hook): likewise
26319
26320 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26321
26322 Warning fix
26323
26324 * disk/scsi.c (grub_scsi_open): added missing cast when
26325 calling grub_dprintf
26326
26327 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26328
26329 Bug and warning fixes
26330
26331 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
26332 declaration
26333 * commands/test.c (test_parse): fixed bug with file tests and corrected
26334 declaration of find_file
26335
26336 2009-04-26 Pavel Roskin <proski@gnu.org>
26337
26338 * Makefile.in: Don't install empty manual pages if help2man is
26339 missing. Use help2man option for output, not shell redirection.
26340
26341 2009-04-26 David S. Miller <davem@davemloft.net>
26342
26343 * util/grub-mkdevicemap.c (make_device_map): Add missing
26344 NESTED_FUNC_ATTR to process_device().
26345
26346 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26347
26348 Test command
26349
26350 * commands/test.c: rewritten to use bash-like test
26351
26352 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26353
26354 Parttool autoloading and improvements
26355
26356 * Makefile.in (pkglib_DATA): add parttool.lst
26357 (parttool.lst): new target
26358 * genmk.rb: generate parttool-*
26359 (CLEANFILES): add #{parttool}
26360 (PARTTOOLFILES): new variable
26361 * genparttoollist.sh: new file
26362 * parttool/pcpart.c (grub_pcpart_boot): more feedback
26363 (grub_pcpart_type): likewise
26364 * commands/parttool.c (helpmsg): new variable
26365 (grub_cmd_parttool): output help if not enough arguments are supplied
26366 autoload modules
26367 (GRUB_MOD_INIT(parttool)): use helpmsg
26368
26369 2009-04-24 David S. Miller <davem@davemloft.net>
26370
26371 Avoiding opening same device multiple times in device iterator.
26372
26373 * kern/device.c: (grub_device_iterate): Define struct part_ent,
26374 and use it to build a list of partitions in iterate_disk() and
26375 iterate_partition().
26376
26377 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26378 on disk->data.
26379
26380 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26381 grub_devalias_iterate() result instead of unconditional 0.
26382 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26383 Also, capture hook return value, either directly or via
26384 grub_children_iterate(), and propagate to caller.
26385 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26386 grub_children_iterate): Return value is now 'int' instead of
26387 'grub_err_t'.
26388 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26389 like a proper iterator, stopping when hooks return non-zero.
26390 (grub_devalias_iterate): Likewise.
26391
26392 2009-04-23 David S. Miller <davem@davemloft.net>
26393
26394 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26395
26396 2009-04-22 David S. Miller <davem@davemloft.net>
26397
26398 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26399 is larger than address_cells, use that value for address_cells too.
26400
26401 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26402 IEEE1275_MAX_PATH_LEN): Define.
26403 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26404 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26405 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26406 'devtype'. Explicitly NULL terminate devalias expansion.
26407
26408 * util/sparc64/ieee1275/misc.c: New file.
26409 * util/sparc64/ieee1275/grub-setup.c: New file.
26410 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26411 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26412 * util/sparc64/ieee1275/grub-install.in: New file.
26413 * util/ieee1275/ofpath.c: New file.
26414 * util/ieee1275/devicemap.c: New file.
26415 * util/devicemap.c: New file.
26416 * util/deviceiter.c: New file.
26417 * kern/sparc64/ieee1275/init.c: New file.
26418 * include/grub/util/ofpath.h: New file.
26419 * include/grub/util/deviceiter.h: New file.
26420 * util/grub-mkdevicemap.c: Include deviceiter.h.
26421 Implement using grub_util_emit_devicemap_entry and
26422 grub_util_iterate_devices.
26423 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26424 util/devicemap.c into grub-mkdevicemap
26425 * conf/i386-efi.rmk: Likewise.
26426 * conf/i386-ieee1275.rmk: Likewise.
26427 * conf/i386-pc.rmk: Likewise.
26428 * conf/powerpc-ieee1275.rmk: Likewise.
26429 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26430 images and installation utilities. Build kernel as image
26431 instead of as elf binary. Use common rules as much as possible.
26432
26433 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26434
26435 Correct GPT definition
26436
26437 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26438 of "attrib" member
26439
26440 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
26441
26442 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26443
26444 2009-04-19 David S. Miller <davem@davemloft.net>
26445
26446 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26447 (grub_rescue_cmd_linux): Rename to...
26448 (grub_cmd_linux): and fix prototype.
26449 (grub_rescue_cmd_initrd): Rename to...
26450 (grub_cmd_initrd): and fix prototype.
26451 (cmd_linux, cmd_initrd): New.
26452 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26453 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26454
26455 2009-04-17 Pavel Roskin <proski@gnu.org>
26456
26457 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26458 format.
26459 (grub_ohci_transfer): Likewise.
26460
26461 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26462
26463 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26464 return without a value. Fix inconsistent indentation.
26465
26466 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26467 match struct grub_fs.
26468
26469 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26470 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26471 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26472 * commands/lspci.c (grub_lspci_iter): Likewise.
26473
26474 2009-04-16 Bean <bean123ch@gmail.com>
26475
26476 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26477 value.
26478
26479 2009-04-15 Pavel Roskin <proski@gnu.org>
26480
26481 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26482 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26483 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26484 definitions.
26485
26486 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26487
26488 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
26489 that no multiple data or metadata areas are supported and `Unknown
26490 metadata header'.
26491
26492 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26493
26494 Move loader out of the kernel
26495
26496 * kern/loader.c: moved to ...
26497 * commands/boot.c: ... moved here
26498 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26499 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26500 * include/grub/kernel.h (grub_machine_fini): export
26501 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26502 (grub_loader_set): likewise
26503 (grub_loader_unset): likewise
26504 (grub_loader_boot): likewise
26505 * conf/common.rmk: new module boot.mod
26506 (pkglib_MODULES): add boot.mod
26507 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26508 (grub_emu_SOURCES): likewise
26509 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26510 (grub_emu_SOURCES): likewise
26511 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26512 (grub_emu_SOURCES): likewise
26513 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26514 (grub_emu_SOURCES): likewise
26515 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26516 (grub_emu_SOURCES): likewise
26517 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26518 (grub_emu_SOURCES): likewise
26519 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
26520 (grub_emu_SOURCES): likewise
26521
26522 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26523
26524 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
26525
26526 * kern/misc.c (grub_itoa): Removed function
26527 (grub_ltoa): likewise
26528 (grub_vsprintf): use grub_lltoa
26529
26530 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26531
26532 Restore grub-emu
26533
26534 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26535 * conf/i386-coreboot.rmk: likewise
26536 * conf/i386-ieee1275.rmk: likewise
26537 * conf/powerpc-ieee1275.rmk: likewise
26538
26539 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26540
26541 * INSTALL: Add that `./autogen.sh' needs to be run before
26542 `./configure.'.
26543
26544 2009-04-14 Bean <bean123ch@gmail.com>
26545
26546 * Makefile.in (pkglib_DATA): Add handler.lst.
26547 (handler.lst): New rule.
26548
26549 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26550 * conf/i386-coreboot.rmk: Likewise.
26551 * conf/i386-ieee1275.rmk: Likewise.
26552 * conf/i386-efi.rmk: Likewise.
26553 * conf/x86_64-efi.rmk: Likewise.
26554 * conf/powerpc-ieee1275.rmk: Likewise.
26555 * conf/sparc64-ieee1275.rmk: Likewise.
26556
26557 * genhandlerlist.sh: New file.
26558
26559 * genmk.rb: Add rules to generate handler.lst.
26560
26561 * include/grub/normal.h (grub_file_getline): New function definition.
26562 (read_handler_list): Likewise.
26563 (free_handler_list): Likewise.
26564
26565 * include/grub/term.h (grub_term_register_input): Add name parameter
26566 for auto generation of handler.lst.
26567 (grub_term_register_output): Likewise.
26568
26569 * normal/handler.c: New file.
26570
26571 * normal/main.c (get_line): Renamed to grub_file_getline.
26572 (read_config_file): Use the newly renamed grub_file_getline.
26573 (read_command_list): Likewise.
26574 (read_fs_list): Likewise.
26575 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26576 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26577
26578 * term/efi/console.c (grub_console_init): Add name parameter for auto
26579 generation of handler.lst.
26580 * term/gfxterm.c: Likewise.
26581 * term/i386/pc/at_keyboard.c: Likewise.
26582 * term/i386/pc/console.c: Likewise.
26583 * term/i386/pc/serial.c: Likewise.
26584 * term/i386/pc/vesafb.c: Likewise.
26585 * term/i386/pc/vga.c: Likewise.
26586 * term/i386/pc/vga_text.c: Likewise.
26587 * term/ieee1275/ofconsole.c: Likewise.
26588 * term/usb_keyboard.c: Likewise.
26589
26590 2009-04-14 Bean <bean123ch@gmail.com>
26591
26592 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26593 properly with null character.
26594
26595 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26596
26597 * configure: Remove.
26598 * config.h.in: Likewise.
26599 * stamp-h.in: Likewise.
26600 * DISTLIST: Likewise.
26601 * conf/common.mk: Likewise.
26602 * conf/i386-coreboot.mk: Likewise.
26603 * conf/i386-efi.mk: Likewise.
26604 * conf/i386-ieee1275.mk: Likewise.
26605 * conf/i386.mk: Likewise.
26606 * conf/i386-pc.mk: Likewise.
26607 * conf/powerpc-ieee1275.mk: Likewise.
26608 * conf/sparc64-ieee1275.mk: Likewise.
26609 * conf/x86_64-efi.mk: Likewise.
26610
26611 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26612 develop on GRUB.
26613
26614 2009-04-14 John Stanley <jpsinthemix@verizon.net>
26615 David S. Miller <davem@davemloft.net>
26616
26617 * util/hostdisk.c (make_device_name): Fix buffer length
26618 calculations.
26619
26620 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26621
26622 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
26623 <sys/param.h> and <sys/sysctl.h>.
26624 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
26625 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
26626 opening the device and reset them afterwards.
26627
26628 2009-04-13 Pavel Roskin <proski@gnu.org>
26629
26630 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
26631 Reported by John Stanley <jpsinthemix@verizon.net>
26632
26633 2009-04-13 Robert Millan <rmh@aybabtu.com>
26634
26635 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
26636 that name for menuentries when appropriate.
26637
26638 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26639
26640 * util/grub.d/10_freebsd.in: Add a missing `fi'.
26641
26642 2009-04-13 Robert Millan <rmh@aybabtu.com>
26643
26644 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
26645 to Linux, simply abort telling the user it's no longer supported.
26646
26647 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26648
26649 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
26650 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
26651 `freebsd_loadenv' only when devices.hints exist.
26652
26653 2009-04-13 Pavel Roskin <proski@gnu.org>
26654
26655 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
26656
26657 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26658
26659 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
26660 partition number.
26661 (grub_drive): Likewise.
26662
26663 2009-04-13 David S. Miller <davem@davemloft.net>
26664
26665 * kern/sparc64/ieee1275/ieee1275.c: New file.
26666 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
26667 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
26668 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
26669 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
26670 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
26671 grub_ieee1275_alloc_physmem): Declare new exported functions.
26672
26673 * include/grub/sparc64/ieee1275/loader.h: New file.
26674 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26675 * include/grub/sparc64/kernel.h: Likewise.
26676 * loader/sparc64/ieee1275/linux.c: Likewise.
26677
26678 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
26679 (grub_fstest_SOURCES): Likewise.
26680
26681 * util/hostdisk.c (make_device_name): Do not make any assumptions
26682 about the length of drive names.
26683
26684 * kern/dl.c (grub_dl_load_file): Close file immediately when
26685 we are done using it.
26686
26687 2009-04-12 David S. Miller <davem@davemloft.net>
26688
26689 * kern/misc.c (grub_ltoa): Fix cast when handling negative
26690 values. Noticed by Pavel Roskin.
26691
26692 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
26693 target compiler.
26694
26695 * genmk.rb: Add more flexible image type specification, also
26696 pass --strip-unneeded to objcopy.
26697 * conf/i386-pc.rmk: Use *_FORMAT.
26698 * conf/i386-pc.mk: Rebuilt.
26699
26700 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
26701 (OFDISK_HASH_SZ): Define.
26702 (ofdisk_hash): New hash table.
26703 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
26704 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
26705 instead of device phandle which is not unique.
26706
26707 * kern/sparc64/ieee1275/init.c: Delete, replace with...
26708 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
26709 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
26710 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
26711 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
26712 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
26713 GRUB_KERNEL_MACHINE_DATA_END): Define.
26714 (grub_kernel_image_size, grub_total_module_size): Declare.
26715
26716 2009-04-12 Pavel Roskin <proski@gnu.org>
26717
26718 * configure.ac: Change the logic when we check for target tools.
26719 Do it when the target is specified and it's different from the
26720 specified value of the host.
26721
26722 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
26723
26724 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
26725 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
26726 GNU/kFreeBSD. Check if a device is a character device. Use
26727 DIOCGMEDIASIZE to get the size.
26728 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
26729 support for GNU/kFreeBSD.
26730 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
26731 is a character device instead of a block device. Add support for
26732 FreeBSD device names.
26733
26734 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
26735 is a character device instead of a block device.
26736
26737 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
26738 is a character device instead of a block device.
26739
26740 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
26741
26742 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
26743 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
26744 FreeBSD. Check if a device is a character device. Use
26745 DIOCGMEDIASIZE to get the size.
26746 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
26747 support for FreeBSD.
26748 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
26749 is a character device instead of a block device. Add support for
26750 FreeBSD device names.
26751
26752 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
26753 a character device instead of a block device.
26754 (grub_util_check_char_device): New function.
26755
26756 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
26757 a character device instead of a block device.
26758
26759 * include/grub/util/getroot.h (grub_util_check_char_device): New
26760 prototype.
26761
26762 2009-04-11 David S. Miller <davem@davemloft.net>
26763
26764 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
26765 static libgcc.
26766 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
26767 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
26768 function, if present.
26769 (__bswapdi2): Likewise.
26770
26771 * include/grub/sparc64/ieee1275/boot.h: New file.
26772 * boot/sparc64/ieee1275/boot.S: Likewise.
26773 * boot/sparc64/ieee1275/diskboot.S: Likewise.
26774
26775 * kern/misc.c (grub_ltoa): New function.
26776 (grub_vsprintf): Use it to format 'long' integers.
26777
26778 2009-04-10 David S. Miller <davem@davemloft.net>
26779
26780 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
26781 slots are of type grub_ieee1275_cell_t.
26782 (grub_nand_read): Likewise.
26783 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
26784 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
26785 macros are used to compare values in arg/ret block of the call.
26786 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26787 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
26788 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
26789 grub_ieee1275_instance_to_path, grub_ieee1275_write,
26790 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
26791 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
26792 grub_ieee1275_close, grub_ieee1275_set_property,
26793 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
26794 grub_ieee1275_cell_t.
26795 * kern/ieee1275/openfw.c (grub_map): Likewise.
26796 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
26797 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
26798
26799 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
26800 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
26801 (grub_devalias_iterate): Likewise.
26802
26803 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26804
26805 UFS improvements
26806
26807 * fs/ufs.c (INODE_NBLOCKS): new definition
26808 (struct grub_ufs_dirent): added fields for non-BSD dirents
26809 (grub_ufs_get_file_block): fixed double indirect handling
26810 (grub_ufs_lookup_symlink): use more robust way to determine whether
26811 symlink is inline
26812 (grub_ufs_find_file): support for non-BSD dirents
26813 (grub_ufs_dir): support for non-BSD dirents
26814
26815 2009-04-10 Bean <bean123ch@gnail.com>
26816
26817 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
26818 attribute, otherwise the size would be wrong for i386 platform.
26819
26820 * include/grub/pci.h (grub_pci_read_word): New inline function.
26821 (grub_pci_read_byte): Likewise.
26822 (grub_pci_write): Likewise.
26823 (grub_pci_write_word): Likewise.
26824 (grub_pci_write_byte): Likewise.
26825
26826 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
26827
26828 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
26829 (find_framebuf): Scan pci to locate the frame buffer address.
26830
26831 * commands/efi/fixvideo.c: New file.
26832
26833 * commands/efi/loadbios.c: Likewise.
26834
26835 * commands/memrw.c: Likewise.
26836
26837 * util/grub-dumpbios.in: Likewise.
26838
26839 * conf/common.rmk (grub-dumpbios): New utility.
26840 (pkglib_MODULES): New module memrw.mod.
26841 (memrw_mod_SOURCE): New macro.
26842 (memrw_mod_CFLAGS): Likewise.
26843 (memrw_mod_LDFLAGS): Likewise.
26844
26845 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
26846 fixvideo.mod.
26847 (loadbios_mod_SOURCE): New macro.
26848 (loadbios_mod_CFLAGS): Likewise.
26849 (loadbios_mod_LDFLAGS): Likewise.
26850 (fixvideo_mod_SOURCE): Likewise.
26851 (fixvideo_mod_CFLAGS): Likewise.
26852 (fixvideo_mod_LDFLAGS): Likewise.
26853
26854 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
26855 fixvideo.mod.
26856 (loadbios_mod_SOURCE): New macro.
26857 (loadbios_mod_CFLAGS): Likewise.
26858 (loadbios_mod_LDFLAGS): Likewise.
26859 (fixvideo_mod_SOURCE): Likewise.
26860 (fixvideo_mod_CFLAGS): Likewise.
26861 (fixvideo_mod_LDFLAGS): Likewise.
26862
26863 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
26864
26865 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
26866
26867 2009-04-07 David S. Miller <davem@davemloft.net>
26868
26869 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
26870 support for R_SPARC_OLO10 relocations. Fix compile warning for
26871 R_SPARC_WDISP30 case.
26872 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
26873
26874 2009-04-06 Pavel Roskin <proski@gnu.org>
26875
26876 * include/grub/misc.h (ARRAY_SIZE): New macro.
26877 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
26878 New macro.
26879 * loader/i386/linux.c (allocate_pages): Use free_pages().
26880 (grub_linux_unload): Don't use free_pages().
26881 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
26882 wrong index. Treat all other modes as text modes.
26883 (grub_cmd_linux): Initialize vid_mode unconditionally to
26884 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
26885
26886 * commands/help.c (print_command_help): Use cmd->prio, not
26887 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
26888
26889 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26890
26891 Parttool
26892
26893 * parttool/pcpart.c: new file
26894 * commands/parttool.c: likewise
26895 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
26896 (parttool_mod_SOURCES): new variable
26897 (parttool_mod_CFLAGS): likewise
26898 (parttool_mod_LDFLAGS): likewise
26899 (pcpart_mod_SOURCES): likewise
26900 (pcpart_mod_CFLAGS): likewise
26901 (pcpart_mod_LDFLAGS): likewise
26902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
26903 and parttool/pcpart.c
26904 * conf/i386-efi.rmk: likewise
26905 * conf/i386-ieee1275.rmk: likewise
26906 * conf/i386-pc.rmk: likewise
26907 * conf/powerpc-ieee1275.rmk: likewise
26908 * conf/sparc64-ieee1275.rmk: likewise
26909 * conf/x86_64-ieee1275.rmk: likewise
26910
26911 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26912
26913 Support for mtime and further expandability of dir command
26914
26915 * include/grub/lib/datetime.h: moved to ...
26916 * include/grub/datetime.h: ... moved here and added
26917 declaration of grub_unixtime2datetime. All users updated
26918 * include/grub/fs.h: new syntax for dir and mtime functions in
26919 struct grub_fs
26920 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
26921 and GRUB_FSHELP_FLAGS_MASK
26922 * commands/ls.c (grub_ls_list_files): Write mtime in long format
26923 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
26924 (grub_ext2_mtime): new function
26925 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
26926 (grub_hfsplus_mtime): new function
26927 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
26928 (GRUB_UFS_ATTR_FILE): likewise
26929 (GRUB_UFS_ATTR_LNK): likewise
26930 (struct grub_ufs_sblock): new fields mtime
26931 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
26932 all users updated
26933 (grub_ufs_dir): mtime support
26934 (grub_ufs_mtime): new function
26935 * fs/affs.c (grub_affs_dir): use new dir syntax
26936 * fs/afs.c (grub_afs_dir): likewise
26937 * fs/cpio.c (grub_cpio_dir): likewise
26938 * fs/fat.c (grub_fat_find_dir): likewise
26939 * fs/hfs.c (grub_hfs_dir): likewise
26940 * fs/iso9660.c (grub_iso9660_dir): likewise
26941 * fs/jfs.c (grub_jfs_dir): likewise
26942 * fs/minix.c (grub_minix_dir): likewise
26943 * fs/ntfs.c (grub_ntfs_dir): likewise
26944 * fs/reiserfs.c (grub_reiserfs_dir): likewise
26945 * fs/sfs.c (grub_sfs_dir): likewise
26946 * fs/xfs.c (grub_xfs_dir): likewise
26947 * util/hostfs.c (grub_hostfs_dir): likewise
26948 * lib/datetime.c: moved to ...
26949 * normal/datetime.c: ... moved here
26950 (grub_unixtime2datetime): new function
26951 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
26952 * normal/completion.c (iterate_dir): use new dir syntax
26953 * normal/misc.c (grub_normal_print_device_info): tell the
26954 last modification time of a volume
26955 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
26956 * conf/common.rmk: added lib/datetime.c to ls.mod
26957 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
26958 (normal_mod_SOURCES): likewise
26959 (datetime_mod_SOURCES): Removed lib/datetime.c
26960 * conf/i386-efi.rmk: likewise
26961 * conf/i386-ieee1275.rmk: likewise
26962 * conf/i386-pc.rmk: likewise
26963 * conf/powerpc-ieee1275.rmk: likewise
26964 * conf/sparc64-ieee1275.rmk: likewise
26965 * conf/x86_64-efi.rmk: likewise
26966
26967 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26968
26969 Trim trailing spaces in FAT label and support mtools-like labels
26970
26971 * fs/fat.c (grub_fat_iterate_dir): New function based
26972 on grub_fat_find_dir
26973 (grub_fat_find_dir): use grub_fat_iterate_dir
26974 (grub_fat_label): likewise
26975
26976 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26977
26978 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
26979 and command.h
26980 remove extraneous kernel_elf_HEADERS
26981
26982 2009-04-04 Bean <bean123ch@gnail.com>
26983
26984 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26985
26986 * util/misc.c: Likewise.
26987
26988 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26989
26990 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26991 instead of grub_printf.
26992
26993 2009-04-03 Robert Millan <rmh@aybabtu.com>
26994
26995 * loader/i386/linux.c (grub_linux_setup_video): Fill
26996 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26997 values from `mode info' structure instead of hardcoded
26998 values.
26999
27000 2009-04-01 Pavel Roskin <proski@gnu.org>
27001
27002 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
27003 unused now.
27004 * genmk.rb: Likewise.
27005 * configure.ac: Likewise.
27006
27007 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
27008
27009 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
27010 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
27011
27012 2009-04-01 David S. Miller <davem@davemloft.net>
27013
27014 * normal/sparc64/setjmp.S: Fix setjmp implementation.
27015 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
27016 (grub_setjmp): Mark with 'returns_twice' attribute.
27017 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
27018 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
27019 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
27020
27021 2009-04-01 Robert Millan <rmh@aybabtu.com>
27022
27023 Reapply fix from 2008-07-28 which was accidentally reverted; also
27024 perform the same fix to a similar check in same function.
27025
27026 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27027 with the same number are found, just use issue a warning with
27028 grub_dprintf(), as this error has been reported to be non-fatal.
27029
27030 2009-03-31 Pavel Roskin <proski@gnu.org>
27031
27032 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27033 for cross-compilation.
27034
27035 2009-03-30 Robert Millan <rmh@aybabtu.com>
27036
27037 Fix i386-ieee1275 build.
27038
27039 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27040 Remove declaration.
27041
27042 2009-03-30 Pavel Roskin <proski@gnu.org>
27043
27044 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27045 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27046 zero-terminated, rely only on the strlen value. Fix comparison
27047 of strings differing in length.
27048
27049 2009-03-30 Robert Millan <rmh@aybabtu.com>
27050
27051 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27052 checking for abi version. Improve error messages on BIOS to notify
27053 user about `linux16' command.
27054
27055 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27056
27057 Leak fixes
27058
27059 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27060 in case of collision
27061 * disk/scsi.c (grub_scsi_open): free scsi in case of error
27062
27063 2009-03-29 Robert Millan <rmh@aybabtu.com>
27064
27065 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27066 set `vid_mode' accordingly.
27067 (grub_linux_boot): Process `vid_mode' and set video mode.
27068
27069 2009-03-29 Robert Millan <rmh@aybabtu.com>
27070
27071 * util/grub.d/10_linux.in (linux_entry): New function.
27072 Factorize generation of Linux boot entries.
27073
27074 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27075
27076 Make the format of Environment Block plain text. The boot loader
27077 part is not tested well yet.
27078
27079 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27080 (buffer): Removed.
27081 (envblk): Likewise.
27082 (usage): Remove "info" and "clear". Add "unset". Update the
27083 description of "set", as this does not delete variables any
27084 longer.
27085 (create_envblk_file): Complete rewrite.
27086 (open_envblk_file): Likewise.
27087 (cmd_info): Removed.
27088 (cmd_list): Likewise.
27089 (cmd_set): Likewise.
27090 (cmd_clear): Likewise.
27091 (list_variables): New function.
27092 (write_envblk): Likewise.
27093 (set_variables): Likewise.
27094 (unset_variables): Likewise.
27095 (main): Complete rewrite.
27096
27097 * commands/loadenv.c (buffer): Removed.
27098 (envblk): Likewise.
27099 (open_envblk_file): New function.
27100 (read_envblk_file): Complete rewrite.
27101 (grub_cmd_load_env): Likewise.
27102 (grub_cmd_list_env): Likewise.
27103 (struct blocklist): New struct.
27104 (free_blocklists): New function.
27105 (check_blocklists): Likewise.
27106 (write_blocklists): Likewise.
27107 (grub_cmd_save_env): Complete rewrite.
27108
27109 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27110 a plain text signature.
27111 (GRUB_ENVBLK_MAXLEN): Removed.
27112 (struct grub_envblk): Complete rewrite.
27113 (grub_envblk_find): Removed.
27114 (grub_envblk_insert): Likewise.
27115 (grub_envblk_open): New prototype.
27116 (grub_envblk_set): Likewise.
27117 (grub_envblk_delete): Put const to VALUE.
27118 (grub_envblk_iterate): Put const to NAME and VALUE.
27119 (grub_envblk_close): New prototype.
27120 (grub_envblk_buffer): New inline function.
27121 (grub_envblk_size): Likewise.
27122
27123 * lib/envblk.c: Include grub/mm.h.
27124 (grub_env_find): Removed.
27125 (grub_envblk_open): New function.
27126 (grub_envblk_close): Likewise.
27127 (escaped_value_len): Likewise.
27128 (find_next_line): Likewise.
27129 (grub_envblk_insert): Removed.
27130 (grub_envblk_set): New function.
27131 (grub_envblk_delete): Complete rewrite.
27132 (grub_envblk_iterate): Likewise.
27133
27134 2009-03-28 Robert Millan <rmh@aybabtu.com>
27135
27136 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27137 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27138 variables. Use 16-bit loader.
27139 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27140 loader.
27141 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27142 (grub_linux16_boot): ... this. Update all users.
27143 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27144 (grub_linux_boot): ... this. Update all users.
27145
27146 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27147 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27148 commands to `linux16' and `initrd16'.
27149 (GRUB_MOD_FINI(linux)): Rename to ...
27150 (GRUB_MOD_FINI(linux16)): ... this.
27151
27152 2009-03-24 Pavel Roskin <proski@gnu.org>
27153
27154 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27155 not just for compilation.
27156
27157 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27158
27159 Move multiboot helper out of kernel
27160
27161 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27162 `loader/i386/multiboot_helper.S'.
27163 * conf/i386-coreboot.rmk: Likewise
27164 * conf/i386-ieee1275.rmk: Likewise
27165
27166 * kern/i386/loader.S: Move multiboot helpers from here...
27167 * loader/i386/multiboot_helper.S: ...moved here
27168 * include/grub/i386/loader.h: Move declarations of multiboot
27169 helpers from here...
27170 * include/grub/i386/multiboot.h: ...moved here
27171 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27172
27173 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27174
27175 * kern/env.c (grub_env_context_open): Added an argument to specify
27176 whether a new context inherits exported variables from current
27177 one. This is useful when making a sandbox to interpret a config
27178 file.
27179 All callers updated.
27180
27181 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27182
27183 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27184
27185 * kern/env.c (grub_env_context_close): Fix memory leaks.
27186
27187 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27188
27189 * normal/main.c (grub_normal_execute): Added an argument
27190 BATCH to specify if an interactive interface should be provided
27191 after reading a config file.
27192 All callers updated.
27193 (read_command_list): Prevent being executed twice.
27194 (read_fs_list): Likewise.
27195
27196 * include/grub/normal.h (grub_normal_execute): Updated the
27197 prototype.
27198
27199 2009-03-22 Pavel Roskin <proski@gno.org>
27200
27201 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27202 _start.
27203 * kern/i386/pc/startup.S: Likewise.
27204 * kern/i386/efi/startup.S: Likewise.
27205 * kern/i386/ieee1275/startup.S: Likewise.
27206 * kern/i386/coreboot/startup.S: Likewise.
27207 * kern/x86_64/efi/startup.S: Likewise.
27208
27209 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27210 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27211 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27212
27213 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27214
27215 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27216
27217 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27218 limit detection.
27219 Use vaddr of correct segment for entry_point.
27220
27221 2009-03-21 Bean <bean123ch@gmail.com>
27222
27223 * commands/blocklist.c: Add include file <grub/command.h>, remove
27224 <grub/normal.h> and <grub/arg.h>.
27225 (grub_cmd_blocklist): Use the new command interface.
27226 (GRUB_MOD_INIT): Likewise.
27227 (GRUB_MOD_FINI): Likewise.
27228 * commands/boot.c: Likewise.
27229 * commands/cat.c: Likewise.
27230 * commands/cmp.c: Likewise.
27231 * commands/configfile.c: Likewise.
27232 * commands/crc.c: Likewise.
27233 * commands/echo.c: Likewise.
27234 * commands/halt.c: Likewise.
27235 * commands/handler.c: Likewise.
27236 * commands/hdparm.c: Likewise.
27237 * commands/help.c: Likewise.
27238 * commands/hexdump.c: Likewise.
27239 * commands/loadenv.c: Likewise.
27240 * commands/ls.c: Likewise.
27241 * commands/lsmmap.c: Likewise.
27242 * commands/lspci.c: Likewise.
27243 * commands/loadenv.c: Likewise.
27244 * commands/read.c: Likewise.
27245 * commands/reboot.c: Likewise.
27246 * commands/search.c: Likewise.
27247 * commands/sleep.c: Likewise.
27248 * commands/test.c: Likewise.
27249 * commands/usbtest.c: Likewise.
27250 * commands/videotest.c: Likewise.
27251 * commands/i386/cpuid.c: Likewise.
27252 * commands/i386/pc/halt.c: Likewise.
27253 * commands/i386/pc/play.c: Likewise.
27254 * commands/i386/pc/pxecmd.c: Likewise.
27255 * commands/i386/pc/vbeinfo.c: Likewise.
27256 * commands/i386/pc/vbetest.c: Likewise.
27257 * commands/ieee1275/suspend.c: Likewise.
27258 * disk/loopback.c: Likewise.
27259 * font/font_cmd.c: Likewise.
27260 * hello/hello.c: Likewise.
27261 * loader/efi/appleloader.c: Likewise.
27262 * loader/efi/chainloader.c: Likewise.
27263 * loader/i386/bsd.c: Likewise.
27264 * loader/i386/efi/linux.c: Likewise.
27265 * loader/i386/ieee1275/linux.c: Likewise.
27266 * loader/i386/linux.c: Likewise.
27267 * loader/i386/pc/chainloader.c: Likewise.
27268 * loader/i386/pc/linux.c: Likewise.
27269 * loader/powerpc/ieee1275/linux.c: Likewise.
27270 * loader/multiboot_loader.c: Likewise.
27271 * term/gfxterm.c: Likewise.
27272 * term/i386/pc/serial.c: Likewise.
27273 * term/terminfo.c: Likewise.
27274
27275 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27276 * term/i386/pc/vga.c: Likewise.
27277 * video/readers/jpeg.c: Likewise.
27278 * video/readers/png.c: Likewise.
27279 * video/readers/tga.c: Likewise.
27280
27281 * util/grub-fstest (cmd_loopback): Removed.
27282 (cmd_blocklist): Likewise.
27283 (cmd_ls): Likewise.
27284 (grub_register_command): Likewise.
27285 (grub_unregister_command): Likewise.
27286 (execute_command): Use grub_command_find to locate command and execute
27287 it.
27288
27289 * include/grub/efi/chainloader.h: Removed.
27290 * loader/efi/chainloader_normal.c: Likewise.
27291 * loader/i386/bsd_normal.c: Likewise.
27292 * loader/i386/pc/chainloader_normal.c: Likewise.
27293 * loader/i386/pc/multiboot_normal.c: Likewise.
27294 * loader/linux_normal.c: Likewise.
27295 * loader/multiboot_loader_normal.c: Likewise.
27296 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27297
27298 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27299 and grub_register_command_p1.
27300
27301 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27302 kern/command.c, lib/arg.c and commands/extcmd.c.
27303 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27304 (minicmd_mod_SOURCES): New variable.
27305 (minicmd_mod_CFLAGS): Likewise.
27306 (minicmd_mod_LDFLAGS): Likewise.
27307 (extcmd_mod_SOURCES): Likewise.
27308 (extcmd_mod_CFLAGS): Likewise.
27309 (extcmd_mod_LDFLAGS): Likewise.
27310 (boot_mod_SOURCES): Removed.
27311 (boot_mod_CFLAGS): Likewise.
27312 (boot_mod_LDFLAGS): Likewise.
27313
27314 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27315 kern/corecmd.c.
27316 (kernel_img_HEADERS): Add command.h.
27317 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27318 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27319 and lib/arg.c.
27320 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27321 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27322 remove the corresponding normal mode command.
27323 (normal_mod_SOURCES): Remove normal/arg.c.
27324 * conf/i386-coreboot.rmk: Likewise.
27325 * conf/i386-efi.rmk: Likewise.
27326 * conf/i386-ieee1275.rmk: Likewise.
27327 * conf/powerpc-ieee1275.rmk: Likewise.
27328 * conf/x86_64-efi.rmk: Likewise.
27329
27330 * include/grub/arg.h: Move from here ...
27331 * include/grub/lib/arg.h: ... to here.
27332
27333 * normal/arg.c: Move from here ...
27334 * lib/arg.c: ... to here.
27335
27336 * commands/extcmd.c: New file.
27337 * commands/minicmd.c: Likewise.
27338 * include/grub/command.h: Likewise.
27339 * include/grub/extcmd.h: Likewise.
27340 * kern/command.c: Likewise.
27341 * kern/corecmd.c: Likewise.
27342
27343 * kern/list.c (grub_list_iterate): Return int instead of void.
27344 (grub_list_insert): New function.
27345 (grub_prio_list_insert): Likewise.
27346
27347 * kern/rescue.c (grub_rescue_command): Removed.
27348 (grub_rescue_command_list): Likewise.
27349 (grub_rescue_register_command): Likewise.
27350 (grub_rescue_unregister_command): Likewise.
27351 (grub_rescue_cmd_boot): Move to minicmd.c
27352 (grub_rescue_cmd_help): Likewise.
27353 (grub_rescue_cmd_info): Likewise.
27354 (grub_rescue_cmd_boot): Likewise.
27355 (grub_rescue_cmd_testload): Likewise.
27356 (grub_rescue_cmd_dump): Likewise.
27357 (grub_rescue_cmd_rmmod): Likewise.
27358 (grub_rescue_cmd_lsmod): Likewise.
27359 (grub_rescue_cmd_exit): Likewise.
27360 (grub_rescue_print_devices): Moved to corecmd.c.
27361 (grub_rescue_print_files): Likewise.
27362 (grub_rescue_cmd_ls): Likewise.
27363 (grub_rescue_cmd_insmod): Likewise.
27364 (grub_rescue_cmd_set): Likewise.
27365 (grub_rescue_cmd_unset): Likewise.
27366 (attempt_normal_mode): Use grub_command_find to get normal module.
27367 (grub_enter_rescue_mode): Use grub_register_core_commands to register
27368 commands, remove grub_rescue_register_command calls.
27369
27370 * normal/command.c (grub_register_command): Removed.
27371 (grub_unregister_command): Likewise.
27372 (grub_command_find): Likewise.
27373 (grub_iterate_commands): Likewise.
27374 (rescue_command): Likewise.
27375 (export_command): Moved to corecmd.c.
27376 (set_command): Removed.
27377 (unset_command): Likewise.
27378 (insmod_command): Likewise.
27379 (rmmod_command): Likewise.
27380 (lsmod_command): Likewise.
27381 (grub_command_init): Likewise.
27382
27383 * normal/completion.c (iterate_command): Use cmd->prio to check for
27384 active command.
27385 (complete_arguments): Use grub_extcmd_t structure to find options.
27386 (grub_normal_do_completion): Change function grub_iterate_commands to
27387 grub_command_iterate.
27388
27389 * normal/execute.c (grub_script_execute_cmd): No need to parse
27390 argument here.
27391
27392 * normal/main.c (grub_dyncmd_dispatcher): New function.
27393 (read_command_list): Register unload commands as dyncmd.
27394 (grub_cmd_normal): Use new command interface, register rescue,
27395 unregister normal at entry, register normal, unregister rescue at exit.
27396
27397 * include/grub/list.h (grub_list_test_t): New type.
27398 (grub_list_iterate): Return int instead of void.
27399 (grub_list_insert): New function.
27400 (GRUB_AS_NAMED_LIST_P): New macro.
27401 (GRUB_AS_PRIO_LIST): Likewise.
27402 (GRUB_AS_PRIO_LIST_P): Likewise.
27403 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27404 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27405 (grub_prio_list): New structure.
27406 (grub_prio_list_insert): New function.
27407 (grub_prio_list_remove): New inline function.
27408
27409 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27410 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27411 (GRUB_COMMAND_FLAG_MENU): Likewise.
27412 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27413 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27414 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27415 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27416 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27417 (grub_command): Likewise.
27418 (grub_register_command): Likewise.
27419 (grub_command_find): Likewise.
27420 (grub_iterate_commands): Likewise.
27421 (grub_command_init): Likewise.
27422 (grub_arg_parse): Likewise.
27423 (grub_arg_show_help): Likewise.
27424
27425 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27426 (grub_rescue_unregister_command): Likewise.
27427
27428 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27429 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27430 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27431
27432 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27433 grub_rescue_cmd_initrd.
27434 * include/grub/i386/loader.h: Likewise.
27435 * include/grub/x86_64/loader.h: Likewise.
27436
27437 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27438
27439 2009-03-21 Bean <bean123ch@gmail.com>
27440
27441 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27442 instead of stat in mingw environment.
27443
27444 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27445
27446 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27447
27448 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27449 AC_CONFIG_LINKS.
27450
27451 2009-03-21 Bean <bean123ch@gmail.com>
27452
27453 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27454 out of range error.
27455
27456 2009-03-18 Michel Dänzer <michel@daenzer.net>
27457
27458 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27459 checking inode flags for EXT4_EXTENTS_FLAG.
27460
27461 2009-03-18 Robert Millan <rmh@aybabtu.com>
27462
27463 * loader/i386/linux.c: Include `<grub/video.h>' and
27464 `<grub/i386/pc/vbe.h>'..
27465 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27466 (grub_linux32_boot): Attempt to configure video settings with
27467 grub_linux_setup_video().
27468 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27469 to avoid grub_console_fini() which would step out of graphical mode
27470 unconditionally.
27471
27472 2009-03-14 Robert Millan <rmh@aybabtu.com>
27473
27474 Fix build on powerpc.
27475 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27476
27477 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27478
27479 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27480 background image command.
27481
27482 2009-03-12 Colin D Bennett <colin@gibibit.com>
27483
27484 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27485 (grub_gfxterm_putchar): Extract pairs of identical calls to
27486 draw_cursor out of conditional blocks.
27487
27488 2009-03-11 Pavel Roskin <proski@gnu.org>
27489
27490 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27491 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27492
27493 2009-03-11 Robert Millan <rmh@aybabtu.com>
27494
27495 * loader/i386/multiboot_elfxx.c
27496 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27497
27498 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
27499
27500 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27501 `kern/handler.c'.
27502
27503 2009-03-11 Robert Millan <rmh@aybabtu.com>
27504
27505 * loader/i386/multiboot.c (code_size): New variable.
27506 (grub_multiboot): Define offsets by adding to `code_size' rather
27507 than subtracting from `grub_multiboot_payload_size'. Provide
27508 4-byte alignment to MBI and others by increasing
27509 `boot_loader_name_length' appropriately.
27510
27511 * loader/i386/multiboot_elfxx.c
27512 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27513
27514 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
27515
27516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27517 `fs/ext2.c'.
27518
27519 2009-03-08 Robert Millan <rmh@aybabtu.com>
27520
27521 Make loader/i386/linux.c usable on i386-pc again.
27522
27523 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27524 memory to heap.
27525 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27526 `#error' stanza.
27527
27528 2009-03-07 Bean <bean123ch@gmail.com>
27529
27530 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27531 allocation.
27532
27533 2009-03-06 Robert Millan <rmh@aybabtu.com>
27534
27535 Fix display issue on terminals with screen size other than 80x25
27536 (e.g. gfxterm with resolution higher than 640x480).
27537
27538 * normal/main.c (grub_normal_init_page): Display title text in a
27539 position relative to the center of the terminal instead of relying
27540 on a hardcoded offset.
27541
27542 2009-03-04 Robert Millan <rmh@aybabtu.com>
27543
27544 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27545 installed.
27546
27547 * Makefile.in (host_kernel): New variable.
27548 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27549 scripts instead of just the windows one.
27550 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27551
27552 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27553
27554 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27555 `kern/handler.c'.
27556 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27557 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27558 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27559 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27560 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27561 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27562
27563 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27564
27565 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27566 or if there's no space for the disk label and print the partition number on a
27567 invalid magic.
27568
27569 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27570
27571 * util/misc.c: Include <time.h>.
27572 (grub_millisleep): New function.
27573
27574 2009-03-04 Bean <bean123ch@gmail.com>
27575
27576 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27577 another option -mno-red-zone.
27578
27579 * commands/handler.c: Change module description.
27580
27581 * kern/handler.c: Add missing space at the end of description line.
27582
27583 * kern/list.c: Likewise.
27584
27585 2009-03-03 Robert Millan <rmh@aybabtu.com>
27586
27587 Move more components to the relocation area, and fix mbi pointer
27588 handling to use the destination rather than the origin (thanks to
27589 Vladimir Serbinenko for spotting).
27590
27591 * loader/i386/multiboot.c (mbi_dest): New variable.
27592 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27593 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27594 relocation area.
27595
27596 2009-03-01 Bean <bean123ch@gmail.com>
27597
27598 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
27599 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27600 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27601 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27602
27603 * loader/i386/efi/linux.c (acpi_guid): New variable.
27604 (acpi_guid): Likewise.
27605 (EBDA_SEG_ADDR): New constant.
27606 (LOW_MEM_ADDR): Likewise.
27607 (FAKE_EBDA_SEG): Likewise.
27608 (fake_bios_data): New function.
27609 (grub_linux_boot): Call fake_bios_data.
27610
27611 2009-03-01 Bean <bean123ch@gmail.com>
27612
27613 * commands/terminal.c: Removed.
27614
27615 * commands/handler.c: New file.
27616
27617 * include/grub/list.h: Likewise.
27618
27619 * include/grub/handler.h: Likewise.
27620
27621 * kern/list.c: Likewise.
27622
27623 * kern/handler.c: Likewise.
27624
27625 * kern/term.h: Include header file <grub/handler.h>.
27626 (grub_term_input): Move next field to the beginning.
27627 (grub_term_output): Likewise.
27628 (grub_term_input_class): New variable.
27629 (grub_term_output_class): Likewise.
27630 (grub_term_register_input): Changed to inline function.
27631 (grub_term_register_output): Likewise.
27632 (grub_term_unregister_input): Likewise.
27633 (grub_term_unregister_output): Likewise.
27634 (grub_term_set_current_input): Likewise.
27635 (grub_term_set_current_output): Likewise.
27636 (grub_term_get_current_input): Likewise.
27637 (grub_term_get_current_output): Likewise.
27638 (grub_term_iterate_input): Removed.
27639 (grub_term_iterate_output): Likewise.
27640
27641 * kern/term.c (grub_term_list_input): Removed.
27642 (grub_term_list_output): Likewise.
27643 (grub_term_input_class): New variable.
27644 (grub_term_output_class): Likewise.
27645 (grub_cur_term_input): Change variable as macro.
27646 (grub_cur_term_output): Likewise.
27647 (grub_term_register_input): Removed.
27648 (grub_term_register_output): Likewise.
27649 (grub_term_unregister_input): Likewise.
27650 (grub_term_unregister_output): Likewise.
27651 (grub_term_set_current_input): Likewise.
27652 (grub_term_set_current_output): Likewise.
27653 (grub_term_iterate_input): Likewise.
27654 (grub_term_iterate_output): Likewise.
27655 (grub_term_get_current_input): Likewise.
27656 (grub_term_get_current_output): Likewise.
27657
27658 * util/grub-editenv.c: Include header file <grub/handler.h>.
27659 (grub_term_get_current_input): Removed.
27660 (grub_term_get_current_output): Likewise.
27661 (grub_term_input_class): New variable.
27662 (grub_term_output_class): Likewise.
27663
27664 * util/grub-fstest.c (grub_term_get_current_input): Removed.
27665 (grub_term_get_current_output): Likewise.
27666 (grub_term_input_class): New variable.
27667 (grub_term_output_class): Likewise.
27668
27669 * util/grub-probe.c (grub_term_get_current_input): Removed.
27670 (grub_term_get_current_output): Likewise.
27671 (grub_term_input_class): New variable.
27672 (grub_term_output_class): Likewise.
27673
27674 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
27675 (grub_term_get_current_output): Likewise.
27676 (grub_term_input_class): New variable.
27677 (grub_term_output_class): Likewise.
27678
27679 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
27680 (terminal_mod_SOURCES): Likewise.
27681 (terminal_mod_CFLAGS): Likewise.
27682 (terminal_mod_LDFLAGS): Likewise.
27683
27684 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
27685 handler.c.
27686 (kernel_img_SOURCES): Add list.c and handler.c.
27687 (kernel_img_HEADERS): Add list.h and handler.h.
27688
27689 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27690 handler.c.
27691 (kernel_mod_SOURCES): Add list.c and handler.c.
27692 (kernel_mod_HEADERS): Add list.h and handler.h.
27693
27694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
27695 handler.c.
27696 (kernel_elf_SOURCES): Add list.c and handler.c.
27697 (kernel_elf_HEADERS): Add list.h and handler.h.
27698
27699 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27700 handler.c.
27701 (kernel_elf_SOURCES): Add list.c and handler.c.
27702 (kernel_elf_HEADERS): Add list.h and handler.h.
27703
27704 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27705 handler.c.
27706 (kernel_mod_SOURCES): Add list.c and handler.c.
27707 (kernel_mod_HEADERS): Add list.h and handler.h.
27708
27709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27710 handler.c.
27711 (kernel_elf_SOURCES): Add list.c and handler.c.
27712 (kernel_elf_HEADERS): Add list.h and handler.h.
27713
27714 2009-02-27 Robert Millan <rmh@aybabtu.com>
27715
27716 Factorize elf32 / elf64 code in Multiboot loader. This will
27717 prevent it from getting out of sync again.
27718
27719 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
27720 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
27721 grub_multiboot_load_elf64): Move from here ...
27722 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
27723 grub_multiboot_load_elf): ... to here (new file).
27724
27725 2009-02-27 Robert Millan <rmh@aybabtu.com>
27726
27727 * util/grub.d/10_linux.in: Rename "single-user mode" to
27728 "recovery mode".
27729
27730 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
27731
27732 Don't leak in SCSI code.
27733 * disk/scsi.c (grub_scsi_close): free `scsi'.
27734
27735 2009-02-27 Robert Millan <rmh@aybabtu.com>
27736
27737 * loader/i386/pc/multiboot.c: Move from here ...
27738 * loader/i386/multiboot.c: ... to here. Update all users.
27739
27740 2009-02-27 Robert Millan <rmh@aybabtu.com>
27741
27742 Patch from Alexandre Bique <bique.alexandre@gmail.com>
27743 * util/i386/pc/grub-setup.c (setup): Fix directory path.
27744
27745 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
27746
27747 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
27748 b-tree.
27749
27750 2009-02-27 Robert Millan <rmh@aybabtu.com>
27751
27752 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
27753 `0x' qualifier as 0 when base is specified as parameter).
27754
27755 2009-02-24 Bean <bean123ch@gmail.com>
27756
27757 * configure.ac: Check for -mcmodel=large in x86_64 target.
27758
27759 * include/grub/efi/api.h (efi_call_10): New macro.
27760 (efi_wrap_10): New function.
27761
27762 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
27763 (GRUB_PE32_REL_BASED_HIGH): Likewise.
27764 (GRUB_PE32_REL_BASED_LOW): Likewise.
27765 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
27766 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
27767 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
27768 (GRUB_PE32_REL_BASED_SECTION): Likewise.
27769 (GRUB_PE32_REL_BASED_REL): Likewise.
27770 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
27771 (GRUB_PE32_REL_BASED_DIR64): Likewise.
27772 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
27773
27774 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
27775 issue.
27776
27777 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
27778 (efi_wrap_10): New function.
27779
27780 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
27781
27782 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
27783 MB/MBP model (NV chipset).
27784 (devdata_devs): Add devpath_5 to the list.
27785
27786 * load/i386/efi/linux.c (video_base): Remove variable.
27787 (RGB_MASK): New macro.
27788 (RGB_MAGIC): Likewise.
27789 (LINE_MIN): Likewise.
27790 (LINE_MAX): Likewise.
27791 (FBTEST_STEP): Likewise.
27792 (FBTEST_COUNT): Likewise.
27793 (fb_list): New variable.
27794 (grub_find_video_card): Remove function.
27795 (find_framebuf): New function.
27796 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
27797 line length.
27798
27799 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
27800 problem for x86_64.
27801
27802 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
27803
27804 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
27805
27806 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
27807 coding tool name.
27808
27809 2009-02-22 Robert Millan <rmh@aybabtu.com>
27810
27811 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
27812 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
27813 in our relocation, instead of using it directly from heap. Also
27814 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
27815
27816 2009-02-21 Robert Millan <rmh@aybabtu.com>
27817
27818 Implement USB keyboard support (based on patch by Marco Gerards)
27819
27820 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
27821 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
27822 (usb_keyboard_mod_LDFLAGS): New variables.
27823
27824 * term/usb_keyboard.c: New file.
27825
27826 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27827
27828 Corrected wrong declaration
27829
27830 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
27831
27832 2009-02-14 Christian Franke <franke@computer.org>
27833
27834 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
27835 (grub_lspci_iter): Print class code and programming interface byte.
27836
27837 2009-02-14 Christian Franke <franke@computer.org>
27838
27839 * gendistlist.sh: Ignore `.svn' directories.
27840
27841 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
27842
27843 * fs/fat.c: Add 2009 to Copyright line.
27844
27845 2009-02-14 Christian Franke <franke@computer.org>
27846
27847 * commands/hdparm.c: New file. Provides `hdparm' command
27848 which sends ATA commands via grub_disk_ata_pass_through ().
27849
27850 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
27851
27852 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
27853 and <grub/cpu/io.h> to include/grub/ata.h.
27854 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
27855 (GRUB_CDROM_SECTOR_SIZE): Remove.
27856 (GRUB_ATA_*): Move to include/grub/ata.h.
27857 (GRUB_ATAPI_*): Likewise.
27858 (enum grub_ata_commands): Likewise.
27859 (enum grub_ata_timeout_milliseconds): Likewise.
27860 (struct grub_ata_device): Likewise.
27861 (grub_ata_regset): Likewise.
27862 (grub_ata_regget): Likewise.
27863 (grub_ata_regset2): Likewise.
27864 (grub_ata_regget2): Likewise.
27865 (grub_ata_check_ready): Likewise.
27866 (grub_ata_wait_not_busy): Remove static, exported in
27867 include/grub/ata.h.
27868 (grub_ata_wait_drq): Likewise.
27869 (grub_ata_pio_read): Likewise.
27870
27871 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
27872 function for hdparm.mod.
27873
27874 * include/grub/ata.h: New file, contains declarations from
27875 disk/ata.c.
27876 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
27877
27878 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
27879 (grub_disk_ata_pass_through): New exported variable.
27880
27881 * kern/disk.c (grub_disk_ata_pass_through): New variable.
27882
27883 2009-02-13 Colin D Bennett <colin@gibibit.com>
27884
27885 Support multiple fallback entries, and provide an API to support
27886 executing default+fallback menu entries. Renamed the `terminal' menu
27887 viewer to `text'.
27888
27889 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
27890 variable declaration.
27891 (grub_menu_execute_callback): New structure declaration.
27892 (grub_menu_execute_callback_t): New typedef.
27893 (grub_menu_execute_with_fallback): New function declaration.
27894 (grub_menu_get_entry): Likewise.
27895 (grub_menu_get_timeout): Likewise.
27896 (grub_menu_set_timeout): Likewise.
27897
27898 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
27899
27900 * normal/menu.c (grub_wait_after_message): Moved to
27901 `normal/menu_text.c'.
27902 (draw_border): Likewise.
27903 (print_message): Likewise.
27904 (print_entry): Likewise.
27905 (print_entries): Likewise.
27906 (grub_menu_init_page): Likewise.
27907 (get_entry_number): Likewise.
27908 (print_timeout): Likewise.
27909 (run_menu): Likewise.
27910 (grub_menu_execute_entry): Likewise.
27911 (show_text_menu): Likewise.
27912 (get_and_remove_first_entry_number): New function.
27913 (grub_menu_execute_with_fallback): Likewise.
27914 (get_entry): Renamed to ...
27915 (grub_menu_get_entry): .. this and made it global.
27916 (get_timeout): Renamed to ...
27917 (grub_menu_get_timeout): ... this and made it global.
27918 (set_timeout): Renamed to ...
27919 (grub_menu_set_timeout): ... this and made it global.
27920 (grub_normal_terminal_menu_viewer): Renamed to ...
27921 (grub_normal_text_menu_viewer): ... this.
27922
27923 * normal/menu_text.c: New file. Extracted text-menu-specific code
27924 from normal/menu.c.
27925
27926 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
27927 (normal_mod_SOURCES): Likewise.
27928
27929 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27930 (normal_mod_SOURCES): Likewise.
27931
27932 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27933 (normal_mod_SOURCES): Likewise.
27934
27935 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
27936 (normal_mod_SOURCES): Likewise.
27937
27938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27939 (normal_mod_SOURCES): Likewise.
27940
27941 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27942 (normal_mod_SOURCES): Likewise.
27943
27944 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27945 (normal_mod_SOURCES): Likewise.
27946
27947 2009-02-11 Robert Millan <rmh@aybabtu.com>
27948
27949 * util/grub.d/00_header.in: Update old reference to `font' command.
27950
27951 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
27952
27953 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27954
27955 Based on patch from Javier Martín.
27956
27957 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
27958
27959 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
27960 to avoid false positives with FAT.
27961 (grub_fstest_SOURCES): Likewise.
27962 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27963 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27964 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27966 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27968
27969 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
27970
27971 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
27972 bpb.version_specific.fat12_or_fat16.fstype and
27973 bpb.version_specific.fat32.fstype.
27974
27975 2009-02-08 Robert Millan <rmh@aybabtu.com>
27976
27977 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
27978
27979 2009-02-08 Robert Millan <rmh@aybabtu.com>
27980
27981 * Makefile.in (host_os, host_cpu): New variables.
27982 (target_os): Remove. Update all users.
27983
27984 2009-02-08 Marco Gerards <marco@gnu.org>
27985
27986 * Makefile.in (enable_grub_emu_usb): New variable.
27987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27988 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27989 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27990 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27991 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27992 `usbtest.mod' and `usbms.mod'.
27993 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27994 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27995 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27996 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27997 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27998 variables.
27999
28000 * disk/usbms.c: New file.
28001
28002 * include/grub/usb.h: Likewise.
28003
28004 * include/grub/usbtrans.h: Likewise.
28005
28006 * include/grub/usbdesc.h: Likewise.
28007
28008 * bus/usb/usbtrans.c: Likewise.
28009
28010 * bus/usb/ohci.c: Likewise.
28011
28012 * bus/usb/uhci.c: Likewise.
28013
28014 * bus/usb/usbhub.c: Likewise.
28015
28016 * bus/usb/usb.c: Likewise.
28017
28018 * commands/usbtest.c: Likewise.
28019
28020 * util/usb.c: Likewise.
28021
28022 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
28023
28024 * configure.ac: Test for libusb presence.
28025
28026 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28027
28028 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28029
28030 * kern/mm.c: Add more comments.
28031
28032 2009-02-08 Robert Millan <rmh@aybabtu.com>
28033
28034 Patch from Javier Martín.
28035 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28036 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28037
28038 2009-02-08 Robert Millan <rmh@aybabtu.com>
28039
28040 * fs/cpio.c: Split tar functionality to ...
28041 * fs/tar.c: ... here (new file). Update all users.
28042
28043 2009-02-07 Robert Millan <rmh@aybabtu.com>
28044
28045 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28046 backward-incompatible features.
28047
28048 Based on patch from Javier Martín, with some adjustments.
28049
28050 2009-02-07 Michael Scherer <misc@mandriva.org>
28051
28052 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28053
28054 2009-02-07 Robert Millan <rmh@aybabtu.com>
28055
28056 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28057 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28058 after the RAID stuff.
28059
28060 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28061
28062 Fixes problem when running vbetest command as reported by
28063 Vladimir Serbinenko <phcoder@gmail.com>.
28064
28065 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28066
28067 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
28068
28069 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28070 /dev/md/NpN style mdraid devices.
28071
28072 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28073
28074 * util/unifont2pff.rb: Remove.
28075
28076 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28077
28078 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28079 `#'.
28080
28081 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28082
28083 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28085 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28086 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28088 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28089 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28090
28091 2009-02-02 Christian Franke <franke@computer.org>
28092
28093 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28094
28095 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
28096
28097 * INSTALL: Note that we now require at least autoconf 2.59 and
28098 that LZO is optional.
28099
28100 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28101
28102 Base on patch on bug #24154 created by Tomas Tintera
28103 <trosos@seznam.cz>.
28104
28105 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28106
28107 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28108
28109 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
28110 <bero@arklinux.org>.
28111
28112 * normal/parser.y (script_init): Add missing semicolon.
28113
28114 2009-01-31 Colin D Bennett <colin@gibibit.com>
28115
28116 * normal/main.c: Add include to grub/menu_viewer.h.
28117 (free_menu_entry_classes): Added.
28118 (grub_normal_menu_addentry): Added class property handling.
28119 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28120 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28121
28122 * normal/menu_viewer.c: New file.
28123
28124 * normal/menu.c (run_menu_entry): Renamed to ...
28125 (grub_menu_execute_entry): ... this and made it as global.
28126 (grub_menu_run): Renamed to ...
28127 (show_text_menu): ... this and made it local.
28128 (show_text_menu): Adapt to new function names.
28129 (grub_normal_terminal_menu_viewer): New global variable.
28130
28131 * include/grub/menu.h: New file.
28132
28133 * include/grub/menu_viewer.h: New file.
28134
28135 * include/grub/normal.h: Added include to grub/menu.h.
28136 (grub_menu_entry): Moved to include/grub/menu.h.
28137 (grub_menu_entry_t): Likewise.
28138 (grub_menu): Likewise.
28139 (grub_menu_t): Likewise.
28140 (grub_normal_terminal_menu_viewer): Added.
28141 (grub_menu_execute_entry): Likewise.
28142 (grub_menu_run): Removed.
28143
28144 * DISTLIST: Added include/grub/menu.h.
28145 Added include/grub/menu_viewer.h.
28146 Added normal/menu_viewer.c.
28147
28148 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28149
28150 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28151 arglist for menutitle arguments.
28152
28153 * normal/main.c (grub_normal_menu_addentry): Likewise.
28154
28155 * normal/parser.y (menuentry): Likewise.
28156
28157 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28158
28159 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28160 (grub_script_create_cmdmenu): Likewise.
28161
28162 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28163
28164 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28165 changes.
28166
28167 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28168
28169 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28170
28171 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28172
28173 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28174
28175 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28176
28177 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28178
28179 2009-01-30 Christian Franke <franke@computer.org>
28180
28181 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28182 in option help text.
28183
28184 2009-01-27 Pavel Roskin <proski@gnu.org>
28185
28186 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28187
28188 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28189
28190 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28191
28192 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28193
28194 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28195 unregister function.
28196
28197 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28198
28199 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28200
28201 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28202
28203 * util/grub-mkfont.c (usage): Fix typo.
28204
28205 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28206
28207 2009-01-26 Daniel Mierswa <impulze@impulze.org>
28208
28209 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28210
28211 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28212
28213 * kern/misc.c (grub_strcasecmp): New function.
28214 (grub_strcasecmp): Use grub_size_t instead of int for length.
28215 Fix return value.
28216 * include/grub/misc.h: Update function prototypes.
28217
28218 2009-01-26 Robert Millan <rmh@aybabtu.com>
28219
28220 * configure.ac: Fix cross-compilation check.
28221
28222 2009-01-22 Christian Franke <franke@computer.org>
28223
28224 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28225 (precision) digit string. Allow `.format2' without `format1' (width).
28226 Limit input chars for `%s' output to `format2' if specified. This is
28227 compatible with standard printf ().
28228
28229 2009-01-22 Christian Franke <franke@computer.org>
28230
28231 * disk/ata.c (grub_ata_wait_status): Replace by ...
28232 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28233 other status bits may be invalid while BSY is asserted.
28234 (grub_ata_check_ready): New function.
28235 (grub_ata_cmd): Removed.
28236 (grub_ata_wait_drq): New function.
28237 (grub_ata_strncpy): Remove inline.
28238 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28239 and error check now done by grub_ata_wait_drq ().
28240 (grub_ata_pio_write): Likewise.
28241 (grub_atapi_identify): Set DEV before check for !BSY. Use
28242 grub_ata_wait_drq () to wait for data.
28243 (grub_ata_device_initialize): Add status register check to
28244 detect missing SATA slave devices. Add debug messages.
28245 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28246 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28247 transfer loop by grub_ata_pio_write ().
28248 (grub_ata_identify): Set DEV before check for !BSY. Use
28249 grub_ata_wait_drq () to wait for data.
28250 (grub_ata_setaddress): Set DEV before check for !BSY.
28251 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28252 read/write in one loop. Fix invalid command on write. Fix incomplete
28253 command on (size % batch) == 0. Add missing error check after write of
28254 last block. Add debug messages.
28255 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28256
28257 2009-01-19 Christian Franke <franke@computer.org>
28258
28259 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28260 (GRUB_ATAPI_IREASON_*): Likewise.
28261 (grub_ata_pio_write): Fix timeout error return.
28262 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28263 (grub_atapi_wait_drq): New function.
28264 (grub_atapi_packet): New parameter `size'.
28265 Use grub_atapi_wait_drq () and direct write instead of
28266 grub_ata_pio_write ().
28267 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28268 reads the number of bytes requested by the device for each DRQ
28269 assertion.
28270 (grub_atapi_write): Remove old implementation, return not
28271 implemented instead.
28272
28273 2009-01-19 Christian Franke <franke@computer.org>
28274
28275 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28276 of 512 to calculate data size.
28277 (grub_scsi_read12): Likewise.
28278 (grub_scsi_write10): Likewise.
28279 (grub_scsi_write12): Likewise.
28280 (grub_scsi_read): Adjust size according to blocksize.
28281 Add checks for invalid blocksize and unaligned transfer.
28282
28283 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28284
28285 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28286
28287 * term/gfxterm.c (write_char): Fix background rendering for wide
28288 width glyphs.
28289
28290 2009-01-19 Robert Millan <rmh@aybabtu.com>
28291
28292 * config.guess: Update to latest version from config git.
28293 * config.sub: Likewise.
28294
28295 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
28296
28297 * Makefile.in: Change font compilation to use new grub-mkfont instead
28298 of java version.
28299
28300 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28301 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28302 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28303 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28304 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28305 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28306 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28307 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28308 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28309
28310 2009-01-16 Christian Franke <franke@computer.org>
28311
28312 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28313 (enum grub_ata_timeout_milliseconds): New enum.
28314 (grub_ata_wait_status): Add parameter milliseconds.
28315 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28316 recovery from timed-out commands.
28317 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28318 return grub_errno instead of REG_ERROR.
28319 (grub_ata_pio_write): Add parameter milliseconds.
28320 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28321 Pass milliseconds to grub_ata_wait_status () and
28322 grub_ata_pio_read ().
28323 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28324 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28325 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28326 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28327 It is not suitable for device detection, because DEV bit is ignored,
28328 the command may run too long, and not all devices set the signature
28329 properly.
28330 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28331 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28332 Fix device selection, DEV bit must be set first to address the registers
28333 of the correct device.
28334 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28335 grub_ata_pio_read/write ().
28336 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28337 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28338
28339 2009-01-13 Carles Pina i Estany <carles@pina.cat>
28340
28341 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28342
28343 2009-01-13 Bean <bean123ch@gmail.com>
28344
28345 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28346
28347 2009-01-13 Bean <bean123ch@gmail.com>
28348
28349 * Makefile.in: (enable_grub_mkfont): New variable.
28350 (freetype_cflags): Likewise.
28351 (freetype_libs): Likewise.
28352
28353 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28354 (grub_mkfont_SOURCES): New variable.
28355 (grub_mkfont_CFLAGS): Likewise.
28356 (grub_mkfont_LDFLAGS): Likewise.
28357
28358 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28359 library if `--enable-grub-mkfont' is requested.
28360 (enable_grub_mkfont): New variable.
28361 (freetype_cflags): Likewise.
28362 (freetype_libs): Likewise.
28363
28364 * util/grub-mkfont.c: New file.
28365
28366 2009-01-12 Christian Franke <franke@computer.org>
28367
28368 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28369 mode check. Fix setting of compat_use[].
28370
28371 2009-01-10 Robert Millan <rmh@aybabtu.com>
28372
28373 Update a few copyright years which we forgot to do in 2008 (only for
28374 files whose changes made in 2008 were copyright-significant)
28375
28376 * Makefile.in: Add 2008 to Copyright line.
28377 * disk/ieee1275/ofdisk.c: Likewise.
28378 * disk/efi/efidisk.c: Likewise.
28379 * kern/dl.c: Likewise.
28380 * kern/sparc64/ieee1275/init.c: Likewise.
28381 * kern/mm.c: Likewise.
28382 * kern/efi/mm.c: Likewise.
28383 * boot/i386/pc/boot.S: Likewise.
28384 * genfslist.sh: Likewise.
28385 * fs/iso9660.c: Likewise.
28386 * fs/hfs.c: Likewise.
28387 * fs/jfs.c: Likewise.
28388 * fs/minix.c: Likewise.
28389 * fs/ufs.c: Likewise.
28390 * gensymlist.sh.in: Likewise.
28391 * genkernsyms.sh.in: Likewise.
28392 * include/grub/misc.h: Likewise.
28393 * include/grub/types.h: Likewise.
28394 * include/grub/symbol.h: Likewise.
28395 * include/grub/elf.h: Likewise.
28396 * include/grub/kernel.h: Likewise.
28397 * include/grub/disk.h: Likewise.
28398 * include/grub/dl.h: Likewise.
28399 * include/grub/i386/linux.h: Likewise.
28400 * include/grub/i386/pc/biosdisk.h: Likewise.
28401 * include/grub/efi/api.h: Likewise.
28402 * include/grub/efi/pe32.h: Likewise.
28403 * include/grub/util/misc.h: Likewise.
28404 * normal/execute.c: Likewise.
28405 * normal/arg.c: Likewise.
28406 * normal/completion.c: Likewise.
28407 * normal/lexer.c: Likewise.
28408 * normal/parser.y: Likewise.
28409 * normal/misc.c: Likewise.
28410 * commands/i386/pc/vbeinfo.c: Likewise.
28411 * commands/hexdump.c: Likewise.
28412 * commands/terminal.c: Likewise.
28413 * commands/ls.c: Likewise.
28414 * commands/help.c: Likewise.
28415 * partmap/pc.c: Likewise.
28416 * loader/efi/chainloader.c: Likewise.
28417 * loader/multiboot_loader.c: Likewise.
28418 * loader/i386/pc/multiboot2.c: Likewise.
28419 * term/efi/console.c: Likewise.
28420 * term/i386/pc/serial.c: Likewise.
28421 * util/lvm.c: Likewise.
28422 * util/console.c: Likewise.
28423 * util/i386/efi/grub-mkimage.c: Likewise.
28424 * util/raid.c: Likewise.
28425
28426 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28427
28428 * commands/videotest.c: Removed include to grub/machine/memory.h.
28429
28430 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28431 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28432 (video_mod_SOURCES): Removed.
28433 (video_mod_CFLAGS): Likewise.
28434 (video_mod_LDFLAGS): Likewise.
28435 (gfxterm_mod_SOURCES): Likewise.
28436 (gfxterm_mod_CFLAGS): Likewise.
28437 (gfxterm_mod_LDFLAGS): Likewise.
28438 (videotest_mod_SOURCES): Likewise.
28439 (videotest_mod_CFLAGS): Likewise.
28440 (videotest_mod_LDFLAGS): Likewise.
28441 (bitmap_mod_SOURCES): Likewise.
28442 (bitmap_mod_CFLAGS): Likewise.
28443 (bitmap_mod_LDFLAGS): Likewise.
28444 (tga_mod_SOURCES): Likewise.
28445 (tga_mod_CFLAGS): Likewise.
28446 (tga_mod_LDFLAGS): Likewise.
28447 (jpeg_mod_SOURCES): Likewise.
28448 (jpeg_mod_CFLAGS): Likewise.
28449 (jpeg_mod_LDFLAGS): Likewise.
28450 (png_mod_SOURCES): Likewise.
28451 (png_mod_CFLAGS): Likewise.
28452 (png_mod_LDFLAGS): Likewise.
28453
28454 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28455 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28456 (video_mod_SOURCES): Added.
28457 (video_mod_CFLAGS): Likewise.
28458 (video_mod_LDFLAGS): Likewise.
28459 (videotest_mod_SOURCES): Likewise.
28460 (videotest_mod_CFLAGS): Likewise.
28461 (videotest_mod_LDFLAGS): Likewise.
28462 (bitmap_mod_SOURCES): Likewise.
28463 (bitmap_mod_CFLAGS): Likewise.
28464 (bitmap_mod_LDFLAGS): Likewise.
28465 (tga_mod_SOURCES): Likewise.
28466 (tga_mod_CFLAGS): Likewise.
28467 (tga_mod_LDFLAGS): Likewise.
28468 (jpeg_mod_SOURCES): Likewise.
28469 (jpeg_mod_CFLAGS): Likewise.
28470 (jpeg_mod_LDFLAGS): Likewise.
28471 (png_mod_SOURCES): Likewise.
28472 (png_mod_CFLAGS): Likewise.
28473 (png_mod_LDFLAGS): Likewise.
28474 (gfxterm_mod_SOURCES): Likewise.
28475 (gfxterm_mod_CFLAGS): Likewise.
28476 (gfxterm_mod_LDFLAGS): Likewise.
28477
28478 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28479 grub/machine/console.h.
28480
28481 2009-01-04 Jerone Young <jerone@gmail.com>
28482
28483 Make on screen instructions clearer
28484
28485 Based on patch created by Jidanni <jidanni@jidanni.org>
28486
28487 * normal/menu.c: print clearer instructions on the screen
28488
28489 2009-01-02 Colin D Bennett <colin@gibibit.com>
28490
28491 New font engine.
28492
28493 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28494 build system and fixed gfxterm.c to work with different sized fonts.
28495
28496 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
28497
28498 * configure: Re-generated.
28499
28500 * DISTLIST: Removed font/manager.c.
28501 Added font/font.c.
28502 Added font/font_cmd.c.
28503
28504 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28505 compilation.
28506
28507 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
28508
28509 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
28510
28511 * kern/term.c: Changed users of grub_utf8_to_ucs4.
28512
28513 * normal/menu.c: Likewise.
28514
28515 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28516 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
28517
28518 * include/grub/font.h: Replaced with new file.
28519
28520 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28521 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28522 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28523 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28524 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
28525 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
28526 fg_red, fg_green, fg_blue, fg_alpha.
28527 (grub_video_adapter): Removed blit_glyph.
28528 (grub_video_blit_glyph): Removed.
28529
28530 * font/manager.c: Removed file.
28531
28532 * font/font.c: New file.
28533
28534 * font/font_cmd.c: Likewise.
28535
28536 * video/video.c (grub_video_blit_glyph): Removed.
28537
28538 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28539 (grub_video_vbe_map_rgba): Likewise.
28540 (grub_video_vbe_unmap_color_int): Likewise.
28541 (grub_video_vbe_blit_glyph): Removed.
28542 (grub_video_vbe_adapter): Removed blit_glyph.
28543
28544 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28545 (get_pixel): Likewise.
28546 (set_pixel): Likewise.
28547
28548 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
28549
28550 * term/gfxterm.c: Adapted to new font engine.
28551
28552 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
28553
28554 * term/i386/pc/vga.c: Likewise.
28555
28556 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
28557
28558 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28559
28560 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28561
28562 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28563
28564 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28565
28566 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28567
28568 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28569
28570 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28571
28572 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28573
28574 * util/grub.d/00_header.in: Changed to use new loadfont command.
28575
28576 * util/grub-mkconfig_lib.in: Changed font extension.
28577
28578 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
28579
28580 * util/getroot.c (grub_util_get_grub_dev): Add support for
28581 /dev/md/dNNpNN style partitionable mdraid devices.
28582
28583 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
28584
28585 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28586 at a time limit of the PXE TFTP API correctly.
28587 (grub_pxefs_close): Likewise.
28588
28589 2008-11-29 Robert Millan <rmh@aybabtu.com>
28590
28591 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
28592 grub_ata_device_initialize() calls.
28593
28594 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
28595
28596 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28597 iteration failed.
28598 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28599
28600 2008-11-28 Robert Millan <rmh@aybabtu.com>
28601
28602 Fix build on powerpc-ieee1275. Based on patch created by
28603 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28604 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28605 `kern/ieee1275/mmap.c'.
28606 * include/grub/powerpc/ieee1275/memory.h: New file.
28607
28608 Provide grub-install on coreboot.
28609 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28610 (grub_install_SOURCES): New variable.
28611 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28612 usable on coreboot.
28613
28614 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
28615
28616 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28617 to `grub_term_input_t'.
28618 (grub_term_get_current_output): Change return type to
28619 `grub_term_output_t'.
28620
28621 2008-11-22 Robert Millan <rmh@aybabtu.com>
28622
28623 Fix breakage on coreboot due to declaration mismatch.
28624 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
28625 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
28626 grub_vga_text_cls().
28627
28628 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
28629 comments. Avoid copying one more byte than necessary (just in case).
28630
28631 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
28632 to 0x200000 (avoids trouble with some OFW implementations, and matches
28633 with the one in Yaboot).
28634 Reported by Manoel Abranches
28635
28636 2008-11-20 Robert Millan <rmh@aybabtu.com>
28637
28638 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
28639 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
28640
28641 * util/grub-mkconfig_lib.in (grub_warn): New function.
28642 (convert_system_path_to_grub_path): Use grub_warn() when issuing
28643 warnings, to obtain consistent formatting.
28644 * util/grub.d/00_header.in: Likewise.
28645 * util/update-grub_lib.in: Likewise.
28646
28647 * loader/i386/linux.c (allocate_pages): Fix a warning.
28648 Move comment text to `#error' stanza.
28649
28650 Harmonize ieee1275's grub_available_iterate() with the generic
28651 grub_machine_mmap_iterate() interface (fixes a recently-introduced
28652 build problem on i386-ieee1275):
28653 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
28654 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
28655 parameter `type'. Update all users of this function.
28656 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28657 `kern/ieee1275/mmap.c'.
28658 * kern/ieee1275/init.c
28659 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
28660 with ...
28661 (grub_machine_mmap_iterate): ... this.
28662 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
28663 return type to `grub_err_t'. Update all implementations of this
28664 function prototype.
28665 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
28666 Likewise.
28667
28668 Add `lsmmap' command (lists firmware-provided memory map):
28669 * commands/lsmmap.c: New file.
28670 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
28671 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
28672 variables.
28673 * conf/powerpc-ieee1275.rmk: Likewise.
28674 * conf/i386-coreboot.rmk: Likewise.
28675 * conf/i386-ieee1275.rmk: Likewise.
28676
28677 2008-11-19 Robert Millan <rmh@aybabtu.com>
28678
28679 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
28680 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
28681 constraints to initrd allocation (based on code from
28682 loader/i386/pc/linux.c). Without them, initrd was allocated too high
28683 for Linux to find it.
28684
28685 2008-11-14 Robert Millan <rmh@aybabtu.com>
28686
28687 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
28688 order to cope with duplicate slashes.
28689
28690 2008-11-14 Robert Millan <rmh@aybabtu.com>
28691
28692 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
28693 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
28694 don't want to mess with lower memory, because it is used in the Linux
28695 loader.
28696
28697 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
28698 an appropriate place in lower memory, between 0x10000 and 0x90000,
28699 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
28700 is in our heap (probably as a result of it being corrupted during
28701 decompression). Add #error instance with comment to explain why this
28702 loader isn't currently usable on PC/BIOS.
28703
28704 2008-11-14 Robert Millan <rmh@aybabtu.com>
28705
28706 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
28707 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
28708
28709 2008-11-12 Robert Millan <rmh@aybabtu.com>
28710
28711 Make loader/i386/linux.c buildable on i386-pc (although disabled).
28712
28713 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
28714 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
28715 from here ...
28716 * include/grub/i386/pc/memory.h: ... to here.
28717
28718 2008-11-12 Robert Millan <rmh@aybabtu.com>
28719
28720 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
28721 split).
28722
28723 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
28724 (grub_console_cur_color, grub_console_real_putchar)
28725 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28726 (grub_console_setcolorstate, grub_console_setcolor)
28727 (grub_console_getcolor): Move from here ...
28728 * include/grub/i386/vga_common.h: ... to here (new file).
28729
28730 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
28731 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
28732 `<grub/i386/io.h>'.
28733 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
28734 `<grub/i386/vga_common.h>'.
28735
28736 2008-11-12 Robert Millan <rmh@aybabtu.com>
28737
28738 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
28739 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
28740 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
28741 variables.
28742 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28743 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
28744
28745 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
28746 grub_console_init() with call to grub_vga_text_init().
28747 (grub_machine_fini): Replace call to
28748 grub_console_fini() with call to grub_vga_text_fini() and
28749 grub_at_keyboard_fini().
28750
28751 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
28752 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28753 (grub_console_setcolorstate, grub_console_setcolor)
28754 (grub_console_getcolor): New function prototypes.
28755
28756 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
28757 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
28758 (grub_vga_text_setcursor): Static-ize.
28759 (grub_vga_text_term): New structure.
28760 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
28761
28762 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
28763 (grub_console_cur_color, grub_console_standard_color)
28764 (grub_console_normal_color, grub_console_highlight_color)
28765 (map_char, grub_console_putchar, grub_console_getcharwidth)
28766 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
28767 (grub_console_getcolor): Move from here ...
28768 * term/i386/vga_common.c: ... to here (same function names).
28769
28770 2008-11-12 Robert Millan <rmh@aybabtu.com>
28771
28772 Use newly-added Multiboot support in coreboot.
28773
28774 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28775 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
28776
28777 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
28778 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
28779 (codestart): Store the MBI in `startup_multiboot_info' when we're
28780 being loaded using Multiboot.
28781
28782 * kern/i386/coreboot/init.c (grub_machine_init): Move
28783 grub_at_keyboard_init() call to beginning of function (useful for
28784 debugging). Call grub_machine_mmap_init() before attempting to use
28785 grub_machine_mmap_iterate().
28786 (grub_lower_mem, grub_upper_mem): Move from here ...
28787 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
28788 here (new file).
28789
28790 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
28791 function prototype.
28792
28793 2008-11-12 Robert Millan <rmh@aybabtu.com>
28794
28795 Fix a regression introduced by the at_keyboard.mod split. Because
28796 some terminals are default on some platforms and non-default on
28797 others, the first terminal being registered determines which is
28798 going to be default.
28799
28800 * kern/term.c (grub_term_register_input): If this is the first
28801 terminal being registered, set it as the current one.
28802 (grub_term_register_output): Likewise.
28803
28804 * term/efi/console.c (grub_console_init): Do not call
28805 grub_term_set_current_output() or grub_term_set_current_input().
28806 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
28807 * term/i386/pc/console.c (grub_console_init): Likewise.
28808 (grub_console_fini): Do not call grub_term_set_current_input()
28809 (but leave grub_term_set_current_output() to restore text mode).
28810
28811 2008-11-10 Robert Millan <rmh@aybabtu.com>
28812
28813 * util/grub.d/00_header.in: Add backward compatibility check for
28814 versions of terminal.mod that don't understand `terminal_input' or
28815 `terminal_output'.
28816
28817 2008-11-09 Robert Millan <rmh@aybabtu.com>
28818
28819 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
28820 `terminal_input' / `terminal_output', not `terminal'.
28821
28822 2008-11-08 Robert Millan <rmh@aybabtu.com>
28823
28824 * Makefile.in (include_DATA): Fix srcdir=. assumption.
28825 (DISTCLEANFILES): Add `build_env.mk'.
28826
28827 2008-11-08 Robert Millan <rmh@aybabtu.com>
28828
28829 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
28830 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28831 members. Update all users.
28832 * util/console.c (grub_ncurses_term): Split in ...
28833 (grub_ncurses_term_input): ... this, and ...
28834 (grub_ncurses_term_output): ... this. Update all users.
28835 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
28836
28837 2008-11-08 Robert Millan <rmh@aybabtu.com>
28838
28839 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
28840 (PKGDATA): Add $(pkgdata_SRCDIR).
28841 (pkglib_BUILDDIR): New variable.
28842 (pkgdata_SRCDIR): New variable.
28843 (build_env.mk): New target.
28844 (include_DATA): New variable.
28845 (install-local): Install $(include_DATA) files in $(includedir).
28846
28847 2008-11-07 Pavel Roskin <proski@gnu.org>
28848
28849 * gendistlist.sh: Use C locale for sorting to ensure consistent
28850 output on all systems.
28851
28852 * util/grub.d/00_header.in: Remove incorrect space before
28853 "serial".
28854
28855 2008-11-07 Robert Millan <rmh@aybabtu.com>
28856
28857 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
28858 per specification.
28859 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
28860 * loader/multiboot_loader.c (find_multi_boot2_header): New function
28861 (based on find_multi_boot1_header).
28862 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
28863 using find_multi_boot2_header(), and abort if neither Multiboot or
28864 Multiboot headers were found.
28865
28866 2008-11-07 Robert Millan <rmh@aybabtu.com>
28867
28868 Modularize at_keyboard.mod:
28869
28870 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
28871 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28872 (at_keyboard_mod_LDFLAGS): New variables.
28873
28874 Actual terminal split:
28875
28876 * include/grub/term.h (struct grub_term): Split in ...
28877 (struct grub_term_input): ... this, and ...
28878 (struct grub_term_output): ... this. Update all users.
28879 (grub_term_set_current): Split in ...
28880 (grub_term_set_current_input): ... this, and ...
28881 (grub_term_set_current_output): ... this.
28882 (grub_term_get_current): Split in ...
28883 (grub_term_get_current_input): ... this, and ...
28884 (grub_term_get_current_output): ... this.
28885 (grub_term_register): Split in ...
28886 (grub_term_register_input): ... this, and ...
28887 (grub_term_register_output): ... this.
28888 (grub_term_unregister): Split in ...
28889 (grub_term_unregister_input): ... this, and ...
28890 (grub_term_unregister_output): ... this.
28891 (grub_term_iterate): Split in ...
28892 (grub_term_iterate_input): ... this, and ...
28893 (grub_term_iterate_output): ... this.
28894
28895 * kern/term.c (grub_term_list): Split in ...
28896 (grub_term_list_input): ... this, and ...
28897 (grub_term_list_output): ... this. Update all users.
28898 (grub_cur_term): Split in ...
28899 (grub_cur_term_input): ... this, and ...
28900 (grub_cur_term_output): ... this. Update all users.
28901 (grub_term_set_current): Split in ...
28902 (grub_term_set_current_input): ... this, and ...
28903 (grub_term_set_current_output): ... this.
28904 (grub_term_get_current): Split in ...
28905 (grub_term_get_current_input): ... this, and ...
28906 (grub_term_get_current_output): ... this.
28907 (grub_term_register): Split in ...
28908 (grub_term_register_input): ... this, and ...
28909 (grub_term_register_output): ... this.
28910 (grub_term_unregister): Split in ...
28911 (grub_term_unregister_input): ... this, and ...
28912 (grub_term_unregister_output): ... this.
28913 (grub_term_iterate): Split in ...
28914 (grub_term_iterate_input): ... this, and ...
28915 (grub_term_iterate_output): ... this.
28916
28917 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
28918 a check for input and one for output (and only attempt to get keys
28919 from user when input works).
28920
28921 * util/grub-probe.c (grub_term_get_current): Split in ...
28922 (grub_term_get_current_input): ... this, and ...
28923 (grub_term_get_current_output): ... this.
28924 * util/grub-fstest.c: Likewise.
28925 * util/i386/pc/grub-setup.c: Likewise.
28926 * util/grub-editenv.c: Likewise.
28927
28928 Portability adjustments:
28929
28930 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
28931 `term/i386/pc/at_keyboard.c'.
28932 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
28933 grub_keyboard_controller_init() (now handled by terminal .init).
28934 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
28935 grub_at_keyboard_init().
28936 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
28937 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
28938 at_keyboard.mod via input terminal interface).
28939 * include/grub/i386/coreboot/console.h: Convert into a stub for
28940 `<grub/i386/pc/console.h>'.
28941
28942 Migrate full terminals to new API:
28943
28944 * term/efi/console.c (grub_console_term): Split into ...
28945 (grub_console_term_input): ... this, and ...
28946 (grub_console_term_output): ... this. Update all users.
28947 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
28948 (grub_ofconsole_init): Split into ...
28949 (grub_ofconsole_init_input): ... this, and ...
28950 (grub_ofconsole_init_output): ... this.
28951 (grub_ofconsole_term): Split into ...
28952 (grub_ofconsole_term_input): ... this, and ...
28953 (grub_ofconsole_term_output): ... this. Update all users.
28954 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28955 (grub_serial_term_input): ... this, and ...
28956 (grub_serial_term_output): ... this. Update all users.
28957 * term/i386/pc/console.c (grub_console_term): Split into ...
28958 (grub_console_term_input): ... this, and ...
28959 (grub_console_term_output): ... this. Update all users.
28960 (grub_console_term_input): Only enable it on PC/BIOS platform.
28961 (grub_console_init): Remove grub_keyboard_controller_init() call.
28962
28963 Migrate input terminals to new API:
28964
28965 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28966 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28967 i386-specific anyway).
28968 (grub_console_checkkey): Rename to ...
28969 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28970 users.
28971 (grub_keyboard_controller_orig): New variable.
28972 (grub_console_getkey): Rename to ...
28973 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28974 users.
28975 (grub_keyboard_controller_init): Static-ize. Save original
28976 controller value so that it can be restored ...
28977 (grub_keyboard_controller_fini): ... here (new function).
28978 (grub_at_keyboard_term): New structure.
28979 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28980 functions.
28981
28982 Migrate output terminals to new API:
28983
28984 * term/i386/pc/vga.c (grub_vga_term): Change type to
28985 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28986 members. Update all users.
28987 * term/gfxterm.c (grub_video_term): Change type to
28988 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28989 members. Update all users.
28990 * include/grub/i386/pc/console.h (grub_console_checkkey)
28991 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28992 etc).
28993
28994 Migrate `terminal' command and userland tools to new API:
28995
28996 * commands/terminal.c (grub_cmd_terminal): Split into ...
28997 (grub_cmd_terminal_input): ... this, and ...
28998 (grub_cmd_terminal_output): ... this.
28999 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
29000 `terminal_input' and `terminal_output'.
29001 * util/grub.d/00_header.in: Adjust `terminal' calls to new
29002 `terminal_input' / `terminal_output' API.
29003 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
29004 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
29005 provided ${GRUB_TERMINAL}, convert it).
29006
29007 2008-11-04 Robert Millan <rmh@aybabtu.com>
29008
29009 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
29010 for FreeBSD.
29011 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
29012
29013 2008-11-03 Bean <bean123ch@gmail.com>
29014
29015 * kern/elf.c (grub_elf32_load): Revert to previous code.
29016 (grub_elf64_load): Likewise.
29017
29018 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
29019
29020 2008-11-01 Robert Millan <rmh@aybabtu.com>
29021
29022 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
29023 (TARGET_CPPFLAGS): Likewise.
29024 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29025
29026 2008-11-01 Carles Pina i Estany <carles@pina.cat>
29027
29028 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29029
29030 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29031
29032 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29033 addition of objects until the code is not going to be able to fail.
29034
29035 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29036
29037 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29038 (add a missing NULL check, and correct them by moving the pointer
29039 operations after the actual check).
29040
29041 2008-10-29 Robert Millan <rmh@aybabtu.com>
29042
29043 * util/i386/pc/grub-install.in: Handle empty string as output from
29044 make_system_path_relative_to_its_root().
29045
29046 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29047
29048 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29049 circular metadata worst case scenario. If the metadata is circular
29050 then copy the wrap in place.
29051 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29052 project lib/format_text/layout.h
29053 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29054
29055 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29056
29057 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
29058
29059 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29060
29061 * util/update-grub_lib.in: Mention filename in warning message.
29062
29063 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29064
29065 * NEWS: Update for rename of update-grub to grub-mkconfig.
29066
29067 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29068
29069 * util/update-grub_lib.in: Copy to ...
29070 * util/grub-mkconfig_lib.in: ... this. Update all users.
29071 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
29072 * util/update-grub.in: Rename to ...
29073 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29074 option. Add `--output' option to allow users to specify the generated
29075 configuration file. Default to stdout.
29076 (update_grub_dir): Rename to ...
29077 (grub_mkconfig_dir): ... this.
29078 (grub_cfg): Default to an empty string.
29079 * conf/common.rmk (update-grub): Rename to ...
29080 (grub-mkconfig): ... this.
29081 (update-grub_lib): Copy to ...
29082 (grub-mkconfig_lib): ... this.
29083 (update-grub_SCRIPTS): Copy to ...
29084 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29085 (update-grub_DATA): Rename to ...
29086 (grub-mkconfig_DATA): ... this.
29087
29088 2008-09-28 Robert Millan <rmh@aybabtu.com>
29089
29090 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29091 to `modified'. Add the real `created' field.
29092 (grub_iso9660_uuid): Use `modified' rather than `created' for
29093 constructing the UUID.
29094
29095 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
29096
29097 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29098 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29099
29100 2008-09-28 Bean <bean123ch@gmail.com>
29101
29102 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29103 Thanks to Christian Franke for finding this bug.
29104
29105 2008-09-25 Robert Millan <rmh@aybabtu.com>
29106
29107 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29108 instances of grub_util_get_disk_name() (see previous commit).
29109
29110 2008-09-25 Robert Millan <rmh@aybabtu.com>
29111
29112 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29113 `util/i386/get_disk_name.c'.
29114 * conf/i386-efi.rmk: Likewise.
29115 * conf/x86_64-efi.rmk: Likewise.
29116 * conf/i386-coreboot.rmk: Likewise.
29117 * conf/i386-ieee1275.rmk: Likewise.
29118 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29119 `util/ieee1275/get_disk_name.c'.
29120 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29121 * util/ieee1275/get_disk_name.c: Remove file.
29122 * util/i386/get_disk_name.c: Remove file.
29123 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29124 "hd%d" for device.map entries, rather than using
29125 grub_util_get_disk_name().
29126
29127 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29128
29129 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29130 warning.
29131 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29132
29133 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29134
29135 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29136 Changed to 0x5100.
29137 (GRUB_TERM_PPAGE): Changed to 0x4900.
29138
29139 2008-09-24 Robert Millan <rmh@aybabtu.com>
29140
29141 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29142 macros (they were i386-pc specific).
29143 * include/grub/sparc64/ieee1275/console.h: Likewise.
29144 * include/grub/efi/console.h: Likewise.
29145
29146 2008-09-22 Bean <bean123ch@gmail.com>
29147
29148 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29149 resident and in attribute list.
29150
29151 * include/grub/ntfs.h (BMP_LEN): Removed.
29152
29153 2008-09-22 Bean <bean123ch@gmail.com>
29154
29155 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
29156 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29157
29158 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29159 error occurs, as grub_disk_open will call grub_disk_close, which will
29160 call p->close (scsi).
29161
29162 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29163
29164 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29165 (AC_PREREQ): Bumped to 2.59.
29166 (AC_TRY_COMPILE): Replace obsolete macro with ...
29167 (AC_COMPILE_IFELSE): ... this.
29168 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29169 (AC_LINK_IFELSE): ... this.
29170
29171 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29172
29173 * autogen.sh: Add a call to `gendistlist.sh'.
29174
29175 2008-09-19 Christian Franke <franke@computer.org>
29176
29177 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29178 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29179 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29180 Export __enable_execute_stack() to modules.
29181 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29182 New function.
29183
29184 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29185
29186 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29187 Sort the list.
29188
29189 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29190
29191 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
29192 #include <grub/util/hostdisk.h>.
29193
29194 2008-09-08 Robert Millan <rmh@aybabtu.com>
29195
29196 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29197 segments when their filesz is zero (grub_file_read() interprets
29198 zero-size as "read until EOF", which results in memory corruption).
29199 Use `lowest_segment' rather than 0 for calculating the current
29200 segment load address.
29201
29202 2008-09-08 Robert Millan <rmh@aybabtu.com>
29203
29204 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29205 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29206 clobbered useful information.
29207
29208 2008-09-08 Robert Millan <rmh@aybabtu.com>
29209
29210 * include/grub/util/biosdisk.h: Move to ...
29211 * include/grub/util/hostdisk.h: ... here. Update all users.
29212 * util/biosdisk.c: Move to ...
29213 * util/hostdisk.c: ... here. Update all users.
29214
29215 2008-09-07 Robert Millan <rmh@aybabtu.com>
29216
29217 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29218 variables.
29219 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29220 and length can be stored directly in the `mbi->mmap_addr' and
29221 `mbi->mmap_length' struct fields.
29222
29223 2008-09-07 Robert Millan <rmh@aybabtu.com>
29224
29225 * conf/i386.rmk: New file. Provides declaration for building
29226 `cpuid.mod'.
29227 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29228 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29229 variables.
29230 Include `conf/i386.mk'.
29231 * conf/i386-efi.rmk: Likewise.
29232 * conf/x86_64-efi.rmk: Likewise.
29233 * conf/i386-coreboot.rmk: Likewise.
29234 * conf/i386-ieee1275.rmk: Likewise.
29235
29236 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29237
29238 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29239 Adds optimization support for BGR based modes.
29240
29241 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29242 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29243 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29244 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29245 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29246 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29247 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29248 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29249 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29250 (grub_video_i386_vbeblit_index_index): Likewise.
29251 (grub_video_i386_vbeblit_replace_directN): Added.
29252 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29253 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29254 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29255 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29256 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29257 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29258 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29259 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29260 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29261 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29262 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29263 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29264 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29265
29266 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29267 (grub_video_i386_vbefill_R8G8B8): Likewise.
29268 (grub_video_i386_vbefill_index): Likewise.
29269 (grub_video_i386_vbefill_direct32): Added.
29270 (grub_video_i386_vbefill_direct24): Likewise.
29271 (grub_video_i386_vbefill_direct16): Likewise.
29272 (grub_video_i386_vbefill_direct8): Likewise.
29273
29274 * include/grub/video.h (grub_video_blit_format): Removed
29275 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29276 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29277 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29278 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29279 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
29280
29281 * video/video.c (grub_video_get_blit_format): Updated to use new
29282 blit formats. Added handling for 16 bit color modes.
29283
29284 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
29285 fillers.
29286 (common_blitter): Updated to use new blitters.
29287
29288 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29289 Removed.
29290 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29291 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29292 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29293 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29294 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29295 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29296 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29297 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29298 (grub_video_i386_vbeblit_index_index): Likewise.
29299 (grub_video_i386_vbeblit_replace_directN): Added.
29300 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29301 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29302 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29303 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29304 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29305 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29306 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29307 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29308 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29309 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29310 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29311 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29312 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29313
29314 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29315 (grub_video_i386_vbefill_R8G8B8): Likewise.
29316 (grub_video_i386_vbefill_index): Likewise.
29317 (grub_video_i386_vbefill_direct32): Added.
29318 (grub_video_i386_vbefill_direct24): Likewise.
29319 (grub_video_i386_vbefill_direct16): Likewise.
29320 (grub_video_i386_vbefill_direct8): Likewise.
29321
29322 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29323 types.
29324
29325 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29326 types.
29327
29328 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29329 blitter types.
29330
29331 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29332 types.
29333
29334 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29335
29336 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29337 RAID level 1.
29338
29339 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29340
29341 * fs/iso9660.c (grub_iso9660_date): New structure.
29342 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29343 (grub_iso9660_uuid): New function.
29344
29345 2008-09-05 Bean <bean123ch@gmail.com>
29346
29347 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29348
29349 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29350 insensitive bit for names in Win32 and Win32 & DOS namespace.
29351
29352 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29353
29354 * include/grub/types.h (LONG_MAX): Likewise.
29355
29356 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29357
29358 * util/getroot.c: Include <config.h>.
29359 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29360 add support for /dev/md/N devices and handle LVM double dash escaping.
29361
29362 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29363
29364 * config.guess: Update to latest version from config git.
29365 * config.sub: Likewise.
29366
29367 2008-09-03 Robert Millan <rmh@aybabtu.com>
29368
29369 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29370 `disk->total_sectors'.
29371
29372 2008-09-01 Colin D Bennett <colin@gibibit.com>
29373
29374 * include/grub/normal.h: Fixed incorrect comment for
29375 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29376
29377 2008-09-01 Colin D Bennett <colin@gibibit.com>
29378
29379 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29380 values with defines.
29381
29382 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29383 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29384 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29385 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29386 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29387 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29388 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29389 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29390 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29391 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29392 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29393 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29394 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29395 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29396 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29397 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29398 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29399 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29400 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29401
29402 2008-08-31 Robert Millan <rmh@aybabtu.com>
29403
29404 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29405 declaration.
29406 (grub_multiboot): Fix a few warnings.
29407
29408 2008-08-31 Robert Millan <rmh@aybabtu.com>
29409
29410 * loader/i386/pc/multiboot.c: Update comment not to say that
29411 boot_device support is unimplemented.
29412
29413 2008-08-31 Robert Millan <rmh@aybabtu.com>
29414
29415 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29416 or memory map support are unimplemented.
29417
29418 2008-08-31 Colin D Bennett <colin@gibibit.com>
29419
29420 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29421
29422 2008-08-31 Colin D Bennett <colin@gibibit.com>
29423
29424 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29425 total video memory in 'vbeinfo' output; show color format details for
29426 each video mode.
29427
29428 2008-08-30 Pavel Roskin <proski@gnu.org>
29429
29430 * util/genmoddep.c: Remove for real this time.
29431 * DISTLIST: Remove util/genmoddep.c.
29432
29433 2008-08-30 Robert Millan <rmh@aybabtu.com>
29434
29435 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29436 as required by Multiboot spec (it was already 4-byte aligned, but
29437 only by chance).
29438
29439 2008-08-29 Pavel Roskin <proski@gnu.org>
29440
29441 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29442 * kern/powerpc/ieee1275/startup.S: ... this.
29443 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29444 * DISTLIST: Likewise.
29445
29446 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29447 grub/cpu/kernel.h. Add start label for consistency with other
29448 platforms. Add grub_prefix immediately after start. Add jump
29449 to the code after grub_prefix.
29450 * include/grub/powerpc/kernel.h: Provide valid values for
29451 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29452
29453 2008-08-29 Bean <bean123ch@gmail.com>
29454
29455 * configure.ac: Change host_os to cygwin for mingw.
29456 (asprintf): New check for function.
29457
29458 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29459 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29460
29461 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
29462 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
29463 sync, sleep and grub_util_get_disk_size for mingw.
29464
29465 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29466 to get size in mingw.
29467 (open_device): Use flag O_BINARY if it's defined.
29468 (find_root_device): Add dummy code for mingw.
29469
29470 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29471 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29472 (get_scsi_disk_name): Return 0 for mingw.
29473
29474 * util/hostfs.c: #include <grub/util/misc.h>.
29475 (grub_hostfs_open): Use "rb" flag to open file, use
29476 grub_util_get_disk_size to get disk size for mingw.
29477
29478 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29479 (asprintf): New function if HAVE_ASPRINTF is not set.
29480 (sync): New function for mingw.
29481 (sleep): Likewise.
29482 (grub_util_get_disk_size): Likewise.
29483
29484 2008-08-28 Pavel Roskin <proski@gnu.org>
29485
29486 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29487 kern/time.c.
29488
29489 2008-08-28 Robert Millan <rmh@aybabtu.com>
29490
29491 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29492
29493 2008-08-28 Robert Millan <rmh@aybabtu.com>
29494
29495 Change find_grub_drive() syntax so it doesn't prevent it from
29496 detecting NULL names as errors.
29497
29498 * util/biosdisk.c (find_grub_drive): Move free slot search code
29499 from here ...
29500 (find_free_slot): ... to here.
29501 (read_device_map): Use find_free_slot() to search for free slots.
29502
29503 2008-08-27 Marco Gerards <marco@gnu.org>
29504
29505 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29506 (scsi_mod_SOURCES): New variable.
29507 (scsi_mod_CFLAGS): Likewise
29508 (scsi_mod_LDFLAGS): Likewise.
29509
29510 * disk/scsi.c: New file.
29511
29512 * include/grub/scsi.h: Likewise.
29513
29514 * include/grub/scsicmd.h: Likewise.
29515
29516 * disk/ata.c: Include <grub/scsi.h>.
29517 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29518 instead.
29519 (grub_ata_iterate): Skip ATAPI devices.
29520 (grub_ata_open): Only handle ATAPI devices.
29521 (struct grub_atapi_read): Removed.
29522 (grub_atapi_readsector): Likewise.
29523 (grub_ata_read): No longer handle ATAPI devices.
29524 (grub_ata_write): Likewise.
29525 (grub_atapi_iterate): New function.
29526 (grub_atapi_read): Likewise.
29527 (grub_atapi_write): Likewise.
29528 (grub_atapi_open): Likewise.
29529 (grub_atapi_close): Likewise.
29530 (grub_atapi_dev): New variable.
29531 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29532 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29533
29534 * include/grub/disk.h (enum grub_disk_dev_id): Add
29535 `GRUB_DISK_DEVICE_SCSI_ID'.
29536
29537 2008-08-26 Robert Millan <rmh@aybabtu.com>
29538
29539 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29540 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29541 descriptive.
29542
29543 2008-08-23 Bean <bean123ch@gmail.com>
29544
29545 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29546 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29547 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29548 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29549 dm_nv.mod.
29550 (raid5rec_mod_SOURCES): New macro.
29551 (raid5rec_mod_CFLAGS): Likewise.
29552 (raid5rec_mod_LDFLAGS): Likewise.
29553 (raid6rec_mod_SOURCES): Likewise.
29554 (raid6rec_mod_CFLAGS): Likewise.
29555 (raid6rec_mod_LDFLAGS): Likewise.
29556 (mdraid_mod_SOURCES): Likewise.
29557 (mdraid_mod_CFLAGS): Likewise.
29558 (mdraid_mod_LDFLAGS): Likewise.
29559 (dm_nv_mod_SOURCES): Likewise.
29560 (dm_nv_mod_CFLAGS): Likewise.
29561 (dm_nv_mod_LDFLAGS): Likewise.
29562
29563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29564 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29565 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29566
29567 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29568 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29569
29570 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29571
29572 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29573
29574 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29575
29576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29577
29578 * disk/raid5_recover.c: New file.
29579
29580 * disk/raid6_recover.c: Likewise.
29581
29582 * disk/mdraid_linux.c: Likewise.
29583
29584 * disk/dmraid_nvidia.c: Likewise.
29585
29586 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29587 ULONG_MAX.
29588
29589 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29590 calculate the size of raid device.
29591 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29592 different layout of raid5.
29593 (grub_raid_scan_device): Remove code specific to mdraid.
29594 (grub_raid_list): New variable.
29595 (free_array): New function.
29596 (grub_raid_register): Likewise.
29597 (grub_raid_unregister): Likewise.
29598 (grub_raid_rescan): Likewise.
29599 (GRUB_MOD_INIT): Don't iterate device here.
29600 (GRUB_MOD_FINI): Use free_array to release resource.
29601
29602 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29603 (grub_raid5_recover_func_t): New function variable type.
29604 (grub_raid6_recover_func_t): Likewise.
29605 (grub_raid5_recover_func): New variable.
29606 (grub_raid6_recover_func): Likewise.
29607 (grub_raid_register): New function.
29608 (grub_raid_unregister): Likewise.
29609 (grub_raid_rescan): Likewise.
29610 (grub_raid_block_xor): Likewise.
29611
29612 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29613 (CMD_CRC): New macro.
29614 (part): Removed.
29615 (read_file): Handle device as well as file.
29616 (cmd_crc): New function.
29617 (fstest): Handle multiple disks.
29618 (options): Remove part, raw and long, add root and diskcount.
29619 (usage): Add crc, remove -p, -r, -l, add -r and -c.
29620 (main): Find the first non option entry and ignore subsequent options,
29621 add handling for the new options, support multiple disks.
29622
29623 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
29624
29625 2008-08-23 Bean <bean123ch@gmail.com>
29626
29627 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
29628
29629 * genfslist.sh: Ignore kernel.mod.
29630
29631 * genpartmaplist.sh: Likewise.
29632
29633 2008-08-23 Robert Millan <rmh@aybabtu.com>
29634
29635 * util/getroot.c (find_root_device): Skip anything that starts with
29636 a dot, not just directories. This avoids things like /dev/.tmp.md0.
29637
29638 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
29639
29640 * util/update-grub.in (GRUB_GFXMODE): Export variable.
29641 * util/grub.d/00_header.in: Allow the administrator to change default
29642 gfxmode via ${GRUB_GFXMODE}.
29643
29644 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
29645
29646 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
29647
29648 2008-08-21 Robert Millan <rmh@aybabtu.com>
29649
29650 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
29651 loader.
29652 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
29653 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
29654
29655 2008-08-20 Carles Pina i Estany <carles@pina.cat>
29656
29657 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
29658 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
29659
29660 2008-08-19 Robert Millan <rmh@aybabtu.com>
29661
29662 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
29663 (struct grub_virtual_screen): Remove `cursor_color'.
29664 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
29665 initialization.
29666 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
29667
29668 2008-08-18 Robert Millan <rmh@aybabtu.com>
29669
29670 Unify (identical) linux_normal.c files.
29671 * loader/i386/efi/linux_normal.c: Move from here ...
29672 * loader/linux_normal.c: ... to here. Update all users.
29673 * loader/i386/pc/linux_normal.c: Delete. Update all users.
29674 * loader/i386/ieee1275/linux_normal.c: Likewise.
29675
29676 2008-08-18 Robert Millan <rmh@aybabtu.com>
29677
29678 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
29679 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
29680 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
29681 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
29682 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
29683 New macros.
29684 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
29685 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
29686 (GRUB_LINUX_CL_END_OFFSET): ... to here.
29687 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
29688 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
29689 (GRUB_EFI_CL_END_OFFSET): Rename to ...
29690 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
29691 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
29692 Initialize `params->video_cursor_x' and `params->video_cursor_y'
29693 portably using grub_getxy().
29694 Replace `-EFI' with `-bzImage' in boot message.
29695
29696 2008-08-17 Robert Millan <rmh@aybabtu.com>
29697
29698 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
29699
29700 2008-08-17 Robert Millan <rmh@aybabtu.com>
29701
29702 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
29703
29704 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
29705 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
29706 (grub_machine_mmap_iterate): New function declaration.
29707 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
29708 structure.
29709 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
29710 macros.
29711
29712 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
29713 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
29714 Move e820 parsing from here ...
29715 * kern/i386/pc/mmap.c: New file.
29716 (grub_machine_mmap_iterate): ... to here.
29717
29718 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
29719 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
29720 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
29721 (grub_available_iterate): Redeclare to return `void', and redeclare
29722 its hook to use grub_uint64_t as addr and size parameters, and rename
29723 to ...
29724 (grub_machine_mmap_iterate): ... this. Update all users.
29725
29726 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
29727 to make it more readable. Rename to ...
29728 (grub_machine_mmap_iterate): ... this.
29729
29730 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
29731 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
29732 (grub_multiboot): Allocate an extra region after the payload, and fill
29733 it with a Multiboot memory map. Adjust a.out loader to calculate size
29734 with the extra space.
29735 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
29736 with the extra space.
29737
29738 2008-08-17 Carles Pina i Estany <carles@pina.cat>
29739
29740 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
29741
29742 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
29743
29744 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
29745 mdate-sh to the list `find' searches for.
29746 * DISTLIST: Regenerated.
29747
29748 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
29749
29750 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
29751 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
29752 genmoddep.awk, gensymlist.sh.in.
29753 (DISTDIRS): Add bus, docs, hook, lib.
29754 * DISTLIST: Regenerated.
29755 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
29756
29757 2008-08-16 Robert Millan <rmh@aybabtu.com>
29758
29759 * disk/raid.c (grub_raid_init): Handle/report errors set by
29760 grub_device_iterate().
29761 * disk/lvm.c (grub_lvm_init): Likewise.
29762
29763 2008-08-15 Bean <bean123ch@gmail.com>
29764
29765 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29766 and datehook.mod.
29767 (datetime_mod_SOURCES): New macro.
29768 (datetime_mod_CFLAGS): Likewise.
29769 (datetime_mod_LDFLAGS): Likewise.
29770 (date_mod_SOURCES): Likewise.
29771 (date_mod_CFLAGS): Likewise.
29772 (date_mod_LDFLAGS): Likewise.
29773 (datehook_mod_SOURCES): Likewise.
29774 (datehook_mod_CFLAGS): Likewise.
29775 (datehook_mod_LDFLAGS): Likewise.
29776
29777 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29778 and datehook.mod.
29779 (datetime_mod_SOURCES): New macro.
29780 (datetime_mod_CFLAGS): Likewise.
29781 (datetime_mod_LDFLAGS): Likewise.
29782 (date_mod_SOURCES): Likewise.
29783 (date_mod_CFLAGS): Likewise.
29784 (date_mod_LDFLAGS): Likewise.
29785 (datehook_mod_SOURCES): Likewise.
29786 (datehook_mod_CFLAGS): Likewise.
29787 (datehook_mod_LDFLAGS): Likewise.
29788
29789 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29790 and datehook.mod.
29791 (datetime_mod_SOURCES): New macro.
29792 (datetime_mod_CFLAGS): Likewise.
29793 (datetime_mod_LDFLAGS): Likewise.
29794 (date_mod_SOURCES): Likewise.
29795 (date_mod_CFLAGS): Likewise.
29796 (date_mod_LDFLAGS): Likewise.
29797 (datehook_mod_SOURCES): Likewise.
29798 (datehook_mod_CFLAGS): Likewise.
29799 (datehook_mod_LDFLAGS): Likewise.
29800
29801 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29802 and datehook.mod.
29803 (datetime_mod_SOURCES): New macro.
29804 (datetime_mod_CFLAGS): Likewise.
29805 (datetime_mod_LDFLAGS): Likewise.
29806 (date_mod_SOURCES): Likewise.
29807 (date_mod_CFLAGS): Likewise.
29808 (date_mod_LDFLAGS): Likewise.
29809 (datehook_mod_SOURCES): Likewise.
29810 (datehook_mod_CFLAGS): Likewise.
29811 (datehook_mod_LDFLAGS): Likewise.
29812
29813 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29814 and datehook.mod.
29815 (datetime_mod_SOURCES): New macro.
29816 (datetime_mod_CFLAGS): Likewise.
29817 (datetime_mod_LDFLAGS): Likewise.
29818 (date_mod_SOURCES): Likewise.
29819 (date_mod_CFLAGS): Likewise.
29820 (date_mod_LDFLAGS): Likewise.
29821 (datehook_mod_SOURCES): Likewise.
29822 (datehook_mod_CFLAGS): Likewise.
29823 (datehook_mod_LDFLAGS): Likewise.
29824
29825 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
29826
29827 * commands/date.c: New file.
29828
29829 * hook/datehook.c: Likewise.
29830
29831 * include/grub/lib/datetime.h: Likewise.
29832
29833 * include/grub/i386/cmos.h: Likewise.
29834
29835 * lib/datetime.c: Likewise.
29836
29837 * lib/i386/datetime.c: Likewise.
29838
29839 * lib/efi/datetime.c: Likewise.
29840
29841 2008-08-14 Robert Millan <rmh@aybabtu.com>
29842
29843 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
29844 (grub_mkelfimage_SOURCES): New variable.
29845 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
29846
29847 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
29848 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
29849 * conf/powerpc-ieee1275.rmk: Likewise.
29850 * conf/i386-ieee1275.rmk: Likewise.
29851
29852 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
29853 * kern/i386/coreboot/init.c: Likewise.
29854
29855 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
29856 with `<grub/cpu/kernel.h>'.
29857 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
29858 to ...
29859 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
29860 * kern/i386/coreboot/startup.S: Likewise.
29861
29862 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
29863 (GRUB_MOD_GAP): Remove.
29864 * include/grub/powerpc/kernel.h: New file.
29865 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
29866 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29867 * include/grub/i386/kernel.h: New file.
29868 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
29869 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
29870 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29871
29872 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
29873 `grub-mkelfimage'.
29874 Use --directory when invoking grub_mkimage.
29875
29876 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
29877 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
29878 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
29879 and GRUB_KERNEL_CPU_PREFIX.
29880
29881 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
29882
29883 * include/grub/err.h (grub_err_printf): New function prototype.
29884 * util/misc.c (grub_err_printf): New function.
29885 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
29886 grub_printf.
29887 * kern/err.c (grub_print_error): Use grub_err_printf.
29888
29889 2008-08-13 Robert Millan <rmh@aybabtu.com>
29890
29891 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
29892
29893 2008-08-13 Robert Millan <rmh@aybabtu.com>
29894
29895 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
29896 boot entry.
29897
29898 2008-08-12 Robert Millan <rmh@aybabtu.com>
29899
29900 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
29901 of the relocation code from here ...
29902 (grub_multiboot): ... to here.
29903 (forward_relocator, backward_relocator): Move from here ...
29904 * kern/i386/loader.S (grub_multiboot_forward_relocator)
29905 (grub_multiboot_backward_relocator): ... to here.
29906 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
29907 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
29908 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
29909 (grub_multiboot_forward_relocator_end)
29910 (grub_multiboot_backward_relocator)
29911 (grub_multiboot_backward_relocator_end): New variables.
29912
29913 2008-08-12 Bean <bean123ch@gmail.com>
29914
29915 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
29916
29917 2008-08-11 Robert Millan <rmh@aybabtu.com>
29918
29919 * kern/i386/linuxbios/startup.S: Move from here ...
29920 * kern/i386/coreboot/startup.S: ... to here.
29921
29922 * kern/i386/linuxbios/init.c: Move from here ...
29923 * kern/i386/coreboot/init.c: ... to here.
29924
29925 * kern/i386/linuxbios/table.c: Move from here ...
29926 * kern/i386/coreboot/mmap.c: ... to here.
29927
29928 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
29929
29930 2008-08-11 Robert Millan <rmh@aybabtu.com>
29931
29932 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
29933 errors. Leave it to the upper layer to handle them.
29934
29935 2008-08-09 Christian Franke <franke@computer.org>
29936
29937 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
29938 * conf/common.rmk: Install `grub-pe2elf' only if requested.
29939 Install `grub.d/10_windows' only on Cygwin.
29940 * configure.ac: Add subst of `target_os'.
29941 Check `target_os' also before setting TARGET_OBJ2ELF.
29942 Add `--enable-grub-pe2elf'.
29943
29944 2008-08-08 Robert Millan <rmh@aybabtu.com>
29945
29946 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29947 (grub_last_time): Change type to grub_uint64_t.
29948 (grub_disk_open): Migrate code from to using grub_get_time_ms().
29949 (grub_disk_close): Likewise.
29950
29951 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29952 (run_menu): Migrate code from to using grub_get_time_ms().
29953
29954 * util/misc.c (grub_get_time_ms): New function.
29955
29956 2008-08-08 Marco Gerards <marco@gnu.org>
29957
29958 * disk/ata.c (grub_ata_regget): Change return type to
29959 `grub_uint8_t'.
29960 (grub_ata_regget2): Likewise.
29961 (grub_ata_wait_status): New function.
29962 (grub_ata_wait_busy): Removed function, updated all users to use
29963 `grub_ata_wait_status'.
29964 (grub_ata_wait_drq): Likewise.
29965 (grub_ata_cmd): New function.
29966 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29967 error handling.
29968 (grub_ata_pio_write): Add error handling.
29969 (grub_atapi_identify): Likewise.
29970 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29971 handling.
29972 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29973 handling. Actually use the detected registers. Reorder the
29974 detection logic such that it is easier to read.
29975 (grub_ata_pciinit): Do not assign the same ID to each controller.
29976 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29977 handling.
29978 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29979
29980 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29981
29982 2008-08-08 Marco Gerards <marco@gnu.org>
29983
29984 * NEWS: Update.
29985
29986 2008-08-07 Bean <bean123ch@gmail.com>
29987
29988 * include/grub/x86_64/pci.h: New file.
29989
29990 2008-08-07 Christian Franke <franke@computer.org>
29991
29992 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29993 (TIMER2_GATE): Likewise.
29994 (grub_pit_wait): Add enable/disable of the timer2 gate
29995 bit of port 0x61. This fixes a possible infinite loop.
29996
29997 2008-08-07 Bean <bean123ch@gmail.com>
29998
29999 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
30000 kern/i386/tsc.c and kern/i386/pit.c.
30001
30002 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
30003 x86_64 platform.
30004
30005 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
30006 <grub/i386/tsc.h>.
30007
30008 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
30009
30010 2008-08-07 Bean <bean123ch@gmail.com>
30011
30012 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
30013
30014 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
30015
30016 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
30017 multiple inclusion. Add #include <grub/types.h>.
30018
30019 2008-08-06 Christian Franke <franke@computer.org>
30020
30021 * conf/common.rmk: Build and install `10_windows'.
30022 * util/grub.d/10_windows.in: New script.
30023
30024 2008-08-06 Pavel Roskin <proski@gnu.org>
30025
30026 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30027
30028 2008-08-06 Robert Millan <rmh@aybabtu.com>
30029
30030 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30031 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30032
30033 2008-08-06 Bean <bean123ch@gmail.com>
30034
30035 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30036 (grub_pxefs_fs_int): Remove dummy definition.
30037 (grub_pxefs_open): Use data->block_size to store the current block
30038 size setting.
30039 (grub_pxefs_read): Use block size stored in data->block_size. As the
30040 value of grub_pxe_blksize can be changed after the file is opened.
30041
30042 2008-08-06 Bean <bean123ch@gmail.com>
30043
30044 * fs/i386/pc/pxe.c (curr_file): new variable.
30045 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30046 require the dummy internal file system anymore.
30047 (grub_pxefs_read): Removed.
30048 (grub_pxefs_close): Likewise.
30049 (grub_pxefs_fs_int): Likewise.
30050 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30051 connection when we switch file.
30052 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30053
30054 2008-08-06 Robert Millan <rmh@aybabtu.com>
30055
30056 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30057 `halt.mod'.
30058 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30059 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30060
30061 * kern/i386/halt.c: New file.
30062 * kern/i386/reboot.c: Likewise.
30063 * include/grub/i386/reboot.h: Likewise.
30064 * include/grub/i386/halt.h: Likewise.
30065
30066 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30067 Include `<grub/cpu/halt.h>'.
30068 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30069 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30070
30071 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30072 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30073 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30074 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30075 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30076 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30077 from here ...
30078 * include/grub/i386/at_keyboard.h: ... to here.
30079
30080 2008-08-05 Robert Millan <rmh@aybabtu.com>
30081
30082 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30083 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30084 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30085 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30086 `kern/generic/millisleep.c'.
30087
30088 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30089 instead of grub_get_rtc().
30090 (grub_tsc_init): Initialize `tsc_boot_time'.
30091
30092 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30093 (grub_machine_init): Use grub_tsc_init() rather than
30094 installing an RTC-based handler via grub_install_get_time_ms().
30095
30096 * kern/i386/pit.c: New file.
30097 * include/grub/i386/pit.h: Likewise.
30098
30099 2008-08-05 Bean <bean123ch@gmail.com>
30100
30101 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30102
30103 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30104 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30105 (pxe_mod_SOURCES): New macro.
30106 (pxe_mod_CFLAGS): Likewise.
30107 (pxe_mod_LDFLAGS): Likewise.
30108 (pxecmd_mod_SOURCES): Likewise.
30109 (pxecmd_mod_CFLAGS): Likewise.
30110 (pxecmd_mod_LDFLAGS): Likewise.
30111
30112 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30113 (grub_pxe_call): Likewise.
30114
30115 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30116
30117 * commands/i386/pc/pxecmd.c: New file.
30118
30119 * fs/i386/pc/pxe.c: Likewise.
30120
30121 * include/grub/i386/pc/pxe.h: Likewise.
30122
30123 2008-08-05 Bean <bean123ch@gmail.com>
30124
30125 * util/console.c (grub_console_cur_color): New variable.
30126 (grub_console_standard_color): Likewise.
30127 (grub_console_normal_color): Likewise.
30128 (grub_console_highlight_color): Likewise.
30129 (color_map): Likewise.
30130 (use_color): Likewise.
30131 (NUM_COLORS): New macro.
30132 (grub_ncurses_setcolorstate): Handle color properly.
30133 (grub_ncurses_setcolor): Don't change color here, just remember the
30134 settings, color will be set in grub_ncurses_setcolorstate.
30135 (grub_ncurses_getcolor): New function.
30136 (grub_ncurses_init): Initialize color pairs.
30137 (grub_ncurses_term): New member grub_ncurses_getcolor.
30138
30139 2008-08-05 Colin D Bennett <colin@gibibit.com>
30140
30141 High resolution timer support. Implemented for x86 CPUs using TSC.
30142 Extracted generic grub_millisleep() so it's linked in only as needed.
30143 This requires a Pentium compatible CPU; if the RDTSC instruction is
30144 not supported, then it falls back on the generic grub_get_time_ms()
30145 implementation that uses the machine's RTC.
30146
30147 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30148 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30149 `kern/generic/millisleep.c'.
30150
30151 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30152 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30153
30154 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30155 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30156
30157 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30158
30159 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30160 `kern/generic/millisleep.c'.
30161
30162 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30163
30164 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30165
30166 * kern/generic/rtc_get_time_ms.c: New file.
30167
30168 * kern/generic/millisleep.c: New file.
30169
30170 * kern/misc.c: Don't include
30171 <kern/time.h> anymore.
30172 (grub_millisleep_generic): Removed.
30173
30174 * commands/sleep.c (grub_interruptible_millisleep): Uses
30175 grub_get_time_ms() instead of grub_get_rtc().
30176
30177 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30178 function.
30179 (grub_cpu_is_cpuid_supported): New inline function.
30180 (grub_cpu_is_tsc_supported): New inline function.
30181 (grub_tsc_init): New function prototype.
30182 (grub_tsc_get_time_ms): New function prototype.
30183
30184 * kern/i386/tsc.c (grub_get_time_ms): New file.
30185
30186 * include/grub/time.h: Include <grub/types.h.
30187 (grub_millisleep_generic): Removed.
30188 (grub_get_time_ms): New prototype.
30189 (grub_install_get_time_ms): New prototype.
30190 (grub_rtc_get_time_ms): New prototype.
30191
30192 * kern/time.c (grub_get_time_ms): New function.
30193 (grub_install_get_time_ms): New function.
30194
30195 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30196 <grub/time.h> anymore.
30197 (grub_millisleep): Removed.
30198 (grub_machine_init): Call grub_tsc_init.
30199
30200 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30201 get_time_ms() implementation.
30202
30203 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30204 (ieee1275_get_time_ms): New function.
30205 (grub_machine_init): Install get_time_ms() implementation.
30206
30207 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30208 (grub_machine_init): Call grub_tsc_init().
30209 (grub_millisleep): Removed.
30210
30211 * kern/ieee1275/init.c (grub_millisleep): Removed.
30212 (grub_machine_init): Install ieee1275_get_time_ms()
30213 implementation.
30214 (ieee1275_get_time_ms): New function.
30215 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30216 real work.
30217
30218 2008-08-05 Marco Gerards <marco@gnu.org>
30219
30220 * disk/ata.c: Include <grub/pci.h>.
30221 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30222 (grub_ata_initialize): Rewritten.
30223 (grub_ata_device_initialize): New function.
30224
30225 2008-08-04 Pavel Roskin <proski@gnu.org>
30226
30227 * kern/main.c: Include grub/mm.h.
30228
30229 2008-08-04 Robert Millan <rmh@aybabtu.com>
30230
30231 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30232 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30233 corruption problem).
30234
30235 2008-08-04 Robert Millan <rmh@aybabtu.com>
30236
30237 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30238 warnings introduced in my last commit.
30239
30240 2008-08-03 Robert Millan <rmh@aybabtu.com>
30241
30242 Make PCI available on all i386 architectures.
30243
30244 * include/grub/i386/pc/pci.h: Move from here ...
30245 * include/grub/i386/pci.h: ... to here.
30246
30247 * include/grub/i386/pc/pci.h: Remove.
30248 * include/grub/i386/efi/pci.h: Remove.
30249 * include/grub/x86_64/efi/pci.h: Remove.
30250
30251 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30252 `<grub/cpu/pci.h>'.
30253
30254 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30255 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30256 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30257
30258 * conf/i386-ieee1275.rmk: Likewise.
30259
30260 2008-08-03 Robert Millan <rmh@aybabtu.com>
30261
30262 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30263 (grub_console_setcursor): Make it possible to set cursor off.
30264
30265 2008-08-03 Robert Millan <rmh@aybabtu.com>
30266
30267 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30268 of modules instead of assuming which platform provides what.
30269 * util/update-grub.in: Likewise.
30270
30271 2008-08-03 Robert Millan <rmh@aybabtu.com>
30272
30273 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30274 instead of `grub_install_dos_part' to determine whether a drive needs
30275 to be prepended to prefix (`grub_install_dos_part' is not reliable,
30276 because it can be overridden when loading GRUB via Multiboot).
30277
30278 2008-08-02 Robert Millan <rmh@aybabtu.com>
30279
30280 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30281
30282 2008-08-02 Robert Millan <rmh@aybabtu.com>
30283
30284 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30285 of informational grub_dprintf() calls.
30286
30287 2008-08-02 Robert Millan <rmh@aybabtu.com>
30288
30289 * disk/memdisk.c (memdisk_size): Don't initialize.
30290 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30291
30292 * include/grub/i386/pc/kernel.h
30293 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30294 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30295 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30296 (grub_arch_memdisk_size): Remove.
30297
30298 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30299 field (was only used to transfer a constant). Add `type' field to
30300 support multiple module types.
30301 (grub_module_iterate): New function.
30302
30303 * kern/device.c (grub_device_open): Do not hide error messages
30304 when grub_disk_open() fails. Use grub_print_error() instead.
30305
30306 * kern/i386/pc/init.c (grub_arch_modules_addr)
30307 (grub_arch_memdisk_size): Remove functions.
30308 (grub_arch_modules_addr): Return the module address in high memory
30309 (now that it isn't copied anymore).
30310
30311 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30312 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30313 decompression routine (grub_total_module_size already includes that
30314 now). Don't copy modules back to low memory.
30315
30316 * kern/main.c: Include `<grub/mm.h>'.
30317 (grub_load_modules): Split out (and use) ...
30318 (grub_module_iterate): ... this function, which iterates through
30319 module objects and runs a hook.
30320 Comment out grub_mm_init_region() call, as it would cause non-ELF
30321 modules to be overwritten.
30322
30323 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30324 the memdisk image in its own region, make it part of the module list.
30325 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30326 (main): Parse --memdisk|-m option, and pass user-provided path as
30327 parameter to generate_image().
30328 (add_segments): Pass `memdisk_path' down to load_modules().
30329 (load_modules): Embed memdisk image in module section when requested.
30330 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30331 `header.type' instead of `header.offset'.
30332
30333 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30334 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30335 (memdisk_mod_LDFLAGS): New variables.
30336 * conf/i386-coreboot.rmk: Likewise.
30337 * conf/i386-ieee1275.rmk: Likewise.
30338
30339 2008-08-02 Robert Millan <rmh@aybabtu.com>
30340
30341 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30342 (backward_relocator): New variables. Used to allocate and relocate
30343 the payload, respectively.
30344 (grub_multiboot_load_elf32): Load into heap instead of requested
30345 address, install the appropriate relocator code in each bound of
30346 the payload, and set the entry point such that
30347 grub_multiboot_real_boot() will jump to one of them.
30348
30349 * kern/i386/loader.S (grub_multiboot_payload_size)
30350 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30351 (grub_multiboot_payload_entry_offset): New variables.
30352 (grub_multiboot_real_boot): Set cpu context to what the relocator
30353 expects, and jump to the relocator instead of the payload.
30354
30355 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30356 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30357 (grub_multiboot_payload_entry_offset): Export.
30358
30359 2008-08-01 Bean <bean123ch@gmail.com>
30360
30361 * normal/menu_entry.c (editor_getline): Don't return the original
30362 string as result, as it will be released by lexer once it has done
30363 using it.
30364
30365 2008-08-01 Robert Millan <rmh@aybabtu.com>
30366
30367 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30368 within menuentries, not before them.
30369 util/grub.d/10_hurd.in: Likewise.
30370
30371 2008-08-01 Bean <bean123ch@gmail.com>
30372
30373 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30374 (bufio_mod_SOURCES): New macro.
30375 (bufio_mod_CFLAGS): Likewise.
30376 (bufio_mod_LDFLAGS): Likewise.
30377
30378 * include/grub/bufio.h: New file.
30379
30380 * io/bufio.c: Likewise.
30381
30382 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30383 (grub_video_reader_png): Use grub_buffile_open to open file.
30384
30385 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30386 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30387
30388 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30389 (grub_video_reader_tga): Use grub_buffile_open to open file.
30390
30391 * font/manager.c: Include <grub/bufio.h>.
30392 (add_font): Use grub_buffile_open to open file.
30393
30394 2008-07-31 Robert Millan <rmh@aybabtu.com>
30395
30396 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30397 ELF segments, use a macro for arbitrarily accessing any of them instead
30398 of preparing a pointer that allows access to one at a time.
30399 (grub_multiboot_load_elf64): Likewise.
30400
30401 2008-07-31 Bean <bean123ch@gmail.com>
30402
30403 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30404 GRUB_KERNEL_MACHINE_DATA_END.
30405
30406 2008-07-30 Robert Millan <rmh@aybabtu.com>
30407
30408 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30409 Increase from 0x50 to 0x60.
30410 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30411 use UUIDs to identify the root drive for them. If that's not
30412 possible, abort.
30413 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30414 check, for cross-disk installs.
30415
30416 2008-07-30 Robert Millan <rmh@aybabtu.com>
30417
30418 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30419 is non-empty, use it to set the `prefix' environment variable instead
30420 of the usual approach.
30421 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30422 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30423 environment variable instead of dummy make_install_device().
30424
30425 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30426 (start): Insert a data section, with `grub_prefix' variable.
30427 * kern/i386/linuxbios/startup.S: Likewise.
30428
30429 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30430 New variable reference.
30431 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30432 New macro. Defines offset of `grub_prefix' within startup.S (relative
30433 to `start').
30434 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30435 section within startup.S (relative to `start').
30436 * include/grub/i386/coreboot/kernel.h: Likewise.
30437
30438 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30439 Overwrite grub_prefix with its contents, at the beginning of the
30440 first segment.
30441 (main): Understand -p|--prefix.
30442
30443 2008-07-30 Robert Millan <rmh@aybabtu.com>
30444
30445 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30446
30447 2008-07-30 Robert Millan <rmh@aybabtu.com>
30448
30449 * term/i386/pc/vga_text.c (grub_console_cls): Use
30450 grub_console_gotoxy() to go back to beginning of the screen.
30451 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30452
30453 2008-07-29 Christian Franke <franke@computer.org>
30454
30455 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30456 Add conversion of emulated mount points on Cygwin.
30457
30458 2008-07-29 Christian Franke <franke@computer.org>
30459
30460 * util/update-grub.in: Add a check for admin
30461 group on Cygwin.
30462 Remove old `grub.cfg.new' before creation.
30463 Add `-f' to `mv' to handle the different filesystem
30464 semantics of Windows.
30465
30466 2008-07-29 Bean <bean123ch@gmail.com>
30467
30468 * normal/main.c (get_line): Fix buffer overflow bug.
30469
30470 2008-07-28 Robert Millan <rmh@aybabtu.com>
30471
30472 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30473 (struct grub_apple_header): New struct. Describes the layout of
30474 the partmap header.
30475 (apple_partition_map_iterate): Check the header magic as well as the
30476 partition magic (which was already being checked).
30477
30478 2008-07-28 Pavel Roskin <proski@gnu.org>
30479
30480 * genmk.rb: Add a warning to the beginning of the output that
30481 it's a generated file and should not be edited.
30482
30483 2008-07-28 Robert Millan <rmh@aybabtu.com>
30484
30485 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30486 with the same number are found, just use issue a warning with
30487 grub_dprintf(), as this error has been reported to be non-fatal.
30488
30489 2008-07-27 Robert Millan <rmh@aybabtu.com>
30490
30491 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30492 information.
30493
30494 2008-07-27 Bean <bean123ch@gmail.com>
30495
30496 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30497 (grub_fat_find_dir): Ignore case when comparing filename.
30498
30499 2008-07-27 Bean <bean123ch@gmail.com>
30500
30501 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30502 smallino, as it's more descriptive, and i8count can be confused with
30503 the other field count.
30504 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30505 inode type.
30506
30507 2008-07-27 Bean <bean123ch@gmail.com>
30508
30509 * commands/crc.c: New file.
30510
30511 * lib/crc.c: Likewise.
30512
30513 * include/grub/lib/crc.h: Likewise.
30514
30515 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30516
30517 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30518 (hexdump): Move this function to ...
30519
30520 * lib/hexdump.c: ... here.
30521
30522 * include/grub/hexdump.h: Renamed to ...
30523
30524 * include/grub/lib/hexdump.h: ... this.
30525
30526 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30527
30528 * util/grub-editenv.c: Likewise.
30529
30530 * include/envblk.h: Renamed to ...
30531
30532 * include/lib/envblk.h: ... this.
30533
30534 * util/envblk.c: Renamed to ...
30535
30536 * lib/envblk.c: ... this.
30537
30538 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30539 lib/hexdump.c.
30540 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30541 (pkglib_MODULES): Add crc.mod.
30542 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30543 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30544 (crc_mod_SOURCES): New macro.
30545 (crc_mod_CFLAGS): Likewise.
30546 (crc_mod_LDFLAGS): Likewise.
30547
30548 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30549
30550 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30551
30552 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30553
30554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30555
30556 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30557
30558 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
30559
30560 * commands/help.c: Include <grub/term.h>.
30561 (TERM_WIDTH): Removed. Updated all users.
30562
30563 2008-07-27 Pavel Roskin <proski@gnu.org>
30564
30565 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30566 spurious warnings about a comment within a comment.
30567
30568 2008-07-25 Robert Millan <rmh@aybabtu.com>
30569
30570 * util/getroot.c (find_root_device): Skip devices that match
30571 /dev/dm-[0-9]. This lets the real device be found for any type of
30572 abstraction (LVM, EVMS, RAID..).
30573 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30574 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30575 device is found first, find_root_device() will now skip it.
30576
30577 2008-07-24 Pavel Roskin <proski@gnu.org>
30578
30579 * include/grub/types.h: Use __builtin_bswap32() and
30580 __builtin_bswap64() with gcc 4.3 and newer.
30581
30582 2008-07-24 Christian Franke <franke@computer.org>
30583
30584 * util/i386/pc/grub-install.in: If `--debug' is specified,
30585 pass `--verbose' to grub-setup.
30586 Abort script if make_system_path_relative_to_its_root() fails.
30587
30588 2008-07-24 Bean <bean123ch@gmail.com>
30589
30590 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30591 variable `target_platform' should be `platform'.
30592
30593 2008-07-24 Bean <bean123ch@gmail.com>
30594
30595 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
30596 (grub_png_init_fixed_block): New function.
30597 (grub_png_decode_image_data): Handle fixed huffman code compression.
30598
30599 2008-07-24 Bean <bean123ch@gmail.com>
30600
30601 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30602 (grub_pe2elf_SOURCES): New macro.
30603 (CLEANFILES): Add grub-pe2elf.
30604
30605 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30606 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30607 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30608 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30609 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30610 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30611 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30612 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30613 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30614 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30615 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30616 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30617 (GRUB_PE32_DT_FUNCTION): Likewise.
30618 (GRUB_PE32_REL_I386_DIR32): Likewise.
30619 (GRUB_PE32_REL_I386_REL32): Likewise.
30620 (grub_pe32_symbol): New structure.
30621 (grub_pe32_reloc): Likewise.
30622
30623 * util/grub-pe2elf.c: New file.
30624
30625 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
30626 start symbol in non pc platform.
30627
30628 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
30629
30630 The following patches are from Christian Franke.
30631
30632 * include/grub/dl.h: Remove .previous, gas supports this only
30633 for ELF format.
30634
30635 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
30636 Remove .type, gas supports this only for ELF format.
30637
30638 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
30639 nullbytes in symbol table. This fixes an infinite loop if table is
30640 zero filled.
30641
30642 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
30643 TARGET_IMG_LDFLAGS and EXEEXT.
30644
30645 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
30646 TARGET_IMG_LDFLAGS_AC.
30647 (grub_CHECK_STACK_ARG_PROBE): New function.
30648
30649 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
30650
30651 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
30652
30653 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
30654 to set TARGET_IMG_LD* accordingly.
30655 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
30656 Add call to grub_CHECK_STACK_ARG_PROBE.
30657 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
30658
30659 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
30660
30661 * genmk.rb: Add EXEEXT to CLEANFILES.
30662
30663 2008-07-23 Robert Millan <rmh@aybabtu.com>
30664
30665 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
30666 define the codes for arrows and lines used for the menu).
30667 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
30668 as well.
30669
30670 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
30671 fonts, because the latter are too slow.
30672
30673 2008-07-21 Bean <bean123ch@gmail.com>
30674
30675 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
30676 a20. Run keyboard test last, as it will cause macbook to halt.
30677
30678 2008-07-18 Pavel Roskin <proski@gnu.org>
30679
30680 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
30681 load foreign architecture modules correctly anyway. Keep
30682 support for loading host architecture modules, whether we
30683 compile them or not.
30684
30685 2008-07-17 Pavel Roskin <proski@gnu.org>
30686
30687 * configure.ac: Use -m32 or -m64 regardless of whether we had to
30688 change target_cpu. The compiler default can mismatch target_cpu
30689 in any case.
30690
30691 * disk/efi/efidisk.c: Fix format warnings on x86_64.
30692 * kern/efi/efi.c: Likewise.
30693
30694 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
30695 target compiler is functional.
30696 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
30697 are set up.
30698
30699 * configure.ac: Default to efi platform for x86_64-apple. Allow
30700 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
30701 adjustments from the rest, only do them if target is not
30702 explicitly given. Merge other adjustments with the final sanity
30703 check. Remove an extraneous check for supported CPU. Be
30704 specific which CPU and which platform is not supported.
30705
30706 * configure.ac: Default to pc platform for x86_64.
30707
30708 2008-07-17 Robert Millan <rmh@aybabtu.com>
30709
30710 Partial LinuxBIOS -> Coreboot rename.
30711
30712 * conf/i386-linuxbios.rmk: Renamed to ...
30713 * conf/i386-coreboot.rmk: ... this.
30714 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
30715 * configure.ac: Accept "coreboot" as input platform (but maintain
30716 compatibility with "linuxbios").
30717 * include/grub/i386/linuxbios: Renamed to ...
30718 * include/grub/i386/coreboot: ... this.
30719
30720 2008-07-17 Bean <bean123ch@gmail.com>
30721
30722 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
30723 (appleldr_mod_SOURCE): New variable.
30724 (appleldr_mod_CFLAGS): Likewise.
30725 (appleldr_mod_LDFLAGS): Likewise.
30726 (pci_mod_SOURCES): Likewise.
30727 (pci_mod_CFLAGS): Likewise.
30728 (pci_mod_LDFLAGS): Likewise.
30729 (lspci_mod_SOURCES): Likewise.
30730 (lspci_mod_CFLAGS): Likewise.
30731 (lspci_mod_LDFLAGS): Likewise.
30732
30733 * conf/x86_64-efi.rmk: New file.
30734
30735 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
30736 macro.
30737 (grub_efidisk_write): Likewise.
30738
30739 * include/efi/api.h (efi_call_0): New macro.
30740 (efi_call_1): Likewise.
30741 (efi_call_2): Likewise.
30742 (efi_call_3): Likewise.
30743 (efi_call_4): Likewise.
30744 (efi_call_5): Likewise.
30745 (efi_call_6): Likewise.
30746
30747 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
30748 grub_rescue_cmd_chainloader.
30749
30750 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
30751 (grub_pe32_optional_header): Change some fields based on i386 or
30752 x86_64 platform.
30753 (GRUB_PE32_PE32_MAGIC): Likewise.
30754
30755 * include/grub/efi/uga_draw.h: New file.
30756
30757 * include/grub/elf.h (STN_ABS): New constant.
30758 (R_X86_64_NONE): Relocation constant for x86_64.
30759 (R_X86_64_64): Likewise.
30760 (R_X86_64_PC32): Likewise.
30761 (R_X86_64_GOT32): Likewise.
30762 (R_X86_64_PLT32): Likewise.
30763 (R_X86_64_COPY): Likewise.
30764 (R_X86_64_GLOB_DAT): Likewise.
30765 (R_X86_64_JUMP_SLOT): Likewise.
30766 (R_X86_64_RELATIVE): Likewise.
30767 (R_X86_64_GOTPCREL): Likewise.
30768 (R_X86_64_32): Likewise.
30769 (R_X86_64_32S): Likewise.
30770 (R_X86_64_16): Likewise.
30771 (R_X86_64_PC16): Likewise.
30772 (R_X86_64_8): Likewise.
30773 (R_X86_64_PC8): Likewise.
30774
30775 * include/grub/i386/efi/pci.h: New file.
30776
30777 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
30778 Change it value based on platform.
30779 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
30780 (GRUB_E820_RAM): Likewise.
30781 (GRUB_E820_RESERVED): Likewise.
30782 (GRUB_E820_ACPI): Likewise.
30783 (GRUB_E820_NVS): Likewise.
30784 (GRUB_E820_EXEC_CODE): Likewise.
30785 (GRUB_E820_MAX_ENTRY): Likewise.
30786 (grub_e820_mmap): New structure.
30787 (linux_kernel_header): Change the efi field according to different
30788 kernel version, also field from linux_kernel_header.
30789
30790 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
30791
30792 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
30793 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
30794 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
30795 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
30796 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
30797 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
30798 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
30799 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
30800 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
30801 (GRUB_PCI_ADDR_IO_MASK): Likewise.
30802
30803 * include/grub/x86_64/efi/kernel.h: New file.
30804
30805 * include/grub/x86_64/efi/loader.h: Likewise.
30806
30807 * include/grub/x86_64/efi/machine.h: Likewise.
30808
30809 * include/grub/x86_64/efi/pci.h: Likewise.
30810
30811 * include/grub/x86_64/efi/time.h: Likewise.
30812
30813 * include/grub/x86_64/linux.h: Likewise.
30814
30815 * include/grub/x86_64/setjmp.h: Likewise.
30816
30817 * include/grub/x86_64/time.h: Likewise.
30818
30819 * include/grub/x86_64/types.h: Likewise.
30820
30821 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
30822 GRUB_TARGET_SIZEOF_VOID_P.
30823
30824 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
30825 (grub_efi_locate_handle): Likewise.
30826 (grub_efi_open_protocol): Likewise.
30827 (grub_efi_set_text_mode): Likewise.
30828 (grub_efi_stall): Likewise.
30829 (grub_exit): Likewise.
30830 (grub_reboot): Likewise.
30831 (grub_halt): Likewise.
30832 (grub_efi_exit_boot_services): Likewise.
30833 (grub_get_rtc): Likewise.
30834
30835 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
30836 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
30837 (grub_efi_allocate_pages): Wrap efi calls.
30838 (grub_efi_free_pages): Wrap efi calls.
30839 (grub_efi_get_memory_map): Wrap efi calls.
30840
30841 * kern/x86_64/dl.c: New file.
30842
30843 * kern/x86_64/efi/callwrap.S: Likewise.
30844
30845 * kern/x86_64/efi/startup.S: Likewise.
30846
30847 * loader/efi/appleloader.c: Likewise.
30848
30849 * loader/efi/chainloader.c (cmdline): New variable.
30850 (grub_chainloader_unload): Wrap efi calls.
30851 (grub_chainloader_boot): Likewise.
30852 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
30853 command line.
30854
30855 * loader/efi/chainloader_normal.c (chainloader_command):
30856 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
30857 command line.
30858
30859 * loader/i386/efi/linux.c (allocate_pages): Change allocation
30860 method.
30861 (grub_e820_add_region): New function.
30862 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
30863 booting.
30864 (grub_find_video_card): New function.
30865 (grub_linux_setup_video): New function.
30866 (grub_rescue_cmd_linux): Probe for video information.
30867
30868 * normal/x86_64/setjmp.S: New file.
30869
30870 * term/efi/console.c (map_char): New function.
30871 (grub_console_putchar): Map unicode char.
30872 (grub_console_checkkey): Wrap efi calls.
30873 (grub_console_getkey): Likewise.
30874 (grub_console_getwh): Likewise.
30875 (grub_console_gotoxy): Likewise.
30876 (grub_console_cls): Likewise.
30877 (grub_console_setcolorstate): Likewise.
30878 (grub_console_setcursor): Likewise.
30879
30880 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
30881
30882 2008-07-16 Pavel Roskin <proski@gnu.org>
30883
30884 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
30885 format strings.
30886
30887 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
30888 pointer, not an integer. This fixes a warning and prevents
30889 precision loss on 64-bit systems.
30890 (relocate_addresses): Remove unneeded cast.
30891
30892 2008-07-15 Pavel Roskin <proski@gnu.org>
30893
30894 * kern/i386/ieee1275/init.c: Include grub/cache.h.
30895
30896 * term/ieee1275/ofconsole.c: Disable code unused on i386.
30897
30898 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
30899 Fix comparison between signed and unsigned.
30900
30901 * include/grub/i386/ieee1275/console.h: Declare
30902 grub_console_init() and grub_console_fini().
30903
30904 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
30905 It's empty and unused.
30906
30907 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
30908 beginning to avoid warnings with some compilers.
30909
30910 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
30911 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
30912
30913 2008-07-14 Pavel Roskin <proski@gnu.org>
30914
30915 * kern/env.c (grub_register_variable_hook): Don't copy empty
30916 string, it leaks memory. Pass "" to grub_env_set(), it should
30917 handle constant strings.
30918
30919 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
30920 * commands/cmp.c (grub_cmd_cmp): Likewise.
30921 * kern/dl.c (grub_dl_flush_cache): Likewise.
30922 (grub_dl_load_core): Likewise.
30923 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
30924 (grub_elf64_load_phdrs): Likewise.
30925
30926 2008-07-13 Pavel Roskin <proski@gnu.org>
30927
30928 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
30929 between signed and unsigned.
30930 (LzmaEnc_Finish): Fix warning about an unused parameter.
30931
30932 2008-07-13 Bean <bean123ch@gmail.com>
30933
30934 * Makefile.in (enable_lzo): New rule.
30935
30936 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
30937
30938 * configure.ac (ENABLE_LZO): New option --enable-lzo.
30939
30940 * boot/i386/pc/lnxboot.S: #include <config.h>.
30941
30942 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
30943 its value according to the compression algorithm used, lzo or lzma.
30944
30945 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
30946 compression algorithm according to configure macro.
30947
30948 * kern/i386/pc/startup.S (codestart): Likewise.
30949
30950 * kern/i386/pc/lzma_decode.S: New file.
30951
30952 * include/grub/lib/LzFind.h: Likewise.
30953
30954 * include/grub/lib/LzHash.h: Likewise.
30955
30956 * include/grub/lib/LzmaDec.h: Likewise.
30957
30958 * include/grub/lib/LzmaEnc.h: Likewise.
30959
30960 * include/grub/lib/LzmaTypes.h: Likewise.
30961
30962 * lib/LzFind.c: Likewise.
30963
30964 * lib/LzmaDec.c: Likewise.
30965
30966 * lib/LzmaEnc.c: Likewise.
30967
30968 2008-07-13 Bean <bean123ch@gmail.com>
30969
30970 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30971 (grub_ext4_extent_header): New structure.
30972 (grub_ext4_extent): Likewise.
30973 (grub_ext4_extent_idx): Likewise.
30974 (grub_ext4_find_leaf): New function.
30975 (grub_ext2_read_block): Handle extents.
30976
30977 2008-07-12 Robert Millan <rmh@aybabtu.com>
30978
30979 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30980
30981 2008-07-11 Robert Millan <rmh@aybabtu.com>
30982
30983 * util/grub.d/40_custom.in: New file. Example on how to add custom
30984 entries to /etc/grub.d.
30985 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30986 40_custom (implicitly, by merging all the grub.d rules).
30987
30988 2008-07-11 Pavel Roskin <proski@gnu.org>
30989
30990 * commands/read.c (grub_getline): Fix invalid memory access.
30991 Don't add newline to the variable value.
30992
30993 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30994 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30995 (serial_hw_get_port): Check validity of the port number.
30996 (grub_cmd_serial): Check return value of serial_hw_get_port().
30997
30998 2008-07-07 Pavel Roskin <proski@gnu.org>
30999
31000 * boot/i386/pc/diskboot.S (notification_string): Replace
31001 "Loading kernel" with just "loading". This is shorter, less
31002 confusing and saves a few bytes for possible future changes.
31003
31004 2008-07-05 Pavel Roskin <proski@gnu.org>
31005
31006 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
31007 size for ATAPI devices, they are undefined. Output sector
31008 number in decimal form.
31009
31010 * disk/ata.c: Use named constants for status bits.
31011
31012 2008-07-04 Pavel Roskin <proski@gnu.org>
31013
31014 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
31015 grub_addr_t before casting it to the void pointer to fix a
31016 warning. Non-addressable regions are discarded earlier.
31017 (grub_arch_modules_addr): Cast _end to grub_addr_t.
31018 * kern/i386/linuxbios/table.c: Include grub/misc.h.
31019 (check_signature): Don't shadow table_header.
31020 (grub_linuxbios_table_iterate): Cast numeric constants to
31021 grub_linuxbios_table_header_t.
31022 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
31023 grub_stop().
31024
31025 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31026 prevent warnings.
31027
31028 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31029 pointer, which can cause warnings. Support 64-bit addresses.
31030
31031 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31032 of sizeof(long). This fixes PowerPC image generation on x86_64.
31033
31034 2008-07-04 Robert Millan <rmh@aybabtu.com>
31035
31036 This fixes a performance issue when pc & gpt partmap iterators
31037 didn't abort iteration even after our hook found what it was
31038 looking for (often causing expensive probes of non-existent drives).
31039
31040 Some callers relied on previous buggy behaviour, since they would
31041 raise an error when their own hooks caused early abortion of its
31042 iteration.
31043
31044 * kern/device.c (grub_device_open): Improve error message.
31045 * disk/lvm.c (grub_lvm_open): Likewise.
31046 * disk/raid.c (grub_raid_open): Likewise.
31047
31048 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31049 when hook requests it, independently of grub_errno.
31050 (pc_partition_map_probe): Do not fail when find_func() caused
31051 early abortion of pc_partition_map_iterate().
31052
31053 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31054 when hook requests it, independently of grub_errno.
31055 (gpt_partition_map_probe): Do not fail when find_func() caused
31056 early abortion of gpt_partition_map_iterate().
31057
31058 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31059 when hook requests it, independently of grub_errno. Do not fail when
31060 part_map_iterate_hook() caused early abortion of p->iterate().
31061
31062 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31063 when grub_partition_iterate() returned with non-zero.
31064
31065 2008-07-03 Pavel Roskin <proski@gnu.org>
31066
31067 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31068 like we do in grub_ata_pio_read().
31069 (grub_ata_readwrite): Always write individual sectors. Fix the
31070 sector count for the remainder.
31071 (grub_ata_write): Enable writing to ATA devices. Correctly
31072 report error for ATAPI devices.
31073
31074 2008-07-02 Pavel Roskin <proski@gnu.org>
31075
31076 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31077 warning.
31078
31079 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31080 for every read sector, we already increment it for the whole
31081 batch. This fixes reading more than 256 sectors at once.
31082
31083 * util/grub-editenv.c (cmd_info): Cast argument to long
31084 explicitly. ptrdiff_t reduces to int on i386.
31085
31086 * util/grub-editenv.c (main): Be specific which parameter is
31087 missing.
31088
31089 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31090 (memdisk): Make memdisk_orig_addr a pointer.
31091
31092 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31093 for file offsets, use grub_off_t instead. Fix printf format
31094 warnings.
31095
31096 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31097 there. Real unexpected warnings should not drown in the noise
31098 about known problems.
31099
31100 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31101 grub_disk_addr_t for memory addresses.
31102
31103 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31104 explicitly to fix a warning.
31105
31106 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31107
31108 * Makefile.in (MODULE_LDFLAGS): New variable.
31109 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31110 the linker accepts --build-id=none.
31111 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31112 MODULE_LDFLAGS.
31113 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31114
31115 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31116 those in Linux XFS code. Provide a way to access 64-bit parent
31117 inode.
31118 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31119 the end of struct grub_xfs_dir_header.
31120
31121 2008-07-02 Bean <bean123ch@gmail.com>
31122
31123 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31124 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31125 and GRUB_IEEE1275_FLAG_NO_ANSI.
31126
31127 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31128 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31129 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31130
31131 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31132 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31133
31134 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31135 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31136
31137 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31138 esc sequence on non ANSI terminal.
31139 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31140
31141 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31142 beginning of file.
31143
31144 2008-07-02 Bean <bean123ch@gmail.com>
31145
31146 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31147 (grub_editenv_SOURCES): New variable.
31148 (pkglib_MODULES): Add loadenv.mod.
31149 (loadenv_mod_SOURCES): New variable.
31150 (loadenv_mod_CFLAGS): Likewise.
31151 (loadenv_mod_LDFLAGS): Likewise.
31152
31153 * include/grub/envblk.h: New file.
31154
31155 * util/envblk.c: New file.
31156
31157 * util/grub-editenv.c: New file.
31158
31159 * commands/loadenv.c: New file.
31160
31161 2008-07-01 Pavel Roskin <proski@gnu.org>
31162
31163 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31164 not unsigned char. This fixes warnings and is consistent with
31165 other tags.
31166
31167 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31168
31169 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31170
31171 * term/tparm.c (analyze): Always set *popcount.
31172
31173 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31174 cast to fix a warning.
31175
31176 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31177 cast to suppress a warning.
31178
31179 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31180 grub_fshelp_read_file() expects.
31181
31182 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31183 write uuid as a 32-bit value in CPU byte order, so declare and
31184 use it as such.
31185
31186 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31187 long if the format specifier expects it.
31188 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31189 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31190 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31191 long to fix a warning.
31192 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31193 grub_dprintf() arguments to fix warnings.
31194
31195 2008-06-30 Pavel Roskin <proski@gnu.org>
31196
31197 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31198 install_bsd_part immediately before core.img is embedded or
31199 modified on disk. This fixes core.img verification if core.img
31200 cannot be embedded.
31201
31202 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31203 core_path to calculate the blocklist.
31204 Patch from Javier Martín <lordhabbit@gmail.com>
31205
31206 2008-06-29 Robert Millan <rmh@aybabtu.com>
31207
31208 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31209 block to disk block.
31210 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31211 Patch from Niels Böhm <bitbucket@arcor.de>
31212
31213 2008-06-29 Robert Millan <rmh@aybabtu.com>
31214
31215 * util/update-grub_lib.in (font_path): Search for fonts in
31216 /boot/grub first, which is more likely to be readable (we aren't
31217 deciding where fonts live, just looking for them).
31218
31219 2008-06-26 Pavel Roskin <proski@gnu.org>
31220
31221 * util/biosdisk.c (read_device_map): Don't leave dead map
31222 entries for devices failing stat() check.
31223
31224 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31225 core_path_dev for the core.img path on the target device.
31226
31227 2008-06-26 Robert Millan <rmh@aybabtu.com>
31228
31229 * disk/fs_uuid.c: New file.
31230 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31231 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31232 (fs_uuid_mod_LDFLAGS): New variables.
31233 * include/grub/disk.h (grub_disk_dev_id): Add
31234 `GRUB_DISK_DEVICE_UUID_ID'.
31235 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31236 implement iterate().
31237
31238 2008-06-26 Robert Millan <rmh@aybabtu.com>
31239
31240 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31241 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31242 Linux image includes no initrd.
31243
31244 2008-06-21 Javier Martín <lordhabbit@gmail.com>
31245
31246 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31247 call to resolve the core image location that effectively appended the
31248 name twice.
31249
31250 2008-06-21 Robert Millan <rmh@aybabtu.com>
31251
31252 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31253 call from here ...
31254
31255 * util/grub.d/10_hurd.in: ... to here ...
31256 * util/grub.d/10_linux.in: ... and here.
31257
31258 2008-06-19 Robert Millan <rmh@aybabtu.com>
31259
31260 * kern/main.c (grub_main): Export `prefix' variable immediately
31261 after it has been set by grub_machine_set_prefix().
31262
31263 2008-06-19 Robert Millan <rmh@aybabtu.com>
31264
31265 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31266 search result when not saving to variable, not the other way around.
31267 When saving to variable, abort iteration as soon as a match is found.
31268
31269 2008-06-19 Robert Millan <rmh@aybabtu.com>
31270
31271 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31272 check for partition that provides /boot/grub. Its logic is flawed,
31273 as it prevents prepare_grub_to_access_device() from being called
31274 multiple times.
31275
31276 2008-06-19 Robert Millan <rmh@aybabtu.com>
31277
31278 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31279 "insmod" command directly when abstraction modules are needed,
31280 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
31281 since it had already been processed).
31282
31283 2008-06-19 Pavel Roskin <proski@gnu.org>
31284
31285 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31286 changed. This is needed in case GRUB_LIBDIR changes.
31287 * conf/i386-ieee1275.rmk: Likewise.
31288 * conf/i386-linuxbios.rmk: Likewise.
31289 * conf/i386-pc.rmk: Likewise.
31290 * conf/powerpc-ieee1275.rmk: Likewise.
31291
31292 2008-06-18 Pavel Roskin <proski@gnu.org>
31293
31294 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31295 kernel_elf_symlist.c to symlist.c for consistency with other
31296 architectures. Update all users.
31297 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31298
31299 2008-06-18 Robert Millan <rmh@aybabtu.com>
31300
31301 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31302 it in prefix.
31303
31304 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31305 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31306 a RAID device, run setup() for all members independently on whether
31307 LVM abstraction is being used.
31308 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31309 If grub-mkimage has set `*install_dos_part == -2', don't override this
31310 value.
31311 Perform *install_dos_part adjustments independently on whether
31312 we're embedding or not.
31313 Clarify error message when image is too big for embedding.
31314 Remove duplicate *install_dos_part stanza.
31315
31316 2008-06-17 Robert Millan <rmh@aybabtu.com>
31317
31318 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31319 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31320 variables.
31321 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31322 values in grub_ofconsole_normal_color and
31323 grub_ofconsole_highlight_color (they're not directly related to
31324 background and foreground).
31325 (grub_ofconsole_setcolorstate): Extract background and foreground
31326 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31327
31328 2008-06-17 Robert Millan <rmh@aybabtu.com>
31329
31330 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31331 /boot/grub for the check in last commit, not /boot (they could be
31332 different partitions).
31333
31334 2008-06-16 Robert Millan <rmh@aybabtu.com>
31335
31336 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31337 asked to setup access for the same partition that provides /boot,
31338 don't bother using UUIDs since our root already has the value we
31339 want.
31340
31341 2008-06-16 Robert Millan <rmh@aybabtu.com>
31342
31343 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31344 I2O devices.
31345 Patch from Sven Mueller <sven@debian.org>.
31346
31347 2008-06-16 Robert Millan <rmh@aybabtu.com>
31348
31349 * util/update-grub.in: Check for $EUID instead of $UID.
31350 Reported by Vincent Zweije.
31351
31352 2008-06-16 Bean <bean123ch@gmail.com>
31353
31354 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
31355 (grub_ext2_read_block): Likewise.
31356 (grub_ext2_read_inode): Likewise.
31357 (grub_ext2_mount): Likewise.
31358 (grub_ext2_close): Likewise.
31359 (grub_ext3_get_journal): Removed.
31360
31361 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
31362 (grub_reiserfs_read_symlink): Likewise.
31363 (grub_reiserfs_mount): Likewise.
31364 (grub_reiserfs_open): Likewise.
31365 (grub_reiserfs_read): Likewise.
31366 (grub_reiserfs_close): Likewise.
31367 (grub_reiserfs_get_journal): Removed.
31368
31369 * fs/fshelp.c (grub_fshelp_read): Removed.
31370 (grub_fshelp_map_block): Likewise.
31371
31372 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31373 (grub_fshelp_journal): Likewise.
31374 (grub_fshelp_read): Likewise.
31375 (grub_fshelp_map_block): Likewise.
31376
31377 2008-06-16 Pavel Roskin <proski@gnu.org>
31378
31379 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31380 floating point anymore.
31381 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31382
31383 2008-06-15 Pavel Roskin <proski@gnu.org>
31384
31385 * commands/ls.c (grub_ls_list_files): Use integer calculations
31386 for human readable format, avoid floating point use.
31387 * kern/misc.c (grub_ftoa): Remove.
31388 (grub_vsprintf): Remove floating point support.
31389
31390 2008-06-15 Robert Millan <rmh@aybabtu.com>
31391
31392 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
31393 devices.
31394 Reported by Max Vozeler.
31395
31396 2008-06-15 Robert Millan <rmh@aybabtu.com>
31397
31398 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31399 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31400 skipped later.
31401 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31402 the beginning of the prefix.
31403
31404 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31405 It is assumed that if we have a memdisk, grub-mkimage has set
31406 grub_prefix to include the "(memdisk)" drive in it.
31407
31408 2008-06-15 Robert Millan <rmh@aybabtu.com>
31409
31410 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31411 Initialize keyboard controller after registering the terminal, so that
31412 grub_printf() can be called from grub_keyboard_controller_init().
31413
31414 2008-06-15 Robert Millan <rmh@aybabtu.com>
31415
31416 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31417 extent-btree which is written as big endian on disk.
31418 Reported by Alain Greppin <al@chilibi.org>.
31419
31420 2008-06-14 Robert Millan <rmh@aybabtu.com>
31421
31422 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31423 * util/i386/pc/grub-install.in (modules): Likewise.
31424
31425 2008-06-13 Pavel Roskin <proski@gnu.org>
31426
31427 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31428
31429 2008-06-13 Bean <bean123ch@gmail.com>
31430
31431 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31432
31433 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31434
31435 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31436 to indicate sparse block.
31437
31438 2008-06-12 Pavel Roskin <proski@gnu.org>
31439
31440 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31441 number, grub_fshelp_read() does it for us.
31442
31443 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31444 linear disk read with journal translation.
31445 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31446 * include/grub/fshelp.h: Declare grub_fshelp_read().
31447
31448 2008-06-09 Pavel Roskin <proski@gnu.org>
31449
31450 * fs/minix.c (grub_minix_mount): Handle error reading
31451 superblock.
31452
31453 2008-06-08 Robert Millan <rmh@aybabtu.com>
31454
31455 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31456 don't append the RAID prefix afterwards.
31457 Reported by Clint Adams.
31458
31459 2008-06-08 Robert Millan <rmh@aybabtu.com>
31460
31461 Based on description from Pavel:
31462 * kern/disk.c (grub_disk_check_range): Rename to ...
31463 (grub_disk_adjust_range): ... this. Add a comment explaining the
31464 tasks performed by this function.
31465
31466 2008-06-08 Robert Millan <rmh@aybabtu.com>
31467
31468 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31469 `num_serial' (for consistency with other variables).
31470 (struct grub_ntfs_data): Add `uuid' member.
31471 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31472 (grub_ntfs_uuid): New function.
31473 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31474
31475 2008-06-07 Pavel Roskin <proski@gnu.org>
31476
31477 * util/biosdisk.c (open_device): Revert last change to the
31478 function, it broke installation. The sector needs to be
31479 different dependent on which device is opened.
31480
31481 2008-06-06 Robert Millan <rmh@aybabtu.com>
31482
31483 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31484 rest of GRUB, and breakage doesn't happen if its value were modified.
31485
31486 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31487 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31488 a constant (same value).
31489 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31490 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31491
31492 2008-06-06 Robert Millan <rmh@aybabtu.com>
31493
31494 * util/biosdisk.c (open_device): Do not modify sector offset when
31495 accessing a partition. kern/disk.c already handles this for us.
31496
31497 2008-06-06 Robert Millan <rmh@aybabtu.com>
31498
31499 * util/grub-emu.c (grub_machine_init): Move code in this function from
31500 here ...
31501 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31502 segfault in case grub_printf() is called).
31503
31504 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31505 grub_probe. Update all users not to explicitly add it again.
31506 (grub_device): New variable; contains corresponding device for grubdir.
31507 (fs_module, partmap_module, devabstraction_module): Pass
31508 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31509 every time.
31510
31511 2008-06-05 Robert Millan <rmh@aybabtu.com>
31512
31513 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31514 is found, print it (same layout as with labels).
31515
31516 2008-06-04 Robert Millan <rmh@aybabtu.com>
31517
31518 * util/biosdisk.c (get_drive): Rename to ...
31519 (find_grub_drive): ... this. Update all users.
31520
31521 (get_os_disk): Rename to ...
31522 (convert_system_partition_to_system_disk): ... this. Update all users.
31523
31524 (find_drive): Rename to ...
31525 (find_system_device): ... this. Update all users.
31526
31527 2008-06-04 Robert Millan <rmh@aybabtu.com>
31528
31529 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31530 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31531 (make_device_map): Likewise.
31532
31533 2008-06-01 Robert Millan <rmh@aybabtu.com>
31534
31535 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31536 before dereferencing it.
31537
31538 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31539 union with fat12/fat16-specific ones. Add some new fields, including
31540 `num_serial' for both versions.
31541 (struct grub_fat_data): Add `uuid' member.
31542 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31543 names. Initialize `data->uuid' using `num_serial'.
31544 (grub_fat_uuid): New function.
31545 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31546
31547 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31548 (grub_reiserfs_uuid): New function.
31549 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31550 member.
31551
31552 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31553 (grub_xfs_uuid): New function.
31554 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31555
31556 2008-06-01 Robert Millan <rmh@aybabtu.com>
31557
31558 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31559 code that is backward compatible with pre-uuid search command.
31560
31561 2008-05-31 Robert Millan <rmh@aybabtu.com>
31562
31563 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31564 floppies after everything else, to ensure floppy drive isn't accessed
31565 unnecessarily (patch from Bean).
31566
31567 2008-05-31 Robert Millan <rmh@aybabtu.com>
31568
31569 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31570 not print device names when we were asked to set a variable.
31571
31572 2008-05-31 Robert Millan <rmh@aybabtu.com>
31573
31574 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31575 using "cursor-on" and "cursor-off" commands (understood at least by
31576 the Open Firmware flavour on OLPC).
31577
31578 2008-05-31 Michael Gorven <michael@gorven.za.net>
31579
31580 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31581 on and off sequences.
31582
31583 2008-05-31 Robert Millan <rmh@aybabtu.com>
31584
31585 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31586 * util/update-grub.in: Likewise.
31587
31588 2008-05-30 Pavel Roskin <proski@gnu.org>
31589
31590 * util/biosdisk.c (linux_find_partition): Simplify logic and
31591 make the code more universal. Keep special processing for
31592 devfs, but use a simple rule for all other devices. If the
31593 device ends with a number, append 'p' and the partition number.
31594 Otherwise, append only the partition number.
31595
31596 2008-05-30 Robert Millan <rmh@aybabtu.com>
31597
31598 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31599 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31600 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31601 the `root' parameter to Linux.
31602
31603 2008-05-30 Robert Millan <rmh@aybabtu.com>
31604
31605 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31606 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31607 --fs_uuid with --fs-uuid.
31608 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31609 all filesystems support them).
31610
31611 2008-05-30 Robert Millan <rmh@aybabtu.com>
31612
31613 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
31614 grub_printf() flags, since we're printing in units of 2 bytes.
31615
31616 2008-05-30 Robert Millan <rmh@aybabtu.com>
31617
31618 * util/grub.d/00_header.in: Remove obsolete comment referencing
31619 convert_system_path_to_grub_path().
31620 * util/update-grub.in: Likewise.
31621 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
31622 (convert_system_path_to_grub_path): Add a warning message explaining
31623 that this function is deprecated. Rely on is_path_readable_by_grub()
31624 for the readability checks.
31625 (font_path): Use is_path_readable_by_grub() for the readability
31626 check rather than convert_system_path_to_grub_path().
31627
31628 2008-05-30 Robert Millan <rmh@aybabtu.com>
31629
31630 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
31631 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
31632 converting it first.
31633 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
31634 grub.cfg for access to font file, and afterwards call it again to set
31635 the root device.
31636
31637 2008-05-30 Robert Millan <rmh@aybabtu.com>
31638
31639 * commands/search.c (options): Add --fs_uuid option.
31640 (search_fs_uuid): New function.
31641 (grub_cmd_search): Fix --set argument passing.
31642 Use search_fs_uuid() when requested via --fs_uuid.
31643 (grub_search_init): Update help message.
31644 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
31645 and redeclare it as an array of 16-bit words.
31646 (grub_ext2_uuid): New function.
31647 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
31648 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
31649 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
31650 (GRUB_DEVICE_BOOT_UUID): New variables.
31651 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
31652 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
31653 whenever possible.
31654 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
31655 just assume `root' variable has the right value.
31656 * util/grub.d/10_linux.in: Likewise.
31657 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
31658 via PRINT_FS_UUID.
31659 (main): Recognise `-t fs_uuid' argument.
31660
31661 2008-05-30 Robert Millan <rmh@aybabtu.com>
31662
31663 * util/biosdisk.c (map): Redefine structure to hold information
31664 about GRUB drive name.
31665 (get_drive): Reimplement without assuming (and verifying) BIOS-like
31666 drive names.
31667 (call_hook): Remove.
31668 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
31669 member. Assume drive has partitions.
31670 (grub_util_biosdisk_open): Access device names via `.device' struct
31671 member.
31672 (open_device): Likewise.
31673 (find_drive): Likewise.
31674 (read_device_map): Adjust map[] usage to match the new struct
31675 definition. Don't check for duplicates (still possible, but not cheap
31676 anymore).
31677 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
31678 (make_device_name): Remove assumption of BIOS-like drive names.
31679
31680 2008-05-30 Pavel Roskin <proski@gnu.org>
31681
31682 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
31683 compiling execute.c doesn't need grub_script.tab.h anymore.
31684 (normal/command.c_DEPENDENCIES): Likewise.
31685 (normal/function.c_DEPENDENCIES): Likewise.
31686 * conf/i386-ieee1275.rmk: Likewise.
31687 * conf/i386-linuxbios.rmk: Likewise.
31688 * conf/i386-pc.rmk: Likewise.
31689 * conf/powerpc-ieee1275.rmk: Likewise.
31690 * conf/sparc64-ieee1275.rmk: Likewise.
31691
31692 2008-05-29 Pavel Roskin <proski@gnu.org>
31693
31694 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
31695 when scanning metadata for volume group name.
31696
31697 * include/grub/script.h: Don't include grub_script.tab.h. It's
31698 a generated file, which may only be included from the files with
31699 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
31700 use union YYSTYPE, as the later allows forward declaration.
31701 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
31702
31703 2008-05-29 Robert Millan <rmh@aybabtu.com>
31704
31705 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
31706 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
31707 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
31708 (grub_console_checkkey): Add grub_dprintf() call to report unknown
31709 scan codes.
31710
31711 2008-05-29 Robert Millan <rmh@aybabtu.com>
31712
31713 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
31714 control key combinations.
31715
31716 2008-05-29 Robert Millan <rmh@aybabtu.com>
31717
31718 * util/powerpc/ieee1275/grub-install.in: Move from here ...
31719 * util/ieee1275/grub-install.in: ... to here.
31720 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
31721 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
31722 (grub_install_SOURCES): Likewise.
31723
31724 2008-05-29 Robert Millan <rmh@aybabtu.com>
31725
31726 * fs/affs.c: Update copyright year.
31727 * fs/ext2.c: Likewise.
31728 * fs/fshelp.c: Likewise.
31729 * fs/hfsplus.c: Likewise.
31730 * fs/ntfs.c: Likewise.
31731 * fs/xfs.c: Likewise.
31732 * include/grub/fshelp.h: Likewise.
31733 * util/grub-mkdevicemap.c: Likewise.
31734
31735 2008-05-28 Robert Millan <rmh@aybabtu.com>
31736
31737 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
31738 might need to be fatfs to support some firmware implementations
31739 (e.g. OFW or EFI).
31740
31741 2008-05-28 Robert Millan <rmh@aybabtu.com>
31742
31743 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
31744 devices.
31745 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31746 (make_device_map): Likewise.
31747
31748 2008-05-20 Bean <bean123ch@gmail.com>
31749
31750 * fs/fshelp.c (grub_fshelp_map_block): New function.
31751 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
31752 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
31753
31754 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
31755 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
31756 (grub_fshelp_journal): New structure.
31757 (grub_fshelp_map_block): New function prototype.
31758 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
31759 (grub_fshelp_map_block): Likewise.
31760
31761 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
31762 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
31763 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
31764 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
31765 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
31766 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
31767 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
31768 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
31769 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
31770 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
31771 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
31772 (grub_ext2_sblock): New members for journal support.
31773 (grub_ext3_journal_header): New structure.
31774 (grub_ext3_journal_revoke_header): Likewise.
31775 (grub_ext3_journal_block_tag): Likewise.
31776 (grub_ext3_journal_sblock): Likewise.
31777 (grub_fshelp_node): New members logfile and journal.
31778 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
31779 grub_fshelp_map_block to get real block number.
31780 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
31781 number.
31782 (grub_ext2_read_inode): Likewise.
31783 (grub_ext3_get_journal): New function.
31784 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
31785 (grub_ext2_close): Release memory used by journal.
31786
31787 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
31788 (REISERFS_MAGIC_DESC_BLOCK): New macro.
31789 (grub_reiserfs_transaction_header): Renamed to
31790 grub_reiserfs_description_block, replace field data with real_blocks.
31791 (grub_reiserfs_commit_block): New structure.
31792 (grub_reiserfs_data): New member journal.
31793 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
31794 number.
31795 (grub_reiserfs_read_symlink): Likewise.
31796 (grub_reiserfs_iterate_dir): Likewise.
31797 (grub_reiserfs_open): Likewise.
31798 (grub_reiserfs_read): Likewise.
31799 (grub_reiserfs_get_journal): New function.
31800 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
31801 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
31802 using grub_reiserfs_get_journal.
31803 (grub_reiserfs_close): Release memory used by journal.
31804
31805 * fs/affs.c (grub_affs_read_block): Change block type to
31806 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
31807
31808 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
31809
31810 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
31811
31812 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
31813
31814 * fs/udf.c (grub_udf_read_block): Change block type to
31815 grub_disk_addr_t. Use type cast to avoid warning.
31816
31817 * fs/xfs.c (grub_xfs_read_block): Likewise.
31818
31819 2008-05-16 Christian Franke <franke@computer.org>
31820
31821 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
31822 to ensure that break with ESC will always work.
31823 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
31824 Remove ESC from keyboard queue.
31825
31826 2008-05-16 Christian Franke <franke@computer.org>
31827
31828 * util/biosdisk.c: [__CYGWIN__] Add includes.
31829 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
31830 (get_os_disk): Move variable declarations to OS specific
31831 parts to avoid warning.
31832 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
31833 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
31834 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
31835 Cygwin.
31836 * util/getroot.c: [__CYGWIN__] Add includes.
31837 (strip_extra_slashes): Fix "/" case.
31838 [__CYGWIN__] (get_win32_path): New function.
31839 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
31840 [__CYGWIN__] (find_root_device): Disable.
31841 [__CYGWIN__] (get_bootsec_serial): New function.
31842 [__CYGWIN__] (find_cygwin_root_device): Likewise.
31843 [__linux__] (grub_guess_root_device): Add early returns to simplify
31844 structure.
31845 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
31846 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
31847 check for Linux only.
31848
31849 2008-05-15 Bean <bean123ch@gmail.com>
31850
31851 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
31852 keyboard hang problem in apple's intel mac.
31853
31854 2008-05-09 Robert Millan <rmh@aybabtu.com>
31855
31856 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
31857 devices.
31858 * util/grub-mkdevicemap.c (get_virtio_disk_name)
31859 (make_device_map): Likewise.
31860 Reported by Aurelien Jarno <aurel32@debian.org>
31861
31862 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
31863
31864 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
31865 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
31866 (make_device_map): Output entries for xvd type disks.
31867
31868 2008-05-07 Robert Millan <rmh@aybabtu.com>
31869
31870 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
31871 devices.
31872 * util/grub-mkdevicemap.c (get_cciss_disk_name)
31873 (make_device_map): Likewise.
31874 Reported by Roland Dreier <rdreier@cisco.com>
31875
31876 2008-05-07 Robert Millan <rmh@aybabtu.com>
31877
31878 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
31879 grub_strstr() call. Correct a few mistakes in failure path handling.
31880
31881 2008-05-06 Robert Millan <rmh@aybabtu.com>
31882
31883 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31884 Do not print a trailing slash (therefore, the root directory is an
31885 empty string).
31886 (convert_system_path_to_grub_path): Do not remove trailing slash
31887 from make_system_path_relative_to_its_root() output.
31888
31889 * util/i386/pc/grub-install.in: Add trailing slash to output from
31890 make_system_path_relative_to_its_root().
31891
31892 2008-05-06 Robert Millan <rmh@aybabtu.com>
31893
31894 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
31895 ensures that output lines aren't intermangled with those sent to
31896 stderr (via grub_util_info()).
31897 * util/grub-probe.c (grub_refresh): Likewise.
31898 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
31899
31900 2008-05-05 Christian Franke <franke@computer.org>
31901
31902 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
31903 Add Cygwin device names.
31904 (get_ide_disk_name) [__CYGWIN__]: Likewise.
31905 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
31906 (check_device): Return error instead of success on empty name.
31907 (make_device_map): Move label inside linux specific code to
31908 prevent compiler warning.
31909
31910 2008-04-30 Robert Millan <rmh@aybabtu.com>
31911
31912 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
31913 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
31914 first boot option.
31915 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
31916
31917 2008-04-29 Robert Millan <rmh@aybabtu.com>
31918
31919 * docs/grub.cfg: New file (example GRUB configuration).
31920
31921 2008-04-26 Robert Millan <rmh@aybabtu.com>
31922
31923 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
31924 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
31925 and `disk/ieee1275/nand.c'.
31926
31927 2008-04-25 Bean <bean123ch@gmail.com>
31928
31929 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
31930 i386-linuxbios.
31931
31932 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
31933 change the buffer size to 4096 for cdrom device.
31934
31935 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
31936 and nand.mod.
31937 (_linux_mod_SOURCES): New variable.
31938 (_linux_mod_CFLAGS): Likewise.
31939 (_linux_mod_LDFLAGS): Likewise.
31940 (linux_mod_SOURCES): Likewise.
31941 (linux_mod_CFLAGS): Likewise.
31942 (linux_mod_LDFLAGS): Likewise.
31943 (nand_mod_SOURCES): Likewise.
31944 (nand_mod_CFLAGS): Likewise.
31945 (nand_mod_LDFLAGS): Likewise.
31946
31947 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
31948 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
31949 type property. (nand device in olpc don't have this property)
31950
31951 * include/grub/disk.h (grub_disk_dev_id): New macro
31952 GRUB_DISK_DEVICE_NAND_ID.
31953
31954 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31955 function prototype.
31956 (grub_rescue_cmd_initrd): Likewise.
31957
31958 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31959 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31960 ofw_cif_handler and ofw_idt, adjust padding number.
31961
31962 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31963 GRUB_MACHINE_IEEE1275 is defined.
31964
31965 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31966 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31967
31968 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31969 on nested function heap_init.
31970 (grub_upper_mem): New variable for i386-ieee1275.
31971 (grub_get_extended_memory): New function for i386-ieee1275.
31972 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31973
31974 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31975 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31976 property.
31977
31978 * loader/i386/ieee1275/linux.c: New file.
31979
31980 * loader/i386/ieee1275/linux_normal.c: New file.
31981
31982 * disk/ieee1275/nand.c: New file.
31983
31984 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31985
31986 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31987 value.
31988 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31989
31990 2008-04-18 Robert Millan <rmh@aybabtu.com>
31991
31992 Restructures early code path on ieee1275 to unify grub_main() as
31993 the first C function that is executed in every platform.
31994
31995 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31996 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31997 cmain().
31998 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31999 * kern/ieee1275/cmain.c (cmain): Rename to ...
32000 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
32001 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
32002 at the beginning.
32003
32004 2008-04-18 Robert Millan <rmh@aybabtu.com>
32005
32006 * util/update-grub.in: Fix syntax error when setting
32007 `GRUB_PRELOAD_MODULES'.
32008 Reported by Stephane Chazelas <stephane@artesyncp.com>
32009
32010 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
32011
32012 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
32013 section into account, newer toolchains generate unique build ids
32014 * configure.ac: remove the test for --build-id=none acceptance,
32015 we want build ids to be preserved
32016 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
32017 far from other sections don't cause the raw binary images grow
32018 size
32019
32020 2008-04-15 Robert Millan <rmh@aybabtu.com>
32021
32022 * disk/lvm.c: Update copyright year.
32023 * kern/misc.c: Likewise.
32024
32025 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32026
32027 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
32028 there is no memory left for physical volume name.
32029
32030 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32031
32032 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32033 volume name mapping to support bigger than 9 character names properly.
32034
32035 2008-04-13 Robert Millan <rmh@aybabtu.com>
32036
32037 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32038 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32039
32040 2008-04-13 Christian Franke <franke@computer.org>
32041
32042 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32043 to create a floppy emulation boot CD when non emulation mode
32044 does not work.
32045 Enable Joliet CD filesystem extension.
32046
32047 2008-04-13 Robert Millan <rmh@aybabtu.com>
32048
32049 * kern/misc.c (grub_strncat): Fix off-by-one error.
32050 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32051
32052 * kern/env.c (grub_env_context_close): Clear current context, not
32053 previous one.
32054 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32055
32056 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32057
32058 2008-04-13 Robert Millan <rmh@aybabtu.com>
32059
32060 Improve robustness when handling LVM.
32061
32062 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
32063 (and leave `*p' unmodified).
32064 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32065 through it.
32066 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32067 iterating through it.
32068 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32069 through it.
32070 (grub_lvm_scan_device): Check the return value (and fail gracefully
32071 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32072 Don't assume `vg->pvs != NULL' when iterating through it.
32073
32074 2008-04-13 Robert Millan <rmh@aybabtu.com>
32075
32076 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32077 * genmk.rb (partmap): New variable.
32078 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32079 (#{partmap}): New target rule.
32080 * genpartmaplist.sh: New file.
32081 * Makefile.in (pkglib_DATA): Add partmap.lst.
32082 (partmap.lst): New target rule.
32083 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32084 modules (including all partition maps), instead of preloading them.
32085
32086 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32087
32088 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32089 `linux-boot-prober' (if installed) to detect other operating
32090 systems which are installed on the computer and add them to
32091 the boot menu.
32092 * conf/common.rmk: Build and install 30_os-prober.
32093
32094 2008-04-12 Robert Millan <rmh@aybabtu.com>
32095
32096 * kern/powerpc/ieee1275/init.c: Move from here ...
32097 * kern/ieee1275/init.c: ... to here. Update all users.
32098
32099 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32100 * kern/ieee1275/cmain.c: ... to here. Update all users.
32101
32102 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32103 * kern/ieee1275/openfw.c: ... to here. Update all users.
32104
32105 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32106 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32107
32108 2008-04-10 Pavel Roskin <proski@gnu.org>
32109
32110 * configure.ac: Always use "_cv_" in cache variables for
32111 compatibility with Autoconf 2.62.
32112
32113 2008-04-07 Robert Millan <rmh@aybabtu.com>
32114
32115 Revert grub/machine/init.h addition by Pavel (since it breaks on
32116 i386-ieee1275 and others):
32117 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32118 * util/powerpc/ieee1275/misc.c: Likewise.
32119
32120 2008-04-07 Robert Millan <rmh@aybabtu.com>
32121
32122 * util/grub-probe.c (probe): Improve error message.
32123
32124 2008-04-07 Robert Millan <rmh@aybabtu.com>
32125
32126 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32127 (this prevents the presence of a bogus entry from ruining the whole
32128 thing).
32129
32130 2008-04-06 Pavel Roskin <proski@gnu.org>
32131
32132 * util/biosdisk.c: Include grub/util/biosdisk.h.
32133 * util/grub-fstest.c (execute_command): Make static.
32134 * util/grub-mkdevicemap.c (check_device): Likewise.
32135 * util/i386/pc/misc.c: Include grub/machine/init.h.
32136 * util/powerpc/ieee1275/misc.c: Likewise.
32137 * util/lvm.c: Include grub/util/lvm.h.
32138 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32139 grub/cache.h.
32140 * util/raid.c: Include grub/util/raid.h.
32141 (grub_util_getdiskname): Make static.
32142
32143 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32144 grub_hostfs_fini(), as they are called from grub_init_all() and
32145 grub_fini_all() respectively. This fixes an infinite loop in
32146 grub-fstest due to double registration of hostfs.
32147 Reported by Christian Franke <Christian.Franke@t-online.de>
32148
32149 2008-04-05 Pavel Roskin <proski@gnu.org>
32150
32151 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32152 all 8 functions. Otherwise, probe function 0 only.
32153
32154 2008-04-04 Pavel Roskin <proski@gnu.org>
32155
32156 * commands/lspci.c (grub_lspci_iter): Print the bus number
32157 correctly.
32158
32159 * commands/lspci.c (grub_pci_classes): Fix typos.
32160 (grub_lspci_iter): Don't print func twice. Print vendor ID
32161 before device ID, as it's normally done.
32162
32163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32164 Fix signedness warnings.
32165 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32166 Likewise.
32167 * util/ieee1275/get_disk_name.c: Include config.h so that
32168 _GNU_SOURCE is defined and getline() is declared. Mark an
32169 unused argument as such. Fix a signedness warning.
32170
32171 2008-04-02 Pavel Roskin <proski@gnu.org>
32172
32173 * genkernsyms.sh.in: Use more robust assignments for CC and
32174 srcdir. Quote srcdir.
32175 * gensymlist.sh.in: Likewise. Assert at the compile time that
32176 the symbol table is not empty.
32177
32178 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32179 * fs/cpio.c (grub_cpio_read): Likewise.
32180
32181 2008-04-01 Pavel Roskin <proski@gnu.org>
32182
32183 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32184 * disk/host.c (grub_host_open): Likewise.
32185 * disk/loopback.c (grub_loopback_open): Likewise.
32186 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32187 disk->id as in disk/host.c, not a multi-character constant.
32188
32189 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32190 later is obsolete, potentially dangerous and sets a bad example.
32191 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32192 * util/misc.c (grub_util_get_image_size): Likewise.
32193
32194 * disk/loopback.c (options): Improve help for "--partitions".
32195
32196 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32197 options to align them with the short options, e.g. "echo -e".
32198
32199 2008-03-31 Bean <bean123ch@gmail.com>
32200
32201 * video/reader/png.c (grub_png_data): New member is_16bit and
32202 image_data.
32203 (grub_png_decode_image_header): Detect 16 bit png image.
32204 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32205 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32206 (grub_video_reader_png): Release memory occupied by image_data.
32207
32208 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32209 4096 bytes.
32210 (grub_nfs_mount): Skip the test for sector per cluster.
32211
32212 * include/grub/ntfs.h (MAX_SPC): Removed.
32213
32214 2008-03-31 Bean <bean123ch@gmail.com>
32215
32216 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32217 (grub_probe_SOURCES): Add fs/afs.c.
32218 (grub_fstest_SOURCES): Likewise.
32219 (afs_mod_SOURCES): New variable.
32220 (afs_mod_CFLAGS): Likewise.
32221 (afs_mod_LDFLAGS): Likewise.
32222
32223 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32224 (grub_emu_SOURCES): Likewise.
32225
32226 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32227
32228 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32229
32230 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32231
32232 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32233
32234 * fs/afs.c: New file.
32235
32236 2008-03-30 Pavel Roskin <proski@gnu.org>
32237
32238 * disk/host.c: Include grub/misc.h to fix a warning.
32239 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32240 warnings about implicit declarations.
32241
32242 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32243 variable.
32244 * include/grub/i386/loader.h: Change declaration of
32245 grub_linux_boot() to match what grub_loader_set() expects.
32246 * util/getroot.c (grub_guess_root_device): Return const char* to
32247 fix a warning.
32248 * util/grub-probe.c (probe): Fix a warning about uninitialized
32249 abstraction_name variable.
32250 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32251 second argument as unused to fix a warning.
32252
32253 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32254 missing grub_error() call.
32255
32256 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32257 2.60 and newer uses it to define datadir.
32258
32259 * commands/sleep.c: Fix warning about implicit declaration.
32260 * disk/memdisk.c: Likewise.
32261 * loader/aout.c: Likewise.
32262 * loader/i386/bsd_normal.c: Likewise.
32263 * util/grub-probe.c: Likewise.
32264
32265 * commands/i386/cpuid.c (has_longmode): Make static.
32266 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32267 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32268
32269 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32270 GDT. This is more robust, as %ds can change.
32271 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32272 calling real_to_prot().
32273 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32274
32275 2008-03-28 Pavel Roskin <proski@gnu.org>
32276
32277 * kern/i386/pc/startup.S: Assert that uncompressed functions
32278 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32279 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32280 code, as they push parts of the code (error handlers) beyond
32281 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32282 code as correctness and size.
32283
32284 2008-03-28 Pavel Roskin <proski@gnu.org>
32285
32286 * kern/i386/pc/startup.S
32287 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32288 data block address to the real mode, keep offset minimal. This
32289 works around a bug in AWARD BIOS on old Athlon systems, which
32290 makes CD detection hang.
32291
32292 2008-03-26 Pavel Roskin <proski@gnu.org>
32293
32294 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32295 const.
32296 * include/grub/normal.h: Add grub_parse_color_name_pair()
32297 declaration.
32298
32299 2008-03-24 Bean <bean123ch@gmail.com>
32300
32301 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32302 (cd_count): Removed.
32303 (cd_drive): New variable.
32304 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32305 (grub_biosdisk_call_hook): Likewise.
32306 (grub_biosdisk_iterate): Change cdrom detection method.
32307 (grub_biosdisk_open): Replace cd_start with cd_drive.
32308 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32309 detect cdrom device.
32310
32311 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32312 Removed.
32313 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32314 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32315 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32316 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32317 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32318 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32319 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32320 (grub_biosdisk_cdrp): New structure.
32321 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32322
32323 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32324
32325 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32326 device.
32327
32328 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32329 New function.
32330
32331 2008-03-20 Robert Millan <rmh@aybabtu.com>
32332
32333 Remove 2 TiB limit in ata.mod.
32334 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32335 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32336 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32337 grub_uint64_t instead of grub_uint32_t.
32338
32339 2008-03-05 Bean <bean123ch@gmail.com>
32340
32341 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32342 (grub_multiboot): Set boot device.
32343
32344 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32345
32346 2008-03-02 Bean <bean123ch@gmail.com>
32347
32348 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32349 symlink_buffer.
32350
32351 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32352
32353 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32354 texinfo.tex.
32355
32356 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32357 modified.
32358
32359 * docs/fdl.texi: New file.
32360
32361 * docs/mdate-sh: New file. Copied from gnulib.
32362 * docs/texinfo.tex: Likewise.
32363
32364 * config.guess: Updated from gnulib.
32365 * install-sh: Likewise.
32366
32367 2008-02-28 Robert Millan <rmh@aybabtu.com>
32368
32369 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32370 (aout_mod_SOURCES): New variable.
32371 (aout_mod_CFLAGS): Likewise.
32372 (aout_mod_LDFLAGS): Likewise.
32373
32374 * conf/i386-ieee1275.rmk: Likewise.
32375
32376 2008-02-28 Robert Millan <rmh@aybabtu.com>
32377
32378 * util/update-grub.in: Reorganise terminal validity check. Accept
32379 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32380 Based on suggestion by Franklin PIAT.
32381
32382 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32383
32384 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32385 function.
32386 * util/getroot.c (grub_util_check_block_device): New function that
32387 returns the given argument if it is a block device and returns NULL else.
32388 * util/grub-probe.c (argument_is_device): New variable.
32389 (probe): Promote device_name from a variable to an argument. Receive
32390 device_name from grub_util_check_block_device() if path is NULL and from
32391 grub_guess_root_device() else. Do not free() device_name anymore.
32392 (options): Introduce new parameter '-d, --device'.
32393 (main): Add description of the new parameter to the help screen.
32394 Rename path variable to argument. Set argument_is_device if the '-d'
32395 option is given. Pass argument to probe() depending on
32396 argument_is_device.
32397
32398 2008-02-24 Bean <bean123ch@gmail.com>
32399
32400 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32401 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32402 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32403 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32404 (GRUB_ISO9660_VOLDESC_END): Likewise.
32405 (grub_iso9660_primary_voldesc): New member escape.
32406 (grub_iso9660_data): New member joliet.
32407 (grub_iso9660_convert_string): New function.
32408 (grub_iso9660_mount): Detect joliet extension.
32409 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32410 (grub_iso9660_iso9660_label): Likewise.
32411
32412 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32413 (grub_setup_SOURCES): Add fs/udf.c.
32414 (grub_fstest_SOURCES): Likewise.
32415 (udf_mod_SOURCES): New variable.
32416 (udf_mod_CFLAGS): Likewise.
32417 (udf_mod_LDFLAGS): Likewise.
32418
32419 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32420 (grub_emu_SOURCES): Likewise.
32421
32422 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32423
32424 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32425
32426 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32427
32428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32429
32430 * fs/udf.c: New file.
32431
32432 2008-02-24 Robert Millan <rmh@aybabtu.com>
32433
32434 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32435 (normal/lexer.c_DEPENDENCIES): New variables.
32436 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32437 (normal/lexer.c_DEPENDENCIES): Likewise.
32438 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32439 (normal/lexer.c_DEPENDENCIES): Likewise.
32440 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32441 (normal/lexer.c_DEPENDENCIES): Likewise.
32442 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32443 (normal/lexer.c_DEPENDENCIES): Likewise.
32444 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32445 (normal/lexer.c_DEPENDENCIES): Likewise.
32446
32447 2008-02-23 Robert Millan <rmh@aybabtu.com>
32448
32449 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32450 since they were intended to be in hex. This didn't break previously
32451 because of a bug in gpt_partition_map_iterate() (see below).
32452
32453 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32454 when checking the validity of GPT header.
32455 Remove `partno', since it always provides the same information as `i'.
32456
32457 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32458
32459 * include/grub/efi/time.h: Fix a wrong comment.
32460
32461 2008-02-19 Pavel Roskin <proski@gnu.org>
32462
32463 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32464 message.
32465
32466 2008-02-19 Bean <bean123ch@gmail.com>
32467
32468 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32469 (aout_mod_SOURCES): New variable.
32470 (aout_mod_CFLAGS): Likewise.
32471 (aout_mod_LDFLAGS): Likewise.
32472 (_bsd_mod_SOURCES): New variable.
32473 (_bsd_mod_CFLAGS): Likewise.
32474 (_bsd_mod_LDFLAGS): Likewise.
32475 (bsd_mod_SOURCES): New variable.
32476 (bsd_mod_CFLAGS): Likewise.
32477 (bsd_mod_LDFLAGS): Likewise.
32478
32479 * include/grub/aout.h: New file.
32480
32481 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32482
32483 * include/grub/i386/bsd.h: New file.
32484
32485 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32486 to make it public.
32487
32488 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32489 function is called, so that it's possible to change it inside the hook.
32490 (grub_elf64_load): Likewise.
32491 (grub_elf_file): Don't close the file if elf header is not found.
32492 (grub_elf_close): Close the file if grub_elf_file fails (The new
32493 grub_elf_file won't close it).
32494 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32495 (grub_elf64_size): Likewise.
32496
32497 * kern/i386/loader.S (grub_unix_real_boot): New function.
32498
32499 * loader/aout.c: New file.
32500
32501 * loader/i386/bsd.c: New file.
32502
32503 * loader/i386/bsd_normal.c: New file.
32504
32505 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32506
32507 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
32508 can test other formats.
32509
32510 2008-02-19 Robert Millan <rmh@aybabtu.com>
32511
32512 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32513 (grub_gpt_partition_type_empty): Redefine with macro from
32514 `<grub/gpt_partition.h>'.
32515 (gpt_partition_map_iterate): Adjust partition type comparison.
32516
32517 Export `entry' as partmap-specific `part.data' struct.
32518 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32519
32520 * include/grub/gpt_partition.h (grub_gpt_header)
32521 (grub_gpt_partentry): ... to here (new file).
32522
32523 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32524
32525 (grub_gpt_partition_type_bios_boot): New const variable, defined
32526 with macro from `<grub/gpt_partition.h>'.
32527
32528 (setup): Replace `first_start' with `embed_region', which keeps
32529 track of the embed region (and is partmap-agnostic).
32530
32531 Replace find_first_partition_start() with find_usable_region(),
32532 which finds a usable region for embedding using partmap-specific
32533 knowledge (supports PC/MSDOS and GPT).
32534
32535 Fix all assumptions that the embed region start at sector 1, using
32536 `embed_region.start' from now on. Similarly, use `embed_region.end'
32537 rather than `first_start' to calculate available size.
32538
32539 In grub_util_info() message, replace "into after the MBR" with an
32540 indication of the specific sector our embed region starts at.
32541
32542 2008-02-19 Robert Millan <rmh@aybabtu.com>
32543
32544 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32545 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32546 `commands/reboot.c'.
32547 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32548 (halt_mod_SOURCES): Likewise.
32549 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32550 (halt_mod_SOURCES): Likewise.
32551
32552 2008-02-17 Christian Franke <franke@computer.org>
32553
32554 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32555
32556 2008-02-17 Robert Millan <rmh@aybabtu.com>
32557
32558 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32559 set `first_start' to 0 for non-PC/MSDOS partition maps.
32560
32561 2008-02-16 Robert Millan <rmh@aybabtu.com>
32562
32563 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32564 do not assume partition map is PC/MSDOS before performing checks that
32565 are specific to that layout.
32566
32567 2008-02-13 Robert Millan <rmh@aybabtu.com>
32568
32569 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32570 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32571 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32572
32573 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32574
32575 * configure.ac: Only a cosmetic change on the handling of
32576 -fno-stack-protector.
32577
32578 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
32579
32580 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32581 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32582 reboot.c.
32583 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32584 (halt_mod_SOURCES): New variable.
32585 (halt_mod_CFLAGS): Likewise.
32586 (halt_mod_LDFLAGS): Likewise.
32587 (reboot_mod_SOURCES): Likewise.
32588 (reboot_mod_CFLAGS): Likewise.
32589 (reboot_mod_LDFLAGS): Likewise.
32590
32591 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32592 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32593 reboot.c.
32594 (halt_mod_SOURCES): Likewise.
32595 (reboot_mod_SOURCES): Likewise.
32596
32597 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32598 commands/i386/pc/reboot.c by commands/reboot.c.
32599 (reboot_mod_SOURCES): Likewise.
32600
32601 * commands/i386/pc/reboot.c: merge this file ...
32602
32603 * commands/ieee1275/reboot.c: ... and this file ...
32604
32605 * commands/reboot.c: ... to this file.
32606 Add some precompiler directive to include the correct header for
32607 each machine.
32608
32609 * commands/ieee1275/halt.c: move this file ...
32610
32611 * commands/halt.c: ... to here.
32612 Add some precompiler directive to include the correct header for
32613 each machine.
32614
32615 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32616 (grub_halt): Likewise.
32617
32618 * kern/efi/efi.c (grub_reboot): New function.
32619 (grub_halt): Likewise.
32620
32621 2008-02-12 Robert Millan <rmh@aybabtu.com>
32622
32623 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
32624 /dev (like it is done for /dev/mapper). This doesn't provide support
32625 for EVMS, but at least it is now easy to identify the problem when it
32626 arises.
32627
32628 2008-02-11 Robert Millan <rmh@aybabtu.com>
32629
32630 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
32631 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
32632 comparing it with -1, not 0.
32633
32634 2008-02-10 Robert Millan <rmh@aybabtu.com>
32635
32636 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
32637 `disk/lvm.c'.
32638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32639 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32640
32641 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
32642 `disk/lvm.c' to the end of the list.
32643 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32644 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32645
32646 2008-02-10 Robert Millan <rmh@aybabtu.com>
32647
32648 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
32649 grub_print_error() instead. This will let user know why we're entering
32650 rescue mode.
32651 Based on suggestions from Sam Morris.
32652
32653 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
32654
32655 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
32656 on remaining N args, instead of "--" arg N times.
32657
32658 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
32659
32660 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
32661 (fill_with_default_glyph): Changed to use unknown_glyph for fill
32662 pattern for unknown glyphs.
32663
32664 2008-02-09 Robert Millan <rmh@aybabtu.com>
32665
32666 * configure.ac: Probe for `help2man'.
32667 * Makefile.in (builddir): New variable.
32668 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
32669 or otherwise add a few flags/options to it.
32670 (install-local): For every executable utility or script that is
32671 installed, invoke $(HELP2MAN) to install a manpage based on --help
32672 output.
32673
32674 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
32675 that it doesn't prevent --help from working in build tree.
32676
32677 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
32678 with `bug-grub@gnu.org'.
32679 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
32680 * util/update-grub.in (usage): New function.
32681 Implement proper argument check, with support for --help and --version
32682 (as well as existing -y).
32683
32684 2008-02-09 Christian Franke <franke@computer.org>
32685
32686 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
32687 avoid overwriting previous output.
32688 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
32689
32690 2008-02-09 Robert Millan <rmh@aybabtu.com>
32691
32692 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
32693 drawing the menu.
32694
32695 2008-02-09 Robert Millan <rmh@aybabtu.com>
32696
32697 * commands/sleep.c: New file.
32698 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
32699 (sleep_mod_SOURCES): New variable.
32700 (sleep_mod_CFLAGS): Likewise.
32701 (sleep_mod_LDFLAGS): Likewise.
32702
32703 2008-02-09 Robert Millan <rmh@aybabtu.com>
32704
32705 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
32706 situations in which we can deduce the RAID size and the superblock
32707 doesn't match it.
32708
32709 2008-02-09 Robert Millan <rmh@aybabtu.com>
32710
32711 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
32712 and return a grub_diskmemberlist_t composed of LVM physical volumes.
32713 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
32714
32715 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
32716 and return a grub_diskmemberlist_t composed of physical array members.
32717 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
32718
32719 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
32720 prototype.
32721 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
32722 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
32723 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
32724
32725 * util/grub-probe.c (probe): Move partmap probing code from here ...
32726 (probe_partmap): ... to here.
32727 (probe): Use probe_partmap() once for the disk we're probing, and
32728 additionally, when such disk contains a memberlist() struct member,
32729 once for each disk that is contained in the structure returned by
32730 memberlist().
32731
32732 2008-02-09 Robert Millan <rmh@aybabtu.com>
32733
32734 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
32735 environment variable to 'all' in order to obtain debug output from
32736 non-util/ code.
32737 * util/i386/pc/grub-setup.c (main): Likewise.
32738
32739 2008-02-08 Robert Millan <rmh@aybabtu.com>
32740
32741 * disk/raid.c (grub_raid_scan_device): Check for
32742 `array->device[sb.this_disk.number]' rather than for
32743 `array->device[sb.this_disk.number]->name', since the latter is not
32744 guaranteed to be accessible.
32745
32746 2008-02-08 Robert Millan <rmh@aybabtu.com>
32747
32748 * disk/raid.c: Update copyright.
32749 * fs/cpio.c: Likewise.
32750 * include/grub/raid.h: Likewise.
32751 * loader/i386/pc/multiboot.c: Likewise.
32752 * util/hostfs.c: Likewise.
32753
32754 2008-02-08 Robert Millan <rmh@aybabtu.com>
32755
32756 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
32757 to a grub_disk_t array.
32758 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
32759 `device[x]'.
32760 (grub_raid_scan_device): Replace `device[x].name' accesses with
32761 `device[x]->name'. Simplify initialization of `array->device[x]'.
32762
32763 2008-02-08 Robert Millan <rmh@aybabtu.com>
32764
32765 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
32766 grub_dprintf() calls.
32767 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
32768 error message.
32769
32770 2008-02-07 Christian Franke <franke@computer.org>
32771
32772 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
32773 instead of fseek and ftell to support large files.
32774 (grub_hostfs_read): Likewise.
32775
32776 2008-02-07 Robert Millan <rmh@aybabtu.com>
32777
32778 Patch from Jeroen Dekkers.
32779 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
32780 failure, since successfully reading all array members might not be
32781 required.
32782
32783 2008-02-06 Robert Millan <rmh@aybabtu.com>
32784
32785 * util/grub-probe.c (probe): Simplify partmap probing (with the
32786 assumption that the first word up to the underscore equals to
32787 the module name).
32788
32789 2008-02-06 Christian Franke <franke@computer.org>
32790
32791 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
32792 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
32793 last block of a cpio or tar stream.
32794 Check for "TRAILER!!!" instead of any empty data
32795 block to detect last block of a cpio stream.
32796 (grub_cpio_dir): Fix constness of variable np.
32797 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
32798 cpio or tar trailer is detected. This fixes a crash
32799 on open of a non existing file.
32800
32801 2008-02-05 Bean <bean123ch@gmail.com>
32802
32803 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
32804 address of entry.
32805 (grub_multiboot_load_elf64): Likewise.
32806 (grub_multiboot): Initialize mbi structure.
32807
32808 * util/grub-fstest.c: Don't include unused header file script.h.
32809
32810 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
32811 of file.
32812 (grub_fstest_SOURCES): Likewise.
32813
32814 2008-02-05 Robert Millan <rmh@aybabtu.com>
32815
32816 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
32817 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
32818 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
32819 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
32820
32821 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
32822 (translation_table): Replace hardcoded values with macros
32823 provided by `<grub/term.h>'.
32824
32825 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
32826 (keyboard_map): Correct/add a few values, with macros provided
32827 by `<grub/term.h>'.
32828 (keyboard_map_shift): Zero values that don't differ from their
32829 `keyboard_map' equivalents.
32830 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
32831 Discard the second scan code that is always sent by Caps lock.
32832 Only use `keyboard_map_shift' when it provides a non-zero value,
32833 otherwise fallback to `keyboard_map'.
32834
32835 2008-02-04 Bean <bean123ch@gmail.com>
32836
32837 * Makefile.in (enable_grub_fstest): New variable.
32838
32839 * conf/common.rmk (grub_fstest_init.lst): New rule.
32840 (grub_fstest_init.h): Likewise.
32841 (grub_fstest_init.c): Likewise.
32842 (util/grub-fstest.c_DEPENDENCIES): New variable.
32843 (grub_fstest_SOURCES): Likewise.
32844
32845 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
32846
32847 * util/grub-fstest.c: New file.
32848
32849 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32850
32851 Make grub-setup handle a separate root device.
32852
32853 * util/i386/pc/grub-setup.c (setup): Always open the root device,
32854 so that the root device can be compared with the destination
32855 device.
32856 When embedding the core image, if the root and destination devices
32857 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
32858 0xFF.
32859 When not embedding, set ROOT_DRIVE to 0xFF.
32860
32861 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32862
32863 Add support for having a grub directory in a different drive. This
32864 is still only the data handling part.
32865
32866 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
32867 (codestart): Save %dh in GRUB_ROOT_DRIVE.
32868 (grub_root_drive): New variable.
32869
32870 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
32871 instead of GRUB_BOOT_DRIVE to construct a device name. Set
32872 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
32873 as it was.
32874
32875 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
32876
32877 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
32878 macro.
32879 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
32880
32881 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
32882 is bogus, because PXE booting does not specify any drive
32883 correctly.
32884
32885 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
32886 am not sure if this is really correct.
32887
32888 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
32889 is always identical to the boot drive when booting from a CD.
32890
32891 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
32892 longer.
32893 (root_drive): New variable.
32894 (real_start): Unconditionally set %dh to ROOT_DRIVE.
32895 (setup_sectors): Push %dx right after popping it, because %dh will
32896 be modified later.
32897 (copy_buffer): Restore %dx.
32898
32899 2008-02-03 Robert Millan <rmh@aybabtu.com>
32900
32901 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
32902 use `cdboot.img' for cdrom images.
32903
32904 2008-02-03 Robert Millan <rmh@aybabtu.com>
32905
32906 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
32907 only setup gfxterm when `font' command has succeeded.
32908
32909 2008-02-03 Robert Millan <rmh@aybabtu.com>
32910
32911 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
32912 (grub_rescue_cmd_multiboot_loader)
32913 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
32914
32915 2008-02-03 Pavel Roskin <proski@gnu.org>
32916
32917 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
32918 %edx and %esi from stack only after grub_gate_a20() is called.
32919 grub_gate_a20() clobbers %edx.
32920
32921 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32922
32923 * configure.ac (AC_INIT): Bumped to 1.96.
32924
32925 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
32926 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
32927 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
32928 video/readers/png.c.
32929
32930 2008-02-03 Bean <bean123ch@gmail.com>
32931
32932 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
32933 (cdboot_img_SOURCES): New variable.
32934 (cdboot_img_ASFLAGS): New variable.
32935 (cdboot_img_LDFLAGS): New variable.
32936
32937 * boot/i386/pc/cdboot.S: New file.
32938
32939 * disk/i386/pc/biosdisk.c (cd_start): New variable.
32940 (cd_count): Likewise.
32941 (grub_biosdisk_get_drive): Add support for cd device.
32942 (grub_biosdisk_call_hook): Likewise.
32943 (grub_biosdisk_iterate): Likewise.
32944 (grub_biosdisk_open): Likewise.
32945 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
32946 (grub_biosdisk_rw): Support reading from cd device.
32947 (GRUB_MOD_INIT): Iterate cd devices.
32948
32949 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
32950 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
32951 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
32952
32953 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32954
32955 2008-02-02 Robert Millan <rmh@aybabtu.com>
32956
32957 * commands/read.c: New file.
32958 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32959 (read_mod_SOURCES): New variable.
32960 (read_mod_CFLAGS): Likewise.
32961 (read_mod_LDFLAGS): Likewise.
32962
32963 2008-02-02 Robert Millan <rmh@aybabtu.com>
32964
32965 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32966 determining whether menu has to be displayed.
32967
32968 2008-02-02 Marco Gerards <marco@gnu.org>
32969
32970 * bus/pci.c: New file.
32971
32972 * include/grub/pci.h: Likewise.
32973
32974 * include/grub/i386/pc/pci.h: Likewise.
32975
32976 * commands/lspci.c: Likewise.
32977
32978 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32979 `lspci.mod'.
32980 (pci_mod_SOURCES): New variable.
32981 (pci_mod_CFLAGS): Likewise.
32982 (pci_mod_LDFLAGS): Likewise.
32983 (lspci_mod_SOURCES): Likewise.
32984 (lspci_mod_CFLAGS): Likewise.
32985 (lspci_mod_LDFLAGS): Likewise.
32986
32987 2008-02-02 Bean <bean123ch@gmail.com>
32988
32989 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32990 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32991
32992 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32993 (grub_xfs_btree_node): New structure.
32994 (grub_xfs_btree_root): New structure.
32995 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32996 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32997 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32998 (GRUB_XFS_EXTENT_SIZE): Likewise.
32999 (grub_xfs_read_block): Support btree format type.
33000 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
33001 Use directory block as basic unit.
33002
33003 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
33004
33005 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
33006 __attribute__ ((__regparm__ (1))).
33007
33008 2008-02-01 Robert Millan <rmh@aybabtu.com>
33009
33010 Correct a mistake in previous commit.
33011
33012 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
33013 top.
33014 (normal/command.c_DEPENDENCIES): New variable.
33015
33016 2008-02-01 Robert Millan <rmh@aybabtu.com>
33017
33018 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
33019 top.
33020 (normal/command.c_DEPENDENCIES): New variable.
33021 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
33022 * conf/i386-ieee1275.rmk: Likewise.
33023 * conf/i386-linuxbios.rmk: Likewise.
33024 * conf/i386-pc.rmk: Likewise.
33025 * conf/sparc64-ieee1275.rmk: Likewise.
33026 * conf/powerpc-ieee1275.rmk: Likewise.
33027 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33028
33029 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33030
33031 2008-02-01 Robert Millan <rmh@aybabtu.com>
33032
33033 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33034 call at beginning of function.
33035
33036 2008-01-31 Pavel Roskin <proski@gnu.org>
33037
33038 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
33039 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33040 (grub_mkrescue_SOURCES): Likewise.
33041 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33042
33043 2008-01-30 Robert Millan <rmh@aybabtu.com>
33044
33045 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33046 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33047 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33048 (grub_probe_SOURCES): ... to here.
33049
33050 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33051 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33052 * conf/i386-ieee1275.rmk: Likewise.
33053 * conf/i386-linuxbios.rmk: Likewise.
33054 * conf/powerpc-ieee1275.rmk: Likewise.
33055
33056 2008-01-30 Tristan Gingold <gingold@free.fr>
33057
33058 * kern/rescue.c: Silently accept empty lines.
33059
33060 2008-01-29 Bean <bean123ch@gmail.com>
33061
33062 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33063 (real_code_2): Code cleanup and change comment style.
33064 (move_memory): Avoid using 32-bit address mode.
33065
33066 2008-01-29 Bean <bean123ch@gmail.com>
33067
33068 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33069 (png_mod_SOURCES): New variable.
33070 (png_mod_CFLAGS): Likewise.
33071 (png_mod_LDFLAGS): Likewise.
33072
33073 * video/readers/png.c: New file.
33074
33075 2008-01-28 Robert Millan <rmh@aybabtu.com>
33076
33077 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33078 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33079 `ifndef GRUB_MOD_GAP' hack.
33080 * util/elf/grub-mkimage.c (add_segments): Likewise.
33081
33082 2008-01-27 Robert Millan <rmh@aybabtu.com>
33083
33084 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33085 `GRUB_MOD_GAP' for platforms in which it's not defined.
33086 * util/elf/grub-mkimage.c (add_segments): Likewise.
33087
33088 2008-01-27 Robert Millan <rmh@aybabtu.com>
33089
33090 Get grub-emu to build again (including parallel builds).
33091
33092 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33093 Split into ...
33094 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33095 (normal/execute.c_DEPENDENCIES): ... this, ...
33096 (grub-emu_DEPENDENCIES): ... and this.
33097
33098 * conf/i386-efi.rmk: Likewise.
33099 * conf/i386-linuxbios.rmk: Likewise.
33100 * conf/i386-ieee1275.rmk: Likewise.
33101 * conf/powerpc-ieee1275.rmk: Likewise.
33102 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33103
33104 2008-01-27 Robert Millan <rmh@aybabtu.com>
33105
33106 * NEWS: Add a few items.
33107
33108 2008-01-27 Robert Millan <rmh@aybabtu.com>
33109
33110 Fix parallel builds with grub-emu. Based on earlier commit for
33111 grub-probe and grub-setup.
33112
33113 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33114 (util/grub-emu.c_DEPENDENCIES): ... this.
33115 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33116 (util/grub-emu.c_DEPENDENCIES): ... this.
33117 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33118 (util/grub-emu.c_DEPENDENCIES): ... this.
33119 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33120 (util/grub-emu.c_DEPENDENCIES): ... this.
33121 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33122 (util/grub-emu.c_DEPENDENCIES): ... this.
33123
33124 2008-01-27 Pavel Roskin <proski@gnu.org>
33125
33126 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33127 to create a gap between _end and the modules added to the image
33128 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33129 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33130 * util/elf/grub-mkimage.c (add_segments): Likewise.
33131
33132 2008-01-26 Pavel Roskin <proski@gnu.org>
33133
33134 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33135 just return an error.
33136
33137 2008-01-26 Bean <bean123ch@gmail.com>
33138
33139 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33140 (grub_reiserfs_get_item): Save offset of the next item.
33141 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33142
33143 2008-01-25 Robert Millan <rmh@aybabtu.com>
33144
33145 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33146 make all filesystem sources appear together (possibly fixing omissions
33147 while at it).
33148 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33149 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33150 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33151 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33152
33153 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33154 add `kern/file.c'.
33155 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33156 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33157 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33158 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33159
33160 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33161 (probe): Add a sanity check to make sure of our ability to read
33162 requested files when probing for filesystem type.
33163
33164 * genmk.rb: Update copyright year (2007).
33165
33166 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33167 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33168 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33169 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33170 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33171 : Remove function prototypes.
33172
33173 2008-01-25 Robert Millan <rmh@aybabtu.com>
33174
33175 Revert my previous commits (based on wrong assumption of how grub_errno
33176 works).
33177
33178 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
33179 * kern/file.c (grub_file_open): Likewise.
33180
33181 2008-01-24 Pavel Roskin <proski@gnu.org>
33182
33183 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33184 that hang if GRUB tries to setup colors.
33185 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33186 colors for firmwares that don't support it.
33187 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33188 Recognize Open Hack'Ware, set flags to work around its
33189 limitations.
33190
33191 2008-01-24 Robert Millan <rmh@aybabtu.com>
33192
33193 * kern/file.c (grub_file_open): Do not account previous failures of
33194 unrelated functions when grub_errno is checked for.
33195 Reported by Oleg Strikov.
33196
33197 2008-01-24 Bean <bean123ch@gmail.com>
33198
33199 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33200 (grub_ufs_sblock): New member volume name.
33201 (grub_ufs_find_file): Fix string copy bug.
33202 (grub_ufs_label): Implement this function properly.
33203
33204 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33205 (grub_hfs_iterate_records): Use the correct file number for extents
33206 and catalog file. Fix problem in next index calculation.
33207 (grub_hfs_find_node): Replace recursive function call with loop.
33208 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33209
33210 2008-01-23 Robert Millan <rmh@aybabtu.com>
33211
33212 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33213 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33214 (grub_multiboot2_real_boot): New function prototype.
33215
33216 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33217 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33218
33219 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33220 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33221
33222 2008-01-23 Robert Millan <rmh@aybabtu.com>
33223
33224 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33225 #ifdef'ed out grub_printf().
33226
33227 2008-01-23 Robert Millan <rmh@aybabtu.com>
33228
33229 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33230 grub_dprintf calls, since they make "debug=all" mode unusable.
33231 (grub_console_checkkey): Likewise.
33232
33233 2008-01-23 Robert Millan <rmh@aybabtu.com>
33234
33235 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33236 `term/i386/pc/at_keyboard.c'.
33237 (pkglib_MODULES): Add `serial.mod'.
33238 (serial_mod_SOURCES): New variable.
33239 (serial_mod_CFLAGS): Likewise.
33240 (serial_mod_LDFLAGS): Likewise.
33241
33242 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33243 `<grub/powerpc/ieee1275/console.h>'.
33244 (grub_keyboard_controller_init): New function prototype.
33245 (grub_console_checkkey): Likewise.
33246 (grub_console_getkey): Likewise.
33247
33248 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33249 keyboard on i386.
33250
33251 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33252 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33253
33254 2008-01-23 Robert Millan <rmh@aybabtu.com>
33255
33256 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33257 present, "(memdisk)/boot/grub" becomes the default prefix.
33258
33259 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33260 a memdisk tarball with all the modules. Add --overlay=DIR option that
33261 allows users to overlay additional files into the image.
33262
33263 2008-01-23 Robert Millan <rmh@aybabtu.com>
33264
33265 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33266 and `machine/memory.h'.
33267 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33268 (_multiboot_mod_SOURCES): New variable.
33269 (_multiboot_mod_CFLAGS): Likewise.
33270 (_multiboot_mod_LDFLAGS): Likewise.
33271 (multiboot_mod_SOURCES): Likewise.
33272 (multiboot_mod_CFLAGS): Likewise.
33273 (multiboot_mod_LDFLAGS): Likewise.
33274
33275 * include/grub/i386/ieee1275/loader.h: New file.
33276
33277 * include/grub/i386/ieee1275/machine.h: Likewise.
33278
33279 * include/grub/i386/ieee1275/memory.h: Likewise.
33280
33281 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33282 variable declaration.
33283 (grub_os_area_size): Likewise.
33284
33285 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33286 (grub_lower_mem, grub_upper_mem): New variables.
33287 (grub_stop_floppy): New function (just to make
33288 grub_multiboot2_real_boot() happy).
33289
33290 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33291 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33292 (grub_stop): New function.
33293 Include `"../realmode.S"' and `"../loader.S"'.
33294
33295 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33296 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33297
33298 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33299 rely on grub_multiboot2_real_boot() for final boot.
33300
33301 2008-01-22 Robert Millan <rmh@aybabtu.com>
33302
33303 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33304 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33305 device that doesn't look like an SD card.
33306 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33307 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33308 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33309 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33310 found.
33311
33312 2008-01-22 Robert Millan <rmh@aybabtu.com>
33313
33314 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33315 avoid claiming over our own code.
33316
33317 2008-01-22 Bean <bean123ch@gmail.com>
33318
33319 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33320 (jpeg_mod_SOURCES): New variable.
33321 (jpeg_mod_CFLAGS): Likewise.
33322 (jpeg_mod_LDFLAGS): Likewise.
33323
33324 * video/readers/jpeg.c : New file.
33325
33326 2008-01-22 Bean <bean123ch@gmail.com>
33327
33328 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33329 there are no more items.
33330
33331 2008-01-21 Robert Millan <rmh@aybabtu.com>
33332
33333 * kern/mm.c (grub_mm_init_region): Improve debug message.
33334
33335 2008-01-21 Robert Millan <rmh@aybabtu.com>
33336
33337 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33338 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33339 address.
33340 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33341 a C macro.
33342 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33343 Indicates start of upper memory.
33344 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33345 (generate_image): Abort when image size is big enough to corrupt
33346 upper memory.
33347
33348 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33349 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33350 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33351 instead of hardcoding 0xA0000.
33352 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33353 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33354 instead of hardcoding 0xA0000.
33355
33356 2008-01-21 Robert Millan <rmh@aybabtu.com>
33357
33358 * disk/memdisk.c (memdisk_size): New variable.
33359 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33360 `memdisk_size'.
33361 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33362 image to dynamic memory.
33363 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33364 `memdisk_size'. Free memdisk block.
33365
33366 2008-01-21 Robert Millan <rmh@aybabtu.com>
33367
33368 Fix detection of very small filesystems (like tar).
33369
33370 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33371 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33372 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33373 a problem with this disk).
33374
33375 2008-01-21 Robert Millan <rmh@aybabtu.com>
33376
33377 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33378 on grub_biosdisk_rw_standard() error.
33379
33380 2008-01-21 Robert Millan <rmh@aybabtu.com>
33381
33382 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33383 recent changes.
33384 * kern/elf.c: Likewise.
33385 * kern/ieee1275/ieee1275.c: Likewise.
33386 * kern/powerpc/ieee1275/openfw.c: Likewise.
33387 * term/ieee1275/ofconsole.c: Likewise.
33388
33389 2008-01-21 Robert Millan <rmh@aybabtu.com>
33390
33391 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33392
33393 * include/grub/kernel.h (grub_arch_memdisk_addr)
33394 (grub_arch_memdisk_size): Moved from here ...
33395
33396 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33397 (grub_arch_memdisk_size): ... to here.
33398
33399 2008-01-21 Robert Millan <rmh@aybabtu.com>
33400
33401 Mostly based on bugfix from Bean.
33402
33403 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33404 attribute with hook() parameter.
33405 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33406 declaration.
33407 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33408 attribute with hook() parameter.
33409 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33410 declaration.
33411
33412 2008-01-21 Robert Millan <rmh@aybabtu.com>
33413
33414 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33415 (pkglib_MODULES): Add `memdisk.mod'.
33416 (memdisk_mod_SOURCES): New variable.
33417 (memdisk_mod_CFLAGS): Likewise.
33418 (memdisk_mod_LDFLAGS): Likewise.
33419
33420 * disk/memdisk.c: New file.
33421
33422 * include/grub/disk.h (grub_disk_dev_id): Add
33423 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33424
33425 * include/grub/i386/pc/kernel.h
33426 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33427 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33428 (grub_kernel_image_size): New variable declaration.
33429 (grub_total_module_size): Likewise.
33430 (grub_memdisk_image_size): Likewise.
33431
33432 * include/grub/i386/pc/memory.h
33433 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33434
33435 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33436 (grub_arch_memdisk_addr): New variable declaration.
33437 (grub_arch_memdisk_size): Likewise.
33438
33439 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33440 (grub_arch_memdisk_size): Likewise.
33441
33442 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33443 (codestart): Replace hardcoded `0x100000' with
33444 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33445
33446 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33447 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33448 not NULL, append the contents of the file it refers to, at the end of
33449 the compressed kernel image. Initialize `grub_memdisk_image_size'
33450 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33451 (options): Add "memdisk"|'m' option.
33452 (main): Parse --memdisk|-m option, and pass user-provided path as
33453 parameter to generate_image().
33454
33455 2008-01-20 Robert Millan <rmh@aybabtu.com>
33456
33457 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33458 grub_dprintf() calls from here ...
33459 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33460
33461 2008-01-20 Robert Millan <rmh@aybabtu.com>
33462
33463 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33464
33465 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33466 declaration.
33467 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33468 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33469 `GRUB_IEEE1275_FLAG_REAL_MODE'.
33470 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
33471 property).
33472 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33473 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33474
33475 2008-01-19 Robert Millan <rmh@aybabtu.com>
33476
33477 Get rid of confusing function (superseded by
33478 `grub_ieee1275_get_integer_property')
33479 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33480 prototype.
33481 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33482 function.
33483 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33484 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
33485 in native endianness from grub_ieee1275_get_integer_property().
33486
33487 2008-01-19 Robert Millan <rmh@aybabtu.com>
33488
33489 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33490 command after "shut-down", since implementations differ on which
33491 the command for halt is.
33492
33493 2008-01-19 Robert Millan <rmh@aybabtu.com>
33494
33495 * include/grub/i386/linuxbios/console.h: Add header protection.
33496 (grub_keyboard_controller_init): New function prototype.
33497 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33498 (KEYBOARD_COMMAND_READ): Likewise.
33499 (KEYBOARD_COMMAND_WRITE): Likewise.
33500 (KEYBOARD_SCANCODE_SET1): Likewise.
33501 (grub_keyboard_controller_write): New function.
33502 (grub_keyboard_controller_read): Likewise.
33503 (grub_keyboard_controller_init): Likewise.
33504
33505 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33506 (grub_console_init): On coreboot/LinuxBIOS, call
33507 grub_keyboard_controller_init().
33508
33509 2008-01-19 Robert Millan <rmh@aybabtu.com>
33510
33511 PowerPC changes provided by Pavel Roskin.
33512
33513 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33514 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33515 don't rely on cmain() doing it.
33516 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33517 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33518
33519 2008-01-16 Robert Millan <rmh@aybabtu.com>
33520
33521 * include/grub/i386/linuxbios/memory.h
33522 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33523 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33524 receive `table_header' as argument. Instead, probe for it in the
33525 known memory ranges where it can be present.
33526 (grub_available_iterate): Do not pass a fixed `table_header' address
33527 to grub_linuxbios_table_iterate().
33528
33529 2008-01-15 Robert Millan <rmh@aybabtu.com>
33530
33531 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33532 * conf/i386-ieee1275.rmk: New file.
33533 * include/grub/i386/ieee1275/console.h: Likewise.
33534 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33535 * include/grub/i386/ieee1275/kernel.h: Likewise.
33536 * include/grub/i386/ieee1275/time.h: Likewise.
33537 * kern/i386/ieee1275/init.c: Likewise.
33538 * kern/i386/ieee1275/startup.S: Likewise.
33539
33540 2008-01-15 Robert Millan <rmh@aybabtu.com>
33541
33542 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33543 when pointers are 32-bit (but still do set it to one when they are
33544 64-bit).
33545
33546 2008-01-15 Robert Millan <rmh@aybabtu.com>
33547
33548 * include/grub/ieee1275/ieee1275.h
33549 (grub_ieee1275_get_integer_property): New function prototype.
33550
33551 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33552 (grub_ieee1275_get_integer_property): New function. Wraps around
33553 grub_ieee1275_get_property() to handle endianness.
33554
33555 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33556 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
33557 where appropriate.
33558 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33559 (grub_map): Likewise.
33560 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33561
33562 2008-01-15 Bean <bean123ch@gmail.com>
33563
33564 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33565 (grub_script_execute_cmdline): Reset grub_errno.
33566
33567 * normal/main.c (read_config_file): Reset grub_errno.
33568
33569 * normal/parse.y (script_init): New.
33570 (script): Move function and menuentry here.
33571 (delimiter): New.
33572 (command): Add delimiter at the end of command.
33573 (commands): Adjust to match the new command.
33574 (commandblock): Remove grub_script_lexer_record_start.
33575 (menuentry): Add grub_script_lexer_record_start, use the new commands.
33576 (if): Use the new commands.
33577
33578 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33579
33580 2008-01-15 Robert Millan <rmh@aybabtu.com>
33581
33582 * normal/menu.c (run_menu): Move timeout message from here ...
33583 (print_timeout): ... to here.
33584 (run_menu): Use print_timeout() once during initial draw to print
33585 the whole message, and again in every clock tick to update only
33586 the number of seconds.
33587
33588 2008-01-15 Robert Millan <rmh@aybabtu.com>
33589
33590 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33591 actual size of `available' from grub_ieee1275_get_property(), and
33592 restrict parsing to that bound.
33593
33594 2008-01-15 Christian Franke <franke@computer.org>
33595
33596 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33597 (argp_program_version): Remove variable.
33598 (argp_program_bug_address): Likewise.
33599 (options): Convert from struct argp_option to struct option.
33600 (struct arguments): Remove.
33601 (parse_opt): Remove.
33602 (usage): New function.
33603 (main): Replace struct args members by simple variables.
33604 Replace argp_parse() by getopt_long().
33605 Add switch to evaluate options.
33606 Add missing "(...)" around root_dev in prefix string.
33607
33608 2008-01-14 Robert Millan <rmh@aybabtu.com>
33609
33610 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33611 for grub_ieee1275_exit(), in order to improve portability.
33612
33613 2008-01-14 Robert Millan <rmh@aybabtu.com>
33614
33615 * util/grub.d/10_linux.in (prefix): Define.
33616 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33617
33618 2008-01-13 Pavel Roskin <proski@gnu.org>
33619
33620 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
33621 grub_errno if no errors have been detected.
33622
33623 2008-01-12 Robert Millan <rmh@aybabtu.com>
33624
33625 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
33626 (grub_util_get_dev_abstraction): New function prototype.
33627
33628 * util/getroot.c: Include `<grub/util/getroot.h>'
33629 (grub_util_get_grub_dev): Move detection of abstraction type to ...
33630 (grub_util_get_dev_abstraction): ... here (new function).
33631
33632 * util/grub-probe.c: Convert PRINT_* to an enum. Add
33633 `PRINT_ABSTRACTION'.
33634 (probe): Probe for abstraction type when requested.
33635 (main): Understand `--target=abstraction'.
33636
33637 * util/i386/efi/grub-install.in: Add abstraction module to core
33638 image when it is found to be necessary.
33639 * util/i386/pc/grub-install.in: Likewise.
33640 * util/powerpc/ieee1275/grub-install.in: Likewise.
33641
33642 * util/update-grub_lib.in (font_path): Return system path without
33643 converting to GRUB path.
33644 * util/update-grub.in: Convert system path returned by font_path()
33645 to a GRUB path. Use `grub-probe -t abstraction' to determine what
33646 abstraction module is needed for loading fonts (if any). Export
33647 that as `GRUB_PRELOAD_MODULES'.
33648 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
33649 insmod commands).
33650
33651 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
33652
33653 Remove some unused code from reiserfs.
33654
33655 * fs/reiserfs.c (struct grub_reiserfs_key)
33656 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
33657 (struct grub_reiserfs_node_body): Removed.
33658 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33659 Likewise.
33660 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33661 Likewise.
33662 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33663 Likewise.
33664 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33665 Likewise.
33666 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33667 Likewise.
33668 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
33669 Likewise.
33670 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33671 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33672 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33673
33674 2008-01-10 Robert Millan <rmh@aybabtu.com>
33675
33676 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
33677 Determines if a file is garbage left by packaging systems, etc.
33678 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
33679 for processing /etc/grub.d scripts.
33680 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
33681 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
33682 as a condition for processing Linux images.
33683
33684 2008-01-10 Pavel Roskin <proski@gnu.org>
33685
33686 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
33687 to compile reiserfs.c on PowerPC.
33688
33689 2008-01-10 Robert Millan <rmh@aybabtu.com>
33690
33691 * kern/device.c (grub_device_iterate): Do not abort device iteration
33692 when one of the devices cannot be opened.
33693 * kern/disk.c (grub_disk_open): Do not account previous failures of
33694 unrelated functions when grub_errno is checked for.
33695
33696 2008-01-08 Robert Millan <rmh@aybabtu.com>
33697
33698 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
33699 `! grub_linux_is_bzimage', change order of address comparison to make
33700 it more intuitive, and improve "too big zImage" error message.
33701
33702 2008-01-08 Robert Millan <rmh@aybabtu.com>
33703
33704 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
33705 `$(update-grub_DATA)'.
33706 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
33707 targets.
33708
33709 2008-01-07 Robert Millan <rmh@aybabtu.com>
33710
33711 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
33712 which instruction is modified by grub-setup during installation
33713 (since it wasn't obvious by only looking at this file).
33714
33715 2008-01-07 Robert Millan <rmh@aybabtu.com>
33716
33717 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
33718 listing actual TODO items.
33719
33720 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33721
33722 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
33723 correctly.
33724 (grub_reiserfs_get_key_offset): Likewise.
33725 (grub_reiserfs_set_key_offset): Likewise.
33726 (grub_reiserfs_set_key_type): Likewise.
33727 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
33728
33729 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
33730 better to remove the bitfield version completely.
33731
33732 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33733
33734 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
33735 allocated from the heap, due to the fshelp implementation.
33736 (grub_reiserfs_dir): Free NODE, due to the same reason.
33737
33738 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33739
33740 Mostly from Vincent Pelletier:
33741
33742 * fs/reiserfs.c: New file.
33743
33744 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
33745 (reiserfs_mod_SOURCES): New variable.
33746 (reiserfs_mod_CFLAGS): Likewise.
33747 (reiserfs_mod_LDFLAGS): Likewise.
33748
33749 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
33750 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
33751 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
33752 normal/color.c.
33753
33754 2008-01-06 Robert Millan <rmh@aybabtu.com>
33755
33756 * normal/color.c: Remove `<grub/env.h>'.
33757
33758 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
33759
33760 * include/grub/normal.h: Include <grub/env.h>.
33761
33762 2008-01-05 Robert Millan <rmh@aybabtu.com>
33763
33764 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
33765 usage example with `(hd0,1)'.
33766 Reported by Samuel Thibault.
33767
33768 2008-01-05 Robert Millan <rmh@aybabtu.com>
33769
33770 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
33771 (grub_linux_boot_zimage): Rename to ...
33772 (grub_linux_boot): ... this.
33773 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
33774 (grub_linux_boot_zimage): Conditionalize zImage copy.
33775
33776 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
33777 (grub_linux_boot_bzimage): Remove prototype.
33778 (grub_linux_boot_zimage): Rename to ...
33779 (grub_linux_boot): ... this.
33780
33781 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
33782 (grub_linux_boot): Remove function.
33783
33784 2008-01-05 Robert Millan <rmh@aybabtu.com>
33785
33786 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
33787 (grub_env_write_color_highlight): Likewise.
33788 (grub_wait_after_message): Likewise.
33789
33790 * normal/color.c: New file.
33791
33792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33793 (normal_mod_DEPENDENCIES): Likewise.
33794
33795 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33796 (normal_mod_DEPENDENCIES): Likewise.
33797
33798 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33799 (normal_mod_DEPENDENCIES): Likewise.
33800
33801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33802 (normal_mod_DEPENDENCIES): Likewise.
33803
33804 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
33805 for waiting after a message is printed.
33806 * normal/main.c (read_config_file): Likewise.
33807 (grub_normal_init): Register grub_env_write_color_normal() and
33808 grub_env_write_color_highlight() hooks. Mark `color_normal' and
33809 `color_highlight' variables as global.
33810
33811 * normal/menu.c (grub_wait_after_message): New function.
33812 (grub_color_menu_normal): New variable. Replaces ...
33813 (GRUB_COLOR_MENU_NORMAL): ... this macro.
33814 (grub_color_menu_highlight): New variable. Replaces ...
33815 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
33816 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
33817 `GRUB_TERM_COLOR_STANDARD'.
33818 (print_message): Use `grub_setcolorstate' to reload colors. Rename
33819 `normal_code' and `highlight_code' to `old_color_normal' and
33820 `old_color_highlight', respectively.
33821 (grub_menu_init_page): Update colors when drawing the menu, based on
33822 `menu_color_normal' and `menu_color_highlight' variables.
33823 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
33824 a message is printed.
33825
33826 2008-01-05 Robert Millan <rmh@aybabtu.com>
33827
33828 * kern/env.c (grub_env_context_open): Propagate hooks for global
33829 variables to new context.
33830
33831 * kern/main.c (grub_set_root_dev): Export `root' variable.
33832
33833 2008-01-05 Robert Millan <rmh@aybabtu.com>
33834
33835 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
33836 discs unconditionally, since udev and others have options to provide
33837 them.
33838
33839 2008-01-05 Robert Millan <rmh@aybabtu.com>
33840
33841 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
33842
33843 2008-01-04 Christian Franke <franke@computer.org>
33844
33845 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
33846 of eisa_mmap.
33847
33848 2008-01-03 Pavel Roskin <proski@gnu.org>
33849
33850 * kern/i386/linuxbios/init.c: Put "void" to all function
33851 declarations with no arguments.
33852 * kern/powerpc/ieee1275/init.c: Likewise.
33853 * term/i386/pc/at_keyboard.c: Likewise.
33854 * term/i386/pc/vga_text.c: Likewise.
33855 * util/grub-mkdevicemap.c: Likewise.
33856
33857 2008-01-02 Robert Millan <rmh@aybabtu.com>
33858
33859 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
33860 message when loaded image is out of bounds.
33861 (grub_multiboot_load_elf64): Likewise.
33862
33863 2008-01-02 Pavel Roskin <proski@gnu.org>
33864
33865 * util/grub.d/10_linux.in: Try version without ".old" when
33866 looking for initrd. It's better to use initrd from the newer
33867 kernel of the same version than no initrd at all.
33868
33869 2008-01-01 Robert Millan <rmh@aybabtu.com>
33870
33871 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
33872
33873 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
33874
33875 * include/grub/video.h: Added grub_video_unmap_color and
33876 grub_video_get_active_render_target.
33877 (grub_video_adapter): Added unmap_color and get_active_render_target.
33878
33879 * video/video.c: Added grub_video_unmap_color and
33880 grub_video_get_active_render_target.
33881 (grub_video_get_info): Changed method to accept NULL pointer as an
33882 argument to allow detection of active video adapter.
33883
33884 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
33885 grub_video_vbe_unmap_color_int.
33886 Added grub_video_vbe_unmap_color and
33887 grub_video_vbe_get_active_render_target.
33888 (grub_video_vbe_adapter): Added unmap_color and
33889 get_active_render_target.
33890
33891 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
33892 with grub_video_vbe_unmap_color_int.
33893
33894 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
33895 (DEFAULT_NORMAL_COLOR): Likewise.
33896 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
33897 (DEFAULT_FG_COLOR): Removed.
33898 (DEFAULT_BG_COLOR): Likewise.
33899 (DEFAULT_CURSOR_COLOR): Changed value.
33900 (grub_virtual_screen): Added standard_color_setting,
33901 normal_color_setting, highlight_color_setting and term_color.
33902 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
33903 (bitmap_width): Added.
33904 (bitmap_height): Likewise.
33905 (bitmap): Likewise.
33906 (set_term_color): Likewise.
33907 (grub_virtual_screen_setup): Changed to use new terminal coloring
33908 settings.
33909 (grub_gfxterm_init): Added init for bitmap.
33910 (grub_gfxterm_fini): Added destroy for bitmap.
33911 (redraw_screen_rect): Updated to use background bitmap and new
33912 terminal coloring.
33913 (scroll_up): Added optimization for case when there is no bitmap.
33914 (grub_gfxterm_cls): Fixed to use correct background color.
33915 (grub_virtual_screen_setcolorstate): Changed to use new terminal
33916 coloring.
33917 (grub_virtual_screen_setcolor): Likewise.
33918 (grub_virtual_screen_getcolor): Added.
33919 (grub_gfxterm_background_image_cmd): Likewise.
33920 (grub_video_term): Added setcolor and getcolor.
33921 (MOD_INIT): Added registration of background_image command.
33922 (MOD_TERM): Added unregistration for background_image command.
33923
33924 2007-12-30 Pavel Roskin <proski@gnu.org>
33925
33926 * loader/multiboot_loader.c: Fix multiboot command
33927 unregistration. Fix all typos in the word "multiboot".
33928
33929 2007-12-29 Pavel Roskin <proski@gnu.org>
33930
33931 * util/grub.d/10_linux.in: Refactor search for initrd. Add
33932 support for initrd names used in Fedora.
33933
33934 2007-12-26 Bean <bean123ch@gmail.com>
33935
33936 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
33937 (cpio_mod_SOURCES): New variable.
33938 (cpio_mod_CFLAGS): Likewise.
33939 (cpio_mod_LDFLAGS): Likewise.
33940
33941 * fs/cpio.c: New file.
33942
33943 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
33944
33945 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33946
33947 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33948
33949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33950
33951 2007-12-25 Robert Millan <rmh@aybabtu.com>
33952
33953 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33954 (grub_getcolor): New function.
33955
33956 * kern/term.c (grub_getcolor): New function.
33957 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33958 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33959 (print_entry): Set normal and highlight colors to
33960 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33961 respectively, before printing and restore them to old
33962 values afterwards.
33963 (grub_menu_init_page): Likewise. Fill an additional colored space
33964 that would otherwise be left blank.
33965
33966 * term/efi/console.c (grub_console_getcolor): New function.
33967 (struct grub_console_term.getcolor): New variable.
33968 * term/i386/pc/console.c (grub_console_getcolor): New function.
33969 (struct grub_console_term.getcolor): New variable.
33970 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33971 (struct grub_console_term.getcolor): New variable.
33972
33973 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33974 (struct grub_console_term.setcolor): Remove variable.
33975 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33976 (struct grub_console_term.setcolor): Remove variable.
33977 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33978 (struct grub_console_term.setcolor): Remove variable.
33979 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33980 (struct grub_console_term.setcolor): Remove variable.
33981
33982 2007-12-25 Robert Millan <rmh@aybabtu.com>
33983
33984 * configure.ac: Search for possible unifont.hex locations, and
33985 define UNIFONT_HEX if found.
33986
33987 * Makefile.in (UNIFONT_HEX): Define variable.
33988 (DATA): Rename to ...
33989 (PKGLIB): ... this. Update all users.
33990 (PKGDATA): New variable.
33991 (pkgdata_IMAGES): Rename to ...
33992 (pkglib_IMAGES): ... this. Update all users.
33993 (pkgdata_MODULES): Rename to ...
33994 (pkglib_MODULES): ... this. Update all users.
33995 (pkgdata_PROGRAMS): Rename to ...
33996 (pkglib_PROGRAMS): ... this. Update all users.
33997 (pkgdata_DATA): Rename to ...
33998 (pkglib_DATA): ... this. Update all users.
33999 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
34000 (unicode.pff, ascii.pff): New rules.
34001 (all-local): Add `$(PKGDATA)' dependency.
34002 (install-local): Process `$(PKGDATA)'.
34003
34004 * util/update-grub_lib.in (font_path): Search for *.pff files in
34005 a few more locations, including `${pkgdata}'.
34006
34007 2007-12-23 Robert Millan <rmh@aybabtu.com>
34008
34009 Patch from Bean <bean123ch@gmail.com>:
34010 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
34011 `size'.
34012
34013 2007-12-21 Bean <bean123ch@gmail.com>
34014
34015 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
34016 (ntfscomp_mod_SOURCES): New variable.
34017 (ntfscomp_mod_CFLAGS): Likewise.
34018 (ntfscomp_mod_LDFLAGS): Likewise.
34019
34020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
34021 (grub_probe_SOURCES): Likewise.
34022 (grub_emu_SOURCES): Likewise.
34023
34024 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34025 (grub_emu_SOURCES): Likewise.
34026
34027 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34028 (grub_emu_SOURCES): Likewise.
34029
34030 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34031 (grub_emu_SOURCES): Likewise.
34032
34033 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34034 (read_run_list): Renamed to grub_ntfs_read_run_list.
34035 (decomp_nextvcn): Moved to ntfscomp.c.
34036 (decomp_getch): Likewise.
34037 (decomp_get16): Likewise.
34038 (decomp_block): Likewise.
34039 (read_block): Likewise.
34040 (read_data): Partially moved to ntfscomp.c.
34041 (fixup): Change unsigned to grub_uint16_t.
34042 (read_mft): Change unsigned long to grub_uint32_t.
34043 (read_attr): Likewise.
34044 (read_data): Likewise.
34045 (read_run_data): Likewise.
34046 (read_run_list): Likewise.
34047 (read_mft): Likewise.
34048
34049 * fs/ntfscomp.c: New file.
34050
34051 * include/grub/ntfs.h: New file.
34052
34053 2007-12-16 Robert Millan <rmh@aybabtu.com>
34054
34055 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34056 IDE disk check, since Linux is known to support 20 IDE disks.
34057 Reported by Colin Watson.
34058
34059 2007-12-15 Bean <bean123ch@gmail.com>
34060
34061 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34062 (lnxboot_img_SOURCES): New variable.
34063 (lnxboot_img_ASFLAGS): Likewise.
34064 (lnxboot_img_LDFLAGS): Likewise.
34065
34066 * boot/i386/pc/lnxboot.S: New file.
34067
34068 2007-11-24 Pavel Roskin <proski@gnu.org>
34069
34070 * configure.ac: Test if '--build-id=none' is supported by the
34071 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34072 objcopy to generate incorrect binary files (binutils
34073 2.17.50.0.18-1 as shipped by Fedora 8).
34074 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34075 linking, so that build ID doesn't break the test.
34076
34077 2007-11-24 Pavel Roskin <proski@gnu.org>
34078
34079 * include/grub/i386/time.h: use "void" in the argument list
34080 of grub_cpu_idle().
34081 * include/grub/powerpc/time.h: Likewise.
34082 * include/grub/sparc64/time.h: Likewise.
34083
34084 2007-11-18 Christian Franke <franke@computer.org>
34085
34086 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34087 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34088 This fixes the problem that function keys did not work in grub-emu.
34089
34090 2007-11-18 Christian Franke <franke@computer.org>
34091
34092 * disk/host.c (grub_host_open): Remove attribute unused from
34093 name parameter. Add check for "host". This fixes the problem
34094 that grub-emu does not find partitions.
34095
34096 2007-11-18 Christian Franke <franke@computer.org>
34097
34098 * util/hostfs.c (is_dir): New function.
34099 (grub_hostfs_dir): Handle missing dirent.d_type case.
34100 (grub_hostfs_read): Add missing fseek().
34101 (grub_hostfs_label): Clear label pointer. This fixes a crash
34102 of grub-emu on "ls (host)".
34103
34104 2007-11-18 Christian Franke <franke@computer.org>
34105
34106 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34107 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34108 to 64 bit boundary by default.
34109
34110 2007-11-18 Bean <bean123ch@gmail.com>
34111
34112 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34113 (hexdump_mod_SOURCES): New variable.
34114 (hexdump_mod_CFLAGS): Likewise.
34115 (hexdump_mod_LDFLAGS): Likewise.
34116
34117 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34118
34119 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34120
34121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34122
34123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34124
34125 * include/grub/hexdump.h: New file.
34126
34127 * commands/hexdump.c: New file.
34128
34129 2007-11-10 Robert Millan <rmh@aybabtu.com>
34130
34131 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34132 in grub_outb() calls.
34133 (beep_on): Likewise.
34134
34135 2007-11-10 Christian Franke <franke@computer.org>
34136
34137 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34138 (grub_menu_run): Likewise.
34139
34140 2007-11-10 Robert Millan <rmh@aybabtu.com>
34141
34142 * include/grub/i386/efi/machine.h: New file.
34143 * include/grub/i386/linuxbios/machine.h: Likewise.
34144 * include/grub/i386/pc/machine.h: Likewise.
34145 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34146 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34147
34148 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34149 (serial_hw_io_addr): New variable.
34150 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34151 instead of `(unsigned short *) 0x400'.
34152
34153 2007-11-10 Bean <bean123ch@gmail.com>
34154
34155 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34156
34157 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34158
34159 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34160 (vga_mod_SOURCES): Added.
34161 (vga_mod_CFLAGS): Likewise.
34162 (vga_mod_LDFLAGS): Likewise.
34163
34164 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34165 grub_outb() calls.
34166 (set_map_mask): Likewise.
34167 (set_read_map): Likewise.
34168 (set_read_address): Likewise.
34169 (vga_font): Removed variable.
34170 (get_vga_glyph): Removed function.
34171 (invalidate_char): Likewise.
34172 (write_char): Changed to use grub_font_get_glyph() for font
34173 information.
34174 (grub_vga_putchar): Likewise.
34175 (grub_vga_getcharwidth): Likewise.
34176
34177 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34178
34179 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34180 flags.
34181 (pxeboot_img_LDFLAGS): Likewise.
34182 (diskboot_img_LDFLAGS): Likewise.
34183 (kernel_img_LDFLAGS): Likewise.
34184
34185 2007-11-06 Robert Millan <rmh@aybabtu.com>
34186
34187 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34188 in grub_outb() calls.
34189 (serial_hw_init): Likewise.
34190
34191 2007-11-05 Robert Millan <rmh@aybabtu.com>
34192
34193 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34194 spaces. Skip non-regular files.
34195
34196 2007-11-05 Robert Millan <rmh@aybabtu.com>
34197
34198 * kern/disk.c (grub_disk_firmware_fini)
34199 (grub_disk_firmware_is_tainted): New variables.
34200
34201 * include/grub/disk.h (grub_disk_firmware_fini)
34202 (grub_disk_firmware_is_tainted): Likewise.
34203
34204 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34205 (grub_disk_biosdisk_fini): ... to here.
34206 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34207 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34208 is set. Register grub_disk_biosdisk_fini() in
34209 `grub_disk_firmware_fini'.
34210
34211 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34212 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34213 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34214 to finish existing firmware disk interface.
34215
34216 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34217 (ata_mod_SOURCES): New variable.
34218 (ata_mod_CFLAGS): Likewise.
34219 (ata_mod_LDFLAGS): Likewise.
34220
34221 2007-11-05 Robert Millan <rmh@aybabtu.com>
34222
34223 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34224 (grub_ata_wait): Reimplement using grub_millisleep().
34225
34226 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34227 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34228
34229 2007-11-03 Marco Gerards <marco@gnu.org>
34230
34231 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34232 (CRTC_ADDR_PORT): New macro.
34233 (CRTC_DATA_PORT): Likewise.
34234 (CRTC_CURSOR): Likewise.
34235 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34236 (CRTC_CURSOR_ADDR_LOW): Likewise.
34237 (update_cursor): New function.
34238 (grub_console_real_putchar): Call `update_cursor'.
34239 (grub_console_gotoxy): Likewise.
34240 (grub_console_cls): Set the default color when clearing the
34241 screen.
34242 (grub_console_setcursor): Implemented.
34243
34244 2007-11-03 Marco Gerards <marco@gnu.org>
34245
34246 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34247 become activate.
34248 (grub_ata_pio_write): Likewise.
34249
34250 (grub_atapi_identify): Wait after issuing an ATA command.
34251 (grub_atapi_packet): Likewise.
34252 (grub_ata_identify): Likewise.
34253 (grub_ata_readwrite): Likewise.
34254
34255 2007-11-03 Marco Gerards <marco@gnu.org>
34256
34257 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34258 (grub_ata_pio_write): Likewise.
34259 (grub_ata_readwrite): Use `grub_error', instead of
34260 returning `grub_errno'.
34261
34262 2007-11-03 Marco Gerards <marco@gnu.org>
34263
34264 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34265 grub_ata_pio_write once for every single sector, instead of for
34266 multiple sectors.
34267
34268 2007-10-31 Robert Millan <rmh@aybabtu.com>
34269
34270 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34271
34272 * conf/i386-linuxbios.rmk: New file.
34273
34274 * kern/i386/pc/hardware.c: Likewise.
34275 * term/i386/pc/at_keyboard.c: Likewise.
34276 * term/i386/pc/vga_text.c: Likewise.
34277
34278 * include/grub/i386/linuxbios/boot.h: Likewise.
34279 * include/grub/i386/linuxbios/console.h: Likewise.
34280 * include/grub/i386/linuxbios/init.h: Likewise.
34281 * include/grub/i386/linuxbios/kernel.h: Likewise.
34282 * include/grub/i386/linuxbios/loader.h: Likewise.
34283 * include/grub/i386/linuxbios/memory.h: Likewise.
34284 * include/grub/i386/linuxbios/serial.h: Likewise.
34285 * include/grub/i386/linuxbios/time.h: Likewise.
34286
34287 * kern/i386/linuxbios/init.c: Likewise.
34288 * kern/i386/linuxbios/startup.S: Likewise.
34289 * kern/i386/linuxbios/table.c: Likewise.
34290
34291 2007-10-31 Marco Gerards <marco@gnu.org>
34292
34293 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34294 (ata_mod_SOURCES): New variable.
34295 (ata_mod_CFLAGS): Likewise.
34296 (ata_mod_LDFLAGS): Likewise.
34297
34298 * disk/ata.c: New file.
34299
34300 * include/grub/disk.h (grub_disk_dev_id): Add
34301 `GRUB_DISK_DEV_ATA_ID'.
34302
34303 2007-10-31 Robert Millan <rmh@aybabtu.com>
34304
34305 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34306 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34307
34308 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34309 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34310
34311 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34312 `<grub/types.h>'.
34313
34314 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34315
34316 2007-10-27 Robert Millan <rmh@aybabtu.com>
34317
34318 * include/grub/types.h (ULONG_MAX): Define macro.
34319
34320 2007-10-22 Robert Millan <rmh@aybabtu.com>
34321
34322 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34323 `"../realmode.S"'.
34324 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34325
34326 2007-10-22 Robert Millan <rmh@aybabtu.com>
34327
34328 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34329 (pkgdata_MODULES): Add `biosdisk.mod'.
34330 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34331 variables.
34332
34333 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34334 (grub_biosdisk_init): Replace with ...
34335 (GRUB_MOD_INIT(biosdisk)): ... this.
34336 (grub_biosdisk_fini): Replace with ...
34337 (GRUB_MOD_FINI(biosdisk)): ... this.
34338
34339 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34340 (grub_machine_init): Remove call to grub_biosdisk_init().
34341 (grub_machine_fini): Remove call to grub_machine_fini().
34342
34343 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34344
34345 2007-10-22 Robert Millan <rmh@aybabtu.com>
34346
34347 * include/grub/time.h: New file.
34348 * include/grub/i386/time.h: Likewise.
34349 * include/grub/powerpc/time.h: Likewise.
34350 * include/grub/sparc64/time.h: Likewise.
34351
34352 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34353 instances to ...
34354 (KERNEL_MACHINE_TIME_HEADER): ... this.
34355 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34356 instances to ...
34357 (KERNEL_MACHINE_TIME_HEADER): ... this.
34358 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34359 instances to ...
34360 (KERNEL_MACHINE_TIME_HEADER): ... this.
34361
34362 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34363 (grub_millisleep): New function.
34364 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34365 (grub_millisleep): New function.
34366 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34367 Remove `grub/machine/time.h' include.
34368 (grub_millisleep): New function.
34369 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34370 Remove `grub/machine/time.h' include.
34371 (grub_millisleep): New function.
34372
34373 * include/grub/misc.h (grub_div_roundup): New function.
34374
34375 * kern/misc.c: Include `<grub/time.h>'.
34376 (grub_millisleep_generic): New function.
34377
34378 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34379 Add `time.h'.
34380 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34381 Add `time.h'.
34382 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34383 `machine/time.h'. Add `time.h'.
34384 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34385
34386 2007-10-21 Robert Millan <rmh@aybabtu.com>
34387
34388 * include/grub/misc.h (grub_max): New function.
34389
34390 2007-10-21 Robert Millan <rmh@aybabtu.com>
34391
34392 * util/misc.c (grub_util_info): Call fflush() before returning.
34393
34394 2007-10-20 Robert Millan <rmh@aybabtu.com>
34395
34396 * genmk.rb (Image): Copy `extra_flags' from here ...
34397 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34398
34399 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34400 to `argc' and `args' arguments.
34401
34402 2007-10-17 Robert Millan <rmh@aybabtu.com>
34403
34404 * kern/i386/loader.S: New file.
34405
34406 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34407 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34408 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34409 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34410 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34411 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34412 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34413 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34414 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34415 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34416 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34417 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34418 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34419 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34420
34421 * kern/i386/realmode.S: New file.
34422
34423 * kern/i386/pc/startup.S (protstack): Moved from here ...
34424 * kern/i386/realmode.S (protstack)... to here.
34425 * kern/i386/pc/startup.S (gdt): Moved from here ...
34426 * kern/i386/realmode.S (gdt)... to here.
34427 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34428 * kern/i386/realmode.S (prot_to_real)... to here.
34429
34430 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34431 `kern/i386/realmode.S'.
34432
34433 2007-10-17 Robert Millan <rmh@aybabtu.com>
34434
34435 * include/grub/i386/loader.h: New file.
34436
34437 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34438 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34439 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34440 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34441 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34442 * include/grub/i386/loader.h (grub_linux_prot_size)
34443 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34444 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34445 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34446 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34447
34448 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34449
34450 2007-10-15 Robert Millan <rmh@aybabtu.com>
34451
34452 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34453 filesystem when dev->disk is unset.
34454 Do probe for filesystem even when dev->disk->has_partitions is set.
34455 In case a filesystem is found, always report it.
34456 In case it isn't, if dev->disk->has_partitions is set, report that
34457 a partition table was found instead of reporting that no filesystem
34458 could be identified.
34459
34460 2007-10-12 Robert Millan <rmh@aybabtu.com>
34461
34462 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34463 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34464
34465 * include/grub/types.h (grub_host_to_target16): New macro.
34466 (grub_host_to_target32): Likewise.
34467 (grub_host_to_target64): Likewise.
34468 (grub_target_to_host16): Likewise.
34469 (grub_target_to_host32): Likewise.
34470 (grub_target_to_host64): Likewise.
34471
34472 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34473 Renamed from to ...
34474 (GRUB_MOD_ALIGN): ...this. Update all users.
34475
34476 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34477 grub_host_to_target32.
34478 Replace grub_be_to_cpu32 with grub_target_to_host32.
34479 (load_modules): Likewise.
34480 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34481 Replace grub_be_to_cpu32 with grub_target_to_host32.
34482 Replace grub_cpu_to_be16 with grub_host_to_target16.
34483 Replace grub_cpu_to_be32 grub_host_to_target32.
34484
34485 2007-10-12 Robert Millan <rmh@aybabtu.com>
34486
34487 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34488 * util/elf/grub-mkimage.c: ... here.
34489
34490 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34491 `util/powerpc/ieee1275/grub-mkimage.c'.
34492
34493 2007-10-07 Robert Millan <rmh@aybabtu.com>
34494
34495 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34496 and make it easier to figure out.
34497 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34498 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34499 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34500 leave us with less than HEAP_MIN_SIZE total heap.
34501 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
34502
34503 2007-10-03 Robert Millan <rmh@aybabtu.com>
34504
34505 * include/grub/i386/io.h: New file.
34506 * commands/i386/pc/play.c (inb): Removed.
34507 (outb): Removed.
34508 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34509 with grub_outb().
34510 * term/i386/pc/serial.c (inb): Removed.
34511 (outb): Removed.
34512 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34513 with grub_outb().
34514 * term/i386/pc/vga.c (inb): Removed.
34515 (outb): Removed.
34516 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34517 with grub_outb().
34518
34519 2007-10-02 Robert Millan <rmh@aybabtu.com>
34520
34521 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34523 Reported by Marcin Kurek.
34524
34525 2007-09-07 Robert Millan <rmh@aybabtu.com>
34526
34527 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34528 SmartFirmware version updates (as released by Sven Luther), and avoid
34529 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34530 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34531 known broken.
34532
34533 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34534
34535 From Hitoshi Ozeki:
34536 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34537 when merging two regions.
34538
34539 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34540
34541 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34542 * normal/completion.c (grub_normal_do_completion): Likewise.
34543 Reported by Hitoshi Ozeki.
34544
34545 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34546
34547 Do not use devices at boot in chainloading.
34548
34549 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34550 (boot_part_addr): Likewise.
34551 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34552 with BOOT_DRIVE and BOOT_PART_ADDR.
34553 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34554 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34555
34556 2007-08-29 Robert Millan <rmh@aybabtu.com>
34557
34558 Patch from Simon Peter <dn.tlp@gmx.net>:
34559 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34560 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34561 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34562 util/i386/pc/grub-setup.c_DEPENDENCIES.
34563 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34564 util/grub-probe.c_DEPENDENCIES.
34565 * conf/powerpc-ieee1275.rmk: Likewise.
34566
34567 2007-08-28 Robert Millan <rmh@aybabtu.com>
34568
34569 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34570 to tell grub-mkdevicemap how to name devices.
34571 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34572 feature).
34573
34574 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34575 util/i386/get_disk_name.c.
34576 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34577 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34578 util/ieee1275/get_disk_name.c.
34579
34580 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34581
34582 * DISTLIST: Add util/i386/get_disk_name.c and
34583 util/ieee1275/get_disk_name.c.
34584
34585 * util/grub-mkdevicemap.c: Replace device naming logic with
34586 grub_util_get_disk_name() calls.
34587
34588 2007-08-20 Robert Millan <rmh@aybabtu.com>
34589
34590 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34591 (so that it works for both plural and singular quantities).
34592
34593 2007-08-05 Robert Millan <rmh@aybabtu.com>
34594
34595 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34596 so that [xz] isn't taken into account when determining order.
34597
34598 2007-08-02 Marco Gerards <marco@gnu.org>
34599
34600 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34601 `include/multiboot2.h', `include/grub/elfload.h',
34602 `include/multiboot.h', `include/grub/multiboot.h',
34603 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34604 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34605 `kern/elf.c', `loader/multiboot_loader.c',
34606 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34607 `loader/i386/pc/multiboot2.c',
34608 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34609 `util/i386/pc/grub-mkrescue.in'. Remove
34610 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34611 `include/grub/i386/pc/util/biosdisk.h' and
34612 `include/grub/powerpc/ieee1275/multiboot.h'.
34613
34614 2007-08-02 Bean <bean123ch@gmail.com>
34615
34616 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34617 (ntfs_mod_SOURCES): New variable.
34618 (ntfs_mod_CFLAGS): Likewise.
34619 (ntfs_mod_LDFLAGS): Likewise.
34620
34621 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
34622 (grub_probe_SOURCES): Likewise.
34623 (grub_emu_SOURCES): Likewise.
34624
34625 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34626 (grub_emu_SOURCES): Likewise.
34627
34628 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34629 (grub_emu_SOURCES): Likewise.
34630
34631 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
34632
34633 * fs/ntfs.c: New file.
34634
34635 2007-08-02 Bean <bean123ch@gmail.com>
34636
34637 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
34638
34639 * file.h (grub_file): Likewise.
34640
34641 * fshelp.h (grub_fshelp_read_file): Likewise.
34642
34643 * util/i386/pc/grub-setup.c (setup): Likewise.
34644 (save_first_sector): Likewise.
34645 (save_blocklists): Likewise.
34646
34647 * fs/affs.c (grub_affs_read_file): Likewise.
34648
34649 * fs/ext2.c (grub_ext2_read_file): Likewise.
34650
34651 * fs/fat.c (grub_fat_read_data): Likewise.
34652
34653 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
34654
34655 * fs/hfs.c (grub_hfs_read_file): Likewise.
34656
34657 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34658
34659 * fs/jfs.c (grub_jfs_read_file): Likewise.
34660
34661 * fs/minix.c (grub_minix_read_file): Likewise.
34662
34663 * fs/sfs.c (grub_sfs_read_file): Likewise.
34664
34665 * fs/ufs.c (grub_ufs_read_file): Likewise.
34666
34667 * fs/xfs.c (grub_xfs_read_file): Likewise.
34668
34669 * command/blocklist.c (read_blocklist): Likewise.
34670 (print_blocklist): Likewise.
34671
34672 2007-08-02 Marco Gerards <marco@gnu.org>
34673
34674 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
34675 `util/hostfs.c'.
34676
34677 * disk/host.c: New file.
34678
34679 * util/hostfs.c: Likewise.
34680
34681 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
34682 return `GRUB_ERR_BAD_FS'.
34683 * fs/sfs.c (grub_sfs_mount): Likewise.
34684 * fs/xfs.c (grub_xfs_mount): Likewise.
34685
34686 * include/grub/disk.h (enum grub_disk_dev_id): Add
34687 `GRUB_DISK_DEVICE_HOST_ID'.
34688
34689 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
34690
34691 2007-07-24 Jerone Young <jerone@gmail.com>
34692
34693 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
34694 modules for compilation.
34695 * conf/powerpc-ieee1275.rmk: Likewise.
34696
34697 * include/multiboot.h: Move multiboot definitions to one file. Rename
34698 many definitions to not get grub specific.
34699 * include/multiboot2.h: Create header with multiboot 2 definitions.
34700 * include/grub/multiboot.h: Header for grub specific function
34701 prototypes and definitions.
34702 * include/grub/multiboot2.h: Likewise.
34703 * include/grub/multiboot_loader.h: Likewise.
34704 * include/grub/i386/pc/multiboot.h: Removed.
34705 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
34706
34707 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
34708 and 2 to allow for one multiboot and module commands.
34709 * loader/multiboot2.c: Add multiboot2 functionality.
34710 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
34711 and definition names.
34712 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
34713 2 functions.
34714 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
34715 ieee1275 specific multiboot2 code.
34716
34717 * kern/i386/pc/startup.S: Change headers and definition names for
34718 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
34719
34720 2007-07-22 Robert Millan <rmh@aybabtu.com>
34721
34722 * geninitheader.sh: Process file specified in first parameter rather
34723 than hardcoding grub_modules_init.lst.
34724 * geninit.sh: Likewise. Also, construct header name dynamically rather
34725 than hardcoding grub_modules_init.h.
34726
34727 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
34728 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
34729 grub_probe_init.[ch] and grub_setup_init.[ch].
34730
34731 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
34732 grub_modules_init.h with grub_emu_init.h.
34733 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
34734 grub_probe_init.[ch] files.
34735 * conf/i386-efi.rmk: Likewise.
34736 * conf/i386-pc.rmk: Likewise.
34737 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
34738 grub_setup_init.[ch] files.
34739
34740 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
34741 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
34742 to initialize modules rather than a list of hardcoded functions.
34743 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
34744 grub_init_all() to initialize modules rather than a list of hardcoded
34745 functions.
34746
34747 2007-07-22 Robert Millan <rmh@aybabtu.com>
34748
34749 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
34750 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
34751
34752 2007-07-22 Robert Millan <rmh@aybabtu.com>
34753
34754 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34755 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
34756 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
34757 flag when running on SmartFirmware.
34758 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
34759 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
34760 was set.
34761
34762 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34763 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
34764 rather than decreasing it.
34765
34766 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
34767 there's not enough space to do it, fail in the same way as when it
34768 can't be done because there are no partitions.
34769
34770 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
34771 when nvsetenv failed.
34772
34773 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34774
34775 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
34776 because this rule is automatically generated.
34777 (grub-mkrescue): Removed for the same reason as above.
34778
34779 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34780
34781 Migrate to GNU General Public License Version 3.
34782
34783 * COPYING: Replaced with the plain text version of GPLv3.
34784
34785 * config.guess: Updated from gnulib.
34786 * config.sub: Likewise.
34787
34788 * geninit.sh: Output a GPLv3 copyright notice.
34789 * geninitheader.sh: Likewise.
34790 * genmodsrc.sh: Likewise.
34791 * gensymlist.sh.in: Likewise.
34792
34793 * boot/i386/pc/boot.S: Upgraded to GPLv3.
34794 * boot/i386/pc/diskboot.S: Likewise.
34795 * boot/i386/pc/pxeboot.S: Likewise.
34796 * commands/blocklist.c: Likewise.
34797 * commands/boot.c: Likewise.
34798 * commands/cat.c: Likewise.
34799 * commands/cmp.c: Likewise.
34800 * commands/configfile.c: Likewise.
34801 * commands/echo.c: Likewise.
34802 * commands/help.c: Likewise.
34803 * commands/ls.c: Likewise.
34804 * commands/search.c: Likewise.
34805 * commands/terminal.c: Likewise.
34806 * commands/test.c: Likewise.
34807 * commands/videotest.c: Likewise.
34808 * commands/i386/cpuid.c: Likewise.
34809 * commands/i386/pc/halt.c: Likewise.
34810 * commands/i386/pc/play.c: Likewise.
34811 * commands/i386/pc/reboot.c: Likewise.
34812 * commands/i386/pc/vbeinfo.c: Likewise.
34813 * commands/i386/pc/vbetest.c: Likewise.
34814 * commands/ieee1275/halt.c: Likewise.
34815 * commands/ieee1275/reboot.c: Likewise.
34816 * commands/ieee1275/suspend.c: Likewise.
34817 * disk/loopback.c: Likewise.
34818 * disk/lvm.c: Likewise.
34819 * disk/raid.c: Likewise.
34820 * disk/efi/efidisk.c: Likewise.
34821 * disk/i386/pc/biosdisk.c: Likewise.
34822 * disk/ieee1275/ofdisk.c: Likewise.
34823 * font/manager.c: Likewise.
34824 * fs/affs.c: Likewise.
34825 * fs/ext2.c: Likewise.
34826 * fs/fat.c: Likewise.
34827 * fs/fshelp.c: Likewise.
34828 * fs/hfs.c: Likewise.
34829 * fs/hfsplus.c: Likewise.
34830 * fs/iso9660.c: Likewise.
34831 * fs/jfs.c: Likewise.
34832 * fs/minix.c: Likewise.
34833 * fs/sfs.c: Likewise.
34834 * fs/ufs.c: Likewise.
34835 * fs/xfs.c: Likewise.
34836 * hello/hello.c: Likewise.
34837 * include/grub/acorn_filecore.h: Likewise.
34838 * include/grub/arg.h: Likewise.
34839 * include/grub/bitmap.h: Likewise.
34840 * include/grub/boot.h: Likewise.
34841 * include/grub/cache.h: Likewise.
34842 * include/grub/device.h: Likewise.
34843 * include/grub/disk.h: Likewise.
34844 * include/grub/dl.h: Likewise.
34845 * include/grub/elfload.h: Likewise.
34846 * include/grub/env.h: Likewise.
34847 * include/grub/err.h: Likewise.
34848 * include/grub/file.h: Likewise.
34849 * include/grub/font.h: Likewise.
34850 * include/grub/fs.h: Likewise.
34851 * include/grub/fshelp.h: Likewise.
34852 * include/grub/gzio.h: Likewise.
34853 * include/grub/hfs.h: Likewise.
34854 * include/grub/kernel.h: Likewise.
34855 * include/grub/loader.h: Likewise.
34856 * include/grub/lvm.h: Likewise.
34857 * include/grub/misc.h: Likewise.
34858 * include/grub/mm.h: Likewise.
34859 * include/grub/net.h: Likewise.
34860 * include/grub/normal.h: Likewise.
34861 * include/grub/parser.h: Likewise.
34862 * include/grub/partition.h: Likewise.
34863 * include/grub/pc_partition.h: Likewise.
34864 * include/grub/raid.h: Likewise.
34865 * include/grub/rescue.h: Likewise.
34866 * include/grub/script.h: Likewise.
34867 * include/grub/setjmp.h: Likewise.
34868 * include/grub/symbol.h: Likewise.
34869 * include/grub/term.h: Likewise.
34870 * include/grub/terminfo.h: Likewise.
34871 * include/grub/tparm.h: Likewise.
34872 * include/grub/types.h: Likewise.
34873 * include/grub/video.h: Likewise.
34874 * include/grub/efi/api.h: Likewise.
34875 * include/grub/efi/chainloader.h: Likewise.
34876 * include/grub/efi/console.h: Likewise.
34877 * include/grub/efi/console_control.h: Likewise.
34878 * include/grub/efi/disk.h: Likewise.
34879 * include/grub/efi/efi.h: Likewise.
34880 * include/grub/efi/pe32.h: Likewise.
34881 * include/grub/efi/time.h: Likewise.
34882 * include/grub/i386/linux.h: Likewise.
34883 * include/grub/i386/setjmp.h: Likewise.
34884 * include/grub/i386/types.h: Likewise.
34885 * include/grub/i386/efi/kernel.h: Likewise.
34886 * include/grub/i386/efi/loader.h: Likewise.
34887 * include/grub/i386/efi/time.h: Likewise.
34888 * include/grub/i386/pc/biosdisk.h: Likewise.
34889 * include/grub/i386/pc/boot.h: Likewise.
34890 * include/grub/i386/pc/chainloader.h: Likewise.
34891 * include/grub/i386/pc/console.h: Likewise.
34892 * include/grub/i386/pc/init.h: Likewise.
34893 * include/grub/i386/pc/kernel.h: Likewise.
34894 * include/grub/i386/pc/loader.h: Likewise.
34895 * include/grub/i386/pc/memory.h: Likewise.
34896 * include/grub/i386/pc/multiboot.h: Likewise.
34897 * include/grub/i386/pc/serial.h: Likewise.
34898 * include/grub/i386/pc/time.h: Likewise.
34899 * include/grub/i386/pc/vbe.h: Likewise.
34900 * include/grub/i386/pc/vbeblit.h: Likewise.
34901 * include/grub/i386/pc/vbefill.h: Likewise.
34902 * include/grub/i386/pc/vbeutil.h: Likewise.
34903 * include/grub/i386/pc/vga.h: Likewise.
34904 * include/grub/ieee1275/ieee1275.h: Likewise.
34905 * include/grub/ieee1275/ofdisk.h: Likewise.
34906 * include/grub/powerpc/libgcc.h: Likewise.
34907 * include/grub/powerpc/setjmp.h: Likewise.
34908 * include/grub/powerpc/types.h: Likewise.
34909 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
34910 * include/grub/powerpc/ieee1275/console.h: Likewise.
34911 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
34912 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34913 * include/grub/powerpc/ieee1275/loader.h: Likewise.
34914 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
34915 * include/grub/powerpc/ieee1275/time.h: Likewise.
34916 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
34917 * include/grub/sparc64/libgcc.h: Likewise.
34918 * include/grub/sparc64/setjmp.h: Likewise.
34919 * include/grub/sparc64/types.h: Likewise.
34920 * include/grub/sparc64/ieee1275/console.h: Likewise.
34921 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34922 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34923 * include/grub/sparc64/ieee1275/time.h: Likewise.
34924 * include/grub/util/biosdisk.h: Likewise.
34925 * include/grub/util/getroot.h: Likewise.
34926 * include/grub/util/lvm.h: Likewise.
34927 * include/grub/util/misc.h: Likewise.
34928 * include/grub/util/raid.h: Likewise.
34929 * include/grub/util/resolve.h: Likewise.
34930 * io/gzio.c: Likewise.
34931 * kern/device.c: Likewise.
34932 * kern/disk.c: Likewise.
34933 * kern/dl.c: Likewise.
34934 * kern/elf.c: Likewise.
34935 * kern/env.c: Likewise.
34936 * kern/err.c: Likewise.
34937 * kern/file.c: Likewise.
34938 * kern/fs.c: Likewise.
34939 * kern/loader.c: Likewise.
34940 * kern/main.c: Likewise.
34941 * kern/misc.c: Likewise.
34942 * kern/mm.c: Likewise.
34943 * kern/parser.c: Likewise.
34944 * kern/partition.c: Likewise.
34945 * kern/rescue.c: Likewise.
34946 * kern/term.c: Likewise.
34947 * kern/efi/efi.c: Likewise.
34948 * kern/efi/init.c: Likewise.
34949 * kern/efi/mm.c: Likewise.
34950 * kern/i386/dl.c: Likewise.
34951 * kern/i386/efi/init.c: Likewise.
34952 * kern/i386/efi/startup.S: Likewise.
34953 * kern/i386/pc/init.c: Likewise.
34954 * kern/i386/pc/lzo1x.S: Likewise.
34955 * kern/i386/pc/startup.S: Likewise.
34956 * kern/ieee1275/ieee1275.c: Likewise.
34957 * kern/powerpc/cache.S: Likewise.
34958 * kern/powerpc/dl.c: Likewise.
34959 * kern/powerpc/ieee1275/cmain.c: Likewise.
34960 * kern/powerpc/ieee1275/crt0.S: Likewise.
34961 * kern/powerpc/ieee1275/init.c: Likewise.
34962 * kern/powerpc/ieee1275/openfw.c: Likewise.
34963 * kern/sparc64/cache.S: Likewise.
34964 * kern/sparc64/dl.c: Likewise.
34965 * kern/sparc64/ieee1275/init.c: Likewise.
34966 * kern/sparc64/ieee1275/openfw.c: Likewise.
34967 * loader/efi/chainloader.c: Likewise.
34968 * loader/efi/chainloader_normal.c: Likewise.
34969 * loader/i386/efi/linux.c: Likewise.
34970 * loader/i386/efi/linux_normal.c: Likewise.
34971 * loader/i386/pc/chainloader.c: Likewise.
34972 * loader/i386/pc/chainloader_normal.c: Likewise.
34973 * loader/i386/pc/linux.c: Likewise.
34974 * loader/i386/pc/linux_normal.c: Likewise.
34975 * loader/i386/pc/multiboot.c: Likewise.
34976 * loader/i386/pc/multiboot_normal.c: Likewise.
34977 * loader/powerpc/ieee1275/linux.c: Likewise.
34978 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34979 * normal/arg.c: Likewise.
34980 * normal/cmdline.c: Likewise.
34981 * normal/command.c: Likewise.
34982 * normal/completion.c: Likewise.
34983 * normal/execute.c: Likewise.
34984 * normal/function.c: Likewise.
34985 * normal/lexer.c: Likewise.
34986 * normal/main.c: Likewise.
34987 * normal/menu.c: Likewise.
34988 * normal/menu_entry.c: Likewise.
34989 * normal/misc.c: Likewise.
34990 * normal/parser.y: Likewise.
34991 * normal/script.c: Likewise.
34992 * normal/i386/setjmp.S: Likewise.
34993 * normal/powerpc/setjmp.S: Likewise.
34994 * normal/sparc64/setjmp.S: Likewise.
34995 * partmap/acorn.c: Likewise.
34996 * partmap/amiga.c: Likewise.
34997 * partmap/apple.c: Likewise.
34998 * partmap/gpt.c: Likewise.
34999 * partmap/pc.c: Likewise.
35000 * partmap/sun.c: Likewise.
35001 * term/gfxterm.c: Likewise.
35002 * term/terminfo.c: Likewise.
35003 * term/efi/console.c: Likewise.
35004 * term/i386/pc/console.c: Likewise.
35005 * term/i386/pc/serial.c: Likewise.
35006 * term/i386/pc/vesafb.c: Likewise.
35007 * term/i386/pc/vga.c: Likewise.
35008 * term/ieee1275/ofconsole.c: Likewise.
35009 * util/biosdisk.c: Likewise.
35010 * util/console.c: Likewise.
35011 * util/genmoddep.c: Likewise.
35012 * util/getroot.c: Likewise.
35013 * util/grub-emu.c: Likewise.
35014 * util/grub-mkdevicemap.c: Likewise.
35015 * util/grub-probe.c: Likewise.
35016 * util/lvm.c: Likewise.
35017 * util/misc.c: Likewise.
35018 * util/raid.c: Likewise.
35019 * util/resolve.c: Likewise.
35020 * util/update-grub.in: Likewise.
35021 * util/update-grub_lib.in: Likewise.
35022 * util/grub.d/00_header.in: Likewise.
35023 * util/grub.d/10_hurd.in: Likewise.
35024 * util/grub.d/10_linux.in: Likewise.
35025 * util/i386/efi/grub-install.in: Likewise.
35026 * util/i386/efi/grub-mkimage.c: Likewise.
35027 * util/i386/pc/grub-install.in: Likewise.
35028 * util/i386/pc/grub-mkimage.c: Likewise.
35029 * util/i386/pc/grub-mkrescue.in: Likewise.
35030 * util/i386/pc/grub-setup.c: Likewise.
35031 * util/i386/pc/misc.c: Likewise.
35032 * util/powerpc/ieee1275/grub-install.in: Likewise.
35033 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35034 * util/powerpc/ieee1275/misc.c: Likewise.
35035 * video/bitmap.c: Likewise.
35036 * video/video.c: Likewise.
35037 * video/i386/pc/vbe.c: Likewise.
35038 * video/i386/pc/vbeblit.c: Likewise.
35039 * video/i386/pc/vbefill.c: Likewise.
35040 * video/i386/pc/vbeutil.c: Likewise.
35041 * video/readers/tga.c: Likewise.
35042
35043 2007-07-02 Robert Millan <rmh@aybabtu.com>
35044
35045 * conf/i386-efi.rmk: Replace obsolete reference to
35046 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35047 with util/getroot.c.
35048 * conf/powerpc-ieee1275.rmk: Likewise.
35049 * conf/sparc64-ieee1275.rmk: Likewise.
35050
35051 * util/grub-emu.c (main): Fix unchecked pointer handling.
35052
35053 2007-07-02 Robert Millan <rmh@aybabtu.com>
35054
35055 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35056 invocation to fail, in order to support partition-less media.
35057
35058 * util/i386/pc/grub-install.in: Likewise.
35059
35060 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35061 which fs or partmap modules are needed (akin to its sister scripts).
35062
35063 Also use grub-probe to get rid of unportable /proc/mounts check.
35064
35065 Print the same informational message that the other scripts do, before
35066 exiting.
35067
35068 2007-06-23 Robert Millan <rmh@aybabtu.com>
35069
35070 * util/update-grub_lib.in (font_path): New function. Determine whether
35071 a font file can be found and, if so, echo the GRUB path to it.
35072
35073 * util/update-grub.in: Handle multiple terminals depending on user
35074 input, platform availability and font file presence. Propagate
35075 variables of our findings to /etc/grub.d/ children.
35076
35077 * util/grub.d/00_header.in: Handle multiple terminals, based on
35078 environment setup by update-grub.
35079
35080 2007-06-23 Robert Millan <rmh@aybabtu.com>
35081
35082 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
35083
35084 2007-06-21 Robert Millan <rmh@aybabtu.com>
35085
35086 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35087 indicate end of data section in kernel image.
35088 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35089 GRUB_KERNEL_MACHINE_DATA_END.
35090
35091 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35092 space for it.
35093 * kern/i386/efi/startup.S: Likewise.
35094
35095 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35096 during image generation. Implement --prefix option to override this
35097 patch.
35098 * util/i386/efi/grub-mkimage.c: Likewise.
35099
35100 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35101 code to make path relative to its root into a separate function.
35102
35103 * util/i386/pc/grub-install.in: Use newly provided
35104 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35105 pass the result to grub-install --prefix.
35106
35107 2007-06-13 Robert Millan <rmh@aybabtu.com>
35108
35109 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35110 DEFAULT_DEVICE_MAP.
35111 * util/grub-emu.c: Use above definitions from misc.h instead of
35112 defining them.
35113 * util/grub-mkdevicemap.c: Likewise.
35114 * util/i386/pc/grub-setup.c: Likewise.
35115 * util/grub-probe.c: Likewise.
35116 (probe): Abort with grub_util_error() when either
35117 grub_guess_root_device or grub_util_get_grub_dev fails.
35118
35119 2007-06-12 Robert Millan <rmh@aybabtu.com>
35120
35121 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35122 "pager" assignment.
35123 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35124 "pcdata".
35125 * util/grub-probe.c (probe): Likewise for "drive_name".
35126
35127 2007-06-11 Robert Millan <rmh@aybabtu.com>
35128
35129 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35130 not just the cdrom one.
35131
35132 2007-06-11 Robert Millan <rmh@aybabtu.com>
35133
35134 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35135 Add --pkglibdir=DIR option to override pkglibdir.
35136 Mention --image-type=TYPE in help output.
35137 Fix --grub-mkimage (it was a no-op).
35138 Abort gracefully when no parameter is given.
35139
35140 2007-06-11 Robert Millan <rmh@aybabtu.com>
35141
35142 * util/i386/pc/grub-mkrescue.in: New file.
35143 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35144 * Makefile.in: Handle bin_SCRIPTS.
35145
35146 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35147
35148 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35149 list of video modes.
35150
35151 2007-06-06 Robert Millan <rmh@aybabtu.com>
35152
35153 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35154 file doesn't exist, or if it is in a filesystem grub can't read.
35155
35156 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35157 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35158 header comment to fit in 80 columns when the variables are resolved.
35159
35160 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35161 could be identified by update-grub. Remove redundant check for
35162 unifont.pff existence (since convert_system_path_to_grub_path now
35163 handles that).
35164
35165 2007-06-04 Robert Millan <rmh@aybabtu.com>
35166
35167 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35168
35169 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35170
35171 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35172
35173 2007-06-04 Robert Millan <rmh@aybabtu.com>
35174
35175 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35176
35177 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35178 grub_apple_partition_map_fini.
35179
35180 * util/biosdisk.c
35181 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35182 to access >2 TiB disks).
35183
35184 Print disk->total_sectors with %llu instead of %lu, since this
35185 variable is always 64-bit (prevents wrong disk size from being displayed
35186 on either >2 TiB disk or big-endian CPU).
35187
35188 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35189 into a generic case that supports all (sane) partition maps.
35190
35191 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35192 breaks big-endian.
35193
35194 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35195 and grub_apple_partition_map_fini() after that.
35196
35197 2007-06-01 Robert Millan <rmh@aybabtu.com>
35198
35199 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35200
35201 * util/grub.d/00_header.in: Only enable gfxterm when
35202 convert_system_path_to_grub_path() succeeds.
35203
35204 2007-05-20 Robert Millan <rmh@aybabtu.com>
35205
35206 * util/update-grub_lib.in: New file.
35207 * DISTLIST: Add update-grub_lib.in.
35208 * conf/common.rmk: Generate update-grub_lib and install it in
35209 $(lib_DATA).
35210 * Makefile.in: Add install routine for $(lib_DATA).
35211
35212 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35213 function provided by update-grub_lib to support arbitrary paths of
35214 unifont.pff.
35215 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35216 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35217
35218 2007-05-19 Robert Millan <rmh@aybabtu.com>
35219
35220 * commands/i386/cpuid.c: New module.
35221 * DISTLIST: Add it.
35222 * conf/i386-efi.rmk: Enable cpuid.mod.
35223 * conf/i386-pc.rmk: Likewise.
35224
35225 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35226
35227 * kern/disk.c (grub_disk_read): Check return value of
35228 grub_realloc().
35229
35230 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35231
35232 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35233 arrays.
35234 * disk/raid.c (grub_raid_open): Likewise.
35235
35236 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35237
35238 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35239 stack instead of on the heap.
35240
35241 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35242 before doing a read on it.
35243
35244 * configure.ac: Only use -fno-stack-protector for the target
35245 environment.
35246
35247 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35248
35249 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35250 __attribute_ ((unused)) to mode_type argument.
35251
35252 * util/getroot.c (grub_guess_root_device): Fix #endif.
35253
35254 * kern/misc.c (memcmp): Fix prototype.
35255
35256 * include/grub/partition.h [GRUB_UTIL]
35257 (grub_gpt_partition_map_init): Add prototype.
35258 (grub_gpt_partition_map_fini): Likewise.
35259
35260 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35261 at the right place.
35262
35263 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35264 (grub_fat_read_data): Likewise.
35265 (grub_fat_find_dir): Likewise.
35266
35267 * font/manager.c (find_glyph): Make table a const.
35268 (grub_font_get_glyph): Remove bitmap from if statement.
35269
35270 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35271
35272 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35273 code, first search for device in /dev/mapper, then in /dev.
35274 (grub_util_get_grub_dev): New function.
35275 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35276 prototype.
35277 * util/grub-probe.c (probe): Remove check for RAID, call
35278 grub_util_get_grub_dev() instead of
35279 grub_util_biosdisk_get_grub_dev().
35280 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35281 grub_util_biosdisk_get_grub_dev().
35282 * util/i386/pc/grub-setup.c (main): Likewise.
35283
35284 2007-05-16 Robert Millan <rmh@aybabtu.com>
35285
35286 * DISTLIST: Update for the latest changes.
35287 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35288 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35289 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35290 grub/util/biosdisk.h.
35291 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35292 grub/util/biosdisk.h.
35293
35294 2007-05-16 Robert Millan <rmh@aybabtu.com>
35295
35296 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35297
35298 2007-05-16 Robert Millan <rmh@aybabtu.com>
35299
35300 * util/i386/efi/grub-install.in: New.
35301 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35302 newly added grub-install.
35303 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35304 include.
35305 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35306 grub/util/biosdisk.h.
35307 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35308 grub/util/biosdisk.h.
35309
35310 2007-05-16 Robert Millan <rmh@aybabtu.com>
35311
35312 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35313 * include/grub/util/biosdisk.h: ... here.
35314 * util/i386/pc/biosdisk.c: Moved to ...
35315 * util/biosdisk.c: ... here.
35316 * util/i386/pc/getroot.c: Moved to ...
35317 * util/getroot.c: ... here.
35318 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35319 * util/grub-mkdevicemap.c: ... here.
35320 * util/i386/pc/grub-probe.c: Moved to ...
35321 * util/grub-probe.c: ... here.
35322
35323 2007-05-15 Robert Millan <rmh@aybabtu.com>
35324
35325 * util/update-grub.in: Remove duplicated line in grub.cfg header
35326 message.
35327
35328 2007-05-13 Robert Millan <rmh@aybabtu.com>
35329
35330 * util/update-grub.in: Fix a few assumptions about the devices holding
35331 /, /boot and /boot/grub being the same.
35332 * util/grub.d/00_header.in: Likewise.
35333 * util/grub.d/10_hurd.in: Likewise.
35334 * util/grub.d/10_linux.in: Likewise.
35335
35336 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35337 patterns. Use that to define the `.old' suffix as older than `'.
35338
35339 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35340
35341 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35342 the grub.cfg header message.
35343
35344 2007-05-11 Robert Millan <rmh@aybabtu.com>
35345
35346 * util/update-grub.in: Create device.map if it doesn't already exist,
35347 before attempting to run grub-probe.
35348 Check for grub-probe and grub-mkdevicemap with the same code
35349 grub-install is using.
35350 Remove test mode.
35351
35352 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35353
35354 * Makefile.in: Add the datarootdir autoconf variable.
35355
35356 2007-05-09 Robert Millan <rmh@aybabtu.com>
35357
35358 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
35359 fail gracefully if dev->disk->partition == NULL.
35360
35361 2007-05-07 Robert Millan <rmh@aybabtu.com>
35362
35363 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35364 determine partition map module.
35365 * util/i386/pc/grub-install.in: Use this feature to decide which
35366 partition module to load, instead of hardcoding pc and gpt.
35367
35368 2007-05-07 Robert Millan <rmh@aybabtu.com>
35369
35370 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35371 source directory differs from build directory.
35372
35373 2007-05-05 Robert Millan <rmh@aybabtu.com>
35374
35375 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35376 initialisation.
35377
35378 2007-05-05 Robert Millan <rmh@aybabtu.com>
35379
35380 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35381
35382 2007-05-05 Robert Millan <rmh@aybabtu.com>
35383
35384 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35385 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35386
35387 2007-05-05 Robert Millan <rmh@aybabtu.com>
35388
35389 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35390 (grub_probe_SOURCES): Likewise.
35391 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35392 GPT and initialize dos_part and bsd_part accordingly.
35393 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35394 install_bsd_part.
35395 (main): Activate gpt module for use during partition identification,
35396 and deactivate it afterwards.
35397 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35398 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35399 partition identification, and deactivate it afterwards.
35400
35401 2007-05-05 Robert Millan <rmh@aybabtu.com>
35402
35403 * term/i386/pc/console.c (grub_console_fini): Call
35404 grub_term_set_current() before grub_term_unregister().
35405
35406 2007-05-04 Robert Millan <rmh@aybabtu.com>
35407
35408 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35409 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35410 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35411 and update-grub_DATA.
35412 * conf/common.rmk: Build and install update-grub components.
35413 * conf/common.mk: Regenerate.
35414 * util/update-grub.in: New. Core of update-grub.
35415 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35416 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35417 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35418 * util/grub.d/README: New. Document grub.d directory layout.
35419
35420 2007-05-01 Robert Millan <rmh@aybabtu.com>
35421
35422 * util/grub-emu.c: Move initialization functions
35423 grub_util_biosdisk_init() and grub_init_all() before
35424 grub_util_biosdisk_get_grub_dev(), which relies on them.
35425
35426 2007-04-19 Robert Millan <rmh@aybabtu.com>
35427
35428 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35429 it is used later.
35430
35431 2007-04-18 Jerone Young <jerone@gmail.com>
35432
35433 * kernel/elf.c: Add missing parenthesis for conditional statement
35434 stanza.
35435
35436 2007-04-10 Jerone Young <jerone@gmail.com>
35437
35438 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35439 continue on and look for device node with real device name.
35440
35441 2007-04-10 Jerone Young <jerone@gmail.com>
35442
35443 * configure.ac: Add argument for autoconf to use transformation
35444 ability.
35445 * Makefile.in: Add autoconf package transformation code.
35446 * util/i386/pc/grub-install.in: Likewise.
35447 * util/powerpc/ieee1275/grub-install.in: Likewise.
35448
35449 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35450
35451 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35452 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35453 (EXT2_REVISION): Likewise.
35454 (EXT2_INODE_SIZE): Likewise.
35455 (struct grub_ext2_block_group): Added a missing member
35456 "used_dirs".
35457 (grub_ext2_read_inode): Divide by the inode size in a superblock
35458 instead of 128 to obtain INODES_PER_BLOCK.
35459 Use the macro EXT2_INODE_SIZE instead of directly using
35460 SBLOCK->INODE_SIZE.
35461
35462 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35463
35464 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35465 superblock instead of the structure size to compute an
35466 offset. This fixes the problem that GRUB could not read a
35467 filesystem when inode size is different from 128-byte.
35468
35469 2007-03-05 Marco Gerards <marco@gnu.org>
35470
35471 * normal/main.c (read_config_file): When "menu" is not set, create
35472 an initial context.
35473
35474 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35475
35476 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35477 (HEAP_LIMIT): New macro.
35478 (grub_claim_heap): Claim memory up to `heaplimit'.
35479
35480 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35481
35482 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35483 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35484 (_start): Likewise.
35485 (grub_arch_modules_addr): Return address after `_end'.
35486 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35487 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35488 (add_segments): Calculate `_end' from phdr size and location.
35489 (ALIGN_UP): Moved to ...
35490 * include/grub/misc.h: here.
35491 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35492 New macro.
35493 (GRUB_IEEE1275_MODULE_BASE): Removed.
35494
35495 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35496
35497 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35498 loop boundary.
35499
35500 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35501
35502 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35503 All users updated.
35504 (grub_elf64_load_hook_t): Likewise.
35505 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35506 debug output.
35507
35508 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35509
35510 * kern/mm.c: Update copyright.
35511 (grub_mm_debug): Correct syntax error.
35512 (grub_mm_dump_free): New function.
35513 (grub_debug_free): Call `grub_free'.
35514 * include/grub/mm.h: Update copyright.
35515 (grub_mm_dump_free): Add declaration.
35516
35517 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35518
35519 * include/grub/ieee1275/ieee1275.h: Update copyright.
35520 * kern/powerpc/ieee1275/init.c: Likewise.
35521 * kern/powerpc/ieee1275/openfw.c: Likewise.
35522
35523 * loader/powerpc/ieee1275/linux.c: Likewise.
35524 * include/grub/elfload.h: Likewise.
35525 * kern/elf.c: Likewise.
35526 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35527 callers.
35528 (grub_elf64_load): Likewise.
35529 (grub_elf32_load_segment): Move to a nested function.
35530 (grub_elf64_load_segment): Likewise.
35531
35532 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35533
35534 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35535 prototype.
35536 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35537 (grub_heap_len): Likewise.
35538 (HEAP_SIZE): New macro.
35539 (grub_claim_heap): New function.
35540 (grub_machine_init): Don't claim heap directly. Call
35541 `grub_claim_heap'.
35542 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35543 (grub_available_iterate): New function.
35544
35545 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35546
35547 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35548 * configure.ac: Use it for testing the HOST and TARGET compilers.
35549
35550 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35551
35552 * Makefile.in (enable_grub_emu): New variable.
35553 * configure.ac (--enable-grub-emu): New option.
35554 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35555 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35556 * conf/i386-pc.rmk: Likewise.
35557 * conf/powerpc-ieee1275.rmk: Likewise.
35558 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35559
35560 2006-12-12 Marco Gerards <marco@gnu.org>
35561
35562 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35563
35564 * kern/env.c (grub_env_unset): Don't free the member `value' when
35565 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35566 pointer.
35567
35568 * normal/main.c (current_menu): Removed.
35569 (free_menu): Unset the `menu' environment variable.
35570 (grub_normal_menu_addentry): Make use of the environment variable
35571 `menu', instead of using the global `current_menu'. Allocate
35572 memory for the sourcecode of this entry.
35573 (read_config_file): New argument `nested', changed all callers.
35574 Only in the case of a new context, initialize a new menu. Set the
35575 `menu' environment variable.
35576 (grub_normal_execute): Don't set and unset the environment
35577 variable `menu' here anymore. Only free the menu when leaving the
35578 context.
35579
35580 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35581 leak.
35582
35583 2006-12-11 Marco Gerards <marco@gnu.org>
35584
35585 * normal/menu_entry.c (run): Fix off by one bug so the last line
35586 is executed. Move the loader check to outside the loop.
35587
35588 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35589
35590 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35591
35592 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35593
35594 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35595 the number of sectors. Reported by Andrey Shuvikov
35596 <mr_hyro@yahoo.com>.
35597
35598 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35599
35600 * kern/disk.c (grub_disk_read): When there is a read error, always
35601 try to read only the necessary data.
35602
35603 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35604 disk/raid.c.
35605 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35606 prototype.
35607 [GRUB_UTIL] (grub_raid_fini): Likewise.
35608 [GRUB_UTIL] (grub_lvm_init): Likewise.
35609 [GRUB_UTIL] (grub_lvm_fini): Likewise.
35610 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35611 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35612 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35613 and grub_raid_fini().
35614
35615 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35616
35617 * include/grub/types.h (__unused): Rename to UNUSED.
35618 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35619 (grub_elf64_size): Likewise.
35620
35621 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35622
35623 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
35624 grub_error_push and grub_error_pop in the error-handling path.
35625 (grub_elf32_load_segment): Only call grub_file_read with non-zero
35626 length.
35627
35628 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35629
35630 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
35631 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35633 (kernel_elf_SOURCES): Likewise.
35634 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
35635 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
35636 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35637 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35638 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
35639 (elf_mod_SOURCES): New variable.
35640 (elf_mod_CFLAGS): Likewise.
35641 (elf_mod_LDFLAGS): Likewise.
35642 * include/grub/types.h (__unused): New macro.
35643 * include/grub/elfload.h: New file.
35644 * kern/elf.c: Likewise.
35645 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
35646 (ELF32_LOADMASK): New macro.
35647 (ELF64_LOADMASK): Likewise.
35648 (vmlinux): Removed.
35649 (grub_linux_load32): New function.
35650 (grub_linux_load64): Likewise.
35651 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
35652 Use grub_elf_t instead of grub_file_t.
35653
35654 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
35655
35656 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
35657 `catch_result' to struct set_color_args.
35658
35659 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35660
35661 * normal/menu.c: Include grub/script.h.
35662 * normal/menu_entry.c: Likewise.
35663 * include/grub/normal.h: Do not include grub/script.h.
35664
35665 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35666
35667 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
35668
35669 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35670
35671 * kern/disk.c (grub_disk_open): Print debug messages when opening a
35672 disk.
35673 (grub_disk_close): Print debug messages when closing a disk.
35674 (grub_disk_read): Print debug messages when disk read fails.
35675 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
35676 filesystem type.
35677 * kern/partition.c: Include misc.h.
35678 (grub_partition_iterate): Print debug messages when detecting
35679 partition type.
35680
35681 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35682
35683 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
35684 is negative.
35685 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
35686
35687 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
35688
35689 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35690 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
35691
35692 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
35693
35694 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
35695 instead of sizeof(lv). Patch by Michael Guntsche.
35696
35697 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
35698
35699 * disk/lvm.c: Rename VGS to VG_LIST.
35700 (grub_lvm_iterate): Change VGS->LV to VG-LV.
35701 (grub_lvm_open): Likewise.
35702 Thanks to Michael Guntsche for finding this bug.
35703
35704 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35705
35706 * configure.ac (AC_INIT): Bumped to 1.95.
35707
35708 2006-10-14 Robert Millan <rmh@aybabtu.com>
35709
35710 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
35711 with "/dev/.static/dev/md".
35712
35713 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35714
35715 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
35716 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
35717 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
35718 DRIVE_NAME are always freed.
35719
35720 * util/i386/pc/biosdisk.c (make_device_name): Add one into
35721 DOS_PART, as a DOS partition is counted from one instead of zero
35722 now. Reported by Robert Millan.
35723
35724 2006-10-14 Robert Millan <rmh@aybabtu.com>
35725
35726 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
35727 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
35728 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
35729 string returned by grub_guess_root_device.
35730 * util/i386/pc/grub-setup.c: Likewise.
35731 * util/i386/pc/grub-probefs.c: Likewise.
35732
35733 * util/i386/pc/grub-probefs.c: Rename to ...
35734 * util/i386/pc/grub-probe.c: ... this.
35735 * DISTLIST: Remove grub-probefs, add grub-probe.
35736 * conf/i386-efi.rmk: Likewise.
35737 * conf/i386-pc.rmk: Likewise.
35738 * util/i386/pc/grub-install.in: Likewise.
35739
35740 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
35741 choose which information we want to print.
35742
35743 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35744
35745 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
35746 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
35747 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
35748 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
35749 video/readers/tga.c and video/i386/pc/vbeutil.c.
35750
35751 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
35752
35753 Added support for RAID and LVM.
35754
35755 * disk/lvm.c: New file.
35756 * disk/raid.c: Likewise.
35757 * include/grub/lvm.h: Likewise.
35758 * include/grub/raid.h: Likewise.
35759 * include/grub/util/lvm.h: Likewise.
35760 * include/grub/util/raid.h: Likewise.
35761 * util/lvm.c: Likewise.
35762 * util/raid.c: Likewise.
35763
35764 * include/grub/disk.h (grub_disk_dev_id): Add
35765 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
35766 (grub_disk_get_size): New prototype.
35767 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
35768 returns a partition.
35769 (grub_disk_get_size): New function.
35770
35771 * kern/i386/pc/init.c (make_install_device): Copy the prefix
35772 verbatim if grub_install_dos_part is -2.
35773
35774 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
35775 and LVM devices.
35776
35777 * util/i386/pc/grub-setup.c (setup): New argument
35778 MUST_EMBED. Force embedding of GRUB when the argument is
35779 true. Close FILE before returning.
35780 (main): Add support for RAID and LVM.
35781
35782 * conf/common.rmk: Add RAID and LVM modules.
35783 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
35784 util/lvm.c.
35785 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
35786
35787 * kern/misc.c (grub_strstr): New function.
35788 * include/grub/misc.h (grub_strstr): New prototype.
35789
35790 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
35791
35792 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
35793
35794 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
35795
35796 * kern/misc.c (grub_strtoull): Guess the base only if not
35797 specified.
35798
35799 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
35800
35801 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
35802 PowerMac support.
35803
35804 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
35805
35806 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
35807
35808 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
35809 Remove `flags' argument. All callers changed.
35810 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
35811 (IEEE1275_IHANDLE_INVALID): New variable.
35812 (IEEE1275_CELL_INVALID): New variable.
35813 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35814 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
35815 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
35816 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
35817 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
35818 codes from Open Firmware. All callers updated.
35819 (grub_ieee1275_next_property): Directly return Open Firmware return
35820 code.
35821 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35822 Standardize error checking from `grub_ieee1275_get_property'.
35823 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
35824 `devalias' to `aliases'. Correct comments. Consolidate error paths.
35825
35826 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
35827
35828 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
35829 `instance_to_package_args' to `instance_to_path_args'.
35830
35831 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
35832 `grub_ieee1275_chosen'.
35833
35834 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
35835 `grub_ieee1275_interpret'.
35836
35837 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
35838
35839 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
35840
35841 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
35842
35843 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
35844 (__cmpdi): Likewise.
35845
35846 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
35847 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
35848 `grub_ssize_t'.
35849
35850 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
35851
35852 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
35853 to type `grub_ssize_t'.
35854 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
35855
35856 2006-09-22 Marco Gerards <marco@gnu.org>
35857
35858 * normal/script.c (grub_script_create_cmdmenu): Skip leading
35859 newlines.
35860
35861 2006-09-22 Marco Gerards <marco@gnu.org>
35862
35863 * commands/echo.c: New file.
35864
35865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
35866
35867 * conf/common.rmk (echo_mod_SOURCES): New variable.
35868 (echo_mod_CFLAGS): Likewise.
35869 (echo_mod_LDFLAGS): Likewise.
35870
35871 2006-09-22 Marco Gerards <marco@gnu.org>
35872
35873 * normal/main.c (get_line): Malloc memory instead of using
35874 preallocated memory. Removed the arguments `cmdline' and
35875 `max_len'. Updated all callers.
35876
35877 2006-09-22 Marco Gerards <marco@gnu.org>
35878
35879 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
35880 (normal_mod_DEPENDENCIES): Likewise.
35881
35882 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
35883 (normal_mod_DEPENDENCIES): Likewise.
35884
35885 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
35886
35887 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
35888
35889 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
35890 programs.
35891 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
35892 (normal_mod_DEPENDENCIES): Likewise.
35893 * conf/i386-pc.mk: Regenerate.
35894 * conf/i386-efi.mk: Likewise
35895 * conf/common.mk: Likewise.
35896 * conf/powerpc-ieee1275.mk: Likewise.
35897 * conf/sparc64-ieee1275.mk: Likewise.
35898
35899 2006-09-22 Robert Millan <rmh@aybabtu.com>
35900
35901 Sync with i386 version.
35902 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
35903 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
35904
35905 2006-09-21 Robert Millan <rmh@aybabtu.com>
35906
35907 Import from GRUB Legacy (lib/device.c):
35908 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
35909 (init_device_map) [__linux__]: Add support for I2O devices.
35910
35911 2006-09-14 Marco Gerards <marco@gnu.org>
35912
35913 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
35914 `-melf_i386'.
35915
35916 2006-09-14 Robert Millan <rmh@aybabtu.com>
35917
35918 * util/i386/pc/grub-install.in: Skip menu.lst when removing
35919 /boot/grub/*.lst.
35920
35921 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
35922
35923 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
35924 before adding it to device.map.
35925
35926 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
35927
35928 * genmk.rb: Let GCC generate dependencies the first time it
35929 compiles a file; using the -MD option.
35930 * conf/common.mk: Regenerate.
35931 * conf/i386-pc.mk: Likewise.
35932 * conf/i386-efi.mk: Likewise.
35933 * conf/powerpc-ieee1275.mk: Likewise.
35934 * conf/sparc64-ieee1275.mk: Likewise.
35935
35936 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
35937
35938 Move the prototypes of grub_setjmp and grub_longjmp to
35939 cpu/setjmp.h, so that each architecture may specify different
35940 attributes.
35941
35942 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
35943 (grub_longjmp): Likewise.
35944 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
35945 (grub_longjmp): Likewise.
35946 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
35947 (grub_longjmp): Likewise.
35948
35949 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
35950 [!GRUB_UTIL] (grub_longjmp): Removed.
35951
35952 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35953
35954 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35955 "color!" method does not return any value.
35956
35957 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35958
35959 * include/grub/bitmap.h: New file.
35960
35961 * include/grub/i386/pc/vbeutil.h: Likewise.
35962
35963 * video/bitmap.c: Likewise.
35964
35965 * video/readers/tga.c: Likewise.
35966
35967 * video/i386/pc/vbeutil.c: Likewise.
35968
35969 * commands/videotest.c: Code cleanup and updated to reflect to new
35970 video API.
35971
35972 * term/gfxterm.c: Likewise.
35973
35974 * video/video.c: Likewise.
35975
35976 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35977 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35978 (bitmap_mod_SOURCES): New entry.
35979 (bitmap_mod_CFLAGS): Likewise.
35980 (bitmap_mod_LDFLAGS): Likewise.
35981 (tga_mod_SOURCES): Likewise.
35982 (tga_mod_CFLAGS): Likewise.
35983 (tga_mod_LDFLAGS): Likewise.
35984
35985 * include/grub/video.h (grub_video_blit_operators): New enum type.
35986 (grub_video_render_target): Changed as forward declaration and moved
35987 actual definition to be video driver specific.
35988 (grub_video_adapter.blit_bitmap): Added blitting operator.
35989 (grub_video_adapter.blit_render_target): Likewise.
35990 (grub_video_blit_bitmap): Likewise.
35991 (grub_video_blit_render_target): Likewise.
35992
35993 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35994 driver specific render target definition.
35995 (grub_video_vbe_map_rgba): Added driver internal helper.
35996 (grub_video_vbe_unmap_color): Updated to use
35997 grub_video_i386_vbeblit_info.
35998 (grub_video_vbe_get_video_ptr): Likewise.
35999
36000 * include/grub/i386/pc/vbeblit.h
36001 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
36002 grub_video_i386_vbeblit_info.
36003 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
36004 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
36005 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
36006 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
36007 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
36008 (grub_video_i386_vbeblit_index_index): Likewise.
36009 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
36010 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
36011 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
36012 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
36013 operator.
36014 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
36015 operator.
36016
36017 * video/i386/pc/vbeblit.c: Updated to reflect changes on
36018 include/grub/i386/pc/vbeblit.h.
36019
36020 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
36021 Updated to use grub_video_i386_vbeblit_info.
36022 (grub_video_i386_vbefill_R8G8B8): Likewise.
36023 (grub_video_i386_vbefill_index): Likewise.
36024 (grub_video_i386_vbefill): Added generic filler.
36025
36026 * video/i386/pc/vbefill.c: Updated to reflect changes on
36027 include/grub/i386/pc/vbefill.h.
36028
36029 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36030 grub_video_i386_vbeblit_info.
36031 (grub_video_vbe_unmap_color): Likewise.
36032 (grub_video_vbe_blit_glyph): Likewise.
36033 (grub_video_vbe_scroll): Likewise.
36034 (grub_video_vbe_draw_pixel): Removed function.
36035 (grub_video_vbe_get_pixel): Likewise.
36036 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36037 updated code to use it.
36038 (common_blitter): Added common blitter for render target and bitmap.
36039 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36040 (grub_video_vbe_blit_render_target): Likewise.
36041
36042 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
36043
36044 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36045 is in text mode if there is no console control protocol instance
36046 available.
36047
36048 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36049
36050 * include/grub/video.h: Code cleanup.
36051
36052 * include/grub/i386/pc/vbe.h: Likewise.
36053
36054 * video/i386/pc/vbe.c: Likewise.
36055
36056 * video/i386/pc/vbeblit.c: Likewise.
36057
36058 * video/i386/pc/vbefill.c: Likewise.
36059
36060 * video/video.c: Likewise. Also added more comments.
36061
36062 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36063
36064 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36065 (struct grub_biosdisk_dap): Likewise.
36066
36067 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36068 linkage settings for all functions.
36069
36070 2006-07-12 Marco Gerards <marco@gnu.org>
36071
36072 * configure.ac (--enable-mm-debug): Fix typo.
36073
36074 * genkernsyms.sh.in: Use proper quoting for `CC'.
36075
36076 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36077
36078 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36079 (normal_mod_ASFLAGS): Remove "-m32".
36080
36081 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36082
36083 * util/misc.c: Include config.h.
36084 [!HAVE_MEMALIGN]: Do not include malloc.h.
36085 (grub_memalign): Use posix_memalign, if present. Then, use
36086 memalign, if present. Otherwise, emit an error.
36087
36088 * util/grub-emu.c: Do not include malloc.h.
36089
36090 * include/grub/util/misc.h: Include unistd.h. This is required for
36091 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36092 D. Eades III <hde@foobar-qux.org>.
36093
36094 * configure.ac (AC_GNU_SOURCE): Added.
36095 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36096 type.
36097
36098 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36099
36100 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36101 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36102
36103 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36104
36105 * include/grub/types.h (grub_host_addr_t): Rename to
36106 grub_target_addr_t.
36107 (grub_host_off_t): Rename to grub_target_off_t.
36108 (grub_host_size_t): Rename to grub_target_size_t.
36109 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36110 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36111
36112 * include/grub/kernel.h (struct grub_module_header): Change type
36113 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36114 (grub_module_info): Likewise.
36115
36116 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36117
36118 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36119 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36120 Velazquez <jesus.velazquez@gmail.com>.
36121
36122 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36123
36124 Count partitions from 1 instead of 0 in the string representation
36125 of partitions. Still use 0-based internally.
36126
36127 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36128 (sun_partition_map_iterate): Use grub_partition_t instead of
36129 struct grub_partition *. Cast DESC->START_CYLINDER to
36130 grub_uint64_t after converting the endian.
36131 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36132 (sun_partition_map_get_name): Add 1 to P->INDEX.
36133
36134 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36135 PCDATA->DOS_PART.
36136 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36137
36138 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36139 zero instead of one.
36140 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36141 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36142
36143 * partmap/apple.c (apple_partition_map_iterate): Change the type
36144 of POS to unsigned.
36145 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36146 (apple_partition_map_get_name): Add 1 into P->INDEX.
36147
36148 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36149 of POS to unsigned.
36150 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36151 calculate the offset of a partition.
36152 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36153 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36154
36155 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36156 SECTOR to grub_disk_addr_t.
36157 (acorn_partition_map_iterate): Likewise.
36158 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36159 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36160 top.
36161 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36162
36163 * kern/i386/pc/init.c (make_install_device): Add 1 into
36164 GRUB_INSTALL_DOS_PART.
36165
36166 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36167 conditional.
36168
36169 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36170
36171 Clean up the code to support 64-bit addressing in disks and
36172 files. This change is not enough for filesystems yet.
36173
36174 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36175 type of "start" to grub_uint64_t.
36176 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36177 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36178 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36179 convert addresses.
36180
36181 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36182 to grub_disk_addr_t.
36183
36184 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36185 string.
36186
36187 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36188
36189 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36190 to char *.
36191
36192 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36193
36194 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36195
36196 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36197
36198 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36199 to grub_off_t, to detect an error from grub_file_seek.
36200 (grub_multiboot_load_elf32): Likewise.
36201
36202 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36203 maximum unsigned long value when an overflow is detected.
36204 (grub_strtoull): New function.
36205 (grub_divmod64): Likewise.
36206 (grub_lltoa): use grub_divmod64.
36207
36208 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36209 grub_disk_addr_t.
36210 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36211 the pointer to next character. Use grub_strtoull instead of
36212 grub_strtoul.
36213 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36214 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36215 respectively.
36216
36217 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
36218 return value is signed.
36219 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36220 test if OFFSET is less than zero, as OFFSET is unsigned now.
36221
36222 * kern/disk.c (struct grub_disk_cache): Change the type of
36223 "sector" to grub_disk_addr_t.
36224 (grub_disk_cache_get_index): Change the type of SECTOR to
36225 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36226 unsigned after shifting.
36227 (grub_disk_cache_invalidate): Change the type of SECTOR to
36228 grub_disk_addr_t.
36229 (grub_disk_cache_unlock): Likewise.
36230 (grub_disk_cache_store): Likewise.
36231 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36232 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36233 grub_disk_addr_t and grub_uint64_t, respectively.
36234 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36235 body, as the value of OFFSET is tweaked by
36236 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36237 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36238 respectively.
36239 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36240 body, as the value of OFFSET is tweaked by
36241 grub_disk_check_range. Change the types of LEN and N to
36242 grub_size_t.
36243
36244 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36245 and "saved_offset" to grub_off_t.
36246 (test_header): Cast BUF to char *.
36247 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36248 to char *.
36249 (grub_gzio_read): Change the types of OFFSET and SIZE to
36250 grub_off_t and grub_size_t, respectively.
36251
36252 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36253 Removed.
36254 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36255 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36256 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36257 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36258 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36259
36260 * include/grub/types.h (grub_off_t): Unconditionally set to
36261 grub_uint64_t.
36262 (grub_disk_addr_t): Changed to grub_uint64_t.
36263
36264 * include/grub/partition.h (struct grub_partition): Change the
36265 types of "start", "len" and "offset" to grub_disk_addr_t,
36266 grub_uint64_t and grub_disk_addr_t, respectively.
36267 (grub_partition_get_start): Return grub_disk_addr_t.
36268 (grub_partition_get_len): Return grub_uint64_t.
36269
36270 * include/grub/misc.h (grub_strtoull): New prototype.
36271 (grub_divmod64): Likewise.
36272
36273 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36274 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36275 grub_off_t, respectively.
36276 All callers and references changed.
36277
36278 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36279 grub_size_t in "read".
36280 All callers and references changed.
36281
36282 * include/grub/file.h (struct grub_file): Change the types of
36283 "offset" and "size" to grub_off_t and grub_off_t,
36284 respectively. Change the type of SECTOR to grub_disk_addr_t in
36285 "read_hook".
36286 (grub_file_read): Change the type of LEN to grub_size_t.
36287 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36288 grub_off_t.
36289 (grub_file_size): Return grub_off_t.
36290 (grub_file_tell): Likewise.
36291 All callers and references changed.
36292
36293 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36294 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36295 "write".
36296 (struct grub_disk): Change the type of "total_sectors" to
36297 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
36298 "read_hook".
36299 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36300 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36301 (grub_disk_write): Likewise.
36302 All callers and references changed.
36303
36304 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36305 char * for grub_strncmp to silence gcc.
36306 (grub_iso9660_mount): Likewise.
36307 (grub_iso9660_mount): Likewise.
36308 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36309 return statement.
36310 (grub_iso9660_iterate_dir): Likewise.
36311 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36312
36313 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36314 LEN to grub_disk_addr_t and grub_size_t, respectively.
36315
36316 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36317
36318 * fs/jfs.c (grub_jfs_read_file): Likewise.
36319
36320 * fs/minix.c (grub_jfs_read_file): Likewise.
36321
36322 * fs/sfs.c (grub_jfs_read_file): Likewise.
36323
36324 * fs/ufs.c (grub_jfs_read_file): Likewise.
36325
36326 * fs/xfs.c (grub_jfs_read_file): Likewise.
36327
36328 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36329 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36330 respectively.
36331
36332 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36333 BLKNR to -1 instead of returning GRUB_ERRNO.
36334 (grub_ext2_read_file): Change the types of SECTOR and
36335 LEN to grub_disk_addr_t and grub_size_t, respectively.
36336
36337 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36338 LEN to grub_disk_addr_t and grub_size_t, respectively.
36339
36340 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36341 grub_file_read.
36342
36343 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36344 string. Do not cast SECTOR explicitly.
36345
36346 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36347 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36348 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36349 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36350 over 2TB and LBA mode is not supported, raise an error.
36351 (get_safe_sectors): New function.
36352 (grub_biosdisk_read): Use get_safe_sectors.
36353 (grub_biosdisk_write): Likewise.
36354
36355 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36356 (grub_efidisk_write): Likewise.
36357
36358 * disk/loopback.c (delete_loopback): Cosmetic changes.
36359 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36360 correctly.
36361 (grub_loopback_open): Likewise.
36362 (grub_loopback_read): Likewise. Also, change the type of POS to
36363 grub_off_t, and fix the usage of grub_memset.
36364
36365 * commands/i386/pc/play.c: Include grub/machine/time.h.
36366
36367 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36368 print FILE->SIZE.
36369
36370 * commands/configfile.c: Include grub/env.h.
36371
36372 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36373 GRUB_ERRNO directly instead. Change the type of POS to
36374 grub_off_t. Follow the coding standard.
36375
36376 * commands/blocklist.c: Include grub/partition.h.
36377 (grub_cmd_blocklist): Return an error if the underlying device is
36378 not a disk. Take the starting sector of a partition into account,
36379 if a partition is used.
36380
36381 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36382 a length field.
36383 (lba_mode): Support 64-bit addresses.
36384 (chs_mode): Likewise.
36385 (copy_buffer): Adapted to the new offsets of a length field and a
36386 segment field.
36387 (blocklist_default_start): Allocate 64-bit space.
36388
36389 * boot/i386/pc/boot.S (force_lba): Removed.
36390 (boot_drive): Moved to under KERNEL_SECTOR.
36391 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
36392 space.
36393 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36394 is useless.
36395 (lba_mode): Refactored to support a 64-bit address. More size
36396 optimization.
36397 (setup_sectors): Likewise.
36398
36399 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36400
36401 * DISTLIST: Added include/grub/i386/linux.h. Removed
36402 include/grub/i386/pc/linux.h
36403
36404 * configure.ac (AC_INIT): Bumped to 1.94.
36405
36406 * config.guess: Updated from gnulib.
36407 * config.sub: Likewise.
36408 * install-sh: Likewise.
36409 * mkinstalldirs: Likewise.
36410
36411 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36412
36413 * conf/common.rmk (grub_modules_init.lst): Depended on
36414 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36415 MODSRCFILES.
36416
36417 * genmk.rb (PModule::rule): Reverted the previous change.
36418
36419 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36420
36421 * conf/common.rmk (grub_modules_init.lst): Depends on
36422 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36423 that the target does not exist before producing.
36424 (grub_modules_init.h): Remove the target before generating.
36425 (grub_emu_init.c): Likewise.
36426
36427 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36428
36429 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36430
36431 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36432 for the target-specific tests. Make sure that we also have the
36433 up-to-date target variables for those tests.
36434
36435 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36436
36437 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36438 (PModule::rule): Likewise.
36439
36440 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36441
36442 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36443 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36444 target-specific flags should be prefixed.
36445 (PModule::rule): Likewise.
36446
36447 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36448
36449 * configure.ac (CMP): Check if cmp is available explicitly.
36450
36451 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36452
36453 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36454 (target_cpu): New variable.
36455 (pkglibdir): Use target_cpu instead of host_cpu.
36456
36457 * util/i386/pc/grub-install.in (host_cpu): Removed.
36458 (target_cpu): New variable.
36459 (pkglibdir): Use target_cpu instead of host_cpu.
36460
36461 * util/genmoddep.c: Removed.
36462
36463 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36464 instead of GRUB_HOST_SIZEOF_VOID_P.
36465 * kern/dl.c: Likewise.
36466
36467 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36468 ...
36469 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36470 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36471 (GRUB_TARGET_SIZEOF_LONG): ... this.
36472 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36473 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36474 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36475 to ...
36476 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36477 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36478 (GRUB_TARGET_SIZEOF_LONG): ... this.
36479 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36480 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36481 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36482 to ...
36483 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36484 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36485 (GRUB_TARGET_SIZEOF_LONG): ... this.
36486 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36487 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36488
36489 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36490 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36491 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36492 instead of GRUB_HOST_SIZEOF_LONG.
36493 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36494 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36495 GRUB_CPU_WORDS_BIGENDIAN.
36496 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36497 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36498 grub_host_ssize_t.
36499
36500 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36501 (genmoddep_SOURCES): Likewise.
36502 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36503 (genmoddep_SOURCES): Likewise.
36504 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36505 (genmoddep_SOURCES): Likewise.
36506 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36507 Likewise.
36508 (genmoddep_SOURCES): Likewise.
36509
36510 * genmoddep.awk: New file.
36511
36512 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36513 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36514 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36515 (PModule::rule): Likewise.
36516 (Program::rule): Likewise.
36517 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36518 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36519 respectively.
36520
36521 * configure.ac: Rewritten intensively to use host and target
36522 instead of build and host, respectively.
36523
36524 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36525 (host_cpu): Removed.
36526 (target_cpu): New variable.
36527 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36528 (BUILD_CC): Removed.
36529 (BUILD_CFLAGS): Likewise.
36530 (BUILD_CPPFLAGS): Likewise.
36531 (TARGET_CC): New variable.
36532 (TARGET_CFLAGS): Likewise.
36533 (TARGET_CPPFLAGS): Likewise.
36534 (TARGET_LDFLAGS): Likewise.
36535 (AWK): Likewise.
36536 (include): Use target_cpu instead of host_cpu.
36537 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
36538
36539 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36540
36541 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36542
36543 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36544 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36545 field 'false' to 'exec_on_false'.
36546 (grub_script_create_cmdif): Renamed argument names to reflect above
36547 changes.
36548
36549 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36550
36551 * normal/script.c (grub_script_create_cmdif): Likewise.
36552
36553 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36554
36555 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36556 top.
36557 (grub_hfsplus_btree_recptr): Likewise.
36558 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36559 FILEBLOCK both to pass a block number and store next block
36560 number.
36561 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36562 overflow file correctly. Specify errors appropriately, because
36563 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36564 grub_hfsplus_btree_recptr to get the pointer to a found key.
36565 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36566 is found.
36567
36568 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36569 linux.mod.
36570 (_linux_mod_SOURCES): New variable.
36571 (_linux_mod_CFLAGS): Likewise.
36572 (_linux_mod_LDFLAGS): Likewise.
36573 (linux_mod_SOURCES): Likewise.
36574 (linux_mod_CFLAGS): Likewise.
36575 (linux_mod_LDFLAGS): Likewise.
36576
36577 * DISTLIST: Added loader/i386/efi/linux.c,
36578 loader/i386/efi/linux_normal.c and
36579 include/grub/i386/efi/loader.h.
36580
36581 * loader/i386/efi/linux.c: New file.
36582 * loader/i386/efi/linux_normal.c: Likewise.
36583 * include/grub/i386/efi/loader.h: Likewise.
36584
36585 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36586
36587 * commands/blocklist.c: New file.
36588
36589 * DISTLIST: Added commands/blocklist.c.
36590
36591 * term/efi/console.c (grub_console_highlight_color): Use a lighter
36592 color for the background, and a darker color for the foreground.
36593 (grub_console_checkkey): Return READ_KEY.
36594 (grub_console_cls): Set the background to
36595 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36596
36597 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36598
36599 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36600 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36601
36602 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36603 prototype.
36604
36605 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36606 BG. The spec is wrong again.
36607
36608 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36609 prototype.
36610 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36611
36612 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36613 commands/blocklist.c.
36614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36615
36616 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36617 (blocklist_mod_SOURCES): New variable.
36618 (blocklist_mod_CFLAGS): Likewise.
36619 (blocklist_mod_LDFLAGS): Likewise.
36620
36621 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
36622
36623 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
36624 duplication.
36625 (lba_mode): Use %eax more intensively to reduce the code size.
36626
36627 2006-05-20 Marco Gerards <marco@gnu.org>
36628
36629 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
36630
36631 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
36632 for `menuentry'.
36633 (script): Accept leading newlines.
36634 (newlines): New rule to describe 0 or more newlines.
36635 (commands): Accept `command' with trailing newline. Fixed the
36636 order in which arguments were passed to `grub_script_add_cmd'.
36637 Accept commands separated by newlines.
36638 (function): Changed to accept newlines.
36639 (menuentry) Rewritten.
36640
36641 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
36642 front of the list, instead of to the end.
36643
36644 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
36645
36646 * util/i386/pc/grub-install.in (bindir): New variable.
36647 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
36648 Shaver <lbgwjl@gmail.com>.
36649
36650 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
36651
36652 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
36653 grub/machine/linux.h
36654 * loader/i386/pc/linux.c: Likewise.
36655
36656 * include/grub/i386/pc/linux.h: Moved to ...
36657 * include/grub/i386/linux.h: ... here.
36658
36659 * include/grub/i386/linux.h (struct linux_kernel_params): New
36660 struct.
36661
36662 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
36663
36664 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
36665 checking.
36666 (grub_video_vbe_blit_glyph): Likewise.
36667 (grub_video_vbe_blit_bitmap): Likewise.
36668 (grub_video_vbe_blit_render_target): Likewise.
36669
36670 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
36671
36672 * configure.ac (--with-platform): Properly quote the square
36673 brackets.
36674
36675 2006-05-08 Marco Gerards <marco@gnu.org>
36676
36677 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
36678 this...
36679 (kernel_elf_HEADERS): ...to this. Updated all users.
36680 (grubof_symlist.c): Renamed from this...
36681 (kernel_elf_symlist.c): ...to this. Updated all users.
36682 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36683 (grubof_SOURCES): Renamed from this...
36684 (kernel_elf_SOURCES): ...to this.
36685 (grubof_HEADERS): Renamed from this...
36686 (kernel_elf_HEADERS): ...to this.
36687 (grubof_CFLAGS): Renamed from this...
36688 (kernel_elf_CFLAGS): ...to this.
36689 (grubof_ASFLAGS): Renamed from this...
36690 (kernel_elf_ASFLAGS): ...to this.
36691 (grubof_LDFLAGS): Renamed from this...
36692 (kernel_elf_LDFLAGS): ...to this.
36693
36694 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
36695 this...
36696 (kernel_elf_HEADERS): ...to this. Updated all users.
36697 (grubof_symlist.c): Renamed from this...
36698 (kernel_elf_symlist.c): ...to this. Updated all users.
36699 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36700 (grubof_SOURCES): Renamed from this...
36701 (kernel_elf_SOURCES): ...to this.
36702 (grubof_HEADERS): Renamed from this...
36703 (kernel_elf_HEADERS): ...to this.
36704 (grubof_CFLAGS): Renamed from this...
36705 (kernel_elf_CFLAGS): ...to this.
36706 (grubof_ASFLAGS): Renamed from this...
36707 (kernel_elf_ASFLAGS): ...to this.
36708 (grubof_LDFLAGS): Renamed from this...
36709 (kernel_elf_LDFLAGS): ...to this.
36710
36711 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
36712 `kernel.elf' instead of `grubof'.
36713
36714 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
36715
36716 Add --with-platform to configure. Use pkglibdir instead of
36717 pkgdatadir. This is reported by Roger Leigh.
36718
36719 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
36720 (host_vendor): Likewise.
36721 (host_os): Likewise.
36722 (pkgdatadir): Likewise.
36723 (platform): New variable.
36724 (pkglibdir): Likewise.
36725 Use PKGLIBDIR instead of PKGDATADIR.
36726
36727 * util/i386/pc/grub-install.in (datadir): Removed.
36728 (host_vendor): Likewise.
36729 (host_os): Likewise.
36730 (pkgdatadir): Likewise.
36731 (platform): New variable.
36732 (pkglibdir): Likewise.
36733 Use PKGLIBDIR instead of PKGDATADIR.
36734
36735 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
36736 instead of GRUB_DATADIR.
36737 (main): Likewise.
36738 * util/i386/pc/grub-mkimage.c (usage): Likewise.
36739 (main): Likewise.
36740 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36741 (main): Likewise.
36742
36743 * configure.ac (--with-platform): New option.
36744 Use PLATFORM instead of HOST_VENDOR to specify a platform.
36745
36746 * Makefile.in: Include a makefile based on PLATFORM instead of
36747 HOST_VENDOR.
36748 (pkgdatadir): Not appended by the machine type.
36749 (pkglibdir): Appended by the machine type.
36750 (host_vendor): Removed.
36751 (platform): New variable.
36752 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
36753 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
36754 (uninstall): Likewise.
36755
36756 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
36757
36758 Use the environment context in the menu. Remove the commands
36759 "default" and "timeout", and use variables instead.
36760
36761 * normal/menu.c: Include grub/env.h.
36762 (print_entry): Cast TITLE to silence gcc.
36763 (get_timeout): New function.
36764 (set_timeout): Likewise.
36765 (get_entry_number): Likewise.
36766 (run_menu): Use a default entry, a fallback entry and a timeout
36767 in the environment variables "default", "fallback" and
36768 "timeout". Also, tweak the default entry if it is not within the
36769 current menu entries.
36770 (grub_menu_run): Use a fallback entry in the environment variable
36771 "fallback".
36772
36773 * normal/main.c (read_config_file): Do not initialize
36774 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
36775 NEWMENU->TIMEOUT.
36776 (grub_normal_execute): Use a data slot to store the menu.
36777
36778 * include/grub/normal.h (struct grub_menu): Removed default_entry,
36779 fallback_entry and timeout.
36780 (struct grub_menu_list): Removed.
36781 (grub_menu_list_t): Likewise.
36782 (struct grub_context): Likewise.
36783 (grub_context_t): Likewise.
36784 (grub_context_get): Likewise.
36785 (grub_context_get_current_menu): Likewise.
36786 (grub_context_push_menu): Likewise.
36787 (grub_context_pop_menu): Likewise.
36788 (grub_default_init): Likewise.
36789 (grub_default_fini): Likewise.
36790 (grub_timeout_init): Likewise.
36791 (grub_timeout_fini): Likewise.
36792
36793 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
36794 and timeout.mod.
36795 (normal_mod_SOURCES): Removed normal/context.c.
36796
36797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
36798 commands/default.c, commands/timeout.c and normal/context.c.
36799 (normal_mod_SOURCES): Removed normal/context.c.
36800
36801 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
36802 commands/timeout.c and normal/context.c.
36803 (normal_mod_SOURCES): Removed normal/context.c.
36804
36805 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
36806 commands/default.c, commands/timeout.c and normal/context.c.
36807 (normal_mod_SOURCES): Removed normal/context.c.
36808
36809 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
36810 timeout.mod.
36811 (default_mod_SOURCES): Removed.
36812 (default_mod_CFLAGS): Likewise.
36813 (default_mod_LDFLAGS): Likewise.
36814 (timeout_mod_SOURCES): Removed.
36815 (timeout_mod_CFLAGS): Likewise.
36816 (timeout_mod_LDFLAGS): Likewise.
36817
36818 * DISTLIST: Removed commands/default.c, commands/timeout.c and
36819 normal/context.c.
36820
36821 * commands/default.c: Removed.
36822 * commands/timeout.c: Likewise.
36823 * normal/context.c: Likewise.
36824
36825 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
36826
36827 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
36828
36829 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
36830
36831 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
36832 "next" to "prev" for readability.
36833 (struct grub_env_sorted_var): New struct.
36834 (grub_env_context): Renamed to ...
36835 (initial_context): ... this.
36836 (grub_env_var_context): Renamed to ...
36837 (current_context): ... this.
36838 (grub_env_find): Look only at CURRENT_CONTEXT.
36839 (grub_env_context_open): Rewritten to copy exported variables from
36840 previous context.
36841 (grub_env_context_close): Rewritten according to the new
36842 scheme. Also, add an assertion to prevent the initial context from
36843 removed.
36844 (grub_env_insert): Removed the code for the sorted list.
36845 (grub_env_remove): Likewise.
36846 (grub_env_export): Simply mark the variable with
36847 GRUB_ENV_VAR_GLOBAL.
36848 (grub_env_set): A cosmetic change for naming consistency.
36849 (grub_env_get): Likewise.
36850 (grub_env_unset): Likewise.
36851 (grub_env_iterate): Rewritten to sort variables within this
36852 function.
36853 (grub_register_variable_hook): Fixed for naming consistency. Call
36854 grub_env_find again, only if NAME is not found at the first time.
36855 (mangle_data_slot_name): New function.
36856 (grub_env_set_data_slot): Likewise.
36857 (grub_env_get_data_slot): Likewise.
36858 (grub_env_unset_data_slot): Likewise.
36859
36860 * include/grub/env.h (grub_env_var_type): New enum.
36861 (GRUB_ENV_VAR_LOCAL): New constant.
36862 (GRUB_ENV_VAR_GLOBAL): Likewise.
36863 (GRUB_ENV_VAR_DATA): Likewise.
36864 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
36865 "type".
36866 (grub_env_set): Replace VAR with NAME for consistency.
36867 (grub_register_variable_hook): Likewise.
36868 (grub_env_export): Specify the name of the argument.
36869 (grub_env_set_data_slot): New prototype.
36870 (grub_env_get_data_slot): Likewise.
36871 (grub_env_unset_data_slot): Likewise.
36872
36873 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36874
36875 Extend the loader so that GRUB can accept a loader which comes
36876 back to GRUB when a loaded image exits. Also, this change adds
36877 support for a chainloader on EFI.
36878
36879 * term/efi/console.c: Include grub/misc.h.
36880 (grub_console_checkkey): Display a scan code on the top for
36881 debugging. This will be removed once the EFI port gets stable.
36882 Correct the scan code mapping.
36883
36884 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
36885 allocate memory from larger regions, in order to reduce the number
36886 of allocated regions. Otherwise, the MacOSX loader panics.
36887 (filter_memory_map): Avoid less than 1MB for compatibility with
36888 other loaders.
36889 (add_memory_regions): Allocate from the tail of a region, if
36890 possible, to avoid allocating a region near to 1MB, for the MacOSX
36891 loader.
36892
36893 * kern/efi/init.c (grub_efi_set_prefix): Specify
36894 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
36895
36896 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
36897 argument IMAGE_HANDLE and specify it to get a loaded image.
36898 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
36899 grub_efi_get_loaded_image.
36900 (grub_efi_get_filename): Divide the length by the size of
36901 grub_efi_char16_t.
36902 (grub_efi_get_device_path): New function.
36903 (grub_efi_print_device_path): Print End Device Path nodes. Divide
36904 the length by the size of grub_efi_char16_t for a file path device
36905 path node.
36906
36907 * kern/loader.c (grub_loader_noreturn): New variable.
36908 (grub_loader_set): Accept a new argument NORETURN. Set
36909 GRUB_LOADER_NORETURN to NORETURN.
36910 All callers changed.
36911 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
36912 grub_machine_fini.
36913
36914 * include/grub/efi/efi.h (grub_efi_get_device_path): New
36915 prototype.
36916 (grub_efi_get_loaded_image): Take an argument to specify an image
36917 handle.
36918
36919 * include/grub/loader.h (grub_loader_set): Added one more argument
36920 NORETURN.
36921
36922 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
36923 instead of grub_efi_open_protocol.
36924 (grub_efidisk_get_device_name): Likewise.
36925 (grub_efidisk_close): Print a newline.
36926 (grub_efidisk_get_device_handle): Fixed to use
36927 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
36928 GRUB_EFI_DEVICE_PATH_TYPE.
36929
36930 * disk/efi/efidisk.c (device_path_guid): Moved to ...
36931 * kern/efi/efi.c (device_path_guid): ... here.
36932
36933 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
36934 chain.mod.
36935 (kernel_mod_HEADERS): Added efi/disk.h.
36936 (_chain_mod_SOURCES): New variable.
36937 (_chain_mod_CFLAGS): Likewise.
36938 (_chain_mod_LDFLAGS): Likewise.
36939 (chain_mod_SOURCES): Likewise.
36940 (chain_mod_CFLAGS): Likewise.
36941 (chain_mod_LDFLAGS): Likewise.
36942
36943 * DISTLIST: Added include/grub/efi/chainloader.h,
36944 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
36945
36946 * include/grub/efi/chainloader.h: New file.
36947 * loader/efi/chainloader.c: Likewise.
36948 * loader/efi/chainloader_normal.c: Likewise.
36949
36950 2006-04-30 Marco Gerards <marco@gnu.org>
36951
36952 * commands/configfile.c (grub_cmd_source): New function.
36953 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36954 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36955
36956 2006-04-30 Marco Gerards <marco@gnu.org>
36957
36958 * normal/execute.c (grub_script_execute_cmd): Change the return
36959 type to `grub_err_t'. Correctly return the error.
36960 (grub_script_execute_cmdline): In case a command line is not a
36961 command or a function, try to interpret it as an assignment.
36962
36963 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36964
36965 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36966 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36967 skip a node whose name is obviously invalid as UTF-16,
36968 i.e. contains a NUL character. Stop the iteration when the last
36969 directory entry is found. Instead of using the return value of
36970 grub_hfsplus_btree_iterate_node, store the value in RET and use
36971 it, because the iterator can be stopped by the last directory
36972 entry.
36973
36974 2006-04-30 Marco Gerards <marco@gnu.org>
36975
36976 * include/grub/env.h (grub_env_export): New prototype. Reported
36977 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36978
36979 2006-04-30 Marco Gerards <marco@gnu.org>
36980
36981 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36982 size of the extents in a catalog file record.
36983
36984 2006-04-29 Marco Gerards <marco@gnu.org>
36985
36986 * commands/configfile.c (grub_cmd_configfile): Execute the
36987 configfile within its own context.
36988
36989 * include/grub/env.h (grub_env_context_open): New prototype.
36990 (grub_env_context_close): Likewise.
36991
36992 * kern/env.c (grub_env): Removed.
36993 (grub_env_sorted): Likewise.
36994 (grub_env_context): New variable.
36995 (grub_env_var_context): Likewise.
36996 (grub_env_find): Search both the active context and the global
36997 context.
36998 (grub_env_context_open): New function.
36999 (grub_env_context_close): Likewise.
37000 (grub_env_insert): Likewise.
37001 (grub_env_remove): Likewise.
37002 (grub_env_export): Likewise.
37003 (grub_env_set): Changed to use helper functions to avoid code
37004 duplication.
37005 (grub_env_iterate): Rewritten so both the current context and the
37006 global context are being used.
37007
37008 * normal/command.c (export_command): New function.
37009 (grub_command_init): Register the `export' function.
37010
37011 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
37012
37013 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
37014 explicitly to suppress gcc's warnings.
37015 * fs/fat.c (grub_fat_find_dir): Likewise.
37016 (grub_fat_label): Likewise.
37017 * fs/xfs.c (grub_xfs_read_inode): Likewise.
37018 (grub_xfs_mount): Likewise.
37019 (grub_xfs_label): Likewise.
37020 * fs/affs.c (grub_affs_mount): Likewise.
37021 (grub_affs_label): Likewise.
37022 (grub_affs_iterate_dir): Likewise.
37023 * fs/sfs.c (grub_sfs_mount): Likewise.
37024 (grub_sfs_iterate_dir): Likewise.
37025 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37026 * fs/hfs.c (grub_hfs_mount): Likewise.
37027 (grub_hfs_cmp_catkeys): Likewise.
37028 (grub_hfs_find_dir): Likewise.
37029 (grub_hfs_dir): Likewise.
37030 (grub_hfs_label): Likewise.
37031 * fs/jfs.c (grub_jfs_mount): Likewise.
37032 (grub_jfs_opendir): Likewise.
37033 (grub_jfs_getent): Likewise.
37034 (grub_jfs_lookup_symlink): Likewise.
37035 (grub_jfs_label): Likewise.
37036 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37037 (grub_hfsplus_iterate_dir): Likewise.
37038 (grub_hfsplus_btree_iterate_node): Made static.
37039
37040 * util/grub-emu.c (prefix): New variable.
37041 (grub_machine_set_prefix): New function.
37042 (main): Do not set the environment variable "prefix" here. Only
37043 set PREFIX, which is used later by grub_machine_set_prefix.
37044
37045 * include/grub/video.h: Do not include grub/symbol.h.
37046 (grub_video_register): Not exported. This symbol is not defined in
37047 the kernel.
37048 (grub_video_unregister): Likewise.
37049 (grub_video_iterate): Likewise.
37050 (grub_video_setup): Likewise.
37051 (grub_video_restore): Likewise.
37052 (grub_video_get_info): Likewise.
37053 (grub_video_get_blit_format): Likewise.
37054 (grub_video_set_palette): Likewise.
37055 (grub_video_get_palette): Likewise.
37056 (grub_video_set_viewport): Likewise.
37057 (grub_video_get_viewport): Likewise.
37058 (grub_video_map_color): Likewise.
37059 (grub_video_map_rgb): Likewise.
37060 (grub_video_map_rgba): Likewise.
37061 (grub_video_fill_rect): Likewise.
37062 (grub_video_blit_glyph): Likewise.
37063 (grub_video_blit_bitmap): Likewise.
37064 (grub_video_blit_render_target): Likewise.
37065 (grub_video_scroll): Likewise.
37066 (grub_video_swap_buffers): Likewise.
37067 (grub_video_create_render_target): Likewise.
37068 (grub_video_delete_render_target): Likewise.
37069 (grub_video_set_active_render_target): Likewise.
37070
37071 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37072 Undefined.
37073 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37074
37075 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37076 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37077 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37078 instead of $(srcdir)/genkernsyms.sh.
37079
37080 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37081 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37082 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37083 instead of $(srcdir)/genkernsyms.sh.
37084
37085 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37086 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37087 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37088 instead of $(srcdir)/genkernsyms.sh.
37089
37090 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37091 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37092 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37093 instead of $(srcdir)/genkernsyms.sh.
37094
37095 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37096 genkernsyms.sh.
37097
37098 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37099 genkernsyms.sh.
37100 (gensymlist.sh): New target.
37101 (genkernsyms.sh): Likewise.
37102
37103 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37104 genkernsyms.sh.in and gensymlist.sh.in.
37105
37106 * genkernsyms.sh: Removed.
37107 * gensymlist.sh: Likewise.
37108
37109 * genkernsyms.sh.in: New file.
37110 * gensymlist.sh.in: Likewise.
37111
37112 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37113
37114 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37115 clobber "prefix", since we may have already set it manually.
37116
37117 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37118
37119 * kern/misc.c (abort): New alias for grub_abort.
37120
37121 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37122
37123 A new machine-specific function "grub_machine_set_prefix" is
37124 defined. This is called after loading modules, so that a prefix
37125 initialization can use modules. Also, this change adds an
37126 intensive debugging feature for the memory manager via the
37127 configure option "--enable-mm-debug".
37128
37129 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37130 PART.LEN.
37131
37132 * kern/sparc64/ieee1275/init.c (abort): Removed.
37133 (grub_stop): Likewise.
37134 (grub_exit): New function.
37135 (grub_set_prefix): Renamed to ...
37136 (grub_machine_set_prefix): ... this.
37137 (grub_machine_init): Do not call grub_set_prefix.
37138
37139 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37140 (grub_machine_set_prefix): ... this.
37141 (grub_machine_init): Do not call grub_set_prefix.
37142
37143 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37144 (grub_machine_init): Do not set the prefix here.
37145
37146 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37147
37148 * kern/efi/init.c: Include grub/mm.h.
37149 (grub_efi_set_prefix): New function.
37150
37151 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37152 (grub_efi_get_filename): New function.
37153 (grub_print_device_path): Renamed to ...
37154 (grub_efi_print_device_path): ... this.
37155
37156 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37157 [MM_DEBUG] (grub_realloc): Likewise.
37158 [MM_DEBUG] (grub_free): Likewise.
37159 [MM_DEBUG] (grub_memalign): Likewise.
37160 [MM_DEBUG] (grub_mm_debug): New variable.
37161 [MM_DEBUG] (grub_debug_malloc): New function.
37162 [MM_DEBUG] (grub_debug_free): New function.
37163 [MM_DEBUG] (grub_debug_realloc): New function.
37164 [MM_DEBUG] (grub_debug_memalign): New function.
37165
37166 * kern/misc.c (grub_abort): Print a newline to distinguish
37167 the message.
37168
37169 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37170 grub_set_root_dev after loading modules. This is necessary when
37171 setting a prefix depends on modules.
37172
37173 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37174 (grub_efi_print_device_path): ... this.
37175 (grub_efi_get_filename): New prototype.
37176 (grub_efi_set_prefix): Likewise.
37177
37178 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37179 and grub/disk.h.
37180 (grub_efidisk_get_device_handle): New prototype.
37181 (grub_efidisk_get_device_name): Likewise.
37182
37183 * include/grub/mm.h: Include config.h.
37184 (MM_DEBUG): Removed.
37185 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37186 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37187 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37188 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37189 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37190 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37191 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37192 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37193 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37194
37195 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37196
37197 * disk/efi/efidisk.c: Include grub/partition.h.
37198 (iterate_child_devices): New function.
37199 (add_device): First, compare only last device path nodes, so that
37200 devices are sorted by the types.
37201 (grub_efidisk_get_device_handle): New function.
37202 (grub_efidisk_get_device_name): Likewise.
37203
37204 * configure.ac (--enable-mm-debug): New option to enable the
37205 memory manager debugging feature. This makes the binary much
37206 bigger, so is disabled by default.
37207
37208 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37209
37210 Use grub_abort instead of grub_stop, and grub_exit must be
37211 define in each architecture now. Also, this change adds support
37212 for EFI disks.
37213
37214 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37215 (grub_getkey): New function.
37216 (grub_term_get_current): Likewise.
37217
37218 * util/i386/pc/grub-setup.c: Include grub/term.h.
37219 (grub_getkey): New function.
37220 (grub_term_get_current): Likewise.
37221
37222 * util/misc.c (grub_stop): Renamed to ...
37223 (grub_exit): ... this.
37224
37225 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37226 (grub_exit): ... this.
37227 (grub_machine_init): Use grub_abort instead of abort.
37228 (grub_stop): Removed.
37229
37230 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37231 abort.
37232
37233 * kern/i386/pc/startup.S (grub_exit): New function.
37234 (cold_reboot): New label.
37235
37236 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37237 (grub_efi_init): Call grub_efidisk_init.
37238 (grub_efi_fini): Call grub_efidisk_fini.
37239
37240 * kern/efi/efi.c: Include grub/mm.h.
37241 (grub_efi_console_control_guid): Renamed to ...
37242 (console_control_guid): ... this.
37243 (grub_efi_loaded_image_guid): Renamed to ...
37244 (loaded_image_guid): ... this.
37245 (grub_efi_locate_handle): New function.
37246 (grub_efi_open_protocol): Likewise.
37247 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37248 GRUB_EFI_CONSOLE_CONTROL_GUID.
37249 (grub_efi_exit): Removed.
37250 (grub_stop): Likewise.
37251 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37252 (grub_exit): New function.
37253 (grub_print_device_path): Likewise.
37254
37255 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37256 (grub_enter_rescue_mode): Register "exit".
37257
37258 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37259 (grub_abort): New function.
37260
37261 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37262
37263 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37264
37265 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37266
37267 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37268 (grub_print_device_path): New prototype.
37269 (grub_efi_locate_handle): Likewise.
37270 (grub_efi_open_protocol): Likewise.
37271
37272 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37273 * disk/efi/efidisk.c: Likewise.
37274
37275 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37276
37277 * include/grub/efi/console_control.h
37278 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37279
37280 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37281 last 8 bytes as an array.
37282 (GRUB_EFI_DISK_IO_GUID): New macro.
37283 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37284 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37285 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37286 grub_uint8_t.
37287 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37288 (struct grub_efi_device_path): Rename the member "sub_type" to
37289 "subtype".
37290 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37291 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37292 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37293 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37294 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37295 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37296 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37297 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37298 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37299 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37300 (struct grub_efi_pci_device_path): New structure.
37301 (grub_efi_pci_device_path_t): New type.
37302 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37303 (struct grub_efi_pccard_device_path): New structure.
37304 (grub_efi_pccard_device_path_t): New type.
37305 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37306 (struct grub_efi_memory_mapped_device_path): New structure.
37307 (grub_efi_memory_mapped_device_path_t): New type.
37308 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37309 (struct grub_efi_vendor_device_path): New structure.
37310 (grub_efi_vendor_device_path_t): New type.
37311 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37312 (struct grub_efi_controller_device_path): New structure.
37313 (grub_efi_controller_device_path_t): New type.
37314 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37315 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37316 (struct grub_efi_acpi_device_path): New structure.
37317 (grub_efi_acpi_device_path_t): New type.
37318 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37319 (struct grub_efi_expanded_acpi_device_path): New structure.
37320 (grub_efi_expanded_acpi_device_path_t): New type.
37321 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37322 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37323 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37324 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37325 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37326 (struct grub_efi_atapi_device_path): New structure.
37327 (grub_efi_atapi_device_path_t): New type.
37328 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37329 (struct grub_efi_fibre_channel_device_path): New structure.
37330 (grub_efi_fibre_channel_device_path_t): New type.
37331 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37332 (struct grub_efi_1394_device_path): New structure.
37333 (grub_efi_1394_device_path_t): New type.
37334 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37335 (struct grub_efi_usb_device_path): New structure.
37336 (grub_efi_usb_device_path_t): New type.
37337 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37338 (struct grub_efi_usb_class_device_path): New structure.
37339 (grub_efi_usb_class_device_path_t): New type.
37340 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37341 (struct grub_efi_i2o_device_path): New structure.
37342 (grub_efi_i2o_device_path_t): New type.
37343 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37344 (struct grub_efi_mac_address_device_path): New structure.
37345 (grub_efi_mac_address_device_path_t): New type.
37346 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37347 (struct grub_efi_ipv4_device_path): New structure.
37348 (grub_efi_ipv4_device_path_t): New type.
37349 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37350 (struct grub_efi_ipv6_device_path): New structure.
37351 (grub_efi_ipv6_device_path_t): New type.
37352 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37353 (struct grub_efi_infiniband_device_path): New structure.
37354 (grub_efi_infiniband_device_path_t): New type.
37355 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37356 (struct grub_efi_uart_device_path): New structure.
37357 (grub_efi_uart_device_path_t): New type.
37358 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37359 (struct grub_efi_vendor_messaging_device_path): New structure.
37360 (grub_efi_vendor_messaging_device_path_t): New type.
37361 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37362 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37363 (struct grub_efi_hard_drive_device_path): New structure.
37364 (grub_efi_hard_drive_device_path_t): New type.
37365 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37366 (struct grub_efi_cdrom_device_path): New structure.
37367 (grub_efi_cdrom_device_path_t): New type.
37368 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37369 (struct grub_efi_vendor_media_device_path): New structure.
37370 (grub_efi_vendor_media_device_path_t): New type.
37371 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37372 (struct grub_efi_file_path_device_path): New structure.
37373 (grub_efi_file_path_device_path_t): New type.
37374 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37375 (struct grub_efi_protocol_device_path): New structure.
37376 (grub_efi_protocol_device_path_t): New type.
37377 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37378 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37379 (struct grub_efi_bios_device_path): New structure.
37380 (grub_efi_bios_device_path_t): New type.
37381 (struct grub_efi_disk_io): New structure.
37382 (grub_efi_disk_io_t): New type.
37383 (struct grub_efi_block_io_media): New structure.
37384 (grub_efi_block_io_media_t): New type.
37385 (struct grub_efi_block_io): New structure.
37386 (grub_efi_block_io_t): New type.
37387
37388 * include/grub/misc.h (grub_stop): Removed.
37389 (grub_exit): New prototype.
37390 (grub_abort): Likewise.
37391
37392 * include/grub/disk.h (enum grub_disk_dev_id): Added
37393 GRUB_DISK_DEVICE_EFIDISK_ID.
37394
37395 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37396 disk/efi/efidisk.c.
37397 (kernel_syms.lst): Remove the target if an error occurs.
37398
37399 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37400
37401 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37402 as it was simply too buggy.
37403
37404 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37405
37406 * kern/misc.c (grub_lltoa): New function.
37407 (grub_vsprintf): Added support for the long long suffix,
37408 i.e. "ll".
37409
37410 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37411
37412 * Makefile.in (LDFLAGS): Add variable.
37413 (LD): Remove variable.
37414 * configure.ac: Add -m32 to LDFLAGS.
37415 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37416 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37417 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37418 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37419 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37420 variables.
37421 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37422 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37423 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37424
37425 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37426
37427 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37428 length for unknown glyph.
37429
37430 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37431
37432 Add support for pre-loaded modules into the EFI port.
37433
37434 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37435 completely. Accept one more argument DIR. The caller has changed.
37436
37437 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37438
37439 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37440 (grub_efi_loaded_image_guid): New variable.
37441 (grub_efi_get_loaded_image): New function.
37442 (grub_arch_modules_addr): Likewise.
37443
37444 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37445 prototype.
37446
37447 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37448 (struct grub_efi_loaded_image): New structure.
37449 (grub_efi_loaded_image_t): New type.
37450
37451 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37452
37453 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37454 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37455 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37456
37457 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37458
37459 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37460
37461 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37462
37463 * DISTLIST: Added include/grub/efi/console.h,
37464 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37465 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37466
37467 * include/grub/efi/console.h: New file.
37468 * include/grub/efi/time.h: Likewise.
37469 * include/grub/i386/efi/kernel.h: Likewise.
37470 * kern/efi/init.c: Likewise.
37471 * kern/efi/mm.c: Likewise.
37472 * term/efi/console.c: Likewise.
37473
37474 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37475 (grub_stop): Removed.
37476 (grub_get_rtc): Likewise.
37477 (grub_machine_init): Simply call grub_efi_init.
37478 (grub_machine_fini): Call grub_efi_fini.
37479
37480 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37481 (grub_efi_output_string): Removed.
37482 (grub_efi_stall): New function.
37483 (grub_stop): Likewise.
37484 (grub_get_rtc): Likewise.
37485
37486 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37487 (grub_efi_stall): New prototype.
37488 (grub_efi_allocate_pages): Likewise.
37489 (grub_efi_free_pages): Likewise.
37490 (grub_efi_get_memory_map): Likewise.
37491 (grub_efi_mm_init): Likewise.
37492 (grub_efi_mm_fini): Likewise.
37493 (grub_efi_init): Likewise.
37494 (grub_efi_fini): Likewise.
37495
37496 * include/grub/i386/efi/time.h: Do not include
37497 grub/symbol.h. Include grub/efi/time.h.
37498 (GRUB_TICKS_PER_SECOND): Removed.
37499 (grub_get_rtc): Likewise.
37500
37501 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37502 Added padding. The EFI spec is buggy.
37503 (GRUB_EFI_BLACK): New macro.
37504 (GRUB_EFI_BLUE): Likewise.
37505 (GRUB_EFI_GREEN): Likewise.
37506 (GRUB_EFI_CYAN): Likewise.
37507 (GRUB_EFI_RED): Likewise.
37508 (GRUB_EFI_MAGENTA): Likewise.
37509 (GRUB_EFI_BROWN): Likewise.
37510 (GRUB_EFI_LIGHTGRAY): Likewise.
37511 (GRUB_EFI_BRIGHT): Likewise.
37512 (GRUB_EFI_DARKGRAY): Likewise.
37513 (GRUB_EFI_LIGHTBLUE): Likewise.
37514 (GRUB_EFI_LIGHTGREEN): Likewise.
37515 (GRUB_EFI_LIGHTCYAN): Likewise.
37516 (GRUB_EFI_LIGHTRED): Likewise.
37517 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37518 (GRUB_EFI_YELLOW): Likewise.
37519 (GRUB_EFI_WHITE): Likewise.
37520 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37521 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37522 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37523 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37524 (GRUB_EFI_BACKGROUND_RED): Likewise.
37525 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37526 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37527 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37528 (GRUB_EFI_TEXT_ATTR): Likewise.
37529
37530 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37531 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37532 (kernel_mod_HEADERS): Added efi/time.h.
37533
37534 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37535
37536 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37537 include/grub/efi/api.h, include/grub/efi/console_control.h,
37538 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37539 include/grub/i386/efi/time.h, kern/efi/efi.c,
37540 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37541 and util/i386/efi/grub-mkimage.c.
37542
37543 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37544
37545 * genmk.rb (PModule#rule): Do not export symbols if
37546 #{prefix}_EXPORTS is set to "no".
37547
37548 * conf/i386-efi.mk: New file.
37549 * conf/i386-efi.rmk: Likewise.
37550 * include/grub/efi/api.h: Likewise.
37551 * include/grub/efi/console_control.h: Likewise.
37552 * include/grub/efi/efi.h: Likewise.
37553 * include/grub/efi/pe32.h: Likewise.
37554 * include/grub/i386/efi/time.h: Likewise.
37555 * kern/efi/efi.c: Likewise.
37556 * kern/i386/efi/init.c: Likewise.
37557 * kern/i386/efi/startup.S: Likewise.
37558 * util/i386/efi/grub-mkimage.c: Likewise.
37559
37560 2006-04-17 Marco Gerards <marco@gnu.org>
37561
37562 * include/grub/script.h: Include <grub/parser.h> and
37563 "grub_script.tab.h".
37564 (struct grub_lexer_param): New struct.
37565 (struct grub_parser_param): Likewise.
37566 (grub_script_create_arglist): Pass the state in an argument.
37567 (grub_script_add_arglist): Likewise.
37568 (grub_script_create_cmdline): Likewise.
37569 (grub_script_create_cmdblock): Likewise.
37570 (grub_script_create_cmdif): Likewise.
37571 (grub_script_create_cmdmenu): Likewise.
37572 (grub_script_add_cmd): Likewise.
37573 (grub_script_arg_add): Likewise.
37574 (grub_script_lexer_ref): Likewise.
37575 (grub_script_lexer_deref): Likewise.
37576 (grub_script_lexer_record_start): Likewise.
37577 (grub_script_lexer_record_stop): Likewise.
37578 (grub_script_mem_record): Likewise.
37579 (grub_script_mem_record_stop): Likewise.
37580 (grub_script_malloc): Likewise.
37581 (grub_script_yylex): Likewise.
37582 (grub_script_yyparse): Likewise.
37583 (grub_script_yyerror): Likewise.
37584 (grub_script_yylex): Likewise.
37585 (grub_script_lexer_init): Return the state.
37586
37587 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37588 (grub_script_lexer_done): Likewise.
37589 (grub_script_lexer_getline): Likewise.
37590 (grub_script_lexer_refs): Likewise.
37591 (script): Likewise.
37592 (newscript): Likewise.
37593 (record): Likewise.
37594 (recording): Likewise.
37595 (recordpos): Likewise.
37596 (recordlen): Likewise.
37597 (grub_script_lexer_init): Return the state instead of setting
37598 global variables.
37599 (grub_script_lexer_ref): Use the newly added argument for state
37600 instead of globals.
37601 (grub_script_lexer_deref): Likewise.
37602 (grub_script_lexer_record_start): Likewise.
37603 (grub_script_lexer_record_stop): Likewise.
37604 (recordchar): Likewise.
37605 (nextchar): Likewise.
37606 (grub_script_yylex2): Likewise.
37607 (grub_script_yylex): Likewise.
37608 (grub_script_yyerror): Likewise.
37609
37610 * normal/parser.y (func_mem): Removed variable.
37611 (menu_entry): Likewise.
37612 (err): Likewise.
37613 (%lex-param): New parser option.
37614 (%parse-param): Likewise.
37615 (script): Always return the AST.
37616 (argument): Pass the state around.
37617 (arguments): Likewise.
37618 (grubcmd): Likewise.
37619 (commands): Likewise.
37620 (function): Likewise.
37621 (menuentry): Likewise.
37622 (if_statement): Likewise.
37623 (if): Likewise.
37624
37625 * normal/script.c (grub_script_memused): Removed variable.
37626 (grub_script_parsed): Likewise.
37627 (grub_script_malloc): Added a state argument. Use that instead of
37628 global variables.
37629 (grub_script_mem_record): Likewise.
37630 (grub_script_mem_record_stop): Likewise.
37631 (grub_script_arg_add): Likewise.
37632 (grub_script_add_arglist): Likewise.
37633 (grub_script_create_cmdline): Likewise.
37634 (grub_script_create_cmdif): Likewise.
37635 (grub_script_create_cmdmenu): Likewise.
37636 (grub_script_add_cmd): Likewise.
37637 (grub_script_parse): Setup the state before calling the parser.
37638
37639 2006-04-16 Marco Gerards <marco@gnu.org>
37640
37641 * normal/command.c (grub_command_init): Remove the title command.
37642
37643 * normal/lexer.c (grub_script_yylex): Renamed from this...
37644 (grub_script_yylex2): ... to this.
37645 (grub_script_yylex): New function. Temporary
37646 introduced to filter some tokens.
37647 (grub_script_yyerror): Print a newline.
37648
37649 * normal/main.c (read_config_file): Output information about the
37650 lines that contain errors. Wait for a key after all lines have
37651 been processed. Don't return an empty menu.
37652
37653 * normal/parser.y (func_mem): Don't initialize.
37654 (menu_entry): Likewise.
37655 (err): New variable.
37656 (script): Don't return anything when an error was encountered.
37657 (ws, returns): Removed rules.
37658 (argument): Disabled concatenated variable support.
37659 (arguments): Remove explicit separators.
37660 (grubcmd): Likewise.
37661 (function): Likewise.
37662 (menuentry): Likewise.
37663 (if): Likewise.
37664 (commands): Likewise. Add error handling.
37665
37666 * normal/script.c (grub_script_create_cmdline): If
37667 `grub_script_parsed' is 0, assume the parser encountered an error.
37668
37669 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
37670
37671 * configure.ac: Add support for EFI. Fix the typo
37672 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
37673
37674 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37675
37676 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
37677 foreign multibyte characters should be shown correctly.
37678
37679 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37680
37681 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
37682 calculation.
37683 (read_config_file): Made it to close file before returning.
37684
37685 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
37686
37687 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
37688 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
37689 video/i386/pc/vbefill.c.
37690
37691 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
37692 video/i386/pc/vbefill.c.
37693
37694 * include/grub/video.h (grub_video_blit_format): New enum.
37695 (grub_video_mode_info): Added new member blit_format.
37696 (grub_video_get_blit_format): New function prototype.
37697
37698 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
37699 function prototype.
37700 (grub_video_vbe_map_rgb): Likewise.
37701 (grub_video_vbe_unmap_color): Likewise.
37702
37703 * include/grub/i386/pc/vbeblit.h: New file.
37704
37705 * include/grub/i386/pc/vbefill.h: New file.
37706
37707 * video/video.c (grub_video_get_blit_format): New function.
37708 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
37709 (grub_video_vbe_map_rgb): Likewise.
37710 (grub_video_vbe_unmap_color): Likewise.
37711
37712 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
37713 optimized fills.
37714 (grub_video_vbe_blit_render_target): Changed to use more optimized
37715 blits.
37716 (grub_video_vbe_setup): Added detection for optimized settings.
37717 (grub_video_vbe_create_render_target): Likewise.
37718
37719 * video/i386/pc/vbeblit.c: New file.
37720
37721 * video/i386/pc/vbefill.c: New file.
37722
37723 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
37724
37725 * font/manager.c (grub_font_get_glyph): Removed font fixup from
37726 here...
37727
37728 * util/unifont2pff.rb: ... and moved it to here. Improved argument
37729 parsing to support both hex and dec ranges. If filename was missing
37730 show usage information.
37731
37732 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
37733
37734 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
37735 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
37736
37737 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
37738 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
37739 (video_mod_SOURCES): Added.
37740 (video_mod_CFLAGS): Likewise.
37741 (video_mod_LDFLAGS): Likewise.
37742 (gfxterm_mod_SOURCES): Likewise.
37743 (gfxterm_mod_CFLAGS): Likewise.
37744 (gfxterm_mod_LDFLAGS): Likewise.
37745 (videotest_mod_SOURCES): Likewise.
37746 (videotest_mod_CFLAGS): Likewise.
37747 (videotest_mod_LDFLAGS): Likewise.
37748 (vesafb_mod_SOURCES): Removed.
37749 (vesafb_mod_CFLAGS): Likewise.
37750 (vesafb_mod_LDFLAGS): Likewise.
37751 (vga_mod_SOURCES): Likewise.
37752 (vga_mod_CFLAGS): Likewise.
37753 (vga_mod_LDFLAGS): Likewise.
37754
37755 * commands/videotest.c: New file.
37756
37757 * font/manager.c (fill_with_default_glyph): Modified to use
37758 grub_font_glyph.
37759 (grub_font_get_glyph): Likewise.
37760 (fontmanager): Renamed from this...
37761 (font_manager): ... to this.
37762
37763 * include/grub/font.h (grub_font_glyph): Added new structure.
37764 (grub_font_get_glyph): Modified to use grub_font_glyph.
37765
37766 * include/grub/misc.h (grub_abs): Added as inline function.
37767
37768 * include/grub/video.h: New file.
37769
37770 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
37771 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
37772 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
37773 (grub_vbe_get_controller_info): Renamed from this...
37774 (grub_vbe_bios_get_controller_info): ... to this.
37775 (grub_vbe_get_mode_info): Renamed from this...
37776 (grub_vbe_bios_get_mode_info): ... to this.
37777 (grub_vbe_set_mode): Renamed from this...
37778 (grub_vbe_bios_set_mode): ... to this.
37779 (grub_vbe_get_mode): Renamed from this...
37780 (grub_vbe_bios_get_mode): ... to this.
37781 (grub_vbe_set_memory_window): Renamed from this...
37782 (grub_vbe_bios_set_memory_window): ... to this.
37783 (grub_vbe_get_memory_window): Renamed from this...
37784 (grub_vbe_bios_get_memory_window): ... to this.
37785 (grub_vbe_set_scanline_length): Renamed from this...
37786 (grub_vbe_set_scanline_length): ... to this.
37787 (grub_vbe_get_scanline_length): Renamed from this...
37788 (grub_vbe_bios_get_scanline_length): ... to this.
37789 (grub_vbe_set_display_start): Renamed from this...
37790 (grub_vbe_bios_set_display_start): ... to this.
37791 (grub_vbe_get_display_start): Renamed from this...
37792 (grub_vbe_bios_get_display_start): ... to this.
37793 (grub_vbe_set_palette_data): Renamed from this...
37794 (grub_vbe_bios_set_palette_data): ... to this.
37795 (grub_vbe_set_pixel_rgb): Removed.
37796 (grub_vbe_set_pixel_index): Likewise.
37797
37798 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
37799 from this...
37800 (grub_vbe_bios_get_controller_info): ... to this.
37801 (grub_vbe_get_mode_info): Renamed from this...
37802 (grub_vbe_bios_get_mode_info): ... to this.
37803 (grub_vbe_set_mode): Renamed from this...
37804 (grub_vbe_bios_set_mode): ... to this.
37805 (grub_vbe_get_mode): Renamed from this...
37806 (grub_vbe_bios_get_mode): ... to this.
37807 (grub_vbe_set_memory_window): Renamed from this...
37808 (grub_vbe_bios_set_memory_window): ... to this.
37809 (grub_vbe_get_memory_window): Renamed from this...
37810 (grub_vbe_bios_get_memory_window): ... to this.
37811 (grub_vbe_set_scanline_length): Renamed from this...
37812 (grub_vbe_set_scanline_length): ... to this.
37813 (grub_vbe_get_scanline_length): Renamed from this...
37814 (grub_vbe_bios_get_scanline_length): ... to this.
37815 (grub_vbe_set_display_start): Renamed from this...
37816 (grub_vbe_bios_set_display_start): ... to this.
37817 (grub_vbe_get_display_start): Renamed from this...
37818 (grub_vbe_bios_get_display_start): ... to this.
37819 (grub_vbe_set_palette_data): Renamed from this...
37820 (grub_vbe_bios_set_palette_data): ... to this.
37821 (grub_vbe_bios_get_controller_info): Fixed problem with registers
37822 getting corrupted after calling it. Added more pushes and pops.
37823 (grub_vbe_bios_set_mode): Likewise.
37824 (grub_vbe_bios_get_mode): Likewise.
37825 (grub_vbe_bios_get_memory_window): Likewise.
37826 (grub_vbe_bios_set_scanline_length): Likewise.
37827 (grub_vbe_bios_get_scanline_length): Likewise.
37828 (grub_vbe_bios_get_display_start): Likewise.
37829 (grub_vbe_bios_set_palette_data): Likewise.
37830
37831 * normal/cmdline.c (cl_set_pos): Refresh the screen.
37832 (cl_insert): Likewise.
37833 (cl_delete): Likewise.
37834
37835 * term/gfxterm.c: New file.
37836
37837 * term/i386/pc/vesafb.c: Removed file.
37838
37839 * video/video.c: New file.
37840
37841 * video/i386/pc/vbe.c (real2pm): Added new function.
37842 (grub_video_vbe_draw_pixel): Likewise.
37843 (grub_video_vbe_get_video_ptr): Likewise.
37844 (grub_video_vbe_get_pixel): Likewise
37845 (grub_video_vbe_init): Likewise.
37846 (grub_video_vbe_fini): Likewise.
37847 (grub_video_vbe_setup): Likewise.
37848 (grub_video_vbe_get_info): Likewise.
37849 (grub_video_vbe_set_palette): Likewise.
37850 (grub_video_vbe_get_palette): Likewise.
37851 (grub_video_vbe_set_viewport): Likewise.
37852 (grub_video_vbe_get_viewport): Likewise.
37853 (grub_video_vbe_map_color): Likewise.
37854 (grub_video_vbe_map_rgb): Likewise.
37855 (grub_video_vbe_map_rgba): Likewise.
37856 (grub_video_vbe_unmap_color): Likewise.
37857 (grub_video_vbe_fill_rect): Likewise.
37858 (grub_video_vbe_blit_glyph): Likewise.
37859 (grub_video_vbe_blit_bitmap): Likewise.
37860 (grub_video_vbe_blit_render_target): Likewise.
37861 (grub_video_vbe_scroll): Likewise.
37862 (grub_video_vbe_swap_buffers): Likewise.
37863 (grub_video_vbe_create_render_target): Likewise.
37864 (grub_video_vbe_delete_render_target): Likewise.
37865 (grub_video_vbe_set_active_render_target): Likewise.
37866 (grub_vbe_set_pixel_rgb): Remove function.
37867 (grub_vbe_set_pixel_index): Likewise.
37868 (index_color_mode): Remove static variable.
37869 (active_mode): Likewise.
37870 (framebuffer): Likewise.
37871 (bytes_per_scan_line): Likewise.
37872 (grub_video_vbe_adapter): Added new static variable.
37873 (framebuffer): Likewise.
37874 (render_target): Likewise.
37875 (initial_mode): Likewise.
37876 (mode_in_use): Likewise.
37877 (mode_list): Likewise.
37878
37879 2006-03-10 Marco Gerards <marco@gnu.org>
37880
37881 * configure.ac (AC_INIT): Bumped to 1.93.
37882
37883 * DISTLIST: Added `include/grub/hfs.h'.
37884
37885 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
37886
37887 * boot/i386/pc/boot.S (general_error): Before looping, try INT
37888 18H, which might help the BIOS falling back to next boot media.
37889
37890 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
37891
37892 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
37893 Poe Chen <poe.poechen@gmail.com>.
37894
37895 2006-01-17 Marco Gerards <marco@gnu.org>
37896
37897 * include/grub/normal.h: Include <grub/script.h>.
37898 (grub_command_list): Removed struct.
37899 (grub_command_list_t): Removed type.
37900 (grub_menu_entry): Remove members `num' and `command_list'. Add
37901 members `commands' and `sourcecode'.
37902 * include/grub/script.h: Add inclusion guards.
37903 (grub_script_cmd_menuentry): New struct.
37904 (grub_script_execute_menuentry): New prototype.
37905 (grub_script_lexer_record_start): Likewise.
37906 (grub_script_lexer_record_stop): Likewise.
37907 * normal/execute.c (grub_script_execute_menuentry): New function.
37908 * normal/lexer.c (record, recording, recordpos, recordlen): New
37909 variables.
37910 (grub_script_lexer_record_start): New function.
37911 (grub_script_lexer_record_stop): Likewise.
37912 (recordchar): Likewise.
37913 (nextchar): Likewise.
37914 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
37915 2048 as the buffer size. Add the tokens `menuentry' and `@'.
37916 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
37917 (current_menu): New variable.
37918 (free_menu): Mainly rewritten.
37919 (grub_normal_menu_addentry): New function.
37920 (read_config_file): Rewritten.
37921 * normal/menu.c (run_menu_entry): Mainly rewritten.
37922 * normal/menu_entry.c (make_screen): Rewritten the code to insert
37923 the menu entry.
37924 (run): Mainly rewritten.
37925 * normal/parser.y (menu_entry): New variable.
37926 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
37927 (menuentry): New rule.
37928 (command): Add `menuentry'.
37929 (if_statement): Allow additional returns before `fi'.
37930 * normal/script.c (grub_script_create_cmdmenu): New function.
37931
37932 2006-01-03 Marco Gerards <marco@gnu.org>
37933
37934 * INSTALL: GNU Bison is required.
37935 * configure.ac: Rewritten the test to detect Bison.
37936 * Makefile.in (YACC): New variable. Reported by Xun Sun
37937 <xun.sun.cn@gmail.com>.
37938
37939 2006-01-03 Marco Gerards <marco@gnu.org>
37940
37941 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
37942 the HFS+ filesystem to filesystem blocks.
37943 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
37944 GCC warning is silenced.
37945
37946 2006-01-03 Marco Gerards <marco@gnu.org>
37947
37948 * partmap/apple.c (apple_partition_map_iterate): Convert the data
37949 read from disk from big endian to host byte order.
37950
37951 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
37952
37953 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37954 documentation.
37955 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37956 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37957 embedded HFS+ filesystem.
37958 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37959 (grub_hfs_sblock): Move from here...
37960 * include/grub/hfs.h: To here... New file.
37961 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37962 documentation.
37963 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37964 New macros.
37965 (grub_hfsplus_volheader): Change type of member `magic' to
37966 `grub_uint16_t'.
37967 (grub_hfsplus_data): Add new member `embedded_offset'.
37968 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37969 returned block.
37970 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37971 Calculate the offset.
37972
37973 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37974
37975 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37976 Removed.
37977 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37978
37979 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37980
37981 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37982 ENV->NAME is NULL after allocating ENV->VALUE.
37983
37984 2005-12-25 Marco Gerards <marco@gnu.org>
37985
37986 * kern/env.c (grub_env_set): Rewritten the error handling code.
37987
37988 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37989
37990 * geninit.sh: Made more robust, and more portable.
37991
37992 2005-12-25 Marco Gerards <marco@gnu.org>
37993
37994 Add support for Apple HFS+ filesystems.
37995
37996 * fs/hfsplus.c: New file.
37997
37998 * DISTLIST: Added `fs/hfsplus.c'.
37999
38000 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
38001 (hfsplus_mod_SOURCES): New variable.
38002 (hfsplus_mod_CFLAGS): Likewise.
38003 (hfsplus_mod_LDFLAGS): Likewise.
38004 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
38005 (grub_setup_SOURCES): Likewise.
38006 (grub_mkdevicemap_SOURCES): Likewise.
38007 (grub_emu_SOURCES): Likewise.
38008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38009
38010 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
38011
38012 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
38013
38014 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
38015
38016 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
38017 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
38018 include/grub/parser.h, include/grub/script.h, kern/parser.c,
38019 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
38020 normal/lexer.c, normal/parser.y, normal/script.c, and
38021 partmap/gpt.c.
38022 Removed kern/sparc64/cache.c.
38023
38024 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38025 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38026 grub_emu_init.c.
38027
38028 * configure.ac (AC_INIT): Bumped to 1.92.
38029
38030 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38031
38032 * kern/err.c (grub_error_push): Added new function to support error
38033 stacks.
38034 (grub_error_pop): Likewise.
38035 (grub_error_stack_items): New local variable to support error stacks.
38036 (grub_error_stack_pos): Likewise.
38037 (grub_error_stack_assert): Likewise.
38038 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38039 stack depth.
38040 (grub_print_error): Added support to print errors from error stack.
38041
38042 * include/grub/err.h (grub_error_push): Added function prototype.
38043 (grub_error_pop): Likewise.
38044
38045 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38046
38047 * configure.ac: Accept `powerpc64' as host_cpu.
38048 (amd64): Rename to `biarch32'.
38049
38050 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38051 non-cacheline-aligned addresses.
38052
38053 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38054 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38055 if `size' is non-zero.
38056
38057 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
38058
38059 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38060 and `cd' to make sure the filename is not prefixed with a
38061 directory name.
38062 (pkgdata_MODULES): Add `gpt.mod'.
38063 (gpt_mod_SOURCES): New variable.
38064 (gpt_mod_CFLAGS): Likewise.
38065 (gpt_mod_LDFLAGS): Likewise.
38066
38067 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38068
38069 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38070 New macro.
38071
38072 * partmap/gpt.c: New file.
38073
38074 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38075 GPT partition map is detected.
38076
38077 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38078
38079 * commands/i386/pc/play.c: New file.
38080 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38081 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38082 macros.
38083
38084 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
38085
38086 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38087 ((unused))' to silence gcc warning.
38088
38089 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38090
38091 * configure.ac: Correct `AC_PROG_YACC' test.
38092
38093 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38094
38095 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38096 check before installing files.
38097
38098 2005-11-22 Mike Small <smallm@panix.com>
38099
38100 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38101 number regex so multidigit numbers are recognized correctly.
38102
38103 2005-11-22 Mike Small <smallm@panix.com>
38104
38105 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38106 debugging message before attempting to claim memory.
38107 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38108 multiple addresses in case of failure.
38109
38110 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38111
38112 * term/tparm.c (get_space): Remove empty `if' statement.
38113
38114 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38115
38116 * kern/parser.c (check_varstate): Rename `state' to 's'.
38117
38118 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38119
38120 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38121 variable definitions to the beginning of each function. Sort stack
38122 variables by size.
38123 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38124 `buf' argument to `char *'.
38125
38126 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38127
38128 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38129 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38130 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38131 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38132 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38133 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38134 configfile.mod, search.mod, gzio.mod and test.mod.
38135 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38136 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38137 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38138 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38139 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38140 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38141 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38142 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38143 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38144 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38145 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38146 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38147 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38148 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38149 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38150 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38151 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38152 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38153 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38154 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38155 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38156 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38157 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38158
38159 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38160 `grep --include'.
38161 (pkgdata_MODULES): Add test.mod.
38162
38163 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38164
38165 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38166 appending to variables with "+=".
38167 (PModule): Use full pathname to generate *.lst filenames.
38168
38169 * Makefile.in: Fixed list rules moved from genmk.rb.
38170 (.DELETE_ON_ERROR): New special target.
38171 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38172
38173 * conf/i386-pc.rmk: Include conf/common.mk.
38174 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38175 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38176 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38177 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38178 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38179 configfile.mod, search.mod, gzio.mod and test.mod.
38180 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38181 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38182 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38183 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38184 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38185 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38186 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38187 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38188 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38189 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38190 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38191 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38192 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38193 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38194 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38195 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38196 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38197 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38198 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38199 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38200 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38201 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38202 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38203 here...
38204 * conf/common.rmk: ... to here. New file.
38205
38206 * conf/common.mk: New file.
38207
38208 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38209
38210 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38211 (grub_script.tab.c): ... here.
38212
38213 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38214 (grub_script.tab.c): ... here.
38215
38216 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38217 (grub_script.tab.c): ... here.
38218
38219 * normal/command.c (grub_command_find): Fixed a memory leak of
38220 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38221
38222 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38223
38224 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38225 "@" which marks the start of a comment on ARM.
38226 (VARIABLE): Likewise.
38227
38228 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38229
38230 Add support for Linux/ADFS partition tables.
38231
38232 * partmap/acorn.c: New file.
38233
38234 * include/grub/acorn_filecore.h: Likewise.
38235
38236 * DISTLIST: Added `partmap/acorn.c' and
38237 `include/grub/acorn_filecore.h'.
38238
38239 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38240 `partmap/acorn.c'.
38241 (pkgdata_MODULES): Add `acorn.mod'.
38242 (acorn_mod_SOURCES): New variable.
38243 (acorn_mod_CFLAGS): Likewise.
38244
38245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38246 `partmap/acorn.c'.
38247 (pkgdata_MODULES): Add `acorn.mod'.
38248 (acorn_mod_SOURCES): New variable.
38249 (acorn_mod_CFLAGS): Likewise.
38250
38251 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38252 (pkgdata_MODULES): Add `acorn.mod'.
38253 (acorn_mod_SOURCES): New variable.
38254 (acorn_mod_CFLAGS): Likewise.
38255 (acorn_mod_LDFLAGS): Likewise.
38256
38257 * include/types.h (grub_disk_addr_t): New typedef.
38258
38259 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
38260
38261 * geninit.sh: New file.
38262
38263 * geninitheader.sh: Likewise.
38264
38265 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38266 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38267 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38268 * commands/configfile.c (grub_configfile_init)
38269 (grub_configfile_fini): Likewise.
38270 * commands/default.c (grub_default_init, grub_default_fini):
38271 Likewise.
38272 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38273 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38274 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38275 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38276 Likewise.
38277 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38278 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38279 Likewise.
38280 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
38281 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
38282 Likewise.
38283 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38284 Likewise.
38285 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
38286 Likewise.
38287 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38288 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38289 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38290 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38291 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38292 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38293 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38294 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38295 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38296 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38297 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38298 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38299 * partmap/amiga.c (grub_amiga_partition_map_init)
38300 (grub_amiga_partition_map_fini): Likewise.
38301 * partmap/apple.c (grub_apple_partition_map_init)
38302 (grub_apple_partition_map_fini): Likewise.
38303 * partmap/pc.c (grub_pc_partition_map_init)
38304 (grub_pc_partition_map_fini): Likewise.
38305 * partmap/sun.c (grub_sun_partition_map_init,
38306 grub_sun_partition_map_fini): Likewise.
38307 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38308 Likewise.
38309
38310 * util/grub-emu.c: Include <grub_modules_init.h>.
38311 (main): Don't initialize and de-initialize any modules directly,
38312 use `grub_init_all' and `grub_fini_all' instead.
38313
38314 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38315 `grub_vesafb_mod_init'.
38316 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38317 all users.
38318 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38319 `grub_vga_mod_init'. Updated all users.
38320 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
38321
38322 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38323 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38324 rules.
38325
38326 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38327 Generate a function to initialize the module in utilities.
38328 Updated all callers.
38329 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38330 initialize the module in utilities. Updated all callers.
38331
38332 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38333
38334 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38335 escape sequence and a literal ^L to clear the screen.
38336
38337 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38338 when returning from Open Firmware.
38339
38340 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38341
38342 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38343 (grub_ofconsole_height): Likewise.
38344 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38345 manually insert a '\n'.
38346 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38347 `grub_ofconsole_height'. Return early if these are already set.
38348
38349 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38350
38351 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38352 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38353 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38354 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38355 and `normal/script.c'.
38356 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38357 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38358 (test_mod_SOURCES): New variable.
38359 (test_mod_CFLAGS): Likewise.
38360 (test_mod_LDFLAGS): Likewise.
38361 (pkgdata_MODULES): Add `test.mod'.
38362 (grub_script.tab.c): New rule.
38363 (grub_script.tab.h): Likewise.
38364
38365 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
38366
38367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38368 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38369 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38370 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38371 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38372 (test_mod_SOURCES): New variable.
38373 (test_mod_CFLAGS): Likewise.
38374 (pkgdata_MODULES): Add `test.mod'.
38375 (grub_script.tab.c): New rule.
38376 (grub_script.tab.h): Likewise.
38377
38378 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
38379
38380 Add initial scripting support.
38381
38382 * commands/test.c: New file.
38383 * include/grub/script.h: Likewise.
38384 * normal/execute.c: Likewise.
38385 * normal/function.c: Likewise.
38386 * normal/lexer.c: Likewise.
38387 * normal/parser.y: Likewise.
38388 * normal/script.c: Likewise.
38389
38390 * configure.ac: Add `AC_PROG_YACC' test.
38391
38392 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38393 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38394 `normal/function.c' and `normal/script.c'.
38395 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38396 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38397 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38398 variables.
38399 (pkgdata_MODULES): Add `test.mod'.
38400 (grub_script.tab.c): New rule.
38401 (grub_script.tab.h): Likewise.
38402
38403 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38404
38405 * include/grub/normal.h (grub_test_init): New prototype.
38406 (grub_test_fini): Likewise.
38407
38408 * normal/command.c: Include <grub/script.h>.
38409 (grub_command_execute): Rewritten.
38410
38411 * util/grub-emu.c (main): Call `grub_test_init' and
38412 `grub_test_fini'.
38413
38414 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38415
38416 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38417 to 0.
38418 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38419 there are no pending characters.
38420
38421 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38422
38423 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38424 `grub_strndup' to drop device arguments. Replace unnecessary
38425 `grub_strndup' with `grub_strdup'.
38426
38427 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38428
38429 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38430 `debug' environment variable has been set.
38431
38432 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
38433
38434 * Makefile.in (install-local): Use $(DATA).
38435 (uninstall): Likewise.
38436 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38437 (sbin_UTILITIES): ... to here.
38438 (sbin_SCRIPTS): New variable.
38439 (grub_install_SOURCES): New variable.
38440 * util/powerpc/ieee1275/grub-install.in: New file.
38441 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38442 variable.
38443 (add_segments): Call `grub_util_get_path'.
38444
38445 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38446
38447 From Timothy Baldwin:
38448 * commands/ls.c (grub_ls_list_files): Close FILE with
38449 grub_file_close.
38450 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38451
38452 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
38453
38454 * include/grub/parser.h: New file.
38455
38456 * kern/parser.c: Likewise.
38457
38458 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38459 (grub_setup_SOURCES): Likewise.
38460 (grub_probefs_SOURCES): Likewise.
38461 (grub_emu_SOURCES): Likewise.
38462 (kernel_img_HEADERS): Add `parser.h'.
38463
38464 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38465 (grub_emu_SOURCES): Add `kern/parser.c'.
38466 (grubof_SOURCES): Likewise.
38467
38468 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38469 (grubof_SOURCES): Add `kern/parser.c'.
38470
38471 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38472
38473 * kern/misc.c (grub_split_cmdline): Removed function.
38474
38475 * kern/rescue.c: Include <grub/parser.h>.
38476 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38477 of `grub_split_cmdline'.
38478
38479 * normal/command.c: Include <grub/parser.h>.
38480 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38481 of `grub_split_cmdline'.
38482
38483 * normal/completion.c: Include <grub/parser.h>.
38484 (cmdline_state): New variable.
38485 (iterate_dir): End the filename with a quote depending on the
38486 command line state.
38487 (get_state): new function.
38488 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38489 split the arguments and determine the current argument. When the
38490 argument string is not quoted, escape all spaces.
38491
38492 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38493
38494 * normal/sparc64/setjmp.S: New file.
38495
38496 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38497
38498 * include/grub/sparc64/libgcc.h: New file.
38499 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38500 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38501 normal/sparc64/setjmp.c.
38502
38503 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38504
38505 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38506 * kern/sparc64/cache.S: New file.
38507 * kern/sparc64/cache.c: Removed.
38508 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38509 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38510 -mtune=ultrasparc.
38511 (COMMON_LDFLAGS): Add -melf64_sparc.
38512 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38513 (grubof_SOURCES): Use cache.S instead of cache.c.
38514 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38515 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38516 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38517 commented though.
38518 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38519 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38520 (linux_mod_CFLAGS): Commented out.
38521 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38522 out because module isn't built.
38523 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38524 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38525 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38526 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38527 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38528 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38529 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38530 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38531 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38532 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38533 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38534 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38535 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38536 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38537
38538 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38539
38540 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38541 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38542 longer, because HFS should not be used on PC.
38543
38544 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38545
38546 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38547 consistently within the loop.
38548
38549 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
38550
38551 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38552 directory can not be read.
38553
38554 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38555
38556 * configure.ac (AC_INIT): Increase the version number to 1.91.
38557
38558 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38559 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38560 term/i386/pc/serial.c.
38561
38562 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38563
38564 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38565 file size must be permitted.
38566
38567 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38568 between %ah and %al.
38569
38570 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38571
38572 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38573 grub_uint64_t.
38574 Call the hook with a NUL-terminated filename.
38575 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38576 grub_cpu_to_be32.
38577
38578 * kern/term.c (cursor_state): New variable.
38579 (grub_term_set_current): Reset the cursor state on a new
38580 terminal.
38581 (grub_setcursor): Rewritten to use CURSOR_STATE.
38582 (grub_getcursor): New function.
38583
38584 * include/grub/term.h (grub_getcursor): New prototype.
38585
38586 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38587 integers on ARM. Reported by Timothy Baldwin
38588 <T.E.Baldwin99@members.leeds.ac.uk>.
38589
38590 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
38591
38592 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38593 allocated.
38594 (grub_sfs_dir): Likewise.
38595
38596 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
38597
38598 Add support for the SFS filesystem.
38599
38600 * fs/sfs.c: New file.
38601
38602 * DISTLIST: Added `fs/sfs.c'.
38603
38604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38605 (grub_probefs_SOURCES): Likewise.
38606 (grub_emu_SOURCES): Likewise.
38607 (pkgdata_MODULES): Add `sfs.mod'.
38608 (sfs_mod_SOURCES): New variable.
38609 (sfs_mod_CFLAGS): Likewise.
38610 (sfs_mod_LDFLAGS): Likewise.
38611
38612 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38613 (pkgdata_MODULES): Add `sfs.mod'.
38614 (sfs_mod_SOURCES): New variable.
38615 (sfs_mod_CFLAGS): Likewise.
38616
38617 * util/grub-emu.c (main): Call `grub_sfs_init' and
38618 `grub_sfs_fini'.
38619
38620 * include/grub/fs.h (grub_sfs_init): New prototype.
38621 (grub_sfs_fini): Likewise.
38622
38623 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
38624
38625 Add support for the AFFS filesystem.
38626
38627 * fs/affs.c: New file.
38628
38629 * DISTLIST: Added `fs/affs.c'.
38630
38631 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
38632 (grub_probefs_SOURCES): Likewise.
38633 (grub_emu_SOURCES): Likewise.
38634 (pkgdata_MODULES): Add `affs.mod'.
38635 (affs_mod_SOURCES): New variable.
38636 (affs_mod_CFLAGS): Likewise.
38637 (affs_mod_LDFLAGS): Likewise.
38638
38639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
38640 (pkgdata_MODULES): Add `affs.mod'.
38641 (affs_mod_SOURCES): New variable.
38642 (affs_mod_CFLAGS): Likewise.
38643
38644 * util/grub-emu.c (main): Call `grub_affs_init' and
38645 `grub_affs_fini'.
38646
38647 * include/grub/fs.h (grub_affs_init): New prototype.
38648 (grub_affs_fini): Likewise.
38649
38650 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
38651
38652 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
38653
38654 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
38655
38656 * configure.ac: Accept `x86_64' as host_cpu. In that case add
38657 `-m32' to CFLAGS.
38658
38659 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
38660 linking.
38661
38662 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
38663 (COMMON_LDFLAGS): New variable.
38664 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
38665 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
38666 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
38667 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
38668 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
38669 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
38670 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
38671 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
38672 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
38673 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
38674 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38675 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38676 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
38677 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
38678 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
38679 variables.
38680 (normal_mod_ASFLAGS): Add `-m32'.
38681
38682 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
38683 (grub_host_size_t, grub_host_ssize_t): New types.
38684 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
38685 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
38686 `GRUB_HOST_SIZEOF_VOID_P'.
38687
38688 * include/grub/kernel.h (struct grub_module_header): Type of
38689 member offset changed to `grub_host_off_t'. Type of member size
38690 changed to `grub_host_size_t'.
38691 (struct grub_module_info): Type of member offset changed to
38692 `grub_host_off_t'. Type of member size changed to
38693 `grub_host_size_t'.
38694
38695 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
38696
38697 Make GRUB's kernel compliant to Multiboot Specification.
38698
38699 * kern/i386/pc/startup.S (multiboot_header): New label.
38700 (multiboot_entry): Likewise.
38701 (multiboot_trampoline): Likewise.
38702
38703 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38704 Increased to 0x4A0.
38705
38706 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
38707 put parentheses after a question mark.
38708 [!GRUB_UTIL] (my_mod): New variable.
38709
38710 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
38711
38712 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
38713
38714 Adds support for the XFS filesystem. Btrees are not supported
38715 yet.
38716
38717 * fs/xfs.c: New file.
38718
38719 * DISTLIST: Added `fs/xfs.c'.
38720
38721 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
38722 (grub_probefs_SOURCES): Likewise.
38723 (grub_emu_SOURCES): Likewise.
38724 (pkgdata_MODULES): Add `xfs.mod'.
38725 (xfs_mod_SOURCES): New variable.
38726 (xfs_mod_CFLAGS): Likewise.
38727
38728 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
38729 (pkgdata_MODULES): Add `xfs.mod'.
38730 (xfs_mod_SOURCES): New variable.
38731 (xfs_mod_CFLAGS): Likewise.
38732
38733 * util/grub-emu.c (main): Call `grub_xfs_init' and
38734 `grub_xfs_fini'.
38735
38736 * include/grub/fs.h (grub_xfs_init): New prototype.
38737 (grub_xfs_fini): Likewise.
38738
38739
38740 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
38741
38742 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
38743 color modes, allow greater than 16 colors to be configured as
38744 a default palette.
38745
38746 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38747
38748 * normal/completion.c (complete_arguments): Add the qualifier
38749 const into OPTIONS.
38750
38751 From Omniflux <omniflux+lists@omniflux.com>:
38752 * include/grub/terminfo.h: New file.
38753 * include/grub/tparm.h: Likewise.
38754 * include/grub/i386/pc/serial.h: Likewise.
38755 * term/terminfo.c: Likewise.
38756 * term/tparm.c: Likewise.
38757 * term/i386/pc/serial.c: Likewise.
38758 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
38759 serial.mod.
38760 (terminfo_mod_SOURCES): New variable.
38761 (terminfo_mod_CFLAGS): Likewise.
38762 (serial_mod_SOURCES): Likewise.
38763 (serial_mod_CFLAGS): Likewise.
38764
38765 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
38766
38767 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
38768 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
38769 and kern/powerpc/ieee1275/cmain.c, respectively.
38770
38771 * boot/powerpc/ieee1275/crt0.S: Moved to ...
38772 * kern/powerpc/ieee1275/crt0.S: ... here.
38773
38774 * boot/powerpc/ieee1275/cmain.c: Moved to ...
38775 * kern/powerpc/ieee1275/cmain.c: ... here.
38776
38777 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
38778 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
38779 instead of boot/powerpc/ieee1275/crt0.S and
38780 boot/powerpc/ieee1275/cmain.c, respectively.
38781
38782 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
38783 sectors. It was not used anyway.
38784
38785 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38786
38787 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
38788 `unused parameter' warning.
38789
38790 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38791
38792 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
38793 function.
38794 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
38795 getcharwidth.
38796
38797 2005-08-28 Marco Gerards <metgerards@student.han.nl>
38798
38799 * include/grub/normal.h (enum grub_completion_type): Added
38800 `GRUB_COMPLETION_TYPE_ARGUMENT'.
38801
38802 * normal/cmdline.c (print_completion): Handle
38803 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
38804 * normal/menu_entry.c (store_completion): Likewise.
38805
38806 * normal/completion.c (complete_arguments): New function.
38807 (grub_normal_do_completion): Call `complete_arguments' when the
38808 current words start with a dash.
38809
38810 2005-08-27 Marco Gerards <metgerards@student.han.nl>
38811
38812 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
38813 `gzio.mod' instead of `io.mod').
38814
38815 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
38816
38817 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
38818 (DISTDIRS): Added io and video.
38819 Rewrite the search routine to make an output consistently.
38820
38821 * DISTLIST: Added conf/sparc64-ieee1275.mk,
38822 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
38823 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
38824 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
38825 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
38826 util/powerpc/ieee1275/misc.c.
38827
38828 * include/grub/gzio.h: New file.
38829 * io/gzio.c: Likewise.
38830
38831 * kern/file.c (grub_file_close): Call grub_device_close only if
38832 FILE->DEVICE is not NULL.
38833
38834 * include/grub/mm.h [!NULL] (NULL): New macro.
38835
38836 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
38837
38838 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
38839 (pkgdata_MODULES): Added gzio.mod.
38840 (gzio_mod_SOURCES): New variable.
38841 (gzio_mod_CFLAGS): Likewise.
38842
38843 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
38844 (pkgdata_MODULES): Added gzio.mod.
38845 (gzio_mod_SOURCES): New variable.
38846 (gzio_mod_CFLAGS): Likewise.
38847
38848 * commands/cat.c: Include grub/gzio.h.
38849 (grub_cmd_cat): Use grub_gzfile_open instead of
38850 grub_file_open.
38851
38852 * commands/cmp.c: Include grub/gzio.h.
38853 (grub_cmd_cmp): Use grub_gzfile_open instead of
38854 grub_file_open.
38855
38856 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
38857 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
38858 grub_file_open.
38859 (grub_rescue_cmd_module): Likewise.
38860
38861 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38862
38863 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
38864 kern/sparc64/ieee1275/init.c because it contains _start.
38865 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
38866
38867 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38868
38869 * configure.ac: Add support for sparc64 host with ieee1275
38870 firmware.
38871 * configure: Generated from configure.ac.
38872 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
38873 instead of int.
38874 (grub_ofdisk_read): Likewise.
38875 (grub_ofdisk_open): Use %p to print pointer values, and cast the
38876 pointers as (void *) to remove a warning.
38877 (grub_ofdisk_close): Likewise.
38878 (grub_ofdisk_read): Likewise.
38879 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
38880 returns, so make it return void to remove a warning.
38881 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
38882 Corresponding prototype change.
38883 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
38884 values, and cast the pointers as (void *) to remove a warning.
38885 (grub_mm_dump): Likewise.
38886 * conf/sparc64-ieee1275.mk: New file.
38887 * conf/sparc64-ieee1275.rmk: Likewise.
38888 * include/grub/sparc64/setjmp.h: Likewise.
38889 * include/grub/sparc64/types.h: Likewise.
38890 * include/grub/sparc64/ieee1275/console.h: Likewise.
38891 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38892 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38893 * include/grub/sparc64/ieee1275/time.h: Likewise.
38894 * kern/sparc64/cache.c: Likewise.
38895 * kern/sparc64/dl.c: Likewise.
38896 * kern/sparc64/ieee1275/init.c: Likewise.
38897 * kern/sparc64/ieee1275/openfw.c: Likewise.
38898
38899 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38900
38901 * util/console.c (grub_ncurses_putchar): If C is greater than
38902 0x7f, set C to a question mark.
38903 (grub_ncurses_getcharwidth): New function.
38904 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
38905 getcharwidth.
38906
38907 * normal/menu.c (print_entry): Made aware of Unicode. First,
38908 convert TITLE to UCS-4, and predict the cursor position by
38909 grub_getcharwidth.
38910
38911 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
38912 const to SRC.
38913 * kern/misc.c (grub_utf16_to_utf8): Likewise.
38914
38915 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38916
38917 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
38918 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38919 grub_strcat.
38920
38921 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
38922 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38923 grub_strcpy and grub_strlen. Take it into account that a space
38924 character is inserted as a delimiter.
38925
38926 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38927
38928 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
38929 invalid magic in the error.
38930
38931 * commands/search.c: New file.
38932
38933 * util/grub-emu.c (main): Call grub_search_init and
38934 grub_search_fini.
38935
38936 * kern/rescue.c (grub_rescue_print_disks): Removed.
38937 (grub_rescue_print_devices): New function.
38938 (grub_rescue_cmd_ls): Use grub_device_iterate with
38939 grub_rescue_print_devices instead of grub_disk_dev_iterate with
38940 grub_rescue_print_disks.
38941
38942 * kern/partition.c (grub_partition_iterate): Return the result of
38943 PARTMAP->ITERATE instead of GRUB_ERRNO.
38944
38945 * kern/device.c: Include grub/partition.h.
38946 (grub_device_iterate): New function.
38947
38948 * include/grub/partition.h (grub_partition_iterate): Return int
38949 instead of grub_err_t.
38950
38951 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
38952 prototype.
38953 [GRUB_UTIL] (grub_search_fini): Likewise.
38954
38955 * include/grub/device.h (grub_device_iterate): New prototype.
38956
38957 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38958 commands/search.c.
38959 (pkgdata_MODULES): Added search.mod.
38960 (search_mod_SOURCES): New variable.
38961 (search_mod_CFLAGS): Likewise.
38962
38963 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38964 (pkgdata_MODULES): Added search.mod.
38965 (search_mod_SOURCES): New variable.
38966 (search_mod_CFLAGS): Likewise.
38967
38968 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38969 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38970 All callers changed.
38971
38972 * DISTLIST: Added commands/search.c.
38973
38974 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38975
38976 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38977 conversion.
38978 (grub_getcharwidth): New function.
38979
38980 * kern/misc.c (grub_utf8_to_ucs4): New function.
38981
38982 * include/grub/term.h (struct grub_term): Added a new member
38983 "getcharwidth".
38984 (grub_getcharwidth): New prototype.
38985
38986 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38987
38988 * term/i386/pc/console.c (map_char): New function. Segregated from
38989 grub_console_putchar.
38990 (grub_console_putchar): Use map_char.
38991 (grub_console_getcharwidth): New function.
38992 (grub_console_term): Specified grub_console_getcharwidth as
38993 getcharwidth.
38994
38995 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38996 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38997
38998 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38999 GRUB_ERRNO.
39000 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
39001 on grub_strtoul completely.
39002 (write_char): Declare local variables in the beginning of the
39003 function.
39004 (grub_vesafb_getcharwidth): New function.
39005 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
39006 getcharwidth.
39007
39008 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
39009
39010 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
39011 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
39012 commands/i386/pc/vbetest.c.
39013
39014 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
39015 call grub_vbe_get_controller_info again, because the returned
39016 information is volatile.
39017 (grub_vbe_set_video_mode): Mostly rewritten.
39018 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
39019 grub_vbe_status_t correctly.
39020 (grub_vbe_get_video_mode_info): Likewise.
39021 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
39022 several if statements.
39023
39024 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39025 * commands/i386/pc/vbeinfo.c: ... this.
39026
39027 * commands/i386/pc/vbe_test.c: Renamed to ...
39028 * commands/i386/pc/vbetest.c: ... this.
39029
39030 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39031 ...
39032 (grub_cmd_vbeinfo): ... this. Save video modes before
39033 iterating. Skip a video mode, if it is not available, not enough
39034 information is given or it is monochrome. Show the memory
39035 model. Leave the interpretation of MODEVAR to grub_strtoul
39036 completely.
39037 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39038 (GRUB_MOD_FINI): Likewise.
39039
39040 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39041 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39042 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39043 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39044 grub_strtoul completely.
39045 (real2pm): Removed.
39046 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39047 (GRUB_MOD_FINI): Likewise.
39048
39049 * normal/misc.c: Include grub/mm.h.
39050
39051 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39052 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39053 (vbe_list_modes_mod_SOURCES): Removed.
39054 (vbe_list_modes_mod_CFLAGS): Likewise.
39055 (vbe_test_mod_SOURCES): Likewise.
39056 (vbe_test_mod_CFLAGS): Likewise.
39057 (vbeinfo_mod_SOURCES): New variable.
39058 (vbeinfo_mod_CFLAGS): Likewise.
39059 (vbetest_mod_SOURCES): Likewise.
39060 (vbetest_mod_CFLAGS): Likewise.
39061
39062 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39063
39064 * normal/misc.c: New file.
39065
39066 * DISTLIST: Added normal/misc.c.
39067
39068 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39069 DISK to HOOK. Call HOOK with DISK.
39070 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39071 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39072 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39073
39074 * normal/menu_entry.c (struct screen): Added a new member
39075 "completion_shown".
39076 (completion_buffer): New global variable.
39077 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39078 (store_completion): New function.
39079 (complete): Likewise.
39080 (clear_completions): Likewise.
39081 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39082 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39083 a tab, call complete.
39084
39085 * normal/completion.c (disk_dev): Removed.
39086 (print_simple_completion): Likewise.
39087 (print_partition_completion): Likewise.
39088 (print_func): New global variable.
39089 (add_completion): Do not take the arguments WHAT or PRINT any
39090 longer. Added a new argument TYPE. Instead of printing directly,
39091 call PRINT_FUNC if not NULL.
39092 All callers changed.
39093 (complete_device): Use a local variable DEV instead of
39094 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39095 (grub_normal_do_completion): Take a new argument HOOK. Do not
39096 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39097 empty string, return NULL instead.
39098 All callers changed.
39099
39100 * normal/cmdline.c (print_completion): New function.
39101
39102 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39103 to HOOK.
39104 All callers changed.
39105
39106 * kern/disk.c (grub_print_partinfo): Removed.
39107
39108 * include/grub/partition.h (struct grub_partition_map): Add a new
39109 argument DISK into HOOK of ITERATE.
39110 (grub_partition_iterate): Add a new argument DISK to HOOK.
39111
39112 * include/grub/normal.h (enum grub_completion_type): New enum.
39113 (grub_completion_type_t): New type.
39114 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39115 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39116 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39117 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39118 (grub_normal_do_completion): Added a new argument HOOK.
39119 (grub_normal_print_device_info): New prototype.
39120
39121 * include/grub/disk.h (grub_print_partinfo): Removed.
39122
39123 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39124 (normal_mod_SOURCES): Likewise.
39125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39126 (normal_mod_SOURCES): Likewise.
39127
39128 * commands/ls.c (grub_ls_list_disks): Use
39129 grub_normal_print_device_info instead of grub_print_partinfo. Free
39130 PNAME.
39131 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39132 duplicating the code.
39133
39134 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39135
39136 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
39137 follow GCS more precisely.
39138 * commands/i386/pc/vbe_test.c: Likewise.
39139 * include/grub/i386/pc/vbe.h: Likewise.
39140 * term/i386/pc/vesafb.c: Likewise.
39141 * video/i386/pc/vbe.c: Likewise.
39142
39143 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39144
39145 * DISTLIST: Added term/i386/pc/vesafb.c
39146 DISTLIST: Added video/i386/pc/vbe.c
39147 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39148 DISTLIST: Added commands/i386/pc/vbe_test.c.
39149 * commands/i386/pc/vbe_list_modes.c: New file.
39150 * commands/i386/pc/vbe_test.c: Likewise.
39151 * term/i386/pc/vesafb.c: Likewise.
39152 * video/i386/pc/vbe.c: Likewise.
39153 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39154 (grub_vbe_probe) Added prototype.
39155 (grub_vbe_set_video_mode) Likewise.
39156 (grub_vbe_get_video_mode) Likewise.
39157 (grub_vbe_get_video_mode_info) Likewise.
39158 (grub_vbe_set_pixel_rgb) Likewise.
39159 (grub_vbe_set_pixel_index) Likewise.
39160 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39161 (pkgdata_MODULES): Added vesafb.mod.
39162 (pkgdata_MODULES): Added vbe_list_modes.mod.
39163 (pkgdata_MODULES): Added vbe_test.mod.
39164 (vbe_mod_SOURCES): Added.
39165 (vbe_mod_CFLAGS): Likewise.
39166 (vesafb_mod_SOURCES): Likewise.
39167 (vesafb_mod_CFLAGS): Likewise.
39168 (vbe_list_modes_mod_SOURCES): Likewise.
39169 (vbe_list_modes_mod_CFLAGS): Likewise.
39170 (vbe_test_mod_SOURCES): Likewise.
39171 (vbe_test_mod_CFLAGS): Likewise.
39172
39173 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39174
39175 * normal/command.c (grub_command_execute): If INTERACTIVE is
39176 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39177 CMDLINE. Disable the pager if INTERACTIVE is true.
39178 All callers are changed.
39179
39180 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39181 before reading a config file.
39182 * normal/main.c (read_config_file): Even if a command is not
39183 found, register it if it is within an entry.
39184
39185 * util/grub-emu.c: Include sys/types.h and unistd.h.
39186 (options): Added --hold.
39187 (struct arguments): Added a new member "hold".
39188 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39189 missing.
39190 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39191 cleared by a debugger, if it is not zero.
39192
39193 * include/grub/normal.h (grub_command_execute): Add an argument
39194 INTERACTIVE.
39195
39196 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39197
39198 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39199
39200 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39201
39202 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39203 program with another one, because the old one didn't detect a bug
39204 in gcc-3.4. Always use regparm 2, because the new test is still
39205 not enough for gcc-4.0. Someone must investigate a simple test
39206 case which detects a bug in gcc-4.0.
39207
39208 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39209
39210 * DISTLIST: Added normal/completion.c.
39211
39212 * normal/completion.c: New file.
39213
39214 * term/i386/pc/console.c (grub_console_getwh): New function.
39215 (grub_console_term): Assign grub_console_getwh to getwh.
39216
39217 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39218 function is defined in normal/completion.c as
39219 grub_normal_do_completion.
39220 (grub_cmdline_get): Use grub_normal_do_completion instead of
39221 grub_tab_complete.
39222
39223 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39224 returns non-zero, otherwise return 0.
39225 (grub_partition_iterate): First, probe the partition map. Then,
39226 call ITERATE only for this partition map.
39227
39228 * kern/misc.c (grub_strncmp): Rewritten.
39229
39230 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39231 returns non-zero. Otherwise return 0.
39232
39233 * include/grub/partition.h (grub_partition_map_iterate): Return
39234 int instead of void.
39235
39236 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39237
39238 * include/grub/misc.h (grub_strncmp): Change the type of N to
39239 grub_size_t.
39240
39241 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39242 of void.
39243
39244 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
39245 unsigned explicitly before comparing it with I.
39246
39247 * kern/main.c (grub_env_write_root): Add the attribute unused into
39248 VAR.
39249
39250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39251 normal/completion.c.
39252 (normal_mod_SOURCES): Likewise.
39253 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39254 (normal_mod_SOURCES): Likewise.
39255
39256 * normal/command.c (grub_iterate_commands): If ITERATE returns
39257 non-zero, return one immediately.
39258
39259 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39260
39261 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39262 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39263 descriptions.
39264 (grub_vbe_get_controller_info): New function.
39265 (grub_vbe_get_mode_info): Likewise.
39266 (grub_vbe_set_mode): Likewise.
39267 (grub_vbe_get_mode): Likewise.
39268 (grub_vbe_set_memory_window): Likewise.
39269 (grub_vbe_get_memory_window): Likewise.
39270 (grub_vbe_set_scanline_length): Likewise.
39271 (grub_vbe_get_scanline_length): Likewise.
39272 (grub_vbe_set_display_start): Likewise.
39273 (grub_vbe_get_display_start): Likewise.
39274 (grub_vbe_set_palette_data): Likewise.
39275 * include/grub/i386/pc/vbe.h: New file.
39276
39277 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39278
39279 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39280 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39281 * DISTLIST: Likewise.
39282 * kern/ieee1275/of.c: Moved to ...
39283 * kern/ieee1275/ieee1275.c: ... here.
39284
39285 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39286
39287 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39288 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39289 Pass 0 as `end' parameter to grub_strtoul().
39290
39291 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39292
39293 * include/grub/powerpc/ieee1275/console.h: Do not include
39294 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39295 ifdef.
39296 (grub_console_cur_color): Remove i386-specific prototype.
39297 (grub_console_real_putchar): Likewise.
39298 (grub_console_checkkey): Likewise.
39299 (grub_console_getkey): Likewise.
39300 (grub_console_getxy): Likewise.
39301 (grub_console_gotoxy): Likewise.
39302 (grub_console_cls): Likewise.
39303 (grub_console_setcursor): Likewise.
39304 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39305 Include <grub/machine/console.h>.
39306 * term/ieee1275/ofconsole.c: Likewise.
39307
39308 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39309
39310 * Makefile.in (LIBLZO): New variable.
39311
39312 * configure.ac: Check for LZO version 2.
39313
39314 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39315 lzo/lzo1x.h instead of lzo1x.h.
39316
39317 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39318 of -llzo.
39319
39320 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39321 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39322
39323 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39324 copying the data from PARTITION to P.
39325
39326 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39327
39328 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39329 negative, unload the module.
39330
39331 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39332 map is "pc_partition_map" but not "pc".
39333 (usage): Fix the description. The options are --boot-image and
39334 --core-image but not --boot-file or --core-file.
39335 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39336 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39337 DEFAULT_DIRECTORY.
39338
39339 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39340 --core-file. Specify INSTALL_DEVICE as an argument.
39341
39342 * util/console.c: Include config.h.
39343 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39344 [HAVE_NCURSES_H]: Include ncurses.h.
39345 [HAVE_CURSES_H]: Include curses.h.
39346 [!A_NORMAL] (A_NORMAL): Defined as zero.
39347 [!A_STANDOUT] (A_STANDOUT): Likewise.
39348
39349 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39350 -lncurses.
39351 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39352
39353 * configure.ac: Check for curses libraries and headers.
39354
39355 * Makefile.in (LIBCURSES): New variable.
39356
39357 * genmk.rb (Script::rule): Set the executable bits.
39358
39359 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39360 name of the PC partition map is "pc_partition_map" but not "pc".
39361
39362 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39363
39364 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39365 (modules): Likewise.
39366 (usage): Added descriptions for --modules and --grub-probefs.
39367 Handle --modules and --grub-probefs. Save the arguments in MODULES
39368 and GRUB_PROBEFS, respectively.
39369 Auto-detect a filesystem module against GRUBDIR. If the result is
39370 empty and modules are not specified explicitly, abort the
39371 installation. Add the result to MODULES.
39372
39373 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39374 disk/powerpc/ieee1275/ofdisk.c,
39375 include/grub/powerpc/ieee1275/init.h and
39376 term/powerpc/ieee1275/ofconsole.c.
39377 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39378 term/ieee1275/ofconsole.c.
39379
39380 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39381
39382 * COPYING: Upgraded to the latest version. Only the address of the
39383 FSF office has changed.
39384
39385 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39386
39387 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39388 kern/ieee1275.c with kern/ieee1275/of.c.
39389
39390 * kern/ieee1275.c: Moved to ...
39391 * kern/ieee1275/of.c: ... here.
39392
39393 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39394
39395 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
39396 readability.
39397
39398 * config.guess: Updated to the latest version from gnulib.
39399 * config.sub: Likewise.
39400 * install.sh: Likewise.
39401 * mkinstalldirs: Likewise.
39402
39403 * include/grub/console.h: Removed. This file is arch-specific. Do
39404 not put this in include/grub.
39405
39406 * include/grub/i386/pc/console.h: Resurrected.
39407
39408 * util/console.c: Include grub/machine/console.h instead of
39409 grub/console.h.
39410 * util/grub-emu.c: Likewise.
39411
39412 2005-08-04 Marco Gerards <metgerards@student.han.nl>
39413
39414 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39415 hardcoded value.
39416
39417 From Vincent Pelletier <subdino2004@yahoo.fr>
39418 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39419 Redefined to use grub_getwh.
39420 (grub_term): New member named getwh.
39421 (grub_getwh): New prototype.
39422 * kern/term.c (grub_getwh): New function.
39423 * term/i386/pc/console.c (grub_console_getwh): New function.
39424 (grub_console_term): New member `getwh'.
39425 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39426 (grub_vga_term): New member `getwh'.
39427 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
39428 grub_ssize_t.
39429 (grub_ofconsole_getw): New function.
39430 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39431 (grub_ofconsole_term): New field named getwh and new initial
39432 value.
39433
39434 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39435
39436 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39437 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39438 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39439 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39440 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39441 of <grub/machine/ieee1275.h>.
39442 * commands/ieee1275/reboot.c: Likewise.
39443 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39444 * kern/ieee1275.c: ... to here. All users updated. Change all
39445 parameter structs to use new type `grub_ieee1275_cell_t'.
39446 * term/powerpc/ieee1275/ofconsole.c: Move ...
39447 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39448 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39449 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39450 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39451 to return int.
39452 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39453 Remove unused prototypes. All users updated.
39454 * include/grub/powerpc/ieee1275/console.h: Removed.
39455 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39456 `grub_ieee1275_cell_t'.
39457 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39458 Cast comparisons with -1 to the correct type.
39459 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39460 type to match `grub_ieee1275_entry_fn'.
39461
39462 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39463
39464 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39465
39466 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39467 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39468 partmap/sun.c.
39469 (grub_probefs_SOURCES): New variable.
39470
39471 * util/i386/pc/grub-probefs.c: New file.
39472
39473 * util/i386/pc/grub-setup.c (main): Call
39474 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39475 grub_hfs_init and grub_jfs_init to initialize the system. Call
39476 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39477 grub_pc_partition_map_fini to finish the system.
39478
39479 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39480
39481 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39482 function.
39483 (grub_multiboot_load_elf32): Likewise.
39484 (grub_multiboot_is_elf64): Likewise.
39485 (grub_multiboot_load_elf64): Likewise.
39486 (grub_multiboot_load_elf): Likewise.
39487 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39488 an ELF32 or ELF64 file.
39489 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39490
39491 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39492 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39493 NULL before calling FS->LABEL.
39494 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39495 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39496 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39497 before calling FS->LABEL.
39498
39499 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39500
39501 * util/i386/pc/grub-install.in (datadir): New variable.
39502 (libdir): Removed.
39503 (pkgdatadir): New variable.
39504 (pkglibdir): Removed.
39505
39506 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39507
39508 * DISTLIST: Added util/i386/pc/grub-install.in.
39509
39510 * util/i386/pc/grub-install.in: New file.
39511
39512 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39513 (grub_install_SOURCES): Likewise.
39514
39515 * genmk.rb: Added support for scripts.
39516 (Script): New class.
39517 (scripts): New variable.
39518
39519 * Makefile.in (install-local): Install sbin_SCRIPTS by
39520 INSTALL_SCRIPT.
39521 (uninstall): Remove sbin_SCRIPTS.
39522
39523 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39524 device, try to get a GRUB device by
39525 grub_util_biosdisk_get_grub_dev.
39526 Free DEST_DEV.
39527
39528 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39529 description for --device-map.
39530
39531 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39532
39533 Change the semantics of variable hooks. They now return strings
39534 instead of error values.
39535
39536 * util/i386/pc/grub-setup.c: Include grub/env.h.
39537 (setup): Use grub_device_set_root instead of grub_env_set.
39538
39539 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39540 grub_env_get instead of grub_device_set_root and
39541 grub_device_get_root, respectively.
39542
39543 * kern/main.c (grub_env_write_root): New function.
39544 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39545 grub_env_set instead of grub_device_set_root.
39546
39547 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39548 many variables.
39549 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39550 rather than calling ENV->WRITE_HOOK afterwards.
39551 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39552 passing a pointer of a pointer.
39553 (grub_register_variable_hook): Change the types of "read_hook" and
39554 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39555 respectively.
39556 Allocate the default empty string on the heap, because this string
39557 may be freed later.
39558
39559 * kern/device.c: Include grub/env.h.
39560 (grub_device_set_root): Removed.
39561 (grub_device_get_root): Likewise.
39562 (grub_device_open): Use grub_env_get instead of
39563 grub_device_get_root.
39564
39565 * include/grub/env.h (grub_env_read_hook_t): New type.
39566 (grub_env_write_hook_t): Likewise.
39567 (grub_env_var): Change the types of "read_hook" and "write_hook"
39568 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39569 (grub_register_variable_hook): Likewise.
39570
39571 * include/grub/device.h (grub_device_set_root): Removed.
39572 (grub_device_set_root): Likewise.
39573
39574 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39575 make sure that DIRNAME terminates with '/', so that
39576 grub_fat_find_dir will fail if PATH is not a directory.
39577
39578 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39579 from DIRNAME.
39580 Use the qualifier auto for print_files and print_files_long.
39581 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39582 as a regular file.
39583 Put a newline only if there is no error.
39584 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39585 used.
39586
39587 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39588
39589 * kern/partition.c (grub_partition_probe): Initialize PART to
39590 NULL. Otherwise, when no partition map is registered, this returns
39591 a garbage.
39592
39593 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39594
39595 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39596 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39597 valid.
39598
39599 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39600
39601 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39602 information on each device, if it does not have partitions. Print
39603 "Device" instead of "Disk", because this function is not specific
39604 to disk devices.
39605
39606 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39607 static to ensure that it is put on the memory rather than a
39608 register.
39609
39610 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39611
39612 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39613 (grub_cat_init): Likewise.
39614 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39615 (options): Likewise.
39616 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39617 (grub_configfile_init): Likewise.
39618 * font/manager.c (GRUB_MOD_INIT): Likewise.
39619 * commands/help.c (GRUB_MOD_INIT): Likewise.
39620 (grub_help_init): Likewise.
39621 * normal/command.c (grub_command_init): Likewise.
39622 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
39623 * disk/loopback.c (grub_loop_init): Likewise.
39624 (GRUB_MOD_INIT): Likewise.
39625 * commands/ls.c (grub_ls_init): Likewise.
39626 (GRUB_MOD_INIT): Likewise.
39627 (options): Likewise.
39628 * commands/boot.c (grub_boot_init): Likewise.
39629 (GRUB_MOD_INIT): Likewise.
39630 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
39631 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
39632 (GRUB_MOD_INIT): Likewise.
39633 * commands/cmp.c (grub_cmp_init): Likewise.
39634 (GRUB_MOD_INIT): Likewise.
39635
39636 * normal/arg.c: Use <> instead of "" to include header files.
39637 (SHORT_ARG_HELP): New macro.
39638 (SHORT_ARG_USAGE): Likewise.
39639 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
39640 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
39641 descriptions.
39642 (find_short): Check if C is 'h' or 'u' explicitly.
39643 (grub_arg_show_help): Use space characters instead of tabs. Treat
39644 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
39645 are shown with --help and --usage only if they are not used for
39646 the command itself.
39647 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
39648 'h' and 'u'.
39649
39650 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
39651 const into "longarg". Change the type of "shortarg" to int.
39652
39653 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39654
39655 * boot/i386/pc/boot.S (boot_drive_check): New label.
39656
39657 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
39658 macro.
39659
39660 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
39661 which do not pass a boot drive correctly. Copied from GRUB Legacy.
39662
39663 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39664
39665 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
39666 When turning off Gate A20, skip the check and return immediately,
39667 because this is not fatal usually.
39668
39669 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39670
39671 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
39672 be 0x7C00 instead of 0x8000.
39673
39674 * boot/i386/pc/pxeboot.S: Rewritten.
39675
39676 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
39677 EXT_C.
39678 (gate_a20_check_state): Read a byte from 0x108000. Invert the
39679 result.
39680
39681 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
39682
39683 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
39684 robustness. This routine now supports a BIOS call and System
39685 Control Port A to modify the gate A20.
39686
39687 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39688 Increased to 0x440.
39689
39690 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
39691
39692 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
39693 device path and resulting ihandle.
39694 (grub_ofdisk_close): dprintf the ihandle being closed.
39695 (grub_ofdisk_read): dprintf function parameters.
39696 * kern/mm.c (grub_mm_init_region): Likewise.
39697 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
39698 (grub_linux_boot): dprintf the Linux entry point, initrd address and
39699 size, and boot arguments.
39700 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
39701 before loading into memory.
39702 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
39703 before loading into memory.
39704
39705 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
39706
39707 * kern/mm.c: Added much documentation.
39708 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
39709 8, set to 5 instead of 8.
39710
39711 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
39712
39713 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
39714
39715 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
39716 (grub_mkdevicemap_SOURCES): New variable.
39717
39718 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
39719 lib/device.c of GRUB Legacy.
39720
39721 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
39722
39723 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
39724 instead of PATH is NULL.
39725
39726 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
39727
39728 * commands/cmp.c (BUFFER_SIZE): New macro.
39729 (grub_cmd_cmp): Close the right file at the right time. Compare
39730 only data just read. Don't report files of different size as
39731 identical. Dynamically allocate buffers. Move variable
39732 declarations at the beginning of function.
39733
39734 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
39735
39736 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
39737 reverse.
39738
39739 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
39740
39741 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
39742 when backspace is pressed at beginning of line.
39743
39744 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
39745
39746 * DISTLIST: Added genfslist.sh.
39747
39748 * normal/main.c (fs_module_list): New variable.
39749 (autoload_fs_module): New function.
39750 (read_fs_list): Likewise.
39751 (grub_normal_execute): Call read_fs_list.
39752
39753 * kern/fs.c (grub_fs_autoload_hook): New variable.
39754 (grub_fs_probe): Added support for auto-loading.
39755
39756 * include/grub/normal.h (struct grub_fs_module_list): New struct.
39757 (grub_fs_module_list_t): New type.
39758
39759 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
39760 (grub_fs_autoload_hook): New prototype.
39761
39762 * genfslist.sh: New file.
39763
39764 * genmk.rb: Added a rule to generate a filesystem list.
39765
39766 2005-06-30 Marco Gerards <metgerards@student.han.nl>
39767
39768 * configure.ac: Fix the test for cross-compiling.
39769
39770 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
39771 define GRUB_UTIL anymore.
39772
39773 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
39774 so this function works on other systems than just big endian.
39775 (load_modules): Likewise.
39776 (add_segments): Likewise.
39777
39778 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
39779
39780 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
39781 contains `l' modifier, get a long from va_arg().
39782
39783 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
39784
39785 * kern/mm.c (grub_free): If the next free block which is being
39786 merged is the first free block, set the first block to the block
39787 being freed.
39788 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
39789
39790 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39791
39792 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
39793 `grub_ieee1275_chosen'.
39794
39795 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39796
39797 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
39798 (grub_ieee1275_chosen): New variable.
39799 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
39800 `chosen'.
39801 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
39802 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39803 Rename first argument to `phandle' for consistency.
39804 (grub_ieee1275_get_property_length): Likewise.
39805 (grub_ieee1275_next_property): Likewise. Change type of first argument
39806 to grub_ieee1275_phandle_t.
39807 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
39808 Move export next to declaration.
39809 (grub_ieee1275_chosen): New variable.
39810 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
39811 Correct cosmetic typo.
39812 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
39813 `grub_ieee1275_chosen'.
39814 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
39815 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
39816 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
39817 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
39818 `grub_ieee1275_chosen'.
39819
39820 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
39821
39822 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
39823 /chosen/bootargs.
39824 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
39825 /chosen/bootargs as "variable=value" pairs.
39826
39827 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
39828
39829 * include/grub/misc.h (grub_dprintf): New macro.
39830 (grub_real_dprintf): New prototype.
39831 (grub_strword): Likewise.
39832 (grub_iswordseparator): Likewise.
39833 * kern/misc.c (grub_real_dprintf): New function.
39834 (grub_strword): Likewise.
39835 (grub_iswordseparator): Likewise.
39836
39837 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
39838
39839 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
39840 (roundup): Remove macro.
39841 (grub_ieee1275_flags): Make static.
39842 (grub_ieee1275_realmode): Remove.
39843 (grub_ieee1275_test_flag): New function.
39844 (grub_ieee1275_set_flag): Likewise.
39845 (find_options): Rename to `grub_ieee1275_find_options'; update
39846 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
39847 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
39848 (cmain): New prototype.
39849 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
39850 `grub_ieee1275_flags' directly.
39851 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
39852 machine/biosdisk.h.
39853 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
39854 Don't include grub/machine/init.h.
39855 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
39856 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39857 Remove prototype.
39858 (grub_ieee1275_realmode): Likewise.
39859 (grub_ieee1275_flag): New enum.
39860 (grub_ieee1275_test_flag): New prototype.
39861 (grub_ieee1275_set_flag): New prototype.
39862 * include/grub/powerpc/ieee1275/init.h: Remove file.
39863 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
39864 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
39865 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
39866 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
39867 comment.
39868 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
39869 `grub_ieee1275_test_flag'.
39870 (grub_ieee1275_encode_devname): Likewise.
39871
39872 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
39873
39874 * include/grub/powerpc/ieee1275/ieee1275.h
39875 (grub_ieee1275_encode_devname): New prototype.
39876 (grub_ieee1275_get_filename): Likewise.
39877 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
39878 function.
39879 (grub_set_prefix): Likewise.
39880 (grub_machine_init): Call grub_set_prefix.
39881 * kern/powerpc/ieee1275/openfw.c: Fix typos.
39882 (grub_parse_type): New enum.
39883 (grub_ieee1275_get_devargs): New function.
39884 (grub_ieee1275_get_devname): Likewise.
39885 (grub_ieee1275_parse_args): Likewise.
39886 (grub_ieee1275_get_filename): Likewise.
39887 (grub_ieee1275_encode_devname): Likewise.
39888
39889 2005-03-30 Marco Gerards <metgerards@student.han.nl>
39890
39891 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
39892 `grub_loader_unset'.
39893
39894 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
39895
39896 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
39897 instead of grub_ieee1275_interpret.
39898 (grub_halt_init): New function.
39899 (grub_halt_fini): Likewise.
39900 (GRUB_MOD_INIT): Correct message grammar.
39901 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
39902 instead of grub_ieee1275_interpret.
39903 (grub_reboot_init): New function.
39904 (grub_reboot_fini): Likewise.
39905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
39906 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
39907 util/i386/pc/misc.c with commands/ieee1275/halt.c,
39908 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
39909 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
39910 function.
39911 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
39912 Add prototype.
39913 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
39914 prototype.
39915 (grub_halt): Likewise.
39916 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
39917 (cmain): Remove __attribute__((unused)).
39918 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
39919 (grub_heap_len): Likewise.
39920 (grub_machine_fini): New function.
39921 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
39922 (grub_halt): Likewise.
39923 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
39924 function.
39925 * util/powerpc/ieee1275/misc.c: New file.
39926
39927 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39928
39929 * DISTLIST: New file.
39930 * gendistlist.sh: Likewise.
39931
39932 * Makefile.in (COMMON_DISTFILES): Removed.
39933 (BOOT_DISTFILES): Likewise.
39934 (CONF_DISTFILES): Likewise.
39935 (DISK_DISTFILES): Likewise.
39936 (FS_DISTFILES): Likewise.
39937 (INCLUDE_DISTFILES): Likewise.
39938 (KERN_DISTFILES): Likewise.
39939 (LOADER_DISTFILES): Likewise.
39940 (TERM_DISTFILES): Likewise.
39941 (UTIL_DISTFILES): Likewise.
39942 (DISTFILES): Likewise.
39943 (uninstall): Uninstall files in $(pkgdata_DATA).
39944 (DISTLIST): New target.
39945 (distdir): Use the contents of the file DISTLIST to get a list of
39946 distributed files.
39947
39948 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39949
39950 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
39951 descriptor. This is ported from GRUB Legacy.
39952
39953 * gencmdlist.sh: Added an extra semicolon to make it work with
39954 old sed versions. Reported by Robert Bihlmeyer
39955 <robbe@orcus.priv.at>.
39956
39957 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
39958
39959 Automatic loading of commands is supported.
39960
39961 * normal/main.c (read_command_list): New function.
39962 (grub_normal_execute): Call read_command_list.
39963
39964 * normal/command.c (grub_register_command): Return zero or CMD.
39965 Allocate CMD->NAME from the heap.
39966 Initialize CMD->MODULE_NAME to zero.
39967 Find the same name as well. If the same command is found and it is
39968 a dummy command, overwrite members. If it is not a dummy command,
39969 return zero.
39970 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39971 (grub_command_find): If a dummy command is found, load a module
39972 and retry to find a command only once.
39973
39974 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39975 make sure that each command is loaded.
39976
39977 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39978 macro.
39979 (struct grub_command): Remove const from the member `name'.
39980 Add a new member `module_name'.
39981 (grub_register_command): Return grub_command_t.
39982
39983 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39984 sure that each command is loaded.
39985
39986 * genmk.rb (PModule::rule): Specify a module name without the
39987 suffix ".mod" to gencmdlist.sh.
39988
39989 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39990
39991 * gencmdlist.sh: New file.
39992
39993 * genmk.rb (PModule::rule): Generate a rule for a command list.
39994 Clean command.lst.
39995 Generate command.lst from $(COMMANDFILES).
39996
39997 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39998 (DATA): Added $(pkgdata_DATA).
39999 (install-local): Install files in $(pkgdata_DATA).
40000
40001 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
40002
40003 * term/i386/pc/vga.c (debug_command): Removed.
40004 (GRUB_MOD_INIT): Do not register the command "debug".
40005
40006 From Hollis Blanchard:
40007 * commands/configfile.c: New file.
40008 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40009 commands/configfile.c.
40010 (pkgdata_MODULES): Added configfile.mod.
40011 (configfile_mod_SOURCES): New variable.
40012 (configfile_mod_CFLAGS): Likewise.
40013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
40014 commands/configfile.c.
40015 (pkgdata_MODULES): Added configfile.mod.
40016 (configfile_mod_SOURCES): New variable.
40017 (configfile_mod_CFLAGS): Likewise.
40018 * util/grub-emu.c (main): Call grub_configfile_init and
40019 grub_configfile_fini.
40020 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
40021 prototype.
40022 [GRUB_UTIL] (grub_configfile_fini): Likewise.
40023
40024 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40025
40026 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40027 address.
40028
40029 * commands/help.c (grub_cmd_help): Do not print newlines after
40030 the last command in print_command_help.
40031
40032 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40033
40034 * commands/default.h: New file.
40035 * commands/timeout.h: Likewise.
40036 * normal/context.c: Likewise.
40037
40038 * util/misc.c: Do not include sys/times.h.
40039 Include sys/time.h and grub/machine/time.h.
40040 (grub_get_rtc): Rewritten with gettimeofday.
40041
40042 * util/grub-emu.c (main): Call grub_default_init and
40043 grub_timeout_init before grub_normal_init, and call
40044 grub_timeout_fini and grub_default_fini after grub_main.
40045
40046 * util/console.c (grub_ncurses_checkkey): Return the read
40047 character or -1.
40048
40049 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40050 timeouts.
40051
40052 * normal/main.c (read_config_file): Push MENU. If this fails,
40053 print an error and wait for a user input.
40054 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40055 If a menu is empty or an error occurs, pop MENU.
40056 (grub_normal_execute): Pop and free MENU after grub_menu_run
40057 returns.
40058
40059 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40060
40061 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40062 include time.h.
40063 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40064 without GRUB_UTIL.
40065 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40066 time.h.
40067 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40068 without GRUB_UTIL.
40069
40070 * include/grub/normal.h (struct grub_menu_list): New struct.
40071 (grub_menu_list_t): New type.
40072 (struct grub_context): New struct.
40073 (grub_context_t): New type.
40074 (grub_register_command): Got rid of EXPORT_FUNC.
40075 (grub_unregister_command): Likewise.
40076 (grub_context_get): New prototype.
40077 (grub_context_get_current_menu): Likewise.
40078 (grub_context_push_menu): Likewise.
40079 (grub_context_pop_menu): Likewise.
40080 [GRUB_UTIL] (grub_default_init): Likewise.
40081 [GRUB_UTIL] (grub_default_fini): Likewise.
40082 [GRUB_UTIL] (grub_timeout_init): Likewise.
40083 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40084
40085 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40086 commands/timeout.c and normal/context.c.
40087 (pkgdata_MODULES): Added default.mod and timeout.mod.
40088 (normal_mod_SOURCES): Added normal/context.c.
40089 (default_mod_SOURCES): New variable.
40090 (default_mod_CFLAGS): Likewise.
40091 (timeout_mod_SOURCES): Likewise.
40092 (timeout_mod_CFLAGS): Likewise.
40093 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40094 conf/i386-pc.rmk.
40095 (pkgdata_MODULES): Added default.mod and timeout.mod.
40096 (normal_mod_SOURCES): Added normal/context.c.
40097 (default_mod_SOURCES): New variable.
40098 (default_mod_CFLAGS): Likewise.
40099 (timeout_mod_SOURCES): Likewise.
40100 (timeout_mod_CFLAGS): Likewise.
40101
40102 * Makefile.in (all-local): Added $(MKFILES).
40103
40104 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40105
40106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40107 (grub_emu_SOURCES): Likewise.
40108 (pkgdata_MODULES): Add `sun.mod'.
40109 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40110 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40111 `partmap/sun.c'.
40112 (pkgdata_MODULES): Add `sun.mod'.
40113 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40114 * include/grub/partition.h (grub_sun_partition_map_init): New
40115 prototype.
40116 (grub_sun_partition_map_fini): Likewise.
40117 * partmap/sun.c: New file.
40118 * util/grub-emu.c (main): Initialize and de-initialize the sun
40119 partitionmap support.
40120
40121 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40122
40123 This implements an Emacs-like menu entry editor.
40124
40125 * normal/menu_entry.c: New file.
40126
40127 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40128 characters to ASCII.
40129 (saved_char): New variable.
40130 (grub_ncurses_checkkey): Rewritten completely.
40131 (grub_ncurses_getkey): Likewise.
40132 (grub_ncurses_init): Call raw instead of cbreak.
40133
40134 * normal/menu.c (print_entry): Do not put a space.
40135 (init_page): Renamed to ...
40136 (grub_menu_init_page): ... this. All callers changed.
40137 (edit_menu_entry): Removed.
40138 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40139
40140 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40141
40142 * kern/misc.c (grub_vprintf): Call grub_refresh.
40143
40144 * normal/menu.c (DISP_LEFT): Renamed to ...
40145 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40146 * normal/menu.c (DISP_UP): Renamed to ...
40147 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40148 * normal/menu.c (DISP_RIGHT): Renamed to ...
40149 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40150 * normal/menu.c (DISP_DOWN): Renamed to ...
40151 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40152 * normal/menu.c (DISP_HLINE): Renamed to ...
40153 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40154 * normal/menu.c (DISP_VLINE): Renamed to ...
40155 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40156 * normal/menu.c (DISP_UL): Renamed to ...
40157 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40158 * normal/menu.c (DISP_UR): Renamed to ...
40159 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40160 * normal/menu.c (DISP_LL): Renamed to ...
40161 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40162 * normal/menu.c (DISP_LR): Renamed to ...
40163 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40164 * normal/menu.c (TERM_WIDTH): Renamed to ...
40165 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40166 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40167 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40168 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40169 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40170 * normal/menu.c (TERM_MARGIN): Renamed to ...
40171 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40172 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40173 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40174 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40175 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40176 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40177 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40178 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40179 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40180 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40181 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40182 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40183 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40184 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40185 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40186 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40187 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40188 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40189 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40190 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40191 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40192 All callers changed.
40193
40194 * include/grub/normal.h: New prototype.
40195
40196 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40197 normal/menu_entry.c.
40198 (normal_mod_SOURCES): Likewise.
40199 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40200 (normal_mod_SOURCES): Likewise.
40201
40202 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40203
40204 * include/grub/normal.h (grub_halt_init): New prototype.
40205 (grub_halt_fini): Likewise.
40206 (grub_reboot_init): Likewise.
40207 (grub_reboot_fini): Likewise.
40208
40209 * util/grub-emu.c: Include signal.h.
40210 (main_env): New global variable.
40211 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40212 catch C-c.
40213 (grub_machine_fini): New function.
40214 (main): Call grub_halt_init and grub_reboot_init before
40215 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40216 Call setjmp with MAIN_ENV to go back afterwards.
40217 Call grub_machine_fini right before return.
40218
40219 * include/grub/util/misc.h: Include setjmp.h.
40220 (main_env): New prototype.
40221
40222 * include/grub/kernel.h (grub_machine_fini): New prototype.
40223 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40224 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40225
40226 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40227 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40228 * term/i386/pc/console.c (grub_console_fini): Likewise.
40229
40230 * util/i386/pc/misc.c: New file.
40231
40232 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40233 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40234 commands/i386/pc/reboot.c.
40235
40236 2005-02-14 Guillem Jover <guillem@hadrons.org>
40237
40238 * include/grub/dl.h (grub_dl_check_header): New prototype.
40239 (grub_arch_dl_check_header): Change return type to grub_err_t,
40240 remove size parameter and export function. Update all callers.
40241 * kern/dl.c (grub_dl_check_header): New function.
40242 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40243 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40244 are inside the core.
40245 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40246 independent ELF header checks.
40247 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40248 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40249 `grub_dl_check_header' instead of explicit checks. Check for the
40250 ELF type.
40251 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40252 `grub_dl_check_header' instead of explicit checks. Remove arch
40253 specific ELF header checks.
40254
40255 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40256 argument SIZE.
40257
40258 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40259
40260 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40261 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40262
40263 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40264
40265 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
40266 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
40267 (part_map_iterate): Clear `grub_errno' and return 0 if
40268 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
40269 * partmap/amiga.c (amiga_partition_map_iterate): Return
40270 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40271 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40272
40273 2005-02-01 Guillem Jover <guillem@hadrons.org>
40274
40275 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40276 help info.
40277
40278 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40279
40280 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40281 Removed prototype.
40282 (grub_rescue_cmd_linux): New prototype.
40283 (grub_rescue_cmd_initrd): Likewise.
40284 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40285 `bi_rec'.
40286 (grub_linux_release_mem): Release the memory for the initrd.
40287 (grub_load_linux): Renamed from this...
40288 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40289 Changed `entry' not to be static. Loop over memory regions to
40290 find another one when the default fails.
40291 (grub_rescue_cmd_initrd): New function.
40292 (grub_linux_init): Remove function.
40293 (grub_linux_fini): Likewise.
40294 (GRUB_MOD_INIT): Register `initrd'.
40295 (GRUB_MOD_FINI): Unregister `initrd'.
40296 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40297 Function removed.
40298 (grub_linux_normal_fini): Likewise.
40299 (GRUB_MOD_INIT): Register `initrd'.
40300 (GRUB_MOD_FINI): Unregister `initrd'.
40301
40302 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40303
40304 * commands/help.c: New file.
40305 * normal/arg.c (show_help): Renamed to...
40306 (grub_arg_show_help): ... this.
40307 * commands/i386/pc/halt.c: New file.
40308 * commands/i386/pc/reboot.c: Likewise.
40309 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40310 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40311 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40312 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40313 variables.
40314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40315 `commands/help.c'.
40316 (pkgdata_MODULES): Add `help.mod'.
40317 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40318 * grub/i386/pc/init.h (grub_reboot): New prototype.
40319 (grub_halt): Likewise.
40320 * include/grub/normal.h (grub_arg_show_help): New prototype.
40321 (grub_help_init): Likewise.
40322 (grub_help_fini): Likewise.
40323 * util/grub-emu.c (main): Initialize and deinitialize the help
40324 command.
40325
40326 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40327
40328 * normal/command.c (grub_command_init): Fixed the description of
40329 the `set' and `unset' commands.
40330
40331 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40332
40333 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40334 function.
40335 * commands/ieee1275/halt.c: New file.
40336 * commands/ieee1275/reboot.c: Likewise.
40337 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40338 `__attribute__ ((unused))'. Some GCS related fixed.
40339 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40340 (grub_suspend_fini): Likewise.
40341 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40342 and `halt.mod'.
40343 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40344 (halt_mod_CFLAGS): New variables.
40345 * include/grub/powerpc/ieee1275/ieee1275.h
40346 (grub_ieee1275_interpret): New prototype.
40347
40348 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40349
40350 * include/grub/misc.h (memmove): New prototype.
40351 (memcpy): Likewise.
40352
40353 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40354
40355 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40356 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40357
40358 2005-01-22 Marco Gerards <metgerards@student.han.nl>
40359
40360 * kern/misc.c (grub_strndup): Function rewritten.
40361
40362 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40363
40364 * normal/menu.c (TERM_WIDTH): Macro redefined.
40365 (TERM_TOP_BORDER_Y): Likewise.
40366 (draw_border): Replaced while-loop by a for-loop. Make the number
40367 of lines consistent with the number of lines displayed in
40368 print_entries. Added a margin below the rectangle.
40369 (print_entry): Make the entry fit in the rectangle.
40370 (print_entries): Display the scroll arrows next to the right
40371 border.
40372
40373 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40374
40375 * fs/minix.c (grub_minix_find_file): Reserve more space for
40376 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40377 `grub_strncpy' to copy `path' into it.
40378
40379 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40380
40381 Add the loopback device, a device via which files can be accessed
40382 as devices.
40383
40384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40385 (pkgdata_MODULES): Add loopback.mod.
40386 (loopback_mod_SOURCES): New variable.
40387 (loopback_mod_CFLAGS): Likewise.
40388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40389 `disk/loopback.c'.
40390 (pkgdata_MODULES): Add loopback.mod.
40391 (loopback_mod_SOURCES): New variable.
40392 (loopback_mod_CFLAGS): Likewise.
40393 * disk/loopback.c: new file.
40394 * include/grub/normal.h (grub_loop_init): New prototype.
40395 (grub_loop_fini): New prototype.
40396 * util/grub-emu.c (main): Initialize and de-initialize loopback
40397 support.
40398 * include/grub/disk.h (grub_disk_dev_id): Add
40399 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40400
40401 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40402
40403 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40404 function.
40405 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40406 (suspend_mod_SOURCES): New variable.
40407 (suspend_mod_CFLAGS): Likewise.
40408 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40409 New prototype.
40410 * commands/ieee1275/suspend.c: New file.
40411
40412 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40413
40414 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
40415 ((unused))' to `__attribute__ ((used))'.
40416 (GRUB_MOD_FINI): Likewise.
40417 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40418 * genmk.rb (PModule): Assign space to common symbols when linking
40419 modules.
40420
40421 2005-01-20 Marco Gerards <metgerards@student.han.nl>
40422
40423 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40424 `unsigned' arguments to `grub_size_t'.
40425 (grub_malloc): Likewise.
40426 (grub_realloc): Likewise.
40427 (grub_memalign): Likewise.
40428 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40429 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40430 * util/misc.c (grub_malloc): Likewise.
40431 (grub_realloc): Likewise.
40432 * kern/mm.c (get_header_from_pointer): Change the casts to
40433 `unsigned' into a cast to `grub_size_t'.
40434
40435 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40436 point to `currnode' when `currnode' is changed.
40437
40438 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40439 Schottelius <nico-linux@schottelius.org>.
40440
40441 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40442
40443 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40444 (note_path): Remove variable.
40445 (GRUB_IEEE1275_NOTE_NAME): New macro.
40446 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40447 (grub_ieee1275_note_hdr): New structure.
40448 (grub_ieee1275_note_desc): Likewise.
40449 (grub_ieee1275_note): Likewise.
40450 (load_note): Remove `dir' argument. All callers updated. Remove
40451 `note_img' and `path'. Do not load a file from `note_path'.
40452 Initialize a struct grub_ieee1275_note and write that to `out'.
40453 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40454
40455 2005-01-05 Marco Gerards <metgerards@student.han.nl>
40456
40457 * util/misc.c (grub_util_read_image): Revert last change. It
40458 called `grub_util_read_at', which seeks from the beginning of the
40459 file.
40460
40461 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40462
40463 * TODO: Add note about endianness in grub-mkimage.
40464 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40465 section.
40466 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40467 (grub_mkimage_SOURCES): New target.
40468 * include/grub/kernel.h (grub_start_addr): Remove variable.
40469 (grub_end_addr): Likewise.
40470 (grub_total_module_size): Likewise.
40471 (grub_kernel_image_size): Likewise.
40472 (GRUB_MODULE_MAGIC): New constant.
40473 (grub_module_info): New structure.
40474 (grub_arch_modules_addr): New prototype.
40475 (grub_get_end_addr): Remove prototype.
40476 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40477 * include/grub/powerpc/ieee1275/kernel.h: New file.
40478 * include/grub/util/misc.h (grub_util_get_fp_size): New
40479 prototype.
40480 (grub_util_read_at): Likewise.
40481 (grub_util_write_image_at): Likewise.
40482 * kern/main.c (grub_get_end_addr): Remove function.
40483 (grub_load_modules): Call grub_arch_modules_addr instead of using
40484 grub_end_addr. Look for a grub_module_info struct in memory. Use
40485 the grub_module_info fields instead of calling grub_get_end_addr
40486 as loop conditions. Move grub_add_unused_region code here.
40487 (grub_add_unused_region): Remove function.
40488 * kern/i386/pc/init.c: Include grub/cache.h.
40489 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40490 one call to add_mem_region.
40491 (grub_arch_modules_addr): New function.
40492 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40493 (grub_total_module_size): Likewise.
40494 Include grub/machine/kernel.h.
40495 (grub_arch_modules_addr): New function.
40496 * util/grub-emu.c (grub_end_addr): Remove variable.
40497 (grub_total_module_size): Likewise.
40498 (grub_arch_modules_addr): New function.
40499 * util/misc.c: Include unistd.h.
40500 (grub_util_get_fp_size): New function.
40501 (grub_util_read_at): Likewise.
40502 (grub_util_write_image_at): Likewise.
40503 (grub_util_read_image): Call grub_util_read_at.
40504 (grub_util_write_image): Call grub_util_write_image_at.
40505 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40506 additional memory in kernel_img for a struct grub_module_info.
40507 Fill in that grub_module_info.
40508 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40509
40510 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40511
40512 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40513 New function.
40514 * include/grub/powerpc/ieee1275/ieee1275.h
40515 (grub_ieee1275_milliseconds): New prototype.
40516 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40517 Change to 1000.
40518 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40519 grub_ieee1275_milliseconds.
40520
40521 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40522
40523 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40524 variable.
40525 (find_options): New function.
40526 (cmain): Call find_options.
40527 * include/grub/powerpc/ieee1275/ieee1275.h
40528 (grub_ieee1275_realmode): New extern variable.
40529 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40530 grub_map if grub_ieee1275_realmode is false.
40531
40532 2004-12-29 Marco Gerards <metgerards@student.han.nl>
40533
40534 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40535 lines are inserted and make it work like readline. Reported by
40536 Vincent Pelletier <subdino2004@yahoo.fr>.
40537
40538 2004-12-28 Marco Gerards <metgerards@student.han.nl>
40539
40540 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40541
40542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40543 `kern/powerpc/cache.S'.
40544
40545 2004-12-27 Marco Gerards <metgerards@student.han.nl>
40546
40547 * genmk.rb: Handle the `Program' class in the main loop. Written
40548 by Johan Rydberg <jrydberg@gnu.org>.
40549 (Program): New class.
40550 (programs): New variable.
40551 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40552 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40553 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40554 (help_arch): Function removed.
40555 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40556 `powerpc/libgcc.h' and `loader.h'.
40557 (pkgdata_PROGRAMS): New variable.
40558 (sbin_UTILITIES): Variable removed.
40559 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40560 (grubof_SOURCES): Variable re-defined so it only includes the
40561 core functionality.
40562 (grubof_CFLAGS): Remove `-DGRUBOF'.
40563 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40564 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40565 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40566 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40567 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40568 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40569 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40570 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40571 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40572 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40573 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40574 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40575 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40576 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40577 (pc_mod_CFLAGS): New variables.
40578 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40579 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40580 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40581 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40582 Moved from here...
40583 * include/grub/i386/pc/init.h (grub_os_area_addr)
40584 (rub_os_area_size): ... to here.
40585 * include/grub/powerpc/ieee1275/ieee1275.h
40586 (grub_ieee1275_entry_fn): Export symbol.
40587 * include/grub/powerpc/ieee1275/init.h: New file.
40588 * include/grub/powerpc/libgcc.h: Likewise.
40589 * include/grub/cache.h: Likewise.
40590 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40591 <hollis@penguinppc.org>.
40592 * kern/dl.c: Include <grub/cache.h>.
40593 (grub_dl_flush_cache): New function.
40594 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40595 for this module.
40596 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40597 (grub_console_init): Removed prototypes.
40598 (grub_machine_init): Don't initialize the modules anymore.
40599 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40600 static.
40601 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40602 Macro undef removed.
40603 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40604 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40605 relocation `R_PPC_REL32'. Return an error when the relocation is
40606 unknown.
40607 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40608 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40609 * util/misc.c (grub_arch_sync_caches): Likewise.
40610
40611 2004-12-19 Marco Gerards <metgerards@student.han.nl>
40612
40613 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40614 `symlist.c', add `grubof_symlist.c'.
40615 (symlist.c): Variable removed.
40616 (grubof_HEADERS): Variable added.
40617 (grubof_symlist.c): New target.
40618 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40619 `kernel_img_HEADERS'.
40620 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
40621 * kern/powerpc/dl.c: New file.
40622 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
40623 Function removed.
40624 (grub_arch_dl_relocate_symbols): Likewise.
40625 (grub_register_exported_symbols): Likewise.
40626
40627 2004-12-13 Marco Gerards <metgerards@student.han.nl>
40628
40629 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
40630 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
40631 to fail instead. Reported by Vincent Pelletier
40632 <subdino2004@yahoo.fr>.
40633
40634 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
40635 it is not allocated. Reported by Vincent Pelletier
40636 <subdino2004@yahoo.fr>.
40637
40638 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
40639 output so the output looks better.
40640
40641 2004-12-04 Marco Gerards <metgerards@student.han.nl>
40642
40643 Modulize the partition map support and add support for the amiga
40644 partition map.
40645
40646 * commands/ls.c: Include <grub/partition.h> instead of
40647 <grub/machine/partition.h>.
40648 * kern/disk.c: Likewise.
40649 * kern/rescue.c: Likewise.
40650 * loader/i386/pc/chainloader.c: Likewise.
40651 * normal/cmdline.c: Likewise.
40652 * kern/powerpc/ieee1275/init.c: Likewise.
40653 (grub_machine_init): Call `grub_pc_partition_map_init',
40654 `grub_amiga_partition_map_init' and
40655 `grub_apple_partition_map_init'.
40656 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
40657 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
40658 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
40659 `partition.h' and `pc_partition.h'.
40660 (grub_setup_SOURCES): Remove
40661 `disk/i386/pc/partition.c'. Add `kern/partition.c',
40662 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40663 (grub_emu_SOURCES): Likewise.
40664 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
40665 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
40666 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
40667 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40668 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
40669 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40670 (grubof_SOURCES): Likewise.
40671 * disk/i386/pc/partition.c: File removed.
40672 * disk/powerpc/ieee1275/partition.c: Likewise.
40673 * include/grub/powerpc/ieee1275/partition.h: Likewise.
40674 * include/grub/i386/pc/partition.h: Likewise.
40675 * kern/partition.c: New file.
40676 * partmap/amiga.c: Likewise.
40677 * partmap/apple.c: Likewise.
40678 * partmap/pc.c: Likewise.
40679 * include/grub/partition.h: Likewise..
40680 * include/grub/pc_partition.h: Likewise.
40681 * util/grub-emu.c: Include <grub/partition.h> instead of
40682 <grub/machine/partition.h>.
40683 (main): Call `grub_pc_partition_map_init',
40684 `grub_amiga_partition_map_init' and
40685 `grub_apple_partition_map_init' and deinitialize afterwards.
40686 * util/i386/pc/biosdisk.c: Include `#include
40687 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40688 `<grub/machine/partition.h>'.
40689 * util/i386/pc/grub-setup.c: Likewise.
40690 * util/i386/pc/biosdisk.c: Likewise.
40691 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
40692 partition information in case of a PC partition.
40693 * util/i386/pc/grub-setup.c: Include `#include
40694 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40695 `<grub/machine/partition.h>'.
40696 (setup): Only access the PC specific partition information in case
40697 of a PC partition.
40698
40699 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
40700
40701 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
40702 (grub_longjmp): Likewise.
40703 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
40704 20.
40705 * normal/powerpc/setjmp.S: New file.
40706 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40707 `normal/powerpc/setjmp.S'.
40708 (grubof_CFLAGS): Add `-DGRUBOF'.
40709 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
40710 [GRUB_UTIL && !GRUBOF].
40711
40712 2004-11-16 Marco Gerards <metgerards@student.han.nl>
40713
40714 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
40715 property named `name'. Correctly handle the error returned by
40716 `grub_ieee1275_finddevice' if a device can not be opened.
40717
40718 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
40719
40720 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
40721 `actual' for negativity.
40722 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40723 kern/fshelp.c.
40724
40725 2004-11-01 Marco Gerards <metgerards@student.han.nl>
40726
40727 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
40728 (PAGE_OFFSET): New macro.
40729 (CRTC_ADDR_PORT): Likewise.
40730 (CRTC_DATA_PORT): Likewise.
40731 (START_ADDR_HIGH_REGISTER): Likewise.
40732 (START_ADDR_LOW_REGISTER): Likewise.
40733 (GRAPHICS_ADDR_PORT): Likewise.
40734 (GRAPHICS_DATA_PORT): Likewise.
40735 (READ_MAP_REGISTER): Likewise.
40736 (INPUT_STATUS1_REGISTER): Likewise.
40737 (INPUT_STATUS1_VERTR_BIT): Likewise.
40738 (page): New variable.
40739 (wait_vretrace): New function.
40740 (set_read_map): Likewise.
40741 (set_start_address): Likewise.
40742 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
40743 the right page.
40744 (check_vga_mem): Take the page into account.
40745 (write_char): Likewise.
40746 (write_cursor): Likewise.
40747 (scroll_up): Likewise. Copy the page to the page that is not
40748 shown and switch between both pages.
40749 (grub_vga_putchar): Fix off by one error.
40750 (grub_vga_cls): Wait for the vertical retrace. Take the page into
40751 account.
40752
40753 2004-11-01 Marco Gerards <metgerards@student.han.nl>
40754
40755 Add support for iso9660 (including rockridge).
40756
40757 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40758 (iso9660_mod_SOURCES): New variable.
40759 (iso9660_mod_CFLAGS): Likewise.
40760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40761 * include/grub/fs.h (grub_iso9660_init): New prototype.
40762 * util/grub-emu.c (main): Call `grub_iso9660_init'.
40763 * fs/iso9660.c: New file.
40764
40765 * include/grub/misc.h (grub_strncat): New prototype.
40766 * kern/misc.c (grub_strncat): New function.
40767
40768 * fs/hfs.c (grub_hfs_mount): Translate the error
40769 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
40770 * fs/jfs.c (grub_jfs_mount): Likewise.
40771 * fs/ufs.c (grub_ufs_mount): Likewise.
40772
40773 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
40774
40775 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
40776 which initialized BAT registers.
40777 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
40778 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40779 Move from here...
40780 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
40781 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40782 ... to here.
40783 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
40784 (grub_mapclaim): Likewise.
40785 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
40786 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
40787 hand.
40788
40789 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
40790
40791 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
40792 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
40793 -ffreestanding and -msoft-float.
40794
40795 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
40796
40797 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
40798 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
40799 set in grub_ieee1275_flags.
40800
40801 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
40802
40803 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
40804 prototype.
40805 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
40806 grub_console_init first.
40807 Change the memory range used for grub_ieee1275_claim and
40808 grub_mm_init_region.
40809 Print an error message if the claim fails.
40810 Include <grub/misc.h>.
40811
40812 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
40813
40814 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
40815 Call grub_children_iterate for device nodes of type `scsi',
40816 `ide', or `ata'.
40817 (grub_ofdisk_open): Remove manual device alias resolution.
40818 Fix memory leak when device cannot be opened.
40819 * include/grub/powerpc/ieee1275/ieee1275.h
40820 (grub_children_iterate): New prototype.
40821 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
40822 New function.
40823 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40824 Return -1 if args.size was -1.
40825
40826 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40827
40828 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
40829 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
40830 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
40831 Open Firmware's memory for it; claim memory from _start to _end.
40832 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
40833 (_end): New extern.
40834 (_start): Zero BSS from __bss_start to _end.
40835 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40836 New extern.
40837 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
40838
40839 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40840
40841 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
40842 -1 if args.base was -1.
40843
40844 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
40845
40846 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
40847 escape sequence instead of a literal ^L. Also call
40848 grub_ofconsole_gotoxy.
40849
40850 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
40851
40852 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
40853 void * arguments to grub_addr_t. All callers updated. Also make
40854 the `result' argument optional.
40855 (grub_ieee1275_release): change void * arguments to grub_addr_t.
40856 All callers updated.
40857
40858 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
40859
40860 * commands/ls.c (grub_ls_list_files): Use the string following the
40861 initial ')', if present, as the filesystem path.
40862 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
40863
40864 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
40865
40866 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
40867
40868 Make the source code of the menu interface more readable.
40869
40870 * normal/menu.c: Include grub/mm.h.
40871 (TERM_WIDTH): New macro.
40872 (TERM_HEIGHT): Likewise.
40873 (TERM_INFO_HEIGHT): Likewise.
40874 (TERM_MARGIN): Likewise.
40875 (TERM_SCROLL_WIDTH): Likewise.
40876 (TERM_TOP_BORDER_Y): Likewise.
40877 (TERM_LEFT_BORDER_X): Likewise.
40878 (TERM_BORDER_WIDTH): Likewise.
40879 (TERM_MESSAGE_HEIGHT): Likewise.
40880 (TERM_BORDER_HEIGHT): Likewise.
40881 (TERM_NUM_ENTRIES): Likewise.
40882 (TERM_FIRST_ENTRY_Y): Likewise.
40883 (TERM_ENTRY_WIDTH): Likewise.
40884 (TERM_CURSOR_X): Likewise.
40885 (draw_border): Use macros instead of magic numbers.
40886 (print_entry): Likewise.
40887 (print_entries): Likewise.
40888 (run_menu): Likewise. Also, handle the key 'e'.
40889 (run_menu_entry): Ignore empty command lines.
40890 (print_message): Added a new argument EDIT. If EDIT is true,
40891 print a different message.
40892 (init_page): Likewise.
40893 (edit_menu_entry): New function. Not implemented yet.
40894
40895 2004-09-17 Marco Gerards <metgerards@student.han.nl>
40896
40897 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
40898 can be loaded from normal mode.
40899
40900 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
40901 `multiboot.mod'.
40902 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
40903 (multiboot_mod_CFLAGS): New variables.
40904 * loader/i386/pc/linux_normal.c: New file.
40905 * loader/i386/pc/multiboot_normal.c: Likewise.
40906
40907 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
40908 attribute `unused'.
40909
40910 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
40911 `fdiro' to read the mode information from instead of `diro'.
40912
40913 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
40914 looking up a symlink.
40915
40916 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
40917 macro.
40918 * normal/command.c (grub_command_execute): Don't parse the
40919 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
40920 flags of the command.
40921
40922 * normal/menu.c (grub_menu_run): Fix typo.
40923
40924 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
40925
40926 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
40927
40928 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
40929 `y + 1' instead of `y - 1'.
40930
40931 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
40932
40933 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
40934
40935 From Hollis Blanchard <hollis@penguinppc.org>:
40936 * kern/misc.c (memmove): New alias for grub_memmove.
40937 (memcmp): New alias for grub_memcmp.
40938 (memset): New alias for grub_memset.
40939 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40940 Change "int handle" to "grub_ieee1275_phandle_t handle".
40941 * include/grub/powerpc/ieee1275/ieee1275.h
40942 (grub_ieee1275_get_property): Likewise.
40943
40944 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
40945
40946 Added normal mode command `chainloader' as module chain.mod, which
40947 depends on normal.mod and _chain.mod.
40948
40949 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
40950 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
40951 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
40952 Deleted prototype.
40953 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40954 but arguments parsing moved to ...
40955 (grub_chainloader_cmd): ... here. New function.
40956 * include/grub/i386/pc/chainloader.h: New file.
40957 * loader/i386/pc/chainloader_normal.c: Likewise.
40958
40959 2004-09-11 Marco Gerards <metgerards@student.han.nl>
40960
40961 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40962 (grub_mkimage_LDFLAGS): Likewise.
40963 (grub_emu_SOURCES): Likewise.
40964 (kernel_img_HEADERS): Added fshelp.h.
40965 * fs/ext2.c: Include <grub/fshelp.h>.
40966 (FILETYPE_REG): New macro.
40967 (FILETYPE_INO_REG): Likewise.
40968 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40969 Changed all users.
40970 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40971 all users.
40972 (grub_fshelp_node): New struct.
40973 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40974 to a pointer.
40975 (grub_ext2_get_file_block): Removed function.
40976 (grub_ext2_read_block): New function.
40977 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40978 This function was written.
40979 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40980 (grub_ext2_find_file): Removed function.
40981 (grub_ext2_read_symlink): New function.
40982 (grub_ext2_iterate_dir): Likewise.
40983 (grub_ext2_open): Rewritten.
40984 (grub_ext2_dir): Rewritten.
40985 * include/grub/fshelp.h: New file.
40986 * fs/fshelp.c: Likewise.
40987
40988 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40989
40990 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40991 (print_message): Add a missing newline.
40992 (run_menu): Added timeout support.
40993 (run_menu_entry): New local function.
40994 (grub_menu_run): Added support for booting.
40995
40996 * kern/loader.c (grub_loader_is_loaded): New function.
40997
40998 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40999 (grub_get_rtc): Exported.
41000
41001 * include/grub/i386/pc/time.h: Include grub/symbol.h.
41002 (grub_get_rtc): Exported.
41003
41004 * include/grub/normal.h (struct grub_command_list): Remove
41005 constant from the member `command'.
41006
41007 * include/grub/loader.h (grub_loader_is_loaded): Declared.
41008
41009 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
41010
41011 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
41012
41013 2004-08-28 Marco Gerards <metgerards@student.han.nl>
41014
41015 Add support for the JFS filesystem.
41016
41017 * fs/jfs.c: New file.
41018 * include/grub/fs.h (grub_jfs_init): New prototype.
41019 (grub_jfs_fini): New prototype.
41020 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
41021 (grub_emu_SOURCES): Likewise.
41022 (pkgdata_MODULES): Add jfs.mod.
41023 (jfs_mod_SOURCES): New variable.
41024 (jfs_mod_CFLAGS): Likewise.
41025 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41026 (grubof_SOURCES): Likewise.
41027 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41028
41029 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41030 endian to the host endian.
41031 (grub_fat_utf16_to_utf8): Move function from there...
41032 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
41033 the endianness of the source string anymore.
41034 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41035
41036 2004-08-24 Marco Gerards <metgerards@student.han.nl>
41037
41038 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41039 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41040 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41041 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
41042
41043 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41044 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41045 for `node_found' and `it_dir'.
41046 (grub_hfs_dir): Add prototype for `dir_hook'.
41047
41048 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41049 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41050 and `indir32' to silence a gcc warning.
41051
41052 * include/grub/fs.h (grub_hfs_init): New prototype.
41053 (grub_hfs_fini): Likewise.
41054
41055
41056 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41057
41058 Each disk device has its own id now. This is useful to make use
41059 of multiple disk devices.
41060
41061 * include/grub/disk.h (grub_disk_dev_id): New enum.
41062 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41063 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41064
41065 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41066 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41067
41068 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41069 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41070
41071 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41072 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41073
41074 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41075 "id" which is used by the cache manager.
41076
41077 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41078 of just "GRUB".
41079
41080 2004-08-18 Marco Gerards <metgerards@student.han.nl>
41081
41082 * fs/hfs.c: New file.
41083 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41084 (grub_emu_SOURCES): Likewise.
41085 (pkgdata_MODULES): Add hfs.mod.
41086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41087 (grubof_SOURCES): Likewise.
41088 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41089
41090 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41091 * kern/misc.c (grub_strncasecmp): Add function.
41092
41093 2004-08-14 Marco Gerards <metgerards@student.han.nl>
41094
41095 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41096 with parentheses.
41097
41098 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41099 (grub_ext2_dir): In case the directory entry type is unknown, read
41100 it from the inode.
41101
41102 2004-08-02 Peter Bruin <pjbruin@dds.nl>
41103
41104 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41105 grub_load_linux instead of grub_rescue_cmd_linux as second
41106 argument of grub_rescue_register_command.
41107
41108 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41109
41110 2004-07-27 Marco Gerards <metgerards@student.han.nl>
41111
41112 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41113 function.
41114 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41115 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41116 `loader/powerpc/ieee1275/linux.c',
41117 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41118 * include/grub/powerpc/ieee1275/ieee1275.h
41119 (grub_ieee1275_release): New prototype.
41120 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41121 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41122 normal, boot, linux and linux_normal.
41123 * loader/powerpc/ieee1275/linux.c: New file.
41124 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41125
41126 2004-07-12 Marco Gerards <metgerards@student.han.nl>
41127
41128 * normal/arg.c (grub_arg_parse): Correct error handling after
41129 reallocating the argumentlist (check if `argl' is not null instead
41130 of checking if `args' is not null).
41131 * kern/mm.c (grub_realloc): Return the same pointer when using the
41132 same region, instead of returning the header address.
41133
41134 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41135
41136 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41137 one block instead of two when looking for the initial partition.
41138 (grub_partition_probe): Initialize the local variable `p' with 0.
41139 Use base 10 for the grub_strtoul call.
41140 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41141 need for one local variable.
41142 (grub_strtoul): Don't add the new value to `num', instead of that
41143 just assign it.
41144
41145 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41146
41147 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41148 (pxeboot_img_SOURCES): New variable.
41149 (pxeboot_img_ASFLAGS): Likewise.
41150 (pxeboot_img_LDFLAGS): Likewise.
41151 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41152 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41153 <lode_leroy@hotmail.com>.
41154
41155 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41156
41157 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41158 there was no input.
41159
41160 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41161
41162 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41163 the history buffer logic.
41164
41165 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41166
41167 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41168 (FILETYPE_INO_SYMLINK): New macros.
41169 (grub_ext2_find_file): Check if the node is a directory using the
41170 inode stat information instead of using the filetype in the
41171 dirent. Exclude the first character of an absolute symlink.
41172 (grub_ext2_dir): Mask out the filetype part of the mode member of
41173 the inode.
41174
41175 2004-05-24 Marco Gerards <metgerards@student.han.nl>
41176
41177 Add support for UFS version 1 and 2. Add support for the minix
41178 filesystem version 1 and 2, both the variants with 14 and 30 long
41179 filenames.
41180
41181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41182 fs/minix.c.
41183 (grub_emu_SOURCES): Likewise.
41184 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41185 (ufs_mod_SOURCES): New variable.
41186 (ufs_mod_CFLAGS): Likewise.
41187 (minix_mod_SOURCES): Likewise.
41188 (minix_mod_CFLAGS): Likewise.
41189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41190 fs/minix.c.
41191 (grubof_SOURCES): Likewise.
41192 * fs/ufs.c: New file.
41193 * fs/minix.c: New file.
41194 * include/grub/fs.h (grub_ufs_init): New prototype.
41195 (grub_ufs_fini): Likewise.
41196 (grub_minix_init): Likewise.
41197 (grub_minix_fini): Likewise.
41198 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41199 minix fs.
41200
41201 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41202
41203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41204 commands/ls.c, commands/terminal.c, commands/boot.c,
41205 commands/cmp.c and commands/cat.c.
41206 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41207
41208 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41209 "env.h"
41210
41211 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41212
41213 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41214 and grub_, respectively. Because the conversion is trivial and
41215 mechanical, I omit the details here. Please refer to the CVS
41216 if you need more information.
41217
41218 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41219
41220 * include/pupa: Renamed to ...
41221 * include/grub: ... this.
41222 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41223 * util/i386/pc/grub-mkimage.c: ... this.
41224 * util/i386/pc/pupa-setup.c: Renamed to ...
41225 * util/i386/pc/grub-setup.c: ... this.
41226 * util/pupa-emu.c: Renamed to ...
41227 * util/grub-emu.c: ... this.
41228
41229 2004-03-29 Marco Gerards <metgerards@student.han.nl>
41230
41231 Add support for the newworld apple macintosh (PPC). This has been
41232 tested on the powerbook 2000 only. It only adds support for
41233 generic ieee1275 functions, console and disk support. This should
41234 be easy to port to other architectures with support for Open
41235 Firmware.
41236
41237 * configure.ac: Accept the powerpc as host_cpu. In the case of
41238 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41239 specific tests are only executed while building for the i386.
41240 Inverse test for crosscompile.
41241 * genmk.rb (Utility): Allow assembler files.
41242 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41243 * conf/powerpc-ieee1275.rmk: New file.
41244 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41245 * disk/powerpc/ieee1275/partition.c: Likewise.
41246 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41247 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41248 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41249 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41250 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41251 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41252 * include/pupa/powerpc/ieee1275/loader.h
41253 * include/pupa/powerpc/setjmp.h: Likewise.
41254 * include/pupa/powerpc/types.h: Likewise.
41255 * kern/powerpc/ieee1275/init.c: Likewise.
41256 * kern/powerpc/ieee1275/openfw.c: Likewise.
41257 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41258
41259 These files were written by Johan Rydberg
41260 (jrydberg@night.trouble.net) and I only modified them slightly.
41261
41262 * boot/powerpc/ieee1275/cmain.c: New file.
41263 * boot/powerpc/ieee1275/crt0.S: Likewise.
41264 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41265 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41266
41267 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41268
41269 * Makefile.in: Update copyright.
41270 * genmodsrc.sh: Likewise.
41271 * gensymlist.sh: Likewise.
41272 * term/i386/pc/vga.c: Indent correctly.
41273
41274 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41275 bugreporting address.
41276 * util/i386/pc/pupa-setup.c (usage): Likewise,
41277 (main): Call pupa_ext2_init and pupa_ext2_fini.
41278
41279 * fs/fat.c (log2): Renamed to ...
41280 (fat_log2): ... this.
41281 All callers changed.
41282 * kern/misc.c (memcpy): Alias to pupa_memmove.
41283 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41284 lvalue cast.
41285 * util/console.c (pupa_ncurses_fini): Return 0.
41286
41287 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41288 Move fail label here.
41289 [__GNU__]: Don't warn when using stat.
41290 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41291 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41292 long int. Use strtol instead of strtoul.
41293
41294 2004-03-14 Marco Gerards <metgerards@student.han.nl>
41295
41296 * commands/boot.c: New file.
41297 * commands/cat.c: Likewise.
41298 * commands/cmp.c: Likewise.
41299 * commands/ls.c: Likewise.
41300 * commands/terminal.c: Likewise.
41301 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41302 (pupa_register_command): Changed interface to match the new
41303 argument parser.
41304 (pupa_command_execute): Changed (almost rewritten) so it uses
41305 pupa_split_command. Added support for setting variables using the
41306 syntax `foo=bar'.
41307 (rescue_command): Changed to work with the new argument parser.
41308 (terminal_command): Moved from here to commands/terminal.c.
41309 (set_command): New function.
41310 (unset_command): New function.
41311 (insmod_command): New function.
41312 (rmmod_command): New function.
41313 (lsmod_command): New function.
41314 (pupa_command_init): Don't initialize the command terminal
41315 anymore. Initialize the commands set, unset, insmod, rmmod and
41316 lsmod.
41317 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41318 (kernel_img_HEADERS): Add arg.h and env.h.
41319 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41320 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41321 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41322 normal/arg.c.
41323 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41324 terminal.mod.
41325 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41326 (boot_mod_SOURCES): New variable.
41327 (terminal_mod_SOURCES): Likewise.
41328 (ls_mod_SOURCES): Likewise.
41329 (cmp_mod_SOURCES): Likewise.
41330 (cat_mod_SOURCES): Likewise.
41331
41332 * normal/arg.c: New file.
41333 * kern/env.c: Likewise.
41334 * include/pupa/arg.h: Likewise.
41335 * include/pupa/env.h: Likewise.
41336 * font/manager.c (font_command): Changed to match argument parsing
41337 interface changes.
41338 (PUPA_MOD_INIT): Likewise.
41339 * hello/hello.c (pupa_cmd_hello): Likewise.
41340 (PUPA_MOD_INIT): Likewise.
41341 * include/pupa/disk.h: Include <pupa/device.h>.
41342 (pupa_print_partinfo): New prototype.
41343 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41344 (pupa_dl_get_prefix): Likewise.
41345 * include/pupa/misc.h: Include <pupa/err.h>.
41346 (pupa_isgraph): New prototype.
41347 (pupa_isdigit): Likewise.
41348 (pupa_split_cmdline): Likewise.
41349 * include/pupa/normal.h: Include <pupa/arg.h>.
41350 (pupa_command): Changed the prototype of the member `func' to
41351 match the argument parsing interface. Added member `options'.
41352 (pupa_register_command): Updated to match function.
41353 (pupa_arg_parse): New prototype.
41354 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41355 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41356 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41357 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41358 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41359 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41360 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41361 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41362 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41363 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41364 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41365 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41366 * kern/disk.c: Include <pupa/file.h>.
41367 (pupa_print_partinfo): New function.
41368 * kern/dl.c: Include <pupa/env.h>.
41369 (pupa_dl_dir): Variable removed.
41370 (pupa_dl_load): Use the environment variable `prefix' instead of
41371 the variable pupa_dl_dir.
41372 (pupa_dl_set_prefix): Function removed.
41373 (pupa_dl_get_prefix): Likewise.
41374 * kern/i386/pc/init.c: Include <pupa/env.h>.
41375 (pupa_machine_init): Use the environment variable `prefix' instead of
41376 using pupa_dl_set_prefix to set the prefix.
41377 * kern/main.c: Include <pupa/env.h>.
41378 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41379 using pupa_dl_get_prefix to get the prefix.
41380 * kern/misc.c: Include <pupa/env.h>.
41381 (pupa_isdigit): New function.
41382 (pupa_isgraph): Likewise.
41383 (pupa_ftoa): Likewise.
41384 (pupa_vsprintf): Added support for printing values of the type
41385 `double'. Make it possible to format variable output when using
41386 formatting like `%1.2%f'.
41387 (pupa_split_cmdline): New function.
41388 * kern/rescue.c: Include <pupa/env.h>.
41389 (next_word): Removed function.
41390 (pupa_rescue_cmd_prefix): Likewise.
41391 (pupa_rescue_cmd_set): New function.
41392 (pupa_rescue_cmd_unset): New function.
41393 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41394 split the command line instead of splitting it here. Added
41395 support for setting variables using the syntax `foo=bar'. Don't
41396 initialize the prefix command anymore. Initialized the set and
41397 unset commands.
41398 * normal/cmdline.c: Include <pupa/env.h>.
41399 (pupa_tab_complete): Added prototypes for print_simple_completion,
41400 print_partition_completion, add_completion, iterate_commands,
41401 iterate_dev, iterate_part and iterate_dir. Moved code to print
41402 partition information from here to kern/disk.c.
41403 (pupa_cmdline_run): Don't check if the function exists anymore.
41404 * normal/main.c: Include <pupa/env.h>.
41405 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41406 instead of using pupa_dl_get_prefix to get the prefix.
41407 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41408 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41409 warning.
41410 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41411 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41412 ((unused))' to silence a gcc warning.
41413 (pupa_vga_setcolor): Likewise.
41414 (debug_command): Changed to match argument parsing
41415 interface changes.
41416 * util/pupa-emu.c: Include <pupa/env.h>.
41417 (options): Added 0's for unused fields to silence a gcc warning.
41418 (argp): Likewise.
41419 (main): Use the environment variable `prefix' instead of using
41420 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41421 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41422 and terminal.
41423
41424 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41425 * util/misc.c: Include <malloc.h>.
41426 (pupa_malloc): Rewritten so errors are correctly reported.
41427 (pupa_realloc): Likewise.
41428 (pupa_memalign): Likewise.
41429 (pupa_mm_init_region): Declare unused variables with
41430 `__attribute__ ((unused))' to silence a gcc warning.
41431 * normal/i386/setjmp.S: Remove tab at the end of the file to
41432 silence a gcc warning.
41433 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41434 variables with `__attribute__ ((unused))' to silence a gcc
41435 warning.
41436 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41437 local variable i unsigned to silence a gcc warning.
41438
41439 * kern/term.c: Include <pupa/misc.h>.
41440 (pupa_more_lines): New variable.
41441 (pupa_more): Likewise.
41442 (pupa_putcode): When the pager is active pause at the end of every
41443 screen.
41444 (pupa_set_more): New function.
41445 * include/pupa/term.h (pupa_set_more): New prototype.
41446
41447
41448 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41449
41450 Now this project is GRUB 2 rather than PUPA. The location of
41451 the CVS repository was moved to GRUB's.
41452
41453 * configure.ac: Use bug-grub as the reporting address.
41454 Use GRUB instead of PUPA.
41455 Change the version number to 1.90.
41456
41457 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41458
41459 * genkernsyms.sh: Updated copyright information.
41460 * genmk.rb: Likewise.
41461 * genmodsrc.sh: Likewise.
41462 * gensymlist.sh: Likewise.
41463 * boot/i386/pc/boot.S: Likewise.
41464 * boot/i386/pc/diskboot.S: Likewise.
41465 * disk/i386/pc/biosdisk.c: Likewise.
41466 * disk/i386/pc/partition.c: Likewise.
41467 * font/manager.c: Likewise.
41468 * fs/ext2.c: Likewise.
41469 * fs/fat.c: Likewise.
41470 * include/pupa/boot.h: Likewise.
41471 * include/pupa/device.h: Likewise.
41472 * include/pupa/disk.h: Likewise.
41473 * include/pupa/dl.h: Likewise.
41474 * include/pupa/elf.h: Likewise.
41475 * include/pupa/err.h: Likewise.
41476 * include/pupa/file.h: Likewise.
41477 * include/pupa/font.h: Likewise.
41478 * include/pupa/fs.h: Likewise.
41479 * include/pupa/kernel.h: Likewise.
41480 * include/pupa/loader.h: Likewise.
41481 * include/pupa/misc.h: Likewise.
41482 * include/pupa/mm.h: Likewise.
41483 * include/pupa/net.h: Likewise.
41484 * include/pupa/normal.h: Likewise.
41485 * include/pupa/rescue.h: Likewise.
41486 * include/pupa/setjmp.h: Likewise.
41487 * include/pupa/symbol.h: Likewise.
41488 * include/pupa/term.h: Likewise.
41489 * include/pupa/types.h: Likewise.
41490 * include/pupa/i386/setjmp.h: Likewise.
41491 * include/pupa/i386/types.h: Likewise.
41492 * include/pupa/i386/pc/biosdisk.h: Likewise.
41493 * include/pupa/i386/pc/boot.h: Likewise.
41494 * include/pupa/i386/pc/console.h: Likewise.
41495 * include/pupa/i386/pc/init.h: Likewise.
41496 * include/pupa/i386/pc/kernel.h: Likewise.
41497 * include/pupa/i386/pc/linux.h: Likewise.
41498 * include/pupa/i386/pc/loader.h: Likewise.
41499 * include/pupa/i386/pc/memory.h: Likewise.
41500 * include/pupa/i386/pc/multiboot.h: Likewise.
41501 * include/pupa/i386/pc/partition.h: Likewise.
41502 * include/pupa/i386/pc/time.h: Likewise.
41503 * include/pupa/i386/pc/vga.h: Likewise.
41504 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41505 * include/pupa/util/getroot.h: Likewise.
41506 * include/pupa/util/misc.h: Likewise.
41507 * include/pupa/util/resolve.h: Likewise.
41508 * kern/device.c: Likewise.
41509 * kern/disk.c: Likewise.
41510 * kern/dl.c: Likewise.
41511 * kern/err.c: Likewise.
41512 * kern/file.c: Likewise.
41513 * kern/fs.c: Likewise.
41514 * kern/loader.c: Likewise.
41515 * kern/main.c: Likewise.
41516 * kern/misc.c: Likewise.
41517 * kern/mm.c: Likewise.
41518 * kern/rescue.c: Likewise.
41519 * kern/term.c: Likewise.
41520 * kern/i386/dl.c: Likewise.
41521 * kern/i386/pc/init.c: Likewise.
41522 * kern/i386/pc/lzo1x.S: Likewise.
41523 * kern/i386/pc/startup.S: Likewise.
41524 * loader/i386/pc/chainloader.c: Likewise.
41525 * loader/i386/pc/linux.c: Likewise.
41526 * loader/i386/pc/multiboot.c: Likewise.
41527 * normal/cmdline.c: Likewise.
41528 * normal/command.c: Likewise.
41529 * normal/main.c: Likewise.
41530 * normal/menu.c: Likewise.
41531 * normal/i386/setjmp.S: Likewise.
41532 * term/i386/pc/console.c: Likewise.
41533 * term/i386/pc/vga.c: Likewise.
41534 * util/console.c: Likewise.
41535 * util/genmoddep.c: Likewise.
41536 * util/misc.c: Likewise.
41537 * util/pupa-emu.c: Likewise.
41538 * util/resolve.c: Likewise.
41539 * util/unifont2pff.rb: Likewise.
41540 * util/i386/pc/biosdisk.c: Likewise.
41541 * util/i386/pc/getroot.c: Likewise.
41542 * util/i386/pc/pupa-mkimage.c: Likewise.
41543 * util/i386/pc/pupa-setup.c: Likewise.
41544
41545 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41546
41547 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41548 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41549 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41550 reading and reset it after reading.
41551 (pupa_ext2_close): Return PUPA_ERR_NONE.
41552
41553 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41554 Correct value.
41555 (struct linux_kernel_header): Add kernel_version and
41556 initrd_addr_max.
41557 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41558 pupa_file_read succeeds.
41559 (pupa_rescue_cmd_initrd): Implement.
41560
41561 2003-12-03 Marco Gerards <metgerards@student.han.nl>
41562
41563 * fs/ext2.c (pupa_ext2_label): New function.
41564 (pupa_ext2_fs): Added label.
41565 * fs/fat.c (pupa_fat_label): New function.
41566 (pupa_fat_fs): Added label.
41567 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41568
41569 * kern/misc.c (pupa_strndup): New function.
41570 * include/pupa/misc.h (pupa_strndup): New prototype.
41571
41572 * include/pupa/normal.h: Include <pupa/err.h>.
41573 (pupa_set_history): New prototype.
41574 (pupa_iterate_commands): New prototype.
41575 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41576 <pupa/disk.h>, <pupa/file.h>.
41577 (hist_size): New variable.
41578 (hist_lines): Likewise.
41579 (hist_end): Likewise.
41580 (hist_used): Likewise.
41581 (pupa_set_history): New function.
41582 (pupa_history_get): Likewise.
41583 (pupa_history_add): Likewise.
41584 (pupa_history_replace): Likewise.
41585 (pupa_tab_complete): Likewise.
41586 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41587 completion shows partitionnames while completing partitions, this
41588 feature was suggested by Jeff Bailey.
41589 * normal/command.c (pupa_iterate_commands): New function.
41590 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41591 (pupa_normal_init): Initialize history buffer.
41592 (PUPA_MOD_INIT): Likewise.
41593 (pupa_normal_fini): Free the history buffer.
41594 (PUPA_MOD_FINI): Likewise.
41595
41596 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41597 key.
41598
41599 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41600 * configure.ac [i386]: Check for regparam bug.
41601 (NESTED_FUNC_ATTR) [! i386]: Defined.
41602
41603 2003-11-17 Marco Gerards <metgerards@student.han.nl>
41604
41605 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41606 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41607 (pupa_emu_SOURCES): New variable.
41608 (pupa_emu_LDFLAGS): Likewise.
41609 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41610 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41611 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41612 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41613 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41614 (pupa_jmp_buf): New typedef.
41615 (pupa_setjmp) [PUPA_UTIL]: New macro.
41616 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41617 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41618 (pupa_refresh): New prototype.
41619 * include/pupa/util/getroot.h: New file.
41620 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
41621 it.
41622 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
41623 (pupa_rescue_cmd_cat): Likewise.
41624 (pupa_rescue_cmd_ls): Likewise.
41625 (pupa_rescue_cmd_testload): Likewise.
41626 (pupa_rescue_cmd_lsmod): Likewise.
41627 * normal/cmdline.c (pupa_cmdline_get): Likewise.
41628 * normal/menu.c (run_menu): Likewise.
41629 * kern/term.c (pupa_cls): Likewise.
41630 (pupa_refresh): New function.
41631 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
41632 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41633 * util/console.c: New file.
41634
41635 * util/i386/pc/getroot.c: New file.
41636 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
41637 (pupa_putchar): New function.
41638 (pupa_refresh): Likewise.
41639 (xgetcwd): Function moved to ...
41640 (strip_extra_slashes): Likewise.
41641 (get_prefix): Likewise.
41642 * util/i386/pc/getroot.c: ... here.
41643 (find_root_device): Function moved and renamed to...
41644 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
41645 Changed all callers.
41646 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
41647 and renamed to...
41648 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
41649 Changed all callers.
41650 * util/misc.c (pupa_memalign): New function.
41651 (pupa_mm_init_region): Likewise.
41652 (pupa_register_exported_symbols): Likewise.
41653 (pupa_putchar): Function removed.
41654 * util/pupa-emu.c: New file.
41655
41656 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
41657
41658 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
41659 (_multiboot_mod_SOURCES): New variable.
41660 (_multiboot_mod_CFLAGS): Likewise.
41661 * loader/i386/pc/multiboot.c: New file.
41662 * include/pupa/i386/pc/multiboot.h: Likewise.
41663 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
41664 (pupa_multiboot_real_boot): New function.
41665 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
41666 (pupa_multiboot_real_boot): New prototype.
41667 (pupa_rescue_cmd_multiboot): Likewise
41668 (pupa_rescue_cmd_module): Likewise.
41669
41670 * kern/loader.c (pupa_loader_set): Continue when
41671 pupa_loader_unload_func() fails.
41672 (pupa_loader_unset): New function.
41673 * include/pupa/loader.h (pupa_loader_unset): New prototype.
41674
41675 * kern/misc.c (pupa_stpcpy): New function.
41676 * include/pupa/misc.h (pupa_stpcpy): New prototype.
41677
41678 2003-11-12 Marco Gerards <metgerards@student.han.nl>
41679
41680 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
41681 for available extensions.
41682
41683 * include/pupa/i386/pc/time.h: New file.
41684 * kern/disk.c: Include <pupa/machine/time.h>.
41685 (PUPA_CACHE_TIMEOUT): New macro.
41686 (pupa_last_time): New variable.
41687 (pupa_disk_open): Flush the cache when there was a timeout.
41688 (pupa_disk_close): Reset the timer.
41689 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
41690 pupa_currticks.
41691 * util/misc.c: Include <sys/times.h>
41692 (pupa_get_rtc): New function.
41693
41694 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41695
41696 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
41697 as blocks.
41698 (pupa_ext2_get_file_block): Use blocks member.
41699
41700 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
41701 first block. Return -1 instead of pupa_errno on error.
41702
41703 2003-10-27 Marco Gerards <metgerards@student.han.nl>
41704
41705 * README: In the pupa-mkimage example use _chain instead of chain
41706 and ext2 instead of fat.
41707 * TODO: Replace ext2fs with jfs as an example. Add an item for
41708 adding journal playback for ext2fs.
41709 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
41710 (pkgdata_MODULES): Added ext2.mod.
41711 (ext2_mod_SOURCES): New variable.
41712 (ext2_mod_CFLAGS): Likewise.
41713 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
41714 * include/pupa/misc.h (pupa_strncpy): New prototype.
41715 (pupa_strcat): Likewise.
41716 (pupa_strncmp): Likewise.
41717 * kern/misc.c (pupa_strcat): Enable function.
41718 (pupa_strncpy): New function.
41719 (pupa_strncmp): Likewise.
41720 * fs/ext2.c: New file.
41721
41722 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
41723 when the read failed before retrying.
41724 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
41725 (_FILE_OFFSET_BITS): Likewise.
41726 * configure.ac: Added AC_SYS_LARGEFILE.
41727
41728 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41729
41730 * genmk.rb (PModule#rule): Make sure to get only symbol names
41731 from the output of nm.
41732 Reported by Robert Millan <rmh.grub@aybabtu.com>.
41733
41734 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41735
41736 I forgot to check in these changes for a long time. This adds
41737 incomplete support for VGA console, and this is still very
41738 buggy. Also, a lot of consideration is required for I18N,
41739 UNICODE, and VGA font issues. Therefore, assume that this is
41740 such that "better than nothing".
41741
41742 * font/manager.c: New file.
41743 * include/pupa/font.h: Likewise.
41744 * include/pupa/i386/pc/vga.h: Likewise.
41745 * term/i386/pc/vga.c: Likewise.
41746 * util/unifont2pff.rb: Likewise.
41747
41748 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
41749 (pkgdata_MODULES): Added vga.mod and font.mod.
41750 (vga_mod_SOURCES): New variables.
41751 (vga_mod_CFLAGS): Likewise.
41752 (font_mod_SOURCES): Likewise.
41753 (font_mod_CFLAGS): Likewise.
41754
41755 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
41756
41757 * include/pupa/term.h: Include pupa/err.h.
41758 (struct pupa_term): Added init and fini.
41759 Changed the argument of putchar to pupa_uint32_t.
41760
41761 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
41762 (pupa_console_real_putchar): New prototype.
41763 (pupa_console_putchar): Removed.
41764 (pupa_console_checkkey): Exported.
41765 (pupa_console_getkey): Likewise.
41766
41767 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
41768 characters.
41769
41770 * kern/term.c (pupa_term_set_current): Rewritten.
41771 (pupa_putchar): Likewise.
41772 (pupa_putcode): New function.
41773
41774 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
41775 (pupa_console_real_putchar): ... this.
41776 (pupa_vga_set_mode): New function.
41777 (pupa_vga_get_font): Likewise.
41778
41779 * normal/command.c: Include pupa/term.h.
41780 (terminal_command): New function.
41781 (pupa_command_init): Register the command "terminal".
41782
41783 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
41784 (DISP_UP): Likewise.
41785 (DISP_RIGHT): Likewise.
41786 (DISP_DOWN): Likewise.
41787 (DISP_HLINE): Likewise.
41788 (DISP_VLINE): Likewise.
41789 (DISP_UL): Likewise.
41790 (DISP_UR): Likewise.
41791 (DISP_LL): Likewise.
41792 (DISP_LR): Likewise.
41793
41794 * term/i386/pc/console.c (pupa_console_putchar): New function.
41795
41796 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
41797
41798 * util/resolve.c (pupa_util_resolve_dependencies): BUG
41799 FIX. Reverse the path_list.
41800
41801 * include/pupa/normal.h: Export pupa_register_command and
41802 pupa_unregister_command.
41803
41804 * hello/hello.c (pupa_cmd_hello): New module.
41805 * conf/i386-pc.rmk: Added hello.mod.
41806
41807 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
41808
41809 * kern/i386/pc/lzo1x.S: New file.
41810
41811 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
41812 (compress_kernel): New variable.
41813 (generate_image): Heavily modified to support compressing a
41814 large part of the core image.
41815
41816 * util/misc.c (pupa_util_read_image): Fix a file descriptor
41817 leak.
41818 (pupa_util_load_image): New function.
41819
41820 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
41821 (pupa_compressed_size): New variable.
41822 (codestart): Enable Gate A20 here.
41823 Decompress the compressed part of the core image.
41824 Rearrange the code to put functions and variables which are
41825 required for initialization in the non-compressed part.
41826 Include lzo1x.S.
41827
41828 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
41829 here.
41830
41831 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
41832
41833 * include/pupa/i386/pc/kernel.h
41834 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
41835 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
41836 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41837 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41838 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
41839
41840 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
41841
41842 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
41843 (Utility#rule): Likewise.
41844
41845 * configure.ac: Check if LZO is available.
41846
41847 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
41848
41849 * include/pupa/normal.h: New file.
41850 * include/pupa/setjmp.h: Likewise.
41851 * include/pupa/i386/setjmp.h: Likewise.
41852 * normal/cmdline.c: Likewise.
41853 * normal/command.c: Likewise.
41854 * normal/main.c: Likewise.
41855 * normal/menu.c: Likewise.
41856 * normal/i386/setjmp.S: Likewise.
41857
41858 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
41859 (pupa_rescue_cmd_initrd): Likewise.
41860
41861 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
41862 Likewise.
41863
41864 * kern/i386/pc/startup.S (translation_table): New variable.
41865 (translate_keycode): New function.
41866 (pupa_console_getkey): Call translate_keycode.
41867
41868 * kern/rescue.c (attempt_normal_mode): New function.
41869 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
41870 it failed, print a message.
41871
41872 * kern/mm.c (pupa_real_malloc): Print more information when a
41873 free magic is broken.
41874 (pupa_free): If the first free header is not free actually, set
41875 it to P.
41876
41877 * kern/main.c (pupa_load_normal_mode): Just load the module
41878 "normal".
41879 (pupa_main): Don't print the message
41880 "Entering into rescue mode..." here.
41881
41882 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
41883 Declared.
41884 (pupa_rescue_cmd_initrd): Likewise.
41885 (pupa_rescue_cmd_initrd): Likewise.
41886
41887 * include/pupa/symbol.h (FUNCTION): Specify the type.
41888 (VARIABLE): Likewise.
41889
41890 * include/pupa/err.h (pupa_err_t): Added
41891 PUPA_ERR_UNKNOWN_COMMAND.
41892
41893 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
41894 (pupa_dl_get_prefix): Likewise.
41895
41896 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
41897 Added _chain.mod and _linux.mod instead of chain.mod and
41898 linux.mod.
41899 (chain_mod_SOURCES): Renamed to ...
41900 (_chain_mod_SOURCES): ... this.
41901 (chain_mod_CFLAGS): Renamed to ...
41902 (_chain_mod_CFLAGS): ... this.
41903 (linux_mod_SOURCES): Renamed to ...
41904 (_linux_mod_SOURCES): ... this.
41905 (linux_mod_CFLAGS): Renamed to ...
41906 (_linux_mod_CFLAGS): ... this.
41907 (normal_mod_SOURCES): New variable.
41908 (normal_mod_CFLAGS): Likewise.
41909 (normal_mod_ASFLAGS): Likewise.
41910
41911 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
41912
41913 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
41914 possible.
41915
41916 * kern/dl.c (pupa_dl_ref): Refer depending modules
41917 recursively.
41918 (pupa_dl_unref): Unrefer depending modules recursively.
41919 Don't call pupa_dl_unload implicitly, because PUPA can crash if
41920 a module is unloaded before one depending on that module is
41921 unloaded.
41922 (pupa_dl_unload): Unload depending modules explicitly,
41923 if possible.
41924
41925 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
41926
41927 * include/pupa/i386/pc/linux.h: New file.
41928 * loader/i386/pc/linux.c: Likewise.
41929
41930 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
41931 Removed.
41932 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
41933 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
41934 of PUPA_CHAINLOADER_BOOT_SECTOR.
41935
41936 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
41937 (pupa_linux_prot_size): New variable.
41938 (pupa_linux_tmp_addr): Likewise.
41939 (pupa_linux_real_addr): Likewise.
41940 (pupa_linux_boot_zimage): New function.
41941 (pupa_linux_boot_bzimage): Likewise.
41942
41943 * kern/i386/pc/init.c (struct mem_region): New structure.
41944 (MAX_REGIONS): New macro.
41945 (mem_regions): New variable.
41946 (num_regions): Likewise.
41947 (pupa_os_area_addr): Likewise.
41948 (pupa_os_area_size): Likewise.
41949 (pupa_lower_mem): Likewise.
41950 (pupa_upper_mem): Likewise.
41951 (add_mem_region): New function.
41952 (compact_mem_regions): Likewise.
41953 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41954 the size of the conventional memory and that of so-called upper
41955 memory (before the first memory hole).
41956 Instead of adding each found region to free memory, use
41957 add_mem_region and add them after removing overlaps.
41958 Also, add only 1/4 of the upper memory to free memory. The rest
41959 is used for loading OS images. Maybe this is ad hoc, but this
41960 makes it much easier to relocate OS images when booting.
41961
41962 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41963 (pupa_enter_rescue_mode): Don't register initrd and module.
41964
41965 * kern/mm.c: Include pupa/dl.h.
41966
41967 * kern/main.c: Include pupa/file.h and pupa/device.h.
41968
41969 * kern/loader.c (pupa_loader_load_module_func): Removed.
41970 (pupa_loader_load_module): Likewise.
41971
41972 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41973 ``.o''.
41974
41975 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41976 (pupa_linux_tmp_addr): Likewise.
41977 (pupa_linux_real_addr): Likewise.
41978 (pupa_linux_boot_zimage): Likewise.
41979 (pupa_linux_boot_bzimage): Likewise.
41980
41981 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41982 (pupa_upper_mem): Likewise.
41983 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41984 module is too dangerous.
41985
41986 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41987 (pupa_os_area_size): Likewise.
41988 (pupa_loader_set): Remove the first argument. Loader doesn't
41989 manage modules or initrd any longer.
41990 (pupa_loader_load_module): Removed.
41991
41992 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41993 (linux_mod_SOURCES): New variable.
41994 (linux_mod_CFLAGS): Likewise.
41995
41996 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41997
41998 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41999 the length of a blocklist correctly.
42000
42001 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
42002 Use ioctl only if the OS file is a block device.
42003 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
42004 not very useful for normal files.
42005
42006 * kern/main.c (pupa_set_root_dev): New function.
42007 (pupa_load_normal_mode): Likewise.
42008 (pupa_main): Call those above.
42009
42010 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
42011 pupa_uint16_t.
42012
42013 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
42014
42015 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
42016
42017 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
42018 (setup): Configure the installed partition information and the
42019 dl prefix.
42020
42021 * loader/i386/pc/chainloader.c (my_mod): New variable.
42022 (pupa_chainloader_unload): New function.
42023 (pupa_rescue_cmd_chainloader): Refer itself.
42024 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42025
42026 * kern/i386/pc/startup.S (install_partition): Removed.
42027 (version_string): Likewise.
42028 (config_file): Likewise.
42029 (pupa_install_dos_part): New variable.
42030 (pupa_install_bsd_part): Likewise.
42031 (pupa_prefix): Likewise.
42032 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42033
42034 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42035 and pupa/misc.h.
42036 (make_install_device): New function.
42037 (pupa_machine_init): Set the dl prefix.
42038
42039 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42040 (buf): Renamed to ...
42041 (linebuf): ... this.
42042 (pupa_rescue_cmd_prefix): New function.
42043 (pupa_rescue_cmd_insmod): Likewise.
42044 (pupa_rescue_cmd_rmmod): Likewise.
42045 (pupa_rescue_cmd_lsmod): Likewise.
42046 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42047 rmmod and lsmod.
42048
42049 * kern/mm.c (pupa_memalign): If failed even after invalidating
42050 disk caches, unload unneeded modules and retry.
42051
42052 * kern/misc.c (pupa_memmove): New function.
42053 (pupa_memcpy): Removed.
42054 (pupa_strcpy): New function.
42055 (pupa_itoa): Made static.
42056
42057 * kern/dl.c (pupa_dl_iterate): New function.
42058 (pupa_dl_ref): Likewise.
42059 (pupa_dl_unref): Likewise.
42060 (pupa_dl_unload): Return if succeeded or not.
42061 (pupa_dl_unload_unneeded): New function.
42062 (pupa_dl_unload_all): Likewise.
42063 (pupa_dl_init): Renamed to ...
42064 (pupa_dl_set_prefix): ... this.
42065 (pupa_dl_get_prefix): New function.
42066
42067 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42068 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42069 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42070 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42071 (pupa_install_dos_part): Declared.
42072 (pupa_install_bsd_part): Likewise.
42073 (pupa_prefix): Likewise.
42074 (pupa_boot_drive): Likewise.
42075
42076 * include/pupa/types.h: Fix a typo.
42077
42078 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42079 pupa_memmove.
42080 (pupa_memmove): Declared.
42081 (pupa_strcpy): Likewise.
42082
42083 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42084 pupa_mod_init takes one argument, its own module.
42085 (pupa_dl_unload_unneeded): Declared.
42086 (pupa_dl_unload_all): Likewise.
42087 (pupa_dl_ref): Likewise.
42088 (pupa_dl_unref): Likewise.
42089 (pupa_dl_iterate): Likewise.
42090 (pupa_dl_init): Renamed to ...
42091 (pupa_dl_set_prefix): ... this.
42092 (pupa_dl_get_prefix): Declared.
42093
42094 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
42095 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
42096 unloaded.
42097 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42098 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42099
42100 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42101 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42102
42103 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42104
42105 * util/i386/pc/pupa-setup.c (setup): Define the internal
42106 function find_first_partition_start at the top level, because GCC
42107 3.0.x cannot compile internal functions in deeper scopes
42108 correctly.
42109 (find_root_device): Use lstat instead of stat.
42110 Don't follow symbolic links.
42111 Fix the path-constructing code.
42112
42113 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42114 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42115 by a BLKGETSIZE ioctl first, because block devices don't fill
42116 the member st_mode of the structure stat on Linux.
42117 [__linux__] (linux_find_partition): Use a temporary buffer
42118 REAL_DEV for the working space. Copy it to DEV before returning.
42119 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42120 buffer cache consistent.
42121 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42122 strncmp. The previous value was merely wrong.
42123 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42124
42125 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42126 FAT size is 12. The previous value was merely wrong.
42127
42128 * kern/main.c (pupa_main): Don't split the starting message from
42129 newlines.
42130
42131 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42132 LF, because BIOS goes crazy about character attributes in this
42133 case.
42134
42135 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42136
42137 * include/i386/pc/util/biosdisk.h: New file.
42138 * util/i386/pc/biosdisk.c: Likewise.
42139 * util/i386/pc/pupa-setup.c: Likewise.
42140
42141 * Makefile.in (INCLUDE_DISTFILES): Added
42142 include/pupa/i386/pc/util/biosdisk.h.
42143 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42144 directory util/i386/pc.
42145 (install-local): Added a rule for sbin_UTILITIES.
42146 (uninstall): Likewise.
42147
42148 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42149
42150 * util/misc.c (xrealloc): New function.
42151 (pupa_malloc): Likewise.
42152 (pupa_free): Likewise.
42153 (pupa_realloc): Likewise.
42154 (pupa_stop): Likewise.
42155 (pupa_putchar): Likewise.
42156
42157 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42158
42159 * include/pupa/util/misc.h (xrealloc): Declared.
42160
42161 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42162 macro.
42163 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42164 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42165
42166 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42167 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42168
42169 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42170 way should be implemented.
42171 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42172
42173 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42174 the size of NAME for safety.
42175 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42176 0x88.
42177
42178 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42179 (pupa_setup_SOURCES): Likewise.
42180
42181 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42182
42183 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42184
42185 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42186 bunch of pushl's from pusha, because this destroys the return
42187 value.
42188
42189 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42190
42191 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42192 This means that any missing prototypes could be fatal. Also, you
42193 must take care when writing assembly code. See the comments at
42194 the beginning of startup.S, for more details.
42195
42196 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42197 compilation mechanism.
42198 (pupa_chainloader_real_boot): Likewise.
42199 (pupa_biosdisk_rw_int13_extensions): Likewise.
42200 (pupa_biosdisk_rw_standard): Likewise.
42201 (pupa_biosdisk_check_int13_extensions): Likewise.
42202 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42203 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42204 (pupa_get_memsize): Likewise.
42205 (pupa_get_mmap_entry): Likewise.
42206 (pupa_console_putchar): Likewise.
42207 (pupa_console_setcursor): Likewise.
42208 (pupa_getrtsecs): Use pushl instead of push.
42209
42210 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42211 memory instead of the stack for a mmap entry, because some
42212 BIOSes may ignore the maximum size and overflow.
42213
42214 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42215
42216 * genmk.rb (PModule#rule): Compile automatically generated
42217 sources with module-specific CFLAGS as well as other sources.
42218
42219 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42220
42221 * configure.ac: Check ld.
42222 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42223 respectively, before checking endianness and sizes.
42224
42225 * Makefile.in (LD): New variable.
42226
42227 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42228
42229 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42230
42231 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42232
42233 * Changelog: New file.
42234