]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/kern/emu/console.c: Move to ...
[grub2.git] / ChangeLog
1 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/kern/emu/console.c: Move to ...
4 * grub-core/term/emu/console.c: ...here.
5 (grub_ncurses_getkey): Fix return value if no key is detected.
6
7 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8
9 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
10 (grub_unit_test_fini): Likewise.
11 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
12
13 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
14
15 * include/grub/test.h (GRUB_UNIT_TEST)
16
17 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * grub-core/script/execute.c (grub_script_break): Clarify logic.
20 Better error handling.
21 (grub_script_return): Likewise.
22 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
23
24 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
25
26 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
27 rimplicit redifinition.
28
29 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
30
31 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
32 GRUB.
33
34 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
37 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
38 prompt here.
39
40 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
43 as GRUB_ERR_BUG. Don't malloc if no device is available.
44
45 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
48 Mark calling with invalid term as GRUB_ERR_BUG.
49
50 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
53 packets rather than raising an error.
54
55 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
58 in if.
59
60 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
63 diagnostic to dprintf.
64 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
65
66 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
67
68 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
69 device name.
70
71 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
72
73 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
74 (grub_ntfs_iterate_dir): Likewise.
75
76 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
77
78 Efiemu stylistic fixes and gettext.
79
80 * grub-core/efiemu/i386/loadcore32.c
81 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
82 * grub-core/efiemu/i386/loadcore64.c
83 (grub_arch_efiemu_relocate_symbols64): Likewise.
84 * grub-core/efiemu/i386/pc/cfgtables.c
85 (grub_machine_efiemu_init_tables): Likewise.
86 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
87 (grub_efiemu_loadcore_initXX): Add a filename argument.
88 All users updated.
89 Improved error message.
90 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
91 Add a filename argument.
92 All users updated.
93 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
94 Reclassify double relocation as GRUB_ERR_BUG.
95
96 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
97
98 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
99 handling.
100
101 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
102
103 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
104 on partition.
105
106 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
109
110 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
111
112 Improve string. Gettextize.
113
114 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
117 utils.
118 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
119
120 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
121
122 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
123 [GRUB_UTIL]: New function.
124 (insert_array) [GRUB_UTIL]: Store partmaps.
125 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
126 partmaps.
127 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
128 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
129 (probe_abstraction): Print diskfilter and not raid.
130 Reported by: Lennart Sorensen
131
132 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
133
134 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
135 * util/grub-mkimagexx.c (MASK3): New define.
136 (add_value_to_slot_20b): Use MASK3.
137 (add_value_to_slot_21): Likewise.
138 (relocate_addresses): Fix format specification.
139 (load_image): Explicitly init symtab_section.
140
141 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
142
143 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
144 (grub_util_biosdisk_get_grub_dev): Fix format specification.
145
146 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
149 on powerpc.
150 Reported by: Lennart Sorensen
151
152 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
153
154 * gentpl.py: Add missing license header.
155 * docs/grub.texi: Update copyright year.
156
157 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
158
159 Source grub-mkconfig_lib from the build directory at build time.
160 Suggested by: Vladimir Serbinenko.
161
162 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
163 * util/grub-install.in: Define pkgdatadir if not already set, and source
164 grub-mkconfig_lib from there.
165 * util/grub-kbdcomp.in: Likewise.
166 * util/grub-mkconfig.in: Likewise.
167 * util/grub-mknetdir.in: Likewise.
168 * util/grub-mkrescue.in: Likewise.
169 * util/grub-mkstandalone.in: Likewise.
170 * util/grub-reboot.in: Likewise.
171 * util/grub-set-default.in: Likewise.
172 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
173
174 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
175
176 Increase warning level.
177
178 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
179 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
180 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
181 (TARGET_CFLAGS): Likewise.
182 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
183 * grub-core/Makefile.core.def (decompressor_xz): Add
184 -Wno-unreachable-code.
185 (normal): Add -Wno-redundant-decls.
186 (xzio): Add -Wno-unreachable-code.
187 (lzopio): Add -Wno-redundant-decls -Wno-error.
188 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
189 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
190 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
191 * grub-core/kern/dl.c: Add exception to -Wcast-align.
192 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
193 * grub-core/kern/i386/coreboot/init.c: Add exception to
194 -Wsuggest-attribute=noreturn.
195 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
196 * grub-core/kern/ia64/dl_helper.c: Likewise.
197 * grub-core/kern/mips/dl.c: Likewise.
198 * grub-core/kern/sparc64/dl.c: Likewise.
199 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
200 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
201 (memcmp): Likewise.
202 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
203 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
204 * grub-core/loader/mips/linux.c: Likewise.
205 * grub-core/loader/multiboot_elfxx.c: Likewise.
206 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
207 * grub-core/video/sm712.c: Add exception to -Wcast-align.
208 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
209 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
210 fixme.
211 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
212 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
213 Fix prototype.
214
215 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
218 address.
219
220 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
223 Avoid improper use of strings.
224 (grub_cmd_legacy_initrdnounzip): Likewise.
225
226 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
227
228 * include/grub/emu/misc.h (grub_util_warn): Add missing format
229 attribute.
230 (grub_util_info): Likewise.
231 (grub_util_error): Likewise.
232
233 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
236 * util/grub-fstest.c (fstest): Likewise.
237
238 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
241 (grub_md_sha512_real): Likewise.
242 (grub_util_get_geli_uuid): Likewise.
243 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
244 (grub_util_biosdisk_open): Fix format specification.
245 Respect format security.
246 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
247 (xrealloc): Likewise.
248 (xasprintf): Likewise.
249
250 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
251
252 * util/import_gcry.py: Include grub/crypto.h in init.c.
253
254 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
255
256 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
257 (generate_image): Make prefix a const char *.
258 Fix format specifications. Respect format security.
259 Avoid void * arithmetics.
260 Avoid shadowing.
261 (argp_parser): Remove unused variable. Respect format security.
262 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
263 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
264 (count_funcs): Remove unused variable.
265 (relocate_addresses): Fix format specification.
266 Disable x86-64 with elf32. Remove unused variables.
267 (add_fixup_entry): Avoid shadowing.
268 (make_reloc_section): Fix format specification.
269 Use assert.
270 (locate_sections): Fix format specifications.
271 (load_image): Avoid shadowing.
272
273 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
276 Fix format specifications. Respect format security.
277 Don't translate already translated grub_errmsg.
278 (argp_parser): Remove unused variable
279
280 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
283
284 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
287 (main): Likewise. Use xmalloc. Respect format security.
288
289 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
290
291 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
292 a const char *.
293 (argp_parser): Remove unused variable.
294
295 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
298 (add_pixel): Make static.
299 (add_font): Likewise.
300 (write_string_section): Make name and str a const char *.
301 (write_be16_section): Make name a const char *.
302 (print_glyphs): Make static.
303 (write_font_ascii_bitmap): Likewise.
304 (write_font_width_spec): Likewise.
305 (write_font_pf2): Likewise.
306 (argp_parser): Remove unused variable.
307 Respect format security.
308 (main): Avoid shadowing. Respect format security.
309
310 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * util/grub-editenv.c (argp_parser): Make static.
313 (create_envblk_file): Use xmalloc.
314 (open_envblk_file): Likewise.
315 Resepect format security.
316 (set_variables): Respect format security.
317
318 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
319
320 * util/getroot.c (grub_find_device): Respect format security.
321 (get_mdadm_uuid): Remove unused variable.
322 (grub_util_pull_device): Dont call gettext on already translated
323 grub_errmsg.
324 (find_system_device): Remove unused variable.
325 (grub_util_get_grub_dev): Likewise.
326 (grub_make_system_path_relative_to_its_root): Respect format security.
327
328 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * util/grub-fstest.c (execute_command): Make first argument
331 a const char *.
332 (read_file): Avoid shadowing.
333 Reuse underlying error message if device open fails.
334 (cmd_cmp): Respect format security.
335 (root): Make const char *.
336 (fstest): Remove args argument and use global copy.
337 Respect format security.
338 (argp_parser): Make static.
339 (main): Make default_root const char *.
340
341 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
342
343 * util/grub-mount.c (root): Make const char *.
344 (execute_command): Make first argument a const char *.
345 (fuse_init): Respect format security.
346 (argp_parser): Make static. Remove unused variable.
347 (main): Make default_root a const char *.
348 Respect format security.
349
350 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * util/grub-probe.c (probe): Don't call gettext on already translated
353 grub_errmsg.
354 Remove unused variables.
355 (argp_parser): Remove unused variable.
356
357 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
358
359 * util/grub-script-check.c (argp_parser): Remove unused variable.
360 (main): Rename read to curread to avoid shadowing.
361
362 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
363
364 * util/misc.c (grub_util_write_image_at): Fix format specification.
365 (grub_util_write_image): Likewise.
366 (grub_script_execute_argument_to_string): Removed (unused).
367 (grub_script_execute_menuentry): Likewise.
368 (grub_putchar): Likewise.
369
370 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
373 (FUNCTION) [GRUB_UTIL]: Likewise.
374 (VARIABLE) [GRUB_UTIL]: Likewise.
375
376 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
379 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
380
381 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
384 buffer.
385
386 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
389 (LzmaEnc_SaveState): Removed (unused).
390 (LzmaEnc_RestoreState): Likewise.
391 (LzmaEnc_InitPriceTables): Made static.
392 (LzmaEnc_Construct): Likewise.
393 (LzmaEnc_FreeLits): Likewise.
394 (LzmaEnc_Destruct): Likewise.
395 (LzmaEnc_Init): Likewise.
396 (LzmaEnc_InitPrices): Likewise.
397 (LzmaEnc_Finish): Likewise.
398 (LzmaEnc_PrepareForLzma2): Removed (unused).
399 (LzmaEnc_MemPrepare): Likewise.
400 (LzmaEnc_GetNumAvailableBytes): Likewise.
401 (LzmaEnc_GetCurBuf): Likewise.
402 (LzmaEnc_CodeOneMemBlock): Likewise.
403
404 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
405
406 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
407 (grub_util_ldm_embed): Likewise.
408
409 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * util/grub-editenv.c (print_var): Rename name to varname to
412 avoid shadowing.
413 (main): Rename index to curindex to avoid shadowing.
414 Make filename a const char *.
415
416 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
417
418 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
419 to arg_getline to avoid shadowing.
420
421 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
422
423 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
424 disk_ to avoid shadowing.
425
426 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
429 curindex to avoid shadowing.
430 Make static.
431 (MatchFinder_GetNumAvailableBytes): Make static.
432
433 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
436 avoid shadowing.
437
438 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
441 argument from encrypt to do_encrypt to avoid shadowing.
442
443 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
446 incorrect nesting of #if's.
447
448 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
451 checks which are always false on some platforms.
452 (grub_cmd_lsacpi): Likewise.
453 * grub-core/kern/misc.c (grub_strtoul): Likewise.
454 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
455 Likewise.
456
457 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
458
459 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
460 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
461
462 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
465 re_dfa_t to avoid breaking alignment invariants.
466 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
467 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
468
469 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
472 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
473
474 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
477 Fix declaration.
478
479 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
482 conserve alignment invariants.
483 (grub_ehci_ehcc_read16): Likewise.
484 (grub_ehci_oper_read32): Likewise.
485 (grub_ehci_oper_write32): Likewise.
486 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
487 Conserve alignment invariants.
488
489 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
490
491 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
492 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
493 declarations.
494
495 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
496
497 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
498 Remove unused variable.
499
500 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
501
502 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
503 Remove set in if.
504
505 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * include/grub/net.h: Remove double declarations.
508
509 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
510
511 Remove "payload" command in ia64 Linux loader since I couldn't
512 find any evidence of it being used for anything.
513 Replace "relocate" command with an environment variable
514
515 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
516 fields.
517 (ia64_boot_payload): Removed.
518 (last_payload): Likewise.
519 (RELOCATE_OFF): Likewise.
520 (RELOCATE_ON): Likewise.
521 (RELOCATE_FORCE): Likewise.
522 (relocate): Likewise.
523 (free_pages): Don't free payloads.
524 (grub_load_elf64): Use common error messages.
525 Use "linux_relocate" variable.
526 Increase the space after boot_params.
527 (grub_cmd_payload): Removed.
528 (grub_cmd_relocate): Likewise.
529 (grub_cmd_fpswa): Improve messages.
530 (cmd_payload): Removed.
531 (cmd_relocate): Likewise.
532 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
533 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
534
535 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
536
537 Convert UHCI to DMA framework.
538
539 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
540 (grub_uhci_pci_iter): Fill new members
541 (grub_alloc_td): Use P2V and V2P functions.
542 (grub_free_queue): Likewise.
543 (grub_alloc_qh): Likewise.
544 (grub_uhci_setup_transfer): Likewise.
545 (grub_uhci_check_transfer): Likewise.
546
547 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
548
549 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
550 Remove assignment in if while on it.
551
552 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * util/grub-mkstandalone.in: Fix modules directory.
555
556 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
559 on i386-pc target.
560 (argp_parser): Accept "auto" as compression specification.
561
562 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
563
564 Fix `help' with unloaded modules.
565
566 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
567 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
568 (grub_dyncmd_dispatcher): Small stylistic fix.
569 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
570 explicit help is requested.
571
572 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
575 Explicitly init restart while on it.
576
577 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
580 uninited variable.
581
582 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * util/grub-mknetdir.in: Use . rather than source for POSIX
585 compatibility.
586
587 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
590
591 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
594 variable.
595
596 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
599 without quotes.
600
601 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
604
605 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
608 iteration of partitions.
609
610 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Improve gettext support. Stylistic fixes and error handling fixes while
613 on it.
614
615 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
618 part. Instead setup the correct stack in RM.
619 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
620 for stack.
621 * include/grub/i386/relocator_private.h: New file.
622
623 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
626 argument.
627 * util/grub-fstest.c (options): Add missing DEVICE part.
628
629 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
630
631 Clarify and unify messages.
632
633 * grub-core/commands/hashsum.c (options): Unify messages.
634 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
635 literal-only message as translatable.
636 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
637 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
638 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
639 commands.
640 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
641 key, not the key used to unlock. Clarify what it's used for.
642 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
643 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
644 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
645 * util/grub-editenv.c (options): Unify "verbose" message.
646 * util/grub-fstest.c (read_file): Unify error message.
647 (fstest): Add quotes around commands.
648 (options): Unify "verbose" message.
649 * util/grub-install.in: Add quotes around variable name.
650 * util/grub-kbdcomp.in: Unify error message.
651 * util/grub-mkfont.c (main): Likewise.
652 * util/grub-mkrescue.in: Likewise.
653 * util/grub-mklayout.c (options): Unify "verbose" message.
654 * util/grub-mkstandalone.in: Unify help and verbose messages.
655 * util/grub-mount.c (options): Unify "verbose" message.
656 * util/grub-probe.c (options): Likewise.
657 * util/grub-script-check.c (options): Likewise.
658 * util/grub-setup.c (setup): Unify no-terminator message.
659 (options): Use DEVICE and not DEV.
660 Unify "verbose" message.
661 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
662
663 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
664
665 Improve and unify messages.
666
667 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
668 name. All users updated.
669 Print filename in error.
670 (read_device_map): Print filename in error.
671 * util/getroot.c (grub_guess_root_devices): Print filename in error.
672 (grub_util_get_os_disk): Likewise.
673 (grub_util_biosdisk_get_grub_dev): Likewise.
674 (grub_util_check_block_device): Likewise.
675 (grub_util_check_char_device): Likewise.
676 (grub_make_system_path_relative_to_its_root): Likewise.
677 * util/grub-editenv.c (create_envblk_file): Likewise.
678 (open_envblk_file): Likewise.
679 (write_envblk): Likewise.
680 * util/grub-fstest.c (cmd_cp): Likewise.
681 (cmd_cat): Likewise.
682 (cmd_cmp): Likewise.
683 * util/grub-menulst2cfg.c (main): Likewise.
684 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
685 (write_font_width_spec): Likewise.
686 (write_font_pf2): Likewise.
687 * util/grub-mkimage.c (generate_image): New argument outname.
688 All users updated.
689 Remove unreacheable message.
690 (options): Unify messages.
691 (help_filter): Likewise.
692 * util/grub-mklayout.c (usage): Removed (unused).
693 (main): Print filename in error.
694 * util/grub-mkrescue.in: Fix wrong quoting.
695 * util/grub-setup.c (setup): Print filename in error.
696 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
697 (check_sas): Likewise.
698 * util/misc.c (grub_util_get_fp_size): Removed.
699 (grub_util_get_image_size): Print filename in error.
700 (grub_util_read_at): Removed.
701 (grub_util_read_image): Print filename in error.
702 (grub_util_load_image): Likewise.
703 (grub_util_write_image_at): New argument filename. All users updated.
704 Print filename in error.
705 (grub_util_write_image): New argument filename. All users updated.
706 Print filename in error.
707 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
708 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
709
710 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/Makefile.core.def (pxechain): New module.
713 * grub-core/loader/i386/pc/pxechainloader.c: New file.
714 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
715 function.
716 (grub_pc_net_config_real): Use grub_pxe_get_cached.
717 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
718
719 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
722 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
723 * include/grub/err.h (grub_error_saved): New struct.
724 (grub_errmsg): Make array size explicit.
725 * include/grub/misc.h (grub_error_save): New function.
726 (grub_error_load): Likewise.
727 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
728 (grub_error_push): Update `errno' member name.
729 (grub_error_pop): Likewise
730 * grub-core/net/tftp.c (tftp_data): New member save_err.
731 (tftp_receive): Save error.
732 (tftp_open): Restore error.
733
734 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
737 to real mode down to execute A20-related code in protected mode as
738 intended.
739
740 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
741
742 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
743 NULL when the argument `level' has an unexpected value.
744
745 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Move platform-dependent files from $prefix to $prefix/$platform.
748
749 * config.h.in (GRUB_TARGET_CPU): New definition.
750 (GRUB_PLATFORM): Likewise.
751 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
752 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
753 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
754 * grub-core/kern/dl.c (grub_dl_load): Likewise.
755 * grub-core/normal/autofs.c (read_fs_list): Likewise.
756 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
757 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
758 * grub-core/normal/term.c (read_terminal_list): Likewise.
759 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
760 $prefix/locale.
761 (grub_gettext_init_ext): Likewise.
762 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
763 grub_platform.
764 * util/grub-install.in: Update directories.
765 * util/grub-mknetdir.in: Likewise.
766 * util/grub-mkrescue.in: Likewise.
767
768 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
769
770 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
771 grub_error framework. All users updated.
772
773 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
776 lists (by always binsearching), improve caching (cache strings
777 used for binsearch, not only results), improve
778 maintainability (by using more structured binary search) and correct
779 error handling.
780
781 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/script/execute.c (grub_script_return): Fix warning.
784
785 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/script/execute.c (grub_script_return): Fix potential
788 NULL-dereference.
789 Reported by: Jim Meyering.
790
791 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * po/POTFILES.in: Regenerate.
794 * util/grub-install.in: Gettextize the strings missed in first pass.
795
796 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * Makefile.util.def (grub-mkdevicemap): Removed.
799 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
800 * include/grub/util/deviceiter.h: Removed.
801 * util/deviceiter.c: Likewise.
802 * util/getroot.c (grub_util_get_os_disk): New function.
803 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
804 replacement for EFI.
805 * util/grub-mkdevicemap.c: Removed.
806 * util/grub-probe.c (probe): Handle PRINT_DISK.
807 (argp_parser): Handle -t disk.
808
809 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * util/grub-mkfont.c: Migrate to argp.
812 * util/grub-mklayout.c: Likewise.
813 * util/grub-mkpasswd-pbkdf2.c: Likewise.
814 * util/grub-mkrelpath.c: Likewise.
815 * util/grub-probe.c: Likewise.
816 * util/grub-script-check.c: Likewise.
817
818 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * util/grub-reboot.in: Add missing datarootdir.
821 Add missing newline.
822 * util/grub-set-default.in: Add missing datarootdir.
823 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
824 * util/grub-mkrescue.in: Likewise.
825
826 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
829
830 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * util/grub-kbdcomp.in: Add decent help and gettextize.
833 * docs/man/grub-kbdcomp.h2m: New file.
834
835 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
836
837 Migrate grub-mkimage.c to argp.
838
839 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
840 (grub-setup): Likewise.
841 * util/grub-setup.c (print_version): Move to ...
842 * util/argp_common.c (print_version): ... here.
843 * util/grub-setup.c (argp_program_version_hook): Move to ...
844 * util/argp_common.c (argp_program_version_hook): ... here.
845 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
846 safety.
847 * util/grub-mkimage.c (main): Migrate to argp.
848
849 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * util/grub-mkrescue.in: Use same message as
852 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
853 for better translations.
854
855 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
856
857 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
858 options with generic grub-mkrescue.in with the goal of future
859 merge.
860
861 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * grub-core/kern/mm.c: Add missing include of i18n.h
864 * grub-core/lib/relocator.c: Likewise.
865
866 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
869 error.
870 (allocate_pages): Check return value.
871 Replace fatal with error.
872 (grub_linux_boot): Replace printf with dprintf.
873 Check find_mmap_size return value.
874 Replace fatal with error.
875 Don't call grub_machine_fini.
876 (grub_load_elf64): Replace printf with dprintf.
877 (grub_cmd_linux): Likewise.
878 (grub_cmd_initrd): Likewise.
879 (grub_cmd_payload): Likewise.
880
881 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
882
883 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
884 message.
885 * grub-core/video/radeon_fuloong2e.c
886 (grub_video_radeon_fuloong2e_setup): Likewise.
887 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
888 * grub-core/video/video.c (grub_video_set_mode): Don't override
889 standard out of memory message.
890
891 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
892
893 NetBSD disk wedge support.
894
895 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
896 [__NetBSD__]: Handle NetBSD disk wedges.
897 * util/getroot.c (convert_system_partition_to_system_disk)
898 [__NetBSD__]: Likewise.
899
900 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
901
902 * util/grub-mkconfig.in: Use umask rather than chmod to create
903 grub.cfg.new to avoid insecure grub.cfg.
904
905 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
906
907 * grub-core/commands/ls.c: Gettextize.
908 * grub-core/commands/setpci.c: Likewise.
909 * grub-core/commands/videotest.c: Likewise.
910 * grub-core/disk/geli.c: Likewise.
911 * grub-core/kern/mm.c: Likewise.
912 * grub-core/lib/relocator.c: Likewise.
913 * grub-core/loader/efi/appleloader.c: Likewise.
914 * grub-core/loader/i386/xnu.c: Likewise.
915 * grub-core/loader/ia64/efi/linux.c: Likewise.
916 * grub-core/loader/xnu.c: Likewise.
917 * grub-core/net/dns.c: Likewise.
918 * grub-core/net/net.c: Likewise.
919 * grub-core/script/lexer.c: Likewise.
920 * grub-core/script/parser.y: Likewise.
921 * grub-core/script/yylex.l: Likewise.
922 * util/getroot.c: Likewise.
923 * util/grub-setup.c: Likewise.
924
925 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
926
927 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
928 number.
929
930 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
933
934 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
935
936 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
937 macro.
938 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
939 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
940
941 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
944 * util/grub-install.in: Gettextize.
945 * util/grub-mkconfig.in: Likewise.
946 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
947 if not available.
948 (grub_warn): Gettextize.
949 * util/grub-mknetdir.in: Gettextize.
950 * util/grub-mkrescue.in: Likewise.
951 * util/grub-mkstandalone.in: Likewise.
952 * util/grub-reboot.in: Likewise.
953 * util/grub-set-default.in: Likewise.
954 * util/grub.d/00_header.in: Likewise.
955 * util/grub.d/10_hurd.in: Likewise.
956 * util/grub.d/10_kfreebsd.in: Likewise.
957 * util/grub.d/10_linux.in: Likewise.
958 * util/grub.d/10_netbsd.in: Likewise.
959 * util/grub.d/10_windows.in: Likewise.
960 * util/grub.d/20_linux_xen.in: Likewise.
961 * util/grub.d/30_os-prober.in: Likewise.
962 * po/POTFILES-shell.in: Regenerate.
963
964 2012-02-03 Richard Laager <rlaager@wiktel.com>
965
966 * util/grub-mkimage.c (main): Fix format-security warning.
967 * util/grub-mkrelpath.c (main): Likewise.
968 * util/grub-probe.c (main): Likewise.
969
970 2012-02-03 Richard Laager <rlaager@wiktel.com>
971
972 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
973 failure.
974 Put back lost PRINT_DRIVE.
975
976 2012-02-03 Richard Laager <rlaager@wiktel.com>
977
978 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
979 (grub_guess_root_devices): Replace strlen with sizeof.
980 Avoid crash.
981 (find_root_devices_from_poolname): Remove unused variable.
982 Handle raidzN.
983
984 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
985
986 Support install on multi-device filesystems.
987
988 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
989 (grub_guess_root_devices): ...this. Return char **. All users updated.
990 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
991 Removed.
992 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
993 (find_root_devices_from_poolname): ... here.
994 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
995 Support zfs-fuse.
996 (grub_guess_root_device): Rename to ...
997 (grub_guess_root_devices): ... this. Return char **. All users updated.
998 * util/grub-install.in: Handle multi-device filesystems.
999 * util/grub-probe.c (probe). Make device_names a char **. Add delim
1000 argument. All users updated.
1001 Handle multi-device filesystems.
1002 Use 'delim' as separator.
1003 Remove device check to allow filesystems on file.
1004 (main): Support -0 argument. Handle multi-device.
1005 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
1006 Fix a cross-device check while on it.
1007 (arguments): Remove root_dev.
1008 (argp_parser): Remove -r.
1009 (main): Remove root_dev.
1010
1011 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1012
1013 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
1014
1015 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
1018 symbol.
1019 Reported by: NODA, Kai <nodakai>.
1020
1021 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1022
1023 Fix ehci on amd64.
1024
1025 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
1026 pointers.
1027 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
1028 (grub_ehci_setup_qh): Likewise.
1029 (grub_ehci_find_qh): Likewise.
1030 (grub_ehci_transaction): Likewise.
1031 (grub_ehci_setup_transfer): Likewise.
1032 (grub_ehci_check_transfer): Likewise.
1033 (grub_ehci_portstatus): Likewise.
1034 (grub_ehci_detect_dev): Likewise.
1035 (grub_ehci_transfer_controller_data): New field td_last_phys.
1036 (grub_ehci_setup_transfer): Fill td_last_phys.
1037 (grub_ehci_check_transfer): Use td_last_phys.
1038
1039 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
1040
1041 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
1042 if no submenu is present.
1043
1044 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1045
1046 CBI support.
1047
1048 * include/grub/usb.h (grub_usbms_protocol_t): New values
1049 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
1050 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
1051 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
1052 (grub_usbms_dev): Add subclass, protocol and intrpt.
1053 Remove in_maxsz and out_maxsz.
1054 (grub_usbms_reset): Rename to ...
1055 (grub_usbms_bo_reset): .. this.
1056 (grub_usbms_cbi_cmd): New function.
1057 (grub_usbms_cbi_reset): Likewise.
1058 (grub_usbms_reset): Likewise.
1059 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
1060 (grub_usbms_transfer): Rename to ...
1061 (grub_usbms_transfer_bo): ... this.
1062 (grub_usbms_transfer_cbi): Likewise.
1063 (grub_usbms_transfer): Likewise.
1064
1065 2012-02-01 Aleš Nesrsta <starous@volny.cz>
1066 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
1069 the support for the CS5536 modification thereos and few bugfixes.
1070
1071 * grub-core/Makefile.core.def (ehci): New module.
1072 * grub-core/bus/usb/ehci.c: New file.
1073 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
1074 port and hubaddr. All users updated.
1075 Save port and hubaddr into dev structure.
1076 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
1077 define.
1078 * include/grub/pci.h (grub_dma_phys2virt): New function.
1079 (grub_dma_virt2phys): Likewise.
1080 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
1081
1082 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
1085 check as some mkfs implementations omit it.
1086
1087 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * docs/grub.texi (Unicode): Mention identifier and space limitations.
1090
1091 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
1094 Add new member volname2.
1095 (grub_jfs_label): Use volname2 if available.
1096
1097 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
1100 over last_mounted as seen in image generated by mkfs.nilfs2.
1101 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
1102
1103 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
1106 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
1107 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
1108
1109 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1110
1111 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
1112 over the sector.
1113
1114 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1115
1116 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
1117 subvolume name (by removing a bogus and useless check).
1118
1119 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1120
1121 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
1122 sizeof while on it.
1123
1124 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
1127 (grub_scsi_read_capacity10): ... this.
1128 (grub_scsi_read_capacity16): New function.
1129 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
1130 0xffffffff.
1131 Fix off-by-one error.
1132 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
1133 64-bit unsigned.
1134 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
1135 (grub_scsi_read_capacity10): ... this.
1136 (grub_scsi_read_capacity_data): Rename to ...
1137 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
1138 (grub_scsi_read_capacity16): New struct.
1139 (grub_scsi_read_capacity16_data): Likewise.
1140 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
1141 grub_scsi_cmd_read_capacity10.
1142 New command grub_scsi_cmd_read_capacity16.
1143
1144 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1145
1146 SCSI >2TiB support.
1147
1148 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
1149 (grub_scsi_write16): Likewise.
1150 (grub_scsi_read): Use read16 when necessary.
1151 (grub_scsi_write): Likewise.
1152 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
1153 (grub_scsi_write16): Likewise.
1154 (grub_scsi_cmd_t): Add READ16 and WRITE16.
1155
1156 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 SCSI write support (for usbms mainly).
1159
1160 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
1161 a const pointer.
1162 (grub_scsi_write): Implement.
1163 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
1164
1165 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
1168 variable.
1169
1170 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * grub-core/lib/posix_wrap/string.h (memchr): New function.
1173
1174 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * po/POTFILES.in: Regenerate.
1177
1178 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1179
1180 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
1181 with grub_printf to avoid unnecessary fatal failure.
1182
1183 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1184
1185 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
1186 (INT_MAX): Likewise.
1187 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
1188 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
1189 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
1190 (strcpy): Likewise.
1191 (strstr): Likewise.
1192 (strchr): Likewise.
1193 (strncpy): Likewise.
1194 (strcat): Likewise.
1195 (strncat): Likewise.
1196 (strcoll): Likewise.
1197 * include/grub/types.h (GRUB_SHRT_MAX): New define.
1198 (GRUB_INT_MAX): Likewise.
1199
1200 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
1203 unexpected error.
1204 (optimize_utf8): Likewise.
1205 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
1206
1207 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * grub-core/boot/i386/pc/lnxboot.S: Use
1210 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
1211 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
1212 location.
1213 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
1214 definition.
1215 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
1216
1217 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1218
1219 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
1220 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
1221 now to avoid double free.
1222 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
1223 hostdisk.
1224 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
1225 * util/grub-probe.c (escape_of_path): Always return a new copy.
1226 (print_full_name): Escape path.
1227 (probe): Don't call grub_util_devname_to_ofpath on NULL.
1228 Fix hints on abstractions.
1229
1230 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
1233 Don't add "root" line if no compatibility hont is available.
1234 Suggested by: Seth Goldberg.
1235
1236 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
1239 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
1240 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
1241 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
1242
1243 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
1246
1247 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * util/grub-pe2elf.c (ehdr): Make static.
1250 (shdr): Likewise.
1251 (num_sections): Likewise.
1252 (offset): Likewise.
1253
1254 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 Eliminate ofpath limits and possible overflows.
1257
1258 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
1259 (OF_PATH_MAX): Removed.
1260 (MAX_DISK_CAT): New const.
1261 (find_obppath): Use allocated rather than preallocated buffer.
1262 Return result. Argument of_path removed. All users updated.
1263 Add missing fdstat.
1264 (xrealpath): New function.
1265 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
1266 Allocate rather than use preallocated buffer. All users updated.
1267 (__of_path_common): Use allocated rather than preallocatecd buffer.
1268 Return result. Argument of_path removed. All users updated.
1269 (vendor_is_ATA): Read only needed part form the file.
1270 (check_sas): Allocate depending on contents rather than fixed.
1271 (main) [STANDALONE]: Handle NULL result.
1272
1273 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/normal/completion.c (iterate_dev): Close the disk.
1276
1277 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 Cryptodisk write support.
1280
1281 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
1282 (grub_cryptodisk_decrypt): Moved logic to ...
1283 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
1284 (grub_cryptodisk_write): Implement.
1285 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
1286 (grub_util_fd_write): ... this. Make global.
1287 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
1288
1289 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1290
1291 * include/grub/list.h (grub_list_remove): Don't crash if element is
1292 removed twice.
1293
1294 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1295
1296 Rename ofconsole to console.
1297
1298 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
1299 as sysnonym to console.
1300 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
1301 * grub-core/term/ieee1275/console.c: ... this. All users updated.
1302 Rename grub_ofconsole_ to grub_console_. All users updated
1303 (grub_console_term_output): Rename "ofconsole" to "console".
1304 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
1305 as "console".
1306
1307 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
1310 handling.
1311 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
1312 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
1313 GRUB_DISK_DEVICE_FILE_ID.
1314
1315 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
1318 and improve performance.
1319
1320 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1321
1322 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
1323 missing ieee1275/ prefix on whole disk.
1324
1325 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
1328 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
1329
1330 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
1333
1334 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 Merge common RAID and LVM logic to an abstract diskfilter.
1337 Add LDM support using the same framework.
1338
1339 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
1340 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
1341 (libgrubmods): Remove grub-core/disk/raid.c and
1342 grub-core/partmap/gpt.c.
1343 * grub-core/Makefile.core.def (ldm): New module.
1344 (raid): Renamed to diskfilter. All users updated.
1345 * grub-core/disk/raid.c: Moved to ...
1346 * grub-core/disk/diskfilter.c: ... here.
1347 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
1348 (lv_num): New var.
1349 (find_array): Renamed to ...
1350 (find_lv): ... this. Support multi-LV. Skip nameless LVs
1351 (grub_is_array_readable): Renamed to ...
1352 (grub_is_lv_readable): ... this. Support multinode hierarchy.
1353 (insert_array): New argument id.
1354 (is_node_readable): New function.
1355 (scan_device): Rename to ...
1356 (scan_disk): .. this. Restrict to one disk.
1357 (scan_devices): New function.
1358 (grub_diskfilter_iterate): Support multi-LV.
1359 Skip invisible and nameless LVs.
1360 (grub_diskfilter_memberlist): Support multi-LV.
1361 (grub_diskfilter_read_node): New function.
1362 (grub_raid_read): Most of logic moved to ...
1363 (read_segment): ... here
1364 (read_lv): New function.
1365 (grub_diskfilter_get_vg_by_uuid): New function.
1366 (grub_diskfilter_make_raid): Likewise.
1367 * grub-core/disk/ldm.c: New file.
1368 * grub-core/disk/lvm.c (vg_list): Removed.
1369 (lv_count): Likewise.
1370 (scan_depth): Likewise.
1371 (is_lv_readable): Likewise.
1372 (grub_lvm_getvalue): Advance pointer past the number.
1373 (find_lv): Removed.
1374 (do_lvm_scan): Refactored into ...
1375 (grub_lvm_detect): ... this. Support raid.
1376 (grub_lvm_iterate): Removed.
1377 (grub_lvm_memberlist): Likewise.
1378 (grub_lvm_open): Likewise.
1379 (grub_lvm_close): Likewise.
1380 (read_lv): Likewise.
1381 (read_node): Likewise.
1382 (is_node_readable): Likewise.
1383 (is_lv_readable): Likewise.
1384 (grub_lvm_read): Likewise.
1385 (grub_lvm_write): Likewise.
1386 (grub_lvm_dev): Use diskfilter
1387 (GRUB_MOD_INIT): Likewise.
1388 (GRUB_MOD_FINI): Likewise.
1389 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
1390 new interface.
1391 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
1392 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1393 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
1394 grub_diskfilter_read_node.
1395 Fix a bug with xor.
1396 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
1397 grub_diskfilter_read_node.
1398 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
1399 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
1400 (grub_disk_dev_iterate): Move from here...
1401 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
1402 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1403 Make global.
1404 (grub_hostdisk_find_partition_start): Likewise.
1405 (grub_hostdisk_os_dev_to_grub_drive): New function.
1406 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
1407 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
1408 * util/getroot.c (make_device_name): ... here.
1409 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1410 Move to ...
1411 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
1412 * grub-core/kern/emu/hostdisk.c
1413 (convert_system_partition_to_system_disk): Move to ...
1414 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
1415 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
1416 * util/getroot.c (device_is_wholedisk): ... here.
1417 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
1418 * util/getroot.c (find_system_device): ... here.
1419 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
1420 Move to ...
1421 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
1422 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1423 Move to ...
1424 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
1425 Handle LDM.
1426 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1427 Move to ...
1428 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
1429 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
1430 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
1431 DISKFILTER.
1432 * include/grub/raid.h: Renamed to ...
1433 * include/grub/diskfilter.h: ... this.
1434 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
1435 (GRUB_RAID_LAYOUT_*): Make into array.
1436 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
1437 (grub_diskfilter_vg): New struct.
1438 (grub_diskfilter_pv_id): Likewise.
1439 (grub_raid_member): Removed.
1440 (grub_raid_array): Likewise.
1441 (grub_diskfilter_pv): New struct.
1442 (grub_diskfilter_lv): Likewise.
1443 (grub_diskfilter_segment): Likewise.
1444 (grub_diskfilter_node): Likewise.
1445 (grub_diskfilter_get_vg_by_uuid): New proto.
1446 (grub_raid_register): Inline.
1447 (grub_diskfilter_unregister): Likewise.
1448 (grub_diskfilter_make_raid): New proto.
1449 (grub_diskfilter_vg_register): Likewise.
1450 (grub_diskfilter_read_node): Likewise.
1451 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
1452 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
1453 (grub_util_is_ldm): Likewise.
1454 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
1455 (grub_hostdisk_find_partition_start): Likewise.
1456 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
1457 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
1458 New definition.
1459 (grub_gpt_partition_map_iterate): New proto.
1460 * include/grub/lvm.h (grub_lvm_vg): Removed.
1461 (grub_lvm_pv): Likewise.
1462 (grub_lvm_lv): Likewise.
1463 (grub_lvm_segment): Likewise.
1464 (grub_lvm_node): Likewise.
1465 * util/getroot.c [...]
1466 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
1467 (probe_abstraction): Likewise.
1468 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
1469 (main): Remove dead logic.
1470
1471 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 Simplify root device discover and don't fail when trying to open
1474 incorrect devices.
1475
1476 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
1477 function.
1478 (get_diskname_from_path): Likewise.
1479 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
1480 of iterating.
1481
1482 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
1485
1486 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
1489 pastthe end.
1490
1491 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * util/grub-install.in: Add missing \.
1494 Reported by: gentoofan
1495
1496 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1497
1498 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
1499 (direct_read): Use correct compressed size.
1500 (grub_squash_read_data): Likewise.
1501
1502 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 * docs/grub.texi (Platform limitations): New section.
1505 (Platform-specific operations): Likewise.
1506 * docs/grub-dev.texi (Porting): Likewise.
1507
1508 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 IEEE1275 disk write support.
1511
1512 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
1513 const void *.
1514 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
1515 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
1516 and seek loginc to ...
1517 (grub_ofdisk_prepare): ... here.
1518 (grub_ofdisk_write): Implement.
1519
1520 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 ARC disk write support.
1523
1524 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
1525 (reopen): New argument writable. All users updated.
1526 Handle required access mode.
1527 (grub_arcdisk_write): Implement.
1528 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
1529 (grub_arc_firmware_vector): Make buffer to write a const buffer.
1530
1531 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
1534 (read_sblock): Don't attempt to read superblocks outside the disk size.
1535
1536 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
1539 first superblock to find the second one when possible.
1540
1541 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * util/grub-install.in: Fix an ARC bug.
1544 Print a warning if no platform-specific setup is available.
1545
1546 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Use static allocation rather than scratch pointer in reed_solomon.
1549 It decreases its size significantly and avoids a variable in .text.
1550
1551 * grub-core/lib/reed_solomon.c (scratch): Removed.
1552 (chosenstat): New const or static array.
1553 (sigma): Likewise.
1554 (errpot): Likewise.
1555 (errpos): Likewise.
1556 (sy): Likewise.
1557 (mstat): Likewise.
1558 (errvals): Likewise.
1559 (eqstat): Likewise.
1560 (pol_evaluate): Replace x with log_x argument. All users updated.
1561 (syndroms): Removed.
1562 (gauss_solve): Use statically allocated arrays.
1563 (rs_recover): Likewise.
1564 Calculate syndroms directly.
1565 (decode_block): Use statically allocated arrays.
1566 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
1567 (main) [TEST]: Allow -DTEST -DSTANDALONE.
1568
1569 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 Eliminate fixed limit on reed solomon decoder length.
1572
1573 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
1574 rather than hardcoding the address.
1575 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
1576 no_reed_solomon_length.
1577 Move gate_a20 to no-reed-solomon part.
1578 Don't force a particular size of no reed-solomon part.
1579 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1580 Removed.
1581 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
1582 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
1583
1584 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * grub-core/commands/wildcard.c (match_files): Handle filenames
1587 without explicit device.
1588 (wildcard_expand): Don't add explicit device if not already present.
1589 * tests/grub_script_echo1.in: Add a new expansion test.
1590
1591 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 Replace single-linked with double-linked lists. It results in more
1594 compact and more efficient code.
1595
1596 * grub-core/kern/list.c (grub_list_push): Moved from here ...
1597 * include/grub/list.h (grub_list_push): ... to here. Set prev.
1598 (grub_list_remove): Moved from here ...
1599 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
1600 (grub_prio_list_insert): Set prev.
1601 * include/grub/list.h (grub_list): Add prev. All users updated.
1602
1603 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 Handle newer autotools. Add some missing quotes while on it.
1606
1607 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
1608 (pkglib_DATA): Move grub-mkconfig_lib from here ...
1609 (pkgdata_DATA): ... here.
1610 * Makefile.util.def (update-grub_lib): Removed.
1611 * conf/Makefile.common (pkglib_DATA): Removed.
1612 (pkglib_SCRIPTS): Likewise.
1613 (pkgdata_DATA): New variable.
1614 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
1615 needed.
1616 Add missing quotes.
1617 Remove unused variable while on it.
1618 * tests/util/grub-shell.in: Likewise.
1619 * util/grub-install.in: Likewise.
1620 * util/grub-mkconfig.in: Likewise.
1621 * util/grub-mknetdir.in: Likewise.
1622 * util/grub-mkrescue.in: Likewise.
1623 * util/grub-mkstandalone.in: Likewise.
1624 * util/grub.d/00_header.in: Likewise.
1625 * util/grub.d/10_hurd.in: Likewise.
1626 * util/grub.d/10_illumos.in: Likewise.
1627 * util/grub.d/10_kfreebsd.in: Likewise.
1628 * util/grub.d/10_linux.in: Likewise.
1629 * util/grub.d/10_netbsd.in: Likewise.
1630 * util/grub.d/10_windows.in: Likewise.
1631 * util/grub.d/20_linux_xen.in: Likewise.
1632 * util/grub.d/30_os-prober.in: Likewise.
1633 * util/update-grub_lib.in: Removed.
1634
1635 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
1636
1637 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
1638 a workaround for intel problem.
1639
1640 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
1641 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1642 2012-01-23 pfsmorigo
1643
1644 * util/grub-install.in: Support dd'in into PreP partition.
1645 * util/grub-probe.c (probe): Support discovering partition type.
1646 (main): Support -t msdos_parttype.
1647
1648 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
1651 infinite recursion using counter.
1652 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
1653 init to skip it if the magic check fails.
1654 (dec_stream_header): Init s->crc32.
1655
1656 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1657 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
1658 2012-01-22 Richard Laager <rlaager@wiktel.com>
1659
1660 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
1661 All users updated.
1662 (find_bestub): Determine correct size.
1663 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
1664 (scan_disk): Align the size down.
1665 Call check pool before find_bestub to have ashift.
1666
1667 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
1670 dprintf in no-malloc zone.
1671
1672 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
1673
1674 * configure.ac: Add back in test for limits.h.
1675
1676 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 Support 4K-sector NTFS.
1679
1680 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
1681 (grub_ntfs_data): Remove blocksize.
1682 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
1683 Remove data argument. All users updated.
1684
1685 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
1688 being in .text to avoid dprel references.
1689 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
1690 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
1691 (grub_arch_highmemsize): Likewise.
1692 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
1693 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
1694 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
1695
1696 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
1699
1700 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
1701 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
1702
1703 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
1706 GRUB_UTIL.
1707 (grub_set_datetime_cmos): Likewise.
1708
1709 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 Make XZ compression parameters dependent on target and not host CPU.
1712
1713 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
1714 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
1715
1716 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
1719 set but not used variable.
1720
1721 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1722
1723 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
1724 created when no uuid support is compiled into mkfs.reiser.
1725
1726 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
1729 (utf8_to_macroman): Do the opposite.
1730 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
1731
1732 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * configure.ac: Refise build qemu_mips w/o unifont.
1735
1736 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 Eliminate grub_min/grub_max prone to overflow usage.
1739
1740 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
1741 (poll_nonroot_hub): Likewise.
1742 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
1743 (grub_affs_label): Likewise.
1744 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
1745 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
1746 (grub_hfs_label): Likewise.
1747 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
1748 * grub-core/fs/zfs/zfs.c (MIN): Remove.
1749 (zap_leaf_array_equal): Use grub_size. Remove MIN.
1750 (zap_leaf_array_get): Likewise.
1751 (dnode_get_path): Likewise.
1752 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
1753 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
1754 * grub-core/script/execute.c (grub_script_break): Likewise.
1755 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
1756 grub_max.
1757 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
1758 * include/grub/misc.h (grub_min): Removed.
1759 (grub_max): Likewise.
1760
1761 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1762
1763 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
1764 direct.inode = 0.
1765
1766 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
1769
1770 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
1773
1774 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
1777 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
1778
1779 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1780
1781 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
1782 rather than a hack for grub_strncasemap.
1783
1784 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 Support multiple initrds
1787 Note: part of this was accidently committed in r3739.
1788
1789 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
1790 initrd.
1791 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
1792 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
1793 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1794 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1795 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1796
1797 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
1800 disks with unknown size.
1801 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
1802
1803 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 Remove defines pertaining to arbitrary limits not affecting GRUB
1806 anymore.
1807
1808 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
1809 (EXT2_MAX_SYMLINKCNT): Likewise.
1810 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
1811 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
1812 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
1813 (GRUB_PXE_MAX_BLKSIZE): Likewise.
1814 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
1815 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
1816 (DN_MAX_OBJECT_SHIFT): Likewise.
1817 (DN_MAX_OFFSET_SHIFT): Likewise.
1818 (DN_MAX_OBJECT): Likewise.
1819 (DNODES_PER_LEVEL_SHIFT): Likewise.
1820 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
1821 (SPA_MAXBLOCKSIZE): Likewise.
1822 (SPA_BLOCKSIZES): Likewise.
1823 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
1824 (MZAP_MAX_BLKSZ): Likewise.
1825
1826 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1827
1828 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
1829 handle NULL appropriately.
1830 Remove MIN.
1831
1832 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 Fix efiemu.
1835
1836 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
1837 cpu/types.h.
1838 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
1839 * configure.ac: Fix efiemu check.
1840
1841 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
1844 grub_probe.
1845 Reported by: adamwill
1846
1847 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
1848
1849 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
1850
1851 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 Fix handling of wide characters in gfxterm.
1854
1855 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
1856 (clear_char): Likewise.
1857 (paint_char): Skip code == NULL chars.
1858 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
1859
1860 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/normal/charset.c: Move comment to right place.
1863
1864 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
1867 (GRUB_AFFS_FLAG_FFS): Put back where it was.
1868 (grub_affs_mount): Revert the correct version checking.
1869
1870 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * docs/grub.texi (Unicode): Mention several other unsupported features.
1873
1874 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1875
1876 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
1877 case statements as compile-time one.
1878 (direct_read): Prevent spurious warnings.
1879 (grub_squash_read_data): Likewise.
1880
1881 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Various squash4 fixes and LZO and XZ support.
1884
1885 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
1886 Add xzembed source files.
1887 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
1888 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
1889 (grub_squash_inode): New subtype long_dir.
1890 (SQUASH_TYPE_LONG_DIR): New inode type.
1891 (COMPRESSION): New enum.
1892 (XZBUFSIZ): New const.
1893 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
1894 (read_chunk): Use data->decompress.
1895 (zlib_decompress): New function.
1896 (lzo_decompress): Likewise.
1897 (xz_decompress): Likewise.
1898 (squash_mount): Set new data fields.
1899 (grub_squash_iterate_dir): Handle long dir.
1900 (squash_unmount): Free xzdec and xzbuf.
1901 (grub_squash_open): Check ino type.
1902 (direct_read): Stylistic fixes. Use data->decompress.
1903 (grub_squash_read_data): Likewise.
1904 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
1905 (get_byte): Likewise.
1906 (grub_zlib_disk_read): Removed.
1907 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
1908 (GRUB_POSIX_BOOL_DEFINED): New define.
1909 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
1910 * grub-core/lib/xzembed/xz.h: Addmissing includes.
1911 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
1912 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
1913
1914 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1915
1916 Don't override more informative errors.
1917
1918 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
1919 * grub-core/font/font.c (open_section): Likewise.
1920 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
1921 filename. Don't override errors.
1922 (grub_cmd_openbsd_ramdisk): Don't override errors.
1923 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
1924 (grub_cmd_initrd): Likewise.
1925 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1926 (grub_cmd_initrd): Likewise.
1927 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
1928 (grub_cmd_linux): Likewise.
1929 (grub_cmd_initrd): Likewise.
1930 (grub_cmd_payload): Likewise.
1931 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
1932 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
1933 (grub_cmd_module): Likewise.
1934 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1935 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
1936 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
1937 (grub_cmd_xnu_mkext): Likewise.
1938 (grub_cmd_xnu_ramdisk): Likewise.
1939 (grub_xnu_check_os_bundle_required): Likewise.
1940 (grub_xnu_load_kext_from_dir): Likewise.
1941 (grub_cmd_xnu_kextdir): Likewise.
1942 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
1943
1944 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
1947 as 1024 in block size field. Found on one of my test images.
1948 Small optimisation while on it.
1949
1950 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1951
1952 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
1953 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
1954 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
1955 performance fixes while on it.
1956 (grub_sfs_close): Fix memory leak while on it.
1957 (grub_sfs_label): Convert Latin1 to UTF-8.
1958
1959 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1960
1961 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
1962 space to avoid overflows.
1963 (grub_hfs_label): Convert from macroman to UTF-8.
1964
1965 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
1968
1969 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
1972
1973 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * unicode: Import Unicode 6.0 data.
1976
1977 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
1980 outside of range.
1981
1982 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 Avoid cutting in the middle of UTF-8 character.
1985
1986 * include/grub/charset.h (grub_getend): New function.
1987 * grub-core/script/function.c (grub_script_function_find): Use
1988 grub_getend.
1989 * grub-core/normal/completion.c (add_completion): Likewise.
1990
1991 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
1994 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
1995 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
1996 (GRUB_UNICODE_TAG_END): Likewise.
1997 (GRUB_UNICODE_LAST_VALID): Likewise.
1998
1999 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
2002 len and make it smaller. All users updated.
2003 * util/import_unicode.py: Put length and not end character.
2004 Check length.
2005
2006 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2007
2008 Make better Unicode-compliant and unify some UTF-8 code pathes.
2009
2010 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
2011 valid character.
2012 (grub_is_valid_utf8): Use grub_utf8_process.
2013 Check resulting code range.
2014 (grub_utf8_to_ucs4): Use grub_utf8_process.
2015 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
2016 valid character.
2017
2018 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
2021
2022 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 * docs/grub.texi (Filesystems): Mention AFS.
2025
2026 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 * docs/grub.texi (Filesystems): Clarify restrictions.
2029 (Regexp): Mention non-Unicode regexp behaviour.
2030 (Other): Mention non-Unicode matching behaviour.
2031
2032 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 Make HFS implementation use MacRoman.
2035
2036 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
2037 (macroman): New const array.
2038 (macroman_to_utf8): New function.
2039 (utf8_to_macroman): Likewise.
2040 (grub_hfs_find_dir): Use utf8_to_macroman.
2041 (grub_hfs_dir): Use macroman_to_utf8.
2042 Set case_insensitive.
2043
2044 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
2047
2048 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Integrate hints into autogeneration scripts.
2051
2052 * docs/grub.texi (Filesystems): Add a hostdisk example.
2053 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
2054 (grub-probe): Add ofpath.
2055 * gentpl.py: Remove group nosparc64.
2056 * grub-core/commands/search.c (cache_entry): New struct.
2057 (cache): New var.
2058 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
2059 * grub-core/commands/search_wrap.c (options): Add platform-specific
2060 hint options.
2061 (grub_cmd_search): Handle platform-specific hints.
2062 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
2063 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
2064 (grub_util_biosdisk_data): Likewise.
2065 (grub_util_biosdisk_open): Set device_map.
2066 (read_device_map): Handle "" as indication of no map.
2067 Set device_map.
2068 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
2069 (grub_util_biosdisk_get_compatibility_hint): New function.
2070 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
2071 * include/grub/emu/hostdisk.h
2072 (grub_util_biosdisk_get_compatibility_hint): New proto.
2073 * util/grub-install.in: Don't call grub-mkdevicemap.
2074 Add platform-specific hint to load.cfg.
2075 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
2076 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
2077 hints. Set root preliminary to compatibility hint, not to OS name.
2078 * util/grub-probe.c (PRINT_*): Add hints.
2079 (print): Make static.
2080 (escape_of_path): New function.
2081 (guess_bios_drive): Likewise.
2082 (guess_efi_drive): Likewise.
2083 (guess_baremetal_drive): Likewise.
2084 (print_full_name): Likewise.
2085 (probe): Handle hints.
2086 (main): Likewise.
2087 * util/ieee1275/devicemap.c: Removed.
2088 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
2089 updated.
2090 (grub_util_devname_to_ofpath): Return NULL on failure.
2091
2092 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
2093 resource leak.
2094 * util/getroot.c (grub_util_pull_device): Fix memory leak.
2095
2096 * po/POTFILES.in: Regenerated.
2097
2098 Allow purely long options
2099
2100 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
2101 (SHORT_ARG_USAGE): Likewise.
2102 (grub_arg_show_help): Compare opt with help_options.
2103 (parse_option): Receive opt as argument. If makes big simplificatons.
2104 All users updated
2105
2106 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
2109 Restructure to avoid warning.
2110
2111 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2112
2113 * util/grub-install.in: Account for possible escaped comma in device
2114 name.
2115
2116 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
2119 channel.
2120
2121 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
2124 allocation and zero-setting.
2125 (grub_ieee1275_get_devname): Check that alias is complete.
2126
2127 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
2130 unaligned segments.
2131
2132 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
2135 prefix.
2136 (grub_ofdisk_open): Check and discard ieee1275 prefix.
2137 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2138 Add ieee1275 prefix.
2139
2140 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * docs/grub.texi (Filesystems): Update.
2143
2144 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 Support odc, newc and bigendian cpio formats.
2147
2148 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
2149 * grub-core/Makefile.core.def (newc): New module.
2150 (odc): Likewise.
2151 (cpio_be): Likewise.
2152 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
2153 (MAGIC): Likewise.
2154 (MAGIC2): Likewise.
2155 (head) [MODE_ODC]: Adapt for the format.
2156 (head) [MODE_NEWC]: Likewise.
2157 (head) [!MODE_*]: Write fields of interest as arrays.
2158 (MAGIC_USTAR): Removed.
2159 (read_number) [MODE_NEWC]: Change to hex.
2160 (read_number) [!MODE_*]: Parse binary arrays.
2161 (grub_cpio_find_file): Factor out the code for better structure and
2162 always use read_number.
2163 (grub_cpio_mount): Use MAGIC and MAGIC2.
2164 (grub_cpio_dir): Exit on first hook non-0 return.
2165 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
2166 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
2167 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
2168 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
2169 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
2170 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
2171 * grub-core/fs/newc.c: New file.
2172 * grub-core/fs/odc.c: Likewise.
2173 * grub-core/fs/cpio_be.c: Likewise.
2174
2175 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2176
2177 Fix handling of tar numbers occupying the whole field.
2178
2179 * grub-core/fs/cpio.c (read_number): New function.
2180 (grub_cpio_find_file): Use read_number instead of strtoull.
2181
2182 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
2185 occupying the whole field size.
2186
2187 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
2188
2189 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
2190
2191 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
2194
2195 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
2196
2197 * grub-core/Makefile.core.def (lzma_decompress): Add missing
2198 TARGET_IMG_LDFLAGS.
2199
2200 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 * util/getroot.c (ESCAPED_PATH_MAX): New define.
2203 (mountinfo_entry): Increase the field size to take escaping into
2204 account.
2205 (find_root_device_from_libzfs): Add one byte to size of strings for
2206 security.
2207
2208 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
2211 an assert.
2212 * util/grub-setup.c (setup): Likewise.
2213
2214 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
2217 _LzmaDecodeA.
2218
2219 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * docs/grub.texi (Internationalisation): New section.
2222
2223 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 * docs/grub.texi (Loopback booting): New section.
2226
2227 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
2228
2229 * util/grub-mkstandalone.in: Fix minor typo errors.
2230
2231 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
2234
2235 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
2236 net/icmp.c and net/icmp6.c.
2237 (http): New module.
2238 (priority_queue): Likewise.
2239 * grub-core/io/bufio.c: Rewritten.
2240 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
2241 TYPE_WITH_CONFIGFILE_OPTION.
2242 (legacy_commands): Add bootp and dhcp.
2243 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
2244 (grub_legacy_parse): Likewise.
2245 * grub-core/lib/priority_queue.c: New file.
2246 * grub-core/net/arp.c: Add missing license header.
2247 (arp_find_entry): Removed.
2248 (arp_find_entry): Likewise.
2249 (grub_net_arp_resolve): Rename to ...
2250 (grub_net_arp_send_request): ...this.
2251 (grub_net_arp_receive): New card argument.
2252 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
2253 Set router and DNS server.
2254 (grub_net_configure_by_dhcp_ack): Handle routing information.
2255 (grub_cmd_bootp): Set checksum.
2256 (grub_bootp_init): Remove net_dhcp.
2257 * grub-core/net/dns.c: New file.
2258 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
2259 completion.
2260 (get_card_packet): Handle allocation.
2261 (grub_efinet_findcards): Set mtu.
2262 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
2263 (get_card_packet): Handle allocation.
2264 (emucard): Set mtu.
2265 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
2266 (GRUB_MOD_INIT): Set mtu.
2267 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
2268 mtu.
2269 (get_card_packet): Handle allocation.
2270 (grub_ofnet_findcards): Set mtu.
2271 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
2272 assert.
2273 (grub_net_recv_ethernet_packet): Handle IPv6.
2274 * grub-core/net/http.c: New file.
2275 * grub-core/net/icmp.c: Likewise.
2276 * grub-core/net/icmp6.c: Likewise.
2277 * grub-core/net/ip.c (ip6addr): New type.
2278 (ip6hdr): Likewise.
2279 (reassemble): Likewise.
2280 (cmp): New function.
2281 (reassembles): New variable.
2282 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
2283 (id): New variable.
2284 (send_fragmented): New function.
2285 (grub_net_send_ip_packet): Rename to ...
2286 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
2287 Handle non-UDP.
2288 (grub_net_recv_ip_packets): Rename to ...
2289 (handle_dgram): ... this. Check checksum. Handle non-UDP.
2290 (free_rsm): New function.
2291 (free_old_fragments): Likewise.
2292 (grub_net_recv_ip4_packets): New function.
2293 (grub_net_send_ip6_packet): Likewise.
2294 (grub_net_send_ip_packet): Likewise.
2295 (grub_net_recv_ip6_packets): Likewise.
2296 (grub_net_recv_ip_packets): Likewise.
2297 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
2298 (LINK_LAYER_CACHE_SIZE): New const.
2299 (link_layer_find_entry): New function.
2300 (grub_net_link_layer_add_address): Likewise.
2301 (grub_net_link_layer_resolve_check): Likewise.
2302 (grub_net_link_layer_resolve): Likewise.
2303 (grub_net_ipv6_get_slaac): Likewise.
2304 (grub_net_ipv6_get_link_local): Likewise.
2305 (grub_cmd_ipv6_autoconf): Likewise.
2306 (parse_ip): Handle one number representation.
2307 (parse_ip6): New functoion.
2308 (match_net): Handle IPv6.
2309 (grub_net_resolve_address): Handle IPv6 and DNS.
2310 (grub_net_resolve_net_address): Handle IPv6.
2311 (route_cmp): New function.
2312 (grub_net_route_address): Find best route.
2313 (grub_net_addr_to_str): Handle IPv6.
2314 (grub_net_addr_cmp): New function.
2315 (grub_net_add_addr): Register local route.
2316 (print_net_address): Handle net address.
2317 (grub_net_poll_cards): Retransmit TCP.
2318 (grub_net_poll_cards_idle_real): Likewise.
2319 (have_ahead): New function.
2320 (grub_net_seek_real): Use underlying seek.
2321 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
2322 * grub-core/net/tcp.c: New file.
2323 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
2324 (cmp): New function.
2325 (ack): Likewise.
2326 (tftp_receive): Handle unordered input.
2327 (destroy_pq): New function.
2328 (tftp_close): Close pq.
2329 * grub-core/net/udp.c: Put missing license header.
2330 (grub_net_udp_socket): New function.
2331 (udp_socket_register): Likewise.
2332 (grub_net_udp_close): Likewise.
2333 (grub_net_recv_udp_packet): Check checksum.
2334 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
2335 * include/grub/misc.h (grub_memchr): New function.
2336 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
2337 (grub_net_card_driver): Return buf in recv.
2338 (grub_net_slaac_mac_list): New struct.
2339 (grub_network_level_protocol_id): Add ipv6.
2340 (grub_net_network_level_addr): Likewise.
2341 (grub_net_network_level_net_addr): Likewise.
2342 (grub_net_app_protocol): Add seek.
2343 (grub_net_socket): Removed.
2344 (grub_net_sockets): Likewise.
2345 (grub_net_socket_register): Likewise.
2346 (grub_net_socket_unregister): Likewise.
2347 (FOR_NET_SOCKETS): Likewise.
2348 (grub_net_add_addr): Add const.
2349 (GRUB_NET_BOOTP_*): New enum.
2350 (grub_net_addr_cmp): New proto.
2351 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
2352 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
2353 (grub_net_hwaddr_to_str): NEw proto.
2354 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
2355 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
2356 (grub_dns_init): New proto.
2357 (grub_dns_fini): Likewise.
2358 (grub_net_tcp_retransmit): Likewise.
2359 (grub_net_link_layer_add_address): Likewise.
2360 (grub_net_link_layer_resolve_check): Likewise.
2361 (grub_net_link_layer_resolve): Likewise.
2362 (grub_net_dns_lookup): Likewise.
2363 (grub_net_add_dns_server): Likewise.
2364 (grub_net_remove_dns_server): Likewise.
2365 (GRUB_NET_TRIES): New const.
2366 (GRUB_NET_INTERVAL): Likewise.
2367 * include/grub/net/arp.h: Mostly rewritten.
2368 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
2369 * include/grub/net/ip.h: Mostly rewritten.
2370 * include/grub/net/netbuff.h: Indent.
2371 * include/grub/net/tcp.h: New file.
2372 * include/grub/net/udp.h: Mostly rewritten.
2373 * include/grub/priority_queue.h: New file.
2374 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
2375 (grub_swap_bytes64_compile_time): Likewise.
2376 (grub_cpu_to_be16_compile_time): Likewise.
2377 (grub_cpu_to_be32_compile_time): Likewise.
2378 (grub_cpu_to_be64_compile_time): Likewise.
2379 (grub_be_to_cpu64_compile_time): Likewise.
2380
2381 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
2384 UINT_TO_PTR with cast.
2385
2386 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2387
2388 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
2389 don't use them.
2390
2391 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2392
2393 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
2394 already there.
2395
2396 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2397
2398 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
2399 confusing ipxe.
2400
2401 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
2404 Add missing const attribute.
2405 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
2406 Likewise.
2407 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
2408 Likewise.
2409
2410 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
2413 misaligned access.
2414 (serpent_setkey): Likewise.
2415 (serpent_encrypt_internal): Likewise.
2416 (serpent_decrypt_internal): Likewise.
2417 (serpent_encrypt): Don't put an alignment-increasing cast.
2418 (serpent_decrypt): Likewise.
2419 (serpent_test): Likewise.
2420
2421 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
2424
2425 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2426
2427 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
2428
2429 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
2430 grub_addr_t casts.
2431 (PTR_TO_UINT64): Likewise.
2432 (PTR_TO_UINT32): Likewise.
2433
2434 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * util/grub-mkimage.c (generate_image): Decrease the higher limit
2437 because of stack.
2438 * util/grub-setup.c (setup): Don't add redundancy past the higher load
2439 limit.
2440
2441 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
2444 text_width > available width a bit more gracefully.
2445
2446 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
2449 current address calculation.
2450
2451 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
2454 stack.
2455 (encode_block): Likewise.
2456
2457 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
2460 certainety.
2461
2462 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2463
2464 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
2465 non-RS part to avoid RS messing with GDT.
2466 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
2467 Increase to suit in realmode routines.
2468
2469 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/kern/i386/realmode.S: Increase alignment.
2472 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
2473
2474 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
2477 be deterministic.
2478 (syndroms): Compute 0 syndrom.
2479 (rs_recover): Use 0 syndrom.
2480
2481 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2482
2483 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
2484
2485 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
2488 brackets.
2489
2490 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2491
2492 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
2493 account.
2494 (get_top_pad): Likewise.
2495 (get_right_pad): Likewise.
2496 (get_bottom_pad): Likewise.
2497
2498 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
2501
2502 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2503
2504 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
2505 attribute as the structure isn't guaranteed to be properly aligned.
2506 (grub_efi_pci_device_path): Likewise.
2507 (grub_efi_pccard_device_path): Likewise.
2508 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
2509 specify the size of `memory_type'.
2510 (grub_efi_vendor_device_path): Likewise.
2511 (grub_efi_controller_device_path): Likewise.
2512 (grub_efi_acpi_device_path): Likewise.
2513 (grub_efi_expanded_acpi_device_path): Likewise.
2514 (grub_efi_atapi_device_path): Likewise.
2515 (grub_efi_scsi_device_path): Likewise.
2516 (grub_efi_fibre_channel_device_path): Likewise.
2517 (grub_efi_1394_device_path): Likewise.
2518 (grub_efi_usb_device_path): Likewise.
2519 (grub_efi_usb_class_device_path): Likewise.
2520 (grub_efi_i2o_device_path): Likewise.
2521 (grub_efi_mac_address_device_path): Likewise.
2522 (grub_efi_ipv4_device_path): Likewise.
2523 (grub_efi_ipv6_device_path): Likewise.
2524 (grub_efi_infiniband_device_path): Likewise.
2525 (grub_efi_uart_device_path): Likewise.
2526 (grub_efi_vendor_messaging_device_path): Likewise.
2527 (grub_efi_hard_drive_device_path): Likewise.
2528 (grub_efi_cdrom_device_path): Likewise.
2529 (grub_efi_vendor_media_device_path): Likewise.
2530 (grub_efi_file_path_device_path): Likewise.
2531 (grub_efi_protocol_device_path): Likewise.
2532 (grub_efi_piwg_device_path): Likewise.
2533 (grub_efi_bios_device_path): Likewise.
2534
2535 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2536
2537 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
2538 (grub_ucs4_to_utf8_alloc): Likewise.
2539 (grub_ucs4_to_utf8): Likewise.
2540 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
2541 (grub_ucs4_to_utf8_alloc): Likewise.
2542
2543 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 AFFS never uses unicode.
2546
2547 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
2548 (grub_latin1_to_utf8): New inline function.
2549 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
2550
2551 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
2554 overflow.
2555
2556 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
2559 (grub_squash_dirent_header): Likewise.
2560 (read_chunk): Don't double swap.
2561 (grub_squash_iterate_dir): Fix swap sizes.
2562
2563 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
2566
2567 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
2570 (grub_hfs_iterate_dir): Likewise.
2571
2572 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 Fix video on platforms where unaligned access is forbidden.
2575 Make several optimisations while on it.
2576
2577 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
2578 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2579 (grub_video_fbblit_replace_32bit_1bit): Likewise.
2580 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2581 Disable.
2582 (grub_video_fbblit_replace_16bit_1bit):
2583 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2584 (grub_video_fbblit_replace_8bit_1bit): Likewise.
2585 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
2586 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
2587 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2588 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
2589 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
2590 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
2591 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
2592 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
2593 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
2594 (grub_video_fbblit_replace_index_RGB888): Likewise.
2595 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
2596 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
2597 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
2598 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
2599 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
2600 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
2601 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
2602 Disable.
2603 (grub_video_fbblit_blend_XXX565_1bit):
2604 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
2605 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
2606 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
2607 void *.
2608 * grub-core/video/fb/video_fb.c (common_blitter)
2609 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
2610 (grub_video_fb_create_render_target_from_pointer)
2611 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
2612 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
2613 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
2614 definition.
2615 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
2616
2617 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
2620 HH22 and HM10 relocations.
2621
2622 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
2625
2626 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
2629 allocation succeeded.
2630
2631 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
2634 argument a u8 pointer. All users updated.
2635 Handle unaligned buffers.
2636
2637 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
2640 add_part to workaround compiler bug.
2641
2642 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
2645
2646 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
2649 Reserve alignment invariants.
2650 (grub_multiboot_load): Likewise.
2651 (retrieve_video_parameters): Likewise.
2652 (grub_multiboot_make_mbi): Likewise.
2653
2654 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2655
2656 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
2657 incorrect pointer.
2658
2659 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
2662 (grub_pata_pio_write): Likewise.
2663
2664 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Add noreturn attributes and remove unreachable code.
2667
2668 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
2669 code.
2670 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
2671 code. Mark as noreturn.
2672 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
2673 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
2674 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
2675 unreachable code.
2676 * grub-core/kern/main.c (grub_main): Mark as noreturn.
2677 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
2678 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
2679 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
2680 * include/grub/kernel.h (grub_main): Mark as noreturn.
2681 * include/grub/reader.h (grub_rescue_run): Likewise.
2682
2683 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
2686 redundant declaration.
2687
2688 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * include/grub/net.h (grub_net_network_level_interfaces): Remove
2691 redundant declaration.
2692 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
2693
2694 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
2697 to ensure alignment.
2698 (grub_hdparm_print_identify): Make argument uint16 * to ensure
2699 alignment. Ensure tmp alignment.
2700 (grub_cmd_hdparm): Ensure buf alignment.
2701 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
2702 to ensure alignment.
2703 (grub_ata_dumpinfo): Ensure text alignment.
2704 (grub_atapi_identify): Preserve alignment invariant.
2705 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2706
2707 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
2710 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
2711 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
2712 * include/grub/misc.h (grub_reboot)
2713 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
2714 (grub_halt) [__mips__]: Likewise.
2715
2716 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
2719 Remove redundant declaration.
2720 (grub_mmap_get_post64): Likewise.
2721 (grub_mmap_get_upper): Likewise.
2722 (grub_mmap_get_lower): Likewise.
2723
2724 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
2727 uint32_t * to ensure alignment.
2728 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
2729
2730 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
2733 uint16_t * to ensure alignment.
2734 (sun_pc_partition_map_iterate): Make `block' a union to ensure
2735 alignment.
2736
2737 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2738
2739 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
2740 to ensure alignment.
2741 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
2742
2743 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 * grub-core/fs/ntfs.c (u16at): Make into inline function.
2746 Handle unaligned pointers.
2747 (u32at): Likewise.
2748 (u64at): Likewise.
2749 (fixup): Use byte access instead of v16at.
2750 (find_attr): Fix imporper usage of v32at.
2751 (read_data): Likewise.
2752 (list_file): Handle byte-swapping and unaligned strings.
2753 (grub_ntfs_label): Likewise.
2754
2755 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
2758 as it's not necessarily aligned.
2759
2760 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
2763 redundant declaration.
2764 (grub_serial_init): Likewise.
2765 (grub_terminfo_init): Likewise.
2766
2767 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
2770 function.
2771 (ZAP_HASH_IDX): Likewise.
2772 (ZAP_LEAF_HASH_SHIFT): Likewise.
2773 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
2774 (LEAF_HASH): Likewise.
2775 (ZAP_LEAF_NUMCHUNKS): Likewise.
2776 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
2777 alignment invariants. Return pointer. All users updated.
2778 (ZAP_LEAF_ENTRY): Make into inline function.
2779 (NBBY): Removed.
2780 (xor): LIkewise.
2781 (xor_out): Use grub_crypto_xor.
2782 (dnode_get_path): Use grub_get_unaligned.
2783 (nvlist_find_value): Likewise.
2784 (grub_zfs_nvlist_lookup_uint64): Likewise.
2785 (grub_zfs_nvlist_lookup_string): Likewise.
2786 (get_nvlist_size): Likewise.
2787 (grub_zfs_open): Likewise.
2788 (fill_fs_info): Likewise.
2789 (grub_zfs_dir): Likewise.
2790 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
2791 alignment invariants.
2792 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
2793 necessarily aligned.
2794
2795 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
2798
2799 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
2802 arithmetic to conserve alignment invariants.
2803
2804 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
2807 redundant declaration.
2808 (grub_efiemu_mm_obtain_request): Likewise.
2809 (grub_efiemu_prepare): Likewise.
2810
2811 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2812
2813 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
2814 to match types.
2815
2816 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
2819 case of aunaligned recptr.
2820 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
2821 alignment.
2822 (grub_hfsplus_btree_search): Handle unaligned index.
2823
2824 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2825
2826 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
2827 to get freetag and skip.
2828
2829 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
2832 array.
2833 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
2834 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
2835
2836 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
2839 name for checksum and fix allocation algorithm.
2840
2841 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * include/grub/types.h (grub_properly_aligned_t): New type.
2844 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
2845 (grub_get_unaligned16): Add explicit casts.
2846 (grub_get_unaligned32): Likewise.
2847 (grub_get_unaligned64): Likewise.
2848 (grub_set_unaligned16): New function.
2849 (grub_set_unaligned32): Likewise.
2850
2851 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2854
2855 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2856
2857 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
2858 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
2859 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
2860
2861 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
2864 conditionals.
2865
2866 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
2869 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
2870
2871 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 Unify and improve RAID and crypto xor.
2874
2875 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
2876 changed to grub_crypto_xor
2877 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
2878 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
2879 Use bigger types when possible.
2880
2881 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/disk/raid.c (scan_devices): Fix condition.
2884
2885 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
2888 Make name a const ptr.
2889
2890 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
2893 first argument a const pointer.
2894 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
2895 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
2896 proto.
2897 (grub_children_iterate): Likewise.
2898 (grub_machine_mmap_iterate): Remove redundant declaration.
2899
2900 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2901
2902 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
2903 (grub_cmd_acpi) [!x86]: Disable EBDA.
2904
2905 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 Enable UTF8 in gnulib regexp.
2908
2909 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
2910 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
2911 (isupper): Use grub_isupper.
2912 (isascii): New inline function.
2913 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
2914 * grub-core/lib/posix_wrap/wctype.h: Likewise.
2915 * grub-core/normal/charset.c (grub_utf8_process): New function.
2916 (grub_utf8_to_utf16): Use grub_utf8_process.
2917 (grub_encode_utf8_character): New function.
2918 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
2919 * include/grub/charset.h (grub_utf8_process): New declaration.
2920 (grub_encode_utf8_character): Likewise.
2921 * include/grub/misc.h (grub_islower): New inline function.
2922 (grub_isupper): Likewise.
2923 (grub_strchrsub): Moved down to fix the definitions.
2924
2925 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
2928 specification.
2929
2930 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * include/grub/loader.h (grub_loader_register_preboot_hook):
2933 Use struct preboot * and not void * for handle. All users updated.
2934 (grub_loader_unregister_preboot_hook): Likewise.
2935
2936 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
2939 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
2940 UTF-16-BE. All users updated.
2941 (grub_hfsplus_cmp_catkey): Fix unicode handling.
2942 (grub_hfsplus_iterate_dir): Likewise.
2943 (grub_hfsplus_label): Likewise.
2944
2945 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
2948
2949 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 Add missing const qualifiers.
2952
2953 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
2954 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
2955 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
2956 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
2957 (grub_lvm_check_flag): Likewise.
2958 * grub-core/efiemu/i386/coredetect.c
2959 (grub_efiemu_get_default_core_name): Likewise
2960 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
2961 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
2962 * grub-core/fs/ntfs.c (fixup): Likewise.
2963 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
2964 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
2965 (fzap_lookup): Likewise.
2966 (zap_lookup): Likewise.
2967 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
2968 * grub-core/lib/legacy_parse.c (check_option): Likewise.
2969 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
2970 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
2971 (grub_freebsd_add_meta_module): Likewise.
2972 (grub_cmd_freebsd_module): Likewise.
2973 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
2974 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
2975 (grub_xnu_writetree_get_size): Likewise.
2976 (grub_xnu_writetree_toheap_real): Likewise.
2977 (grub_xnu_find_key): Likewise.
2978 (grub_xnu_create_key): Likewise.
2979 (grub_xnu_create_value): Likewise.
2980 (grub_xnu_register_memory): Likewise.
2981 (grub_xnu_check_os_bundle_required): Likewise.
2982 (grub_xnu_scan_dir_for_kexts): Likewise.
2983 (grub_xnu_load_kext_from_dir): Likewise.
2984 * grub-core/normal/color.c (color_list): Likewise.
2985 * grub-core/normal/completion.c (current_word): Likewise.
2986 * grub-core/normal/menu_entry.c (insert_string): Likewise.
2987 * grub-core/term/serial.c (grub_serial_find): Likewise.
2988 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
2989 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
2990 Likewise.
2991 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
2992 (grub_freebsd_add_meta_module): Likewise.
2993 * include/grub/lib/arg.h (grub_arg_option): Likewise.
2994 * include/grub/net.h (grub_net_card_driver): Likewise.
2995 (grub_net_card): Likewise.
2996 (grub_net_app_protocol): Likewise.
2997 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
2998 * include/grub/serial.h (grub_serial_find): Likewise.
2999 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
3000 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
3001 (grub_xnu_create_value): Likewise.
3002 (grub_xnu_find_key): Likewise.
3003 (grub_xnu_scan_dir_for_kexts): Likewise.
3004 (grub_xnu_load_kext_from_dir): Likewise.
3005
3006 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
3007 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
3008 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
3009 Moved from here ...
3010 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
3011
3012 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
3013
3014 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
3015
3016 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
3019 (read_device): Fix size calculation.
3020
3021 2011-11-25 Robert Millan <rmh@gnu.org>
3022
3023 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
3024 (find_root_device_from_libzfs): Add zpool output parser to be used
3025 as fallback when libzfs isn't available.
3026
3027 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
3028
3029 * po/Makefile.in.in: Add missing escape-continuation.
3030
3031 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
3034
3035 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
3038
3039 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
3042
3043 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
3046
3047 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/lib/adler32.c: Add missing license specification.
3050 * grub-core/lib/crc64.c: Likewise.
3051 * grub-core/loader/i386/pc/plan9.c: Likewise.
3052 * grub-core/partmap/plan.c: Likewise.
3053
3054 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
3055
3056 Add facility to debug GRUB with gdb under qemu.
3057
3058 * grub-core/gdb_grub.in: New file.
3059 * grub-core/gmodule.pl.in: Likewise.
3060 * grub-core/Makefile.core.def (gmodule.pl): New script.
3061 (gdb_grub): Likewise.
3062
3063 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * util/grub-mount.c (argp_parser): Accept relative pathes.
3066 * util/grub-fstest.c (argp_parser): Likewise.
3067
3068 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Plan9 support.
3071
3072 * Makefile.util.def (libgrubmods): Add
3073 grub-core/partmap/plan.c.
3074 * docs/grub.texi: Notice Plan9 support.
3075 * grub-core/Makefile.core.def (plan9): New module.
3076 (part_plan): Likewise.
3077 * grub-core/loader/i386/pc/plan9.c: New file.
3078 * grub-core/partmap/plan.c: Likewise.
3079 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
3080 define.
3081 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
3082 * include/grub/mm.h (grub_extend_alloc): New inline function.
3083
3084 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
3085
3086 Make Reed-Solomon faster by using power of generator representation of
3087 GF(256)*.
3088
3089 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
3090 (gf_double_t): Likewise.
3091 (gf_invert): Removed.
3092 (gf_powx): New array.
3093 (gf_powx_inv): Likewise.
3094 (scratch): Move higher.
3095 (gf_reduce): Removed.
3096 (gf_mul): Use powx.
3097 (gf_invert): Likewise.
3098 (init_inverts): Replaced with ...
3099 (init_powx): ...this. All users updated.
3100 (pol_evaluate): Replace multiplications with additions.
3101 (rs_encode): Likewise.
3102 (gauss_eliminate): Call gf_invert.
3103 (grub_reed_solomon_add_redundancy): Call init_powx.
3104 (grub_reed_solomon_recover): Call init_powx unconditionally.
3105
3106 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
3109
3110 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
3113 disk->partiton for safety.
3114
3115 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
3118 Fix a memory leak.
3119 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
3120
3121 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
3124
3125 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
3128
3129 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 Fix spaces handling in proc/self/mountinfo.
3132
3133 * util/getroot.c (unescape): New function.
3134 (grub_find_root_device_from_mountinfo): Use unescape.
3135
3136 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 Support ZFS embedding.
3139
3140 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
3141 (grub_zfs_fs): Register grub_zfs_embed.
3142
3143 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 Fix MIPS compilation.
3146
3147 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
3148 * include/grub/offsets.h: Rename decompressor fields from
3149 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
3150 * util/grub-mkimage.c (image_targets): Use new names.
3151
3152 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 Defer multiboot device parsing until we're in compressed part.
3155
3156 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
3157 bsd_part. setdevice has fallen into disuse.
3158 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
3159 (bsd_part): Likewise.
3160 (boot_dev): New variable.
3161 (multiboot_trampoline): Don't parse multiboot device.
3162 Pass multiboot device in %edx.
3163 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
3164 grub_boot_device.
3165 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
3166 Likewise.
3167 * grub-core/kern/i386/pc/startup.S: Save edx.
3168 (grub_boot_drive): Removed.
3169 (grub_install_dos_part): Likewise.
3170 (grub_install_bsd_part): Likewise.
3171 (grub_boot_device): New variable.
3172 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
3173 (grub_install_bsd_part): Likewise.
3174 (grub_boot_drive): Likewise.
3175 (grub_boot_device): New variable.
3176 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
3177 Removed.
3178 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3179 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
3180 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
3181 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
3182 * util/grub-install.in: Remove redundant condition.
3183
3184 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 Fix bug introduced by previous commit.
3187
3188 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
3189
3190 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 Use decompressors framework on i386-pc. It increases core size
3193 by 46 bytes but improves compatibility and maintainability.
3194
3195 * grub-core/Makefile.core.def (lzma_decompress): New image.
3196 (kernel): Add i386_pc_ldflags.
3197 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
3198 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
3199 to real_to_prot, prot_to_real and device info.
3200 * include/grub/offsets.h: Renamed decompressor offsets.
3201 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
3202 (image_target_desc): Remove raw_size and rename decompressor fields.
3203 (compress_kernel): Handle lzma.
3204 (generate_image): Handle decompressors on i386-pc.
3205
3206 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3207
3208 * configure.ac: Add -fno-asynchronous-unwind-tables.
3209
3210 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 Move assembly code to C by using intwrap. It increases core size
3213 by 88 bytes but improves compatibility and maintainability.
3214
3215 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
3216 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
3217 ... here. Translated to C.
3218 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
3219 * grub-core/term/i386/pc/console.c (grub_console_getkey):
3220 ... here. Translated to C.
3221 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
3222 * grub-core/term/i386/pc/console.c (grub_console_getxy):
3223 ... here. Translated to C.
3224 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
3225 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
3226 ... here. Translated to C.
3227 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
3228 * grub-core/term/i386/pc/console.c (grub_console_cls):
3229 ... here. Translated to C.
3230 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
3231 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
3232 ... here. Translated to C.
3233 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
3234 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
3235 Translated to C.
3236 * grub-core/term/i386/pc/console.c (int10_9): New function.
3237 (grub_console_putchar): Likewise.
3238 * include/grub/i386/pc/console.h: Removed the not anymore shared
3239 functions.
3240
3241 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 Move grub_chainloader_real_boot out of the kernel.
3244
3245 * grub-core/Makefile.am: Remove machine/loader.h.
3246 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
3247 Removed.
3248 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
3249 variable.
3250 (grub_relocator16_keep_a20_enabled): Likewise.
3251 (grub_relocator16_boot): Fill new variables.
3252 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
3253 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
3254 relocator.
3255 (grub_chainloader_unload): Likewise.
3256 (grub_chainloader_cmd): Likewise.
3257 * include/grub/i386/pc/loader.h: Removed.
3258 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
3259 and esi. All initialisers updated.
3260
3261 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
3262 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
3263
3264 * Makefile.util.def (grub-mount): New util.
3265 * .bzrignore: Add grub-mount.
3266 * configure.ac: Check for fuse and enable grub-mount if available.
3267 * docs/man/grub-mount.h2m: New file.
3268 * util/grub-mount.c: Likewise.
3269
3270 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * grub-core/commands/efi/fixvideo.c: Gettextize.
3273 * grub-core/commands/hashsum.c: Likewise.
3274 * grub-core/commands/i386/cmostest.c: Likewise.
3275 * grub-core/commands/i386/pc/drivemap.c: Likewise.
3276 * grub-core/commands/i386/pc/lsapm.c: Likewise.
3277 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3278 * grub-core/commands/lsmmap.c: Likewise.
3279 * grub-core/commands/menuentry.c: Likewise.
3280 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3281 * grub-core/commands/setpci.c: Likewise.
3282 * grub-core/loader/i386/bsd.c: Likewise.
3283 * grub-core/loader/i386/linux.c: Likewise.
3284 * util/getroot.c: Likewise.
3285 * util/grub-editenv.c: Likewise.
3286 * util/grub-fstest.c: Likewise.
3287 * util/grub-mkfont.c: Likewise.
3288 * util/grub-mkimage.c: Likewise.
3289 * util/grub-mkpasswd-pbkdf2.c: Likewise.
3290 * util/grub-pe2elf.c: Likewise.
3291 * util/grub-probe.c: Likewise.
3292 * util/grub-setup.c: Likewise.
3293 * util/ieee1275/ofpath.c: Likewise.
3294 * util/misc.c: Likewise.
3295 * util/raid.c: Likewise.
3296
3297 2011-11-11 Robert Millan <rmh@gnu.org>
3298
3299 * util/getroot.c (grub_util_get_geom_abstraction): Remove
3300 __attribute__((unused)) from `os_dev', which *is* being used.
3301
3302 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
3305 forgotten define.
3306 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
3307 GRUB_IA64_DL_GOT_ALIGN.
3308 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
3309 GRUB_IA64_DL_TRAMP_ALIGN.
3310
3311 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Replace grub_fatal with normal errors in i386 linux loader.
3314
3315 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
3316 (allocate_pages): Check find_efi_mmap_size return value.
3317 (grub_e820_add_region): Return error.
3318 (grub_linux_boot): Check mmap return value.
3319
3320 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3321
3322 * grub-core/commands/acpihalt.c: Gettextized.
3323 * grub-core/commands/cacheinfo.c: Likewise.
3324 * grub-core/commands/cmp.c: Likewise.
3325 * grub-core/commands/efi/loadbios.c: Likewise.
3326 * grub-core/commands/gptsync.c: Likewise.
3327 * grub-core/commands/ieee1275/suspend.c: Likewise.
3328 * grub-core/commands/legacycfg.c: Likewise.
3329 * grub-core/commands/memrw.c: Likewise.
3330 * grub-core/commands/minicmd.c: Likewise.
3331 * grub-core/commands/parttool.c: Likewise.
3332 * grub-core/commands/time.c: Likewise.
3333 * grub-core/commands/videoinfo.c: Likewise.
3334 * grub-core/disk/geli.c: Likewise.
3335 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
3336 * grub-core/disk/luks.c: Likewise.
3337 * grub-core/disk/lvm.c: Likewise.
3338 * grub-core/font/font_cmd.c: Likewise.
3339 * grub-core/fs/zfs/zfscrypt.c: Likewise.
3340 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3341 * grub-core/gfxmenu/view.c: Likewise.
3342 * grub-core/kern/emu/hostdisk.c: Likewise.
3343 * grub-core/kern/emu/main.c: Likewise.
3344 * grub-core/kern/emu/misc.c: Likewise.
3345 * grub-core/kern/emu/mm.c: Likewise.
3346 * grub-core/kern/mips/arc/init.c: Likewise.
3347 * grub-core/kern/mips/loongson/init.c: Likewise.
3348 * grub-core/kern/partition.c: Likewise.
3349 * grub-core/lib/i386/halt.c: Likewise.
3350 * grub-core/lib/mips/arc/reboot.c: Likewise.
3351 * grub-core/lib/mips/loongson/reboot.c: Likewise.
3352 * grub-core/loader/i386/pc/chainloader.c: Likewise.
3353 * grub-core/loader/i386/xnu.c: Likewise.
3354 * grub-core/loader/multiboot.c: Likewise.
3355 * grub-core/net/bootp.c: Likewise.
3356 * grub-core/net/net.c: Likewise.
3357 * grub-core/normal/term.c: Likewise.
3358 * grub-core/partmap/bsdlabel.c: Likewise.
3359 * grub-core/parttool/msdospart.c: Likewise.
3360 * grub-core/term/gfxterm.c: Likewise.
3361 * grub-core/term/terminfo.c: Likewise.
3362 * grub-core/video/i386/pc/vbe.c: Likewise.
3363 * util/grub-menulst2cfg.c: Likewise.
3364 * util/grub-mkdevicemap.c: Likewise.
3365 * util/grub-mklayout.c: Likewise.
3366 * util/grub-mkrelpath.c: Likewise.
3367 * util/grub-script-check.c: Likewise.
3368 * util/ieee1275/grub-ofpathname.c: Likewise.
3369 * util/resolve.c: Likewise.
3370
3371 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3372
3373 Support %1$d syntax.
3374
3375 * tests/printf_unit_test.c: New file.
3376 * Makefile.util.def (printf_test): New test.
3377 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
3378
3379 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
3382 fix.
3383
3384 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
3387 dprintf.
3388 * grub-core/font/font.c (grub_font_load): Likewise.
3389
3390 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3391
3392 * util/grub-macho2img.c: Add comment concerning gettext.
3393 * grub-core/lib/legacy_parse.c: Likewise.
3394
3395 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
3398 (grub_xvasprintf): Likewise.
3399
3400 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 Add const keyword to grub_env_get and gettextize week days.
3403
3404 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
3405 (grub_read_hook_datetime): Return const char *.
3406 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
3407 updated.
3408 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
3409 Mark for gettext.
3410 (grub_get_weekday_name): Return const char *. Call gettext.
3411 * grub-core/script/argv.c (grub_script_argv_append): Receive const
3412 char * and len as the argument. All users updated.
3413 (grub_script_argv_split_append): Receive const char *.
3414 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
3415 * include/grub/env.h (grub_env_get): Likewise.
3416 (grub_env_read_hook_t): Return const char *.
3417 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
3418 (grub_script_argv_split_append): Likewise.
3419
3420 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
3423
3424 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
3427 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
3428
3429 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
3432 Fix prototype.
3433
3434 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3435
3436 Fix mips compilation.
3437
3438 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
3439 normal decoder.
3440 (hashes): Use in embed decoder as well (for sizes).
3441 (dec_stream_header): Fix embed decompressor logic.
3442 (dec_stream_footer): Likewise.
3443
3444 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3445
3446 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
3447 an error and not a fatal on unrecognised relocation types.
3448
3449 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3452 Issue error rather than printf on unknown arguments.
3453
3454 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3455
3456 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
3457 Make buf a const.
3458
3459 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
3462 Fix module name.
3463
3464 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3465
3466 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
3467 leftover debug printf.
3468
3469 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
3472
3473 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
3476 A stylistic fix.
3477
3478 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
3481
3482 2011-11-10 Shea Levy <slevy@tieronedesign.com>
3483
3484 Allow all modules to perform serial IO
3485
3486 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
3487 * include/grub/serial.h (grub_serial_port_configure): New inline
3488 function.
3489 (grub_serial_port_fetch): Likewise.
3490 (grub_serial_port_put): Likewise.
3491 (grub_serial_port_fini): Likewise.
3492 (grub_serial_find): New proto.
3493
3494 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3495
3496 Put symlink at the end of the node and fix a potential
3497 memory corruption.
3498
3499 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
3500 Make symlink into an array.
3501 (set_rockridge): Set have_symlink and alloc_dirents.
3502 (grub_iso9660_read_symlink): Use new layout.
3503 (grub_iso9660_iterate_dir): Fix memory corruption.
3504 Use new layout.
3505 (grub_iso9660_dir): Set have_symlink.
3506 (grub_iso9660_open): Likewise.
3507
3508 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 Remove local keyword.
3511
3512 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
3513 (version_test_gt): Likewise.
3514 (version_find_latest): Likewise.
3515 (gettext_printf): Likewise.
3516 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
3517
3518 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
3521
3522 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3523
3524 Fix ZFS memory and resource leaks.
3525
3526 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
3527 All users updated.
3528 Free type on exit.
3529 (fill_vdev_info): New parameter inserted. All users updated.
3530 (check_pool_label): Likewise.
3531 (scan_disk): Likewise.
3532 (scan_devices): Close non-inserted disks.
3533 (fzap_iterate): Free l.
3534 (unmount_device): Free children descripto memory.
3535
3536 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
3539 argument (access out of bounds).
3540
3541 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
3544 >= 6 drives.
3545
3546 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
3549 Fix declaration.
3550
3551 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 Fix several memory leaks.
3554
3555 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
3556 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
3557 (grub_cpio_dir): Likewise.
3558 * grub-core/fs/fat.c (grub_fat_label): Likewise.
3559 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
3560 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
3561 (grub_romfs_label): Likewise.
3562 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
3563 (squash_unmount): New function.
3564 (grub_squash_dir): Fix memory leak.
3565 (grub_squash_open): Likewise.
3566 (grub_squash_read): Likewise.
3567 (grub_squash_mtime): Likewise.
3568 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
3569 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
3570 * util/grub-fstest.c (fstest): Likewise.
3571
3572 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
3575 avoid accessing beyond the array.
3576
3577 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
3580
3581 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 Several AFFS fixes.
3584
3585 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
3586 (GRUB_AFFS_FLAG_FFS): Removed.
3587 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
3588 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
3589 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
3590 (grub_fshelp_node): Make block 32-bit.
3591 Add block_cache and last_block_cache.
3592 (grub_affs_read_block): Fill and use block cache.
3593 (grub_affs_read_file): Removed.
3594 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
3595 boot block.
3596 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
3597 safety.
3598 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
3599 space.
3600 (grub_affs_close): Free block cache.
3601 (grub_affs_read): Use grub_fshelp_read_file directly.
3602
3603 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
3606 with no error set.
3607
3608 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
3611 used variable.
3612 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3613 Likewise.
3614
3615 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
3618
3619 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
3620 byteswap when needed.
3621
3622 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 Fix FreeBSD compilation.
3625
3626 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
3627 to avoid circular dependency.
3628 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
3629 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
3630 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
3631
3632 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 Fix ZFS crypto error types.
3635
3636 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
3637 (grub_gcm_decrypt): Likewise.
3638 (grub_zfs_load_key_real): Fix error code type. Handle possible error
3639 from PBKDF2.
3640
3641 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3642
3643 Illumos support.
3644
3645 * Makefile.util.def (10_illumos): New script.
3646 * configure.ac: Set COND_HOST_ILLUMOS.
3647 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
3648 Support Illumos calls.
3649 (find_partition_start) [__sun__]: Likewise.
3650 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
3651 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
3652 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
3653 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
3654 device.
3655 * util/grub-probe.c (probe) [__sun__]: Do character check.
3656 * util/grub.d/10_illumos.in: New file.
3657
3658 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Support escaped commas in hostdisk.
3661
3662 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
3663 (find_grub_drive): Use unescape_cmp.
3664 (make_device_name): Escape commas.
3665
3666 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
3669
3670 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
3673 variable.
3674
3675 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 Support trampoline jumps on powerpc.
3678
3679 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
3680 __ia64__ path.
3681 (grub_dl_load_segments): Set mod->sz.
3682 (grub_dl_flush_cache): Flush whole space occupied by module, not just
3683 segments.
3684 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
3685 (jump): Likewise.
3686 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
3687 function.
3688 (trampoline): New struct.
3689 (trampoline_template): New const.
3690 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
3691 * include/grub/dl.h (grub_dl): Add sz element.
3692 [__powerpc__]: Follow __ia64__.
3693 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
3694 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
3695 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
3696 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
3697
3698 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 ZFS crypto support.
3701
3702 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
3703 * grub-core/Makefile.core.def (zfscrypt): New module.
3704 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
3705 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
3706 it. All users updated.
3707 (grub_zfs_decrypt): New var.
3708 (grub_zfs_load_key): Likewise.
3709 (zio_checksum_functions): Add SHA256+MAC.
3710 (zio_checksum_verify): Handle incomplete comparison due to MAC.
3711 (zio_read): Handle encrypted blocks.
3712 (zap_verify): Remove incorrect check.
3713 (fzap_iterate): Handle non-standard fzap.
3714 (zap_iterate): Likewise.
3715 (zap_iterate_u64): New function.
3716 (dnode_get_fullpath): Load keys.
3717 * grub-core/fs/zfs/zfscrypt.c: New file.
3718 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
3719 (grub_crypto_ecb_encrypt): Make input const.
3720 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
3721 (grub_crypto_ecb_encrypt): Make input const.
3722 (GRUB_CIPHER_AES): New macro.
3723 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
3724 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
3725 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
3726 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
3727 prefix. All users updated.
3728 (grub_zfs_add_key): New proto.
3729 (grub_zfs_decrypt): Likewise.
3730 (grub_zfs_load_key): Likewise.
3731 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
3732 * util/grub-fstest.c (options): Add -K option.
3733 (argp_parser): Likewise.
3734
3735 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3736
3737 Support zle compression on ZFS.
3738
3739 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
3740 (decomp_table): Add zle.
3741 * include/grub/zfs/zio.h (zio_compress): Add zle.
3742
3743 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3744
3745 Support BtrFS embedding.
3746
3747 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
3748 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
3749 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
3750 * util/grub-setup.c (setup): Use fs embedding if available.
3751 Add additional sanity check.
3752
3753 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * util/grub-install.in: Fix condition for config_opt.
3756
3757 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 Support third redundancy strip on raidz3.
3760
3761 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
3762 Return error on singularity. All users updated.
3763 (read_device): Don't stop on 3rd failure on raidz3.
3764
3765 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 Support case-insensitive ZFS subvolumes.
3768
3769 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
3770 All users updated.
3771 (zap_hash): Likewise.
3772 (name_cmp): New function.
3773 (zap_leaf_array_equal): New parameter case_insensitive.
3774 All users updated.
3775 (zap_leaf_lookup): Likewise.
3776 (fzap_lookup): Likewise.
3777 (zap_lookup): Likewise.
3778 (dnode_get_path): New parameter case_insensitive. Retrieve case
3779 sensitiviness of a volume. All users updated.
3780 (dnode_get_fullpath): New parameter case_insensitive.
3781 All users updated.
3782 (grub_zfs_dir): Set info.case_insensitiveness.
3783
3784 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3785
3786 Support second redundancy strip on raidz(2,3).
3787
3788 * grub-core/fs/zfs/zfs.c (powx): New array.
3789 (powx_inv): Likewise.
3790 (poly): New const.
3791 (xor_out): New function.
3792 (gf_mul): Likewise.
3793 (recovery): Likewise.
3794 (read_device): Use second redundancy strip.
3795
3796 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 Use a power of generator representation of GF(256) multiplication group
3799 to save space time and complexity.
3800
3801 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
3802 (raid6_table2): Likewise.
3803 (powx): New array.
3804 (powx_inv): Likewise.
3805 (poly): New const.
3806 (grub_raid_block_mul): Replace with ...
3807 (grub_raid_block_mulx): ...this.
3808 (grub_raid6_init_table): Rewritten.
3809 (grub_raid6_recover): Use power of generator representation.
3810
3811 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3812
3813 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
3814 for the right device.
3815
3816 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
3819 expected by grub-mkimage and it's more clear since there is no implicit
3820 padding.
3821
3822 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
3825 disk.
3826 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
3827
3828 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
3829
3830 * util/grub-mkrescue.in: Fix handling xorriso option.
3831
3832 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3833
3834 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
3835 NULL.
3836
3837 2011-11-03 crocket <crockabiscuit@gmail.com>
3838
3839 * util/grub.d/10_linux.in: Add Slackware initrd naming.
3840
3841 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3842
3843 XZ CRC64 and SHA256 support.
3844
3845 * Makefile.util.def (libgrubmods): Add crc64.c.
3846 * grub-core/Makefile.core.def (crc64): New module.
3847 * grub-core/lib/crc64.c: New file.
3848 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
3849 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
3850 Fix the type.
3851 (MAX_HASH_SIZE): New define.
3852 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
3853 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
3854 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3855 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
3856 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
3857 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
3858 Handle non-crc32 hashes.
3859 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
3860 (dec_stream_header): Handle non-crc32 hashes.
3861 (dec_stream_footer): Likewise.
3862 (dec_block_header): Likewise.
3863 (dec_main): Likewise.
3864 (xz_dec_init): Likewise.
3865 (xz_dec_reset): Likewise.
3866 (xz_dec_end): Likewise.
3867 * util/import_gcry.py: Add CRC64 line.
3868
3869 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
3872 as well.
3873
3874 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 Make reiserfs label retrieval similar to other *_label functions.
3877
3878 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
3879 (REISERFS_MAX_LABEL_LENGTH): Removed.
3880 (REISERFS_LABEL_OFFSET): Likewise.
3881 (grub_reiserfs_label): Rewritten.
3882
3883 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3884
3885 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
3886 field.
3887
3888 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
3891
3892 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
3895 drive failure on both raidz and raidz2.
3896
3897 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 Fix RAIDZ(2) for >= 5 devices.
3900
3901 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
3902 asize argument. All users updated.
3903
3904 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 Fix RAIDZ(2).
3907
3908 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
3909 (fill_vdev_info_real): Set ashift.
3910 (read_device): Rewrite RAIDZ part based on reverse engineering.
3911
3912 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
3915 don't report potentially unavialiable fields in debug output.
3916 (find_path): Fix double-free and memory leak.
3917
3918 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3919
3920 Read label on UFS1.
3921
3922 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
3923 (grub_ufs_fs): Always set .label.
3924
3925 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Use shifts in UFS.
3928
3929 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
3930 (grub_ufs_data): New field log2_blksz.
3931 (grub_ufs_read_file): Use shifts.
3932 (grub_ufs_mount): Check block size and logarithm it.
3933
3934 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
3937 long symlinks.
3938
3939 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 Handle symlinks and long names on tar and cpio.
3942
3943 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
3944 (ATTR_FILE): Likewise.
3945 (ATTR_DIR): Likewise.
3946 (ATTR_LNK): Likewise.
3947 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
3948 (grub_cpio_find_file): Fill mode, handle linkname field as well as
3949 L and K entries.
3950 (grub_cpio_mount): Zero-fill data.
3951 (handle_symlink): New function.
3952 (grub_cpio_dir): Handle symlinks.
3953 (grub_cpio_open): Likewise.
3954 (grub_cpio_close) [MODE_USTAR]: Free linkname.
3955
3956 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 Fix iso9660 filename limitations and fix memory leaks.
3959
3960 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
3961 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
3962
3963 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 Fix JFS file name length limitations.
3966
3967 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
3968 (grub_jfs_diropen): Fix maximum filename length.
3969 (grub_jfs_getent): Fix filename length.
3970 (grub_jfs_lookup_symlink): Fix size checks.
3971
3972 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3973
3974 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
3975 string.
3976
3977 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3978
3979 Leverage BFS implementation to read AFS.
3980
3981 * Makefile.util.def (libgrubmods): Add afs.c.
3982 * grub-core/Makefile.core.def (afs): New module
3983 * grub-core/fs/afs.c: New file.
3984 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
3985
3986 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
3989
3990 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 * grub-core/fs/bfs.c: Run indent.
3993
3994 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 BFS implementation based on the specification.
3997
3998 * grub-core/fs/bfs.c: New file.
3999 * Makefile.util.def (libgrubmods): Add bfs.c.
4000 * grub-core/Makefile.core.def (bfs): New module.
4001
4002 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
4003
4004 * util/grub-fstest.c (cmd_cp): Clarify error message.
4005 (cmd_cmp): Likewise.
4006
4007 2011-10-30 Yves Blusseau <blusseau@zetam.org>
4008
4009 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
4010 and befs_be.
4011
4012 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 Remove afs and befs because of copyright problem.
4015
4016 * grub-core/fs/afs.c: Removed.
4017 * grub-core/fs/afs_be.c: Removed.
4018 * grub-core/fs/befs.c: Removed.
4019 * grub-core/fs/befs_be.c: Removed.
4020 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
4021 * grub-core/Makefile.core.def (afs): Removed.
4022 (afs_be): Likewise.
4023 (befs): Likewise.
4024 (befs_be): Likewise.
4025
4026 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 Prefer rockridge over Joliet.
4029
4030 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
4031 to ...
4032 (set_rockridge): ... here.
4033 (grub_iso9660_mount): Check rockridge on the primary label when
4034 discovering. Ignore Joliet if Rockridge is present.
4035
4036 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 Use shifts in nilfs2.
4039
4040 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
4041 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
4042 (grub_nilfs2_palloc_entries_per_group): Replace with ...
4043 (grub_nilfs2_log_palloc_entries_per_group): ... this.
4044 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
4045 (grub_nilfs2_entries_per_block): Replaced with ...
4046 (grub_nilfs2_log_entries_per_block_log): ... this.
4047 (grub_nilfs2_blocks_per_group): Replaced with ...
4048 (grub_nilfs2_blocks_per_group_log): ... this.
4049 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
4050 (grub_nilfs2_blocks_per_desc_block_log): ... this.
4051 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
4052 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
4053 (grub_nilfs2_palloc_entry_offset): Replaced ...
4054 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
4055 (grub_nilfs2_dat_translate): Use shifts.
4056 (grub_nilfs2_read_inode): Likewise.
4057 (GRUB_MOD_INIT): Ensure that logs are correct.
4058
4059 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4060
4061 Use shifts in minix filesystem.
4062
4063 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
4064 (GRUB_MINIX_ZONE2SECT): Likewise.
4065 (grub_minix_data): Replace block_size with log_block_size.
4066 (grub_minix_read_file): Use shifts.
4067 (grub_minix_mount): Check block size and take a logarithm.
4068
4069 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 Use shifts in squash4.
4072
4073 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
4074 (squash_mount): Check block size and take logarithm.
4075 (direct_read): Use shifts.
4076
4077 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 Correct befs block counting logic.
4080
4081 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
4082 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
4083 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
4084 (grub_afs_read_inode): Use block_shift.
4085 (RANGE_SHIFT): New definition.
4086 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
4087 unexpected conditions, use shifts and appropriate types.
4088 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
4089
4090 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/disk/raid.c (scan_devices): Check partition.
4093 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
4094
4095 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 Support BFS (befs) UUID.
4098
4099 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
4100 (grub_afs_small_data_element_header): New struct.
4101 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
4102 (grub_afs_read_attribute) [MODE_BFS]: New function.
4103 (grub_afs_iterate_dir): Allocate for complete inode.
4104 (grub_afs_mount): Likewise.
4105 (grub_afs_uuid) [MODE_BFS]: New function.
4106 (grub_afs_fs) [MODE_BFS]: Add .uuid.
4107
4108 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
4111 (zfs_unmount): Fix memory leak.
4112
4113 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4114
4115 Support NTFS reparse points.
4116
4117 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
4118 (symlink_descriptor): New struct.
4119 (grub_ntfs_read_symlink): New function.
4120 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
4121 (grub_ntfs_open): Likewise.
4122
4123 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
4126
4127 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 fstest xnu_uuid subcommand.
4130
4131 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
4132 grub-core/commands/xnu_uuid.c.
4133 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
4134 (fstest): Handle xnu_uuid.
4135 (options): Document xnu_uuid.
4136 (argp_parser): Parse xnu_uuid.
4137
4138 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
4141 -l argument. Add newline at the end if printing.
4142 (GRUB_MOD_INIT): Document -l.
4143
4144 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
4147
4148 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 ZFS multi-device and version 33 support.
4151
4152 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
4153 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
4154 (grub_zfs_data): Add multidev-ice-related fields.
4155 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
4156 (dva_get_offset): Make dva const.
4157 (zfs_fetch_nvlist): New function.
4158 (fill_vdev_info_real): Likewise.
4159 (fill_vdev_info): Likewise.
4160 (check_pool_label): Likewise.
4161 (scan_disk): Likewise.
4162 (scan_devices): Likewise.
4163 (read_device): Likewise.
4164 (read_dva): Likewise.
4165 (zio_read_gang): Use read_dva.
4166 (zio_read_data): Likewise.
4167 (zap_leaf_lookup): Add missing endian conversion.
4168 (zap_verify): Add missing endian conversion. All users updated.
4169 (fzap_lookup): Likewise.
4170 (fzap_iterate): Likewise.
4171 (dnode_get_path): Handle SA bonus.
4172 (nvlist_find_value): Make input const. All users updated.
4173 (unmount_device): New function.
4174 (zfs_unmount): Use unmount_device.
4175 (zfs_mount): Use scan_disk.
4176 (zfs_mtime): New function.
4177 (grub_zfs_open): Handle system attributes.
4178 (fill_fs_info): Likewise.
4179 (grub_zfs_dir): Likewise.
4180 (grub_zfs_fs): Add mtime.
4181 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
4182 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
4183 (SA_MTIME_OFFSET): Likewise.
4184 (SA_SYMLINK_OFFSET): Likewise.
4185 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
4186 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
4187 (fstest): Support zfsinfo.
4188 (argp_parser): Likewise.
4189
4190 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
4193 error.
4194
4195 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 ZFS fixes.
4198
4199 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
4200 sharing the same block. Iterate over correct number of indices.
4201 (dnode_get_path): Handle symlinks correctly.
4202
4203 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
4206
4207 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 Read label on HFS+.
4210
4211 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
4212 (grub_hfsplus_btree_search): Fix types.
4213 (grub_hfsplus_label): Implement.
4214
4215 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
4218
4219 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4220
4221 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
4222
4223 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Fix symlink handling on iso9660.
4226
4227 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
4228 All users updated.
4229 (grub_iso9660_susp_iterate): Accept zero-size iterate.
4230 (grub_iso9660_read_symlink): Moved most of code ...
4231 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
4232
4233 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4236 Use union to avoid breaking strict-aliasing rules.
4237
4238 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4239
4240 Support multi-extent iso files.
4241
4242 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
4243 Add node.
4244 (grub_fshelp_node): Revamp. All users updated.
4245 (FLAG_*): New enum.
4246 (read_node): New function.
4247 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
4248 All users updated.
4249 (grub_iso9660_mount): Don't attempt to read sua when there is none.
4250 (get_node_size): New function.
4251 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
4252 entries.
4253 Fix memory leak on . and ..
4254 (grub_iso9660_read): Use read_node.
4255 (grub_iso9660_close): Free node.
4256
4257 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Fix tar 4G limit and handle paths containing dot.
4260
4261 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
4262 (canonicalize): New function.
4263 (grub_cpio_find_file): Use canonicalize. Store offs in
4264 grub_disk_addr_t.
4265 (grub_cpio_dir): Use grub_disk_addr_t.
4266 (grub_cpio_open): Likewise.
4267
4268 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Fix handling of uncompressed blocks on squashfs and break 4G limit.
4271
4272 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
4273 unused flags.
4274 (grub_squash_inode): Add long_file and block_size.
4275 (grub_squash_cache_inode): New struct.
4276 (grub_squash_dirent): Make types into enum.
4277 (SQUASH_TYPE_LONG_REGULAR): New type.
4278 (grub_squash_frag_desc): Add field size.
4279 (SQUASH_BLOCK_FLAGS): New enum.
4280 (grub_squash_data): Use grub_squash_cache_inode.
4281 (grub_fshelp_node): Make ino_chunk 64-bit.
4282 (read_chunk): Minor argument change. All users updated.
4283 (squash_mount): Use correct le_to_cpu.
4284 (grub_squash_open): Handle LONG_REGULAR.
4285 (direct_read): New function.
4286 (grub_squash_read_data): Handle blocks correctly.
4287
4288 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
4291
4292 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
4295
4296 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 Fix 2G limit on ZFS.
4299
4300 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
4301 types.
4302 (uberblock_verify): Likewise.
4303 (dmu_read): Likewise.
4304 (grub_zfs_read): Likewise. Remove invalid cast.
4305
4306 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
4309 (grub_jfs_blkno): Fix incorrect shift.
4310 (grub_jfs_read_file): Use more appropriate types.
4311
4312 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 Support triple indirect on minix2 and minix3.
4315
4316 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
4317 Declare triple_indir_zone.
4318 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
4319 indirect.
4320
4321 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 Minix FS fixes.
4324
4325 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
4326 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
4327 Rename ctime to mtime. All users updated.
4328 (grub_minix_get_file_block): Fix types and double indirect computations.
4329
4330 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
4333 if no label is found.
4334 (grub_fat_iterate_dir): Fix file size type.
4335 (grub_fat_iterate_dir): Likewise.
4336
4337 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4338
4339 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
4340 save some space.
4341 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4342 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4343
4344 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
4347
4348 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4349
4350 * util/import_gcry.py: Accept space between # and include.
4351
4352 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4353
4354 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
4355
4356 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 Fine grainely disable warnings on lexer. Remove Wno-error on it.
4359
4360 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
4361 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
4362 yylex_strncpy.
4363 * grub-core/script/yylex.l: Add fine-grained #pragma.
4364
4365 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4366
4367 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
4368 New inline function.
4369 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
4370 Likewise.
4371 (memset) [GRUB_UTIL]: Likewise.
4372 (memcmp) [GRUB_UTIL]: Likewise.
4373
4374 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4375
4376 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
4377 inline function rather than a define.
4378
4379 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4380
4381 * util/grub-setup.c: Add missing include.
4382
4383 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4384
4385 * util/ieee1275/grub-ofpathname.c: Add missing include.
4386
4387 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
4390 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
4391 Likewise.
4392
4393 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
4396 grub_memcmp usage.
4397
4398 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * util/grub-install.in: Add datarootdir as per automake manual
4401 suggestion.
4402 * util/grub-mknetdir.in: Likewise.
4403
4404 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
4407 suggestion.
4408 * util/grub.d/10_kfreebsd.in: Likewise.
4409 * util/grub.d/10_linux.in: Likewise.
4410 * util/grub.d/10_netbsd.in: Likewise.
4411 * util/grub.d/10_windows.in: Likewise.
4412 * util/grub.d/20_linux_xen.in: Likewise.
4413
4414 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
4415
4416 Remove redundant grub_kernel_image_size.
4417
4418 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
4419 _edata and _start.
4420 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
4421 the small code. It moves it only by few bytes but simplifies the code.
4422 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
4423 _start.
4424 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
4425 (grub_kernel_image_size): Removed.
4426 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
4427 (grub_kernel_image_size): Removed.
4428 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
4429 compiled with Apple toolchain.
4430 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
4431 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
4432 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
4433 (grub_total_module_size): Likewise.
4434 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
4435 Removed.
4436 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
4437 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
4438 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
4439 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
4440 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
4441 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
4442 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
4443 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
4444 Removed.
4445 (grub_total_module_size): Removed.
4446 * util/grub-mkimage.c (image_target_desc): Remove image_size.
4447 (image_targets): Likewise.
4448 Set .compressed_size to no field on sparc.
4449 (generate_image): Remove kernel_image_size handling.
4450
4451 2011-10-19 Szymon Janc <szymon@janc.net.pl>
4452
4453 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
4454 NULL pointer dereference.
4455
4456 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4457
4458 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4459 done with a dedicated section.
4460
4461 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
4462 Ensure the correct position of boot_path.
4463 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
4464 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
4465 other fields.
4466 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
4467 * include/grub/boot.h: Removed. All references removed.
4468 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
4469 Removed.
4470 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
4471
4472 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
4475 name.
4476
4477 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
4480
4481 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
4484 Don't add the bogus brackets.
4485
4486 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 ExFAT support.
4489
4490 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
4491 * grub-core/Makefile.core.def (exfat): New module.
4492 * grub-core/fs/exfat.c: New file.
4493 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
4494 (GRUB_FAT_ATTR_*): Make into an enum.
4495 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
4496 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
4497 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
4498 (GRUB_FAT_MAXFILE): Removed.
4499 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
4500 (grub_current_fat_bpb_t): New type.
4501 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
4502 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
4503 (grub_fat_dir_node_t): New type.
4504 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
4505 (fat_log2) [MODE_EXFAT]: Removed.
4506 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
4507 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
4508 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
4509 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
4510 (grub_fat_label) [MODE_EXFAT]: New function.
4511 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
4512 reserved_first_sector to 0.
4513
4514 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
4515
4516 Move grub_reboot out of the kernel.
4517
4518 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
4519 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
4520 * grub-core/lib/efi/reboot.c: ... here.
4521 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
4522 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
4523 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
4524 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
4525 * grub-core/lib/i386/reboot_trampoline.S: ... here.
4526 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
4527 * grub-core/lib/ieee1275/reboot.c: ... here.
4528 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
4529 * grub-core/lib/mips/arc/reboot.c: ... here.
4530 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
4531 * grub-core/lib/mips/loongson/reboot.c: ...here.
4532 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
4533 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
4534 * include/grub/emu/misc.h (grub_reboot): New function declaration.
4535 * include/grub/i386/reboot.h: New file.
4536 * include/grub/mips/loongson/ec.h: Fix includes.
4537 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
4538 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
4539 * grub-core/lib/i386/reboot.c: New file.
4540
4541 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 Make grub_prefix into module to fix the arbitrary limit and save
4544 some space.
4545
4546 * grub-core/kern/emu/main.c (grub_prefix): Removed.
4547 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
4548 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
4549 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
4550 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
4551 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
4552 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
4553 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
4554 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
4555 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
4556 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
4557 * include/grub/ia64/efi/kernel.h: Removed.
4558 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
4559 (grub_prefix): Removed.
4560 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
4561 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
4562 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
4563 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
4564 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
4565 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
4566 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
4567 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
4568 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
4569 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
4570 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4571 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4572 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4573 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4574 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
4575 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
4576 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
4577 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4578 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
4579 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
4580 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
4581 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
4582 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
4583 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
4584 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
4585 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
4586 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
4587 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
4588 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
4589 from module.
4590 * util/grub-mkimage.c (image_target_desc): Removed prefix and
4591 prefix_end.
4592 (image_targets): Likewise.
4593 (generate_image): Put prefix as a module.
4594
4595 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4596
4597 Replace grub_module_iterate with FOR_MODULES.
4598
4599 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
4600 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
4601 (grub_efi_modules_addr): ...this.
4602 * grub-core/kern/efi/init.c (grub_modbase): New variable.
4603 (grub_efi_init): Set grub_modbase.
4604 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
4605 (grub_modbase): New variable.
4606 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
4607 (grub_modbase): New variable.
4608 (grub_machine_init): Set grub_modbase.
4609 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
4610 (grub_modbase): New variable.
4611 (grub_machine_init): Set grub_modbase.
4612 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
4613 (grub_modbase): New variable.
4614 (grub_machine_init): Set grub_modbase.
4615 * grub-core/kern/main.c (grub_module_iterate): Remove.
4616 (grub_modules_get_end): Use grub_modbase.
4617 (grub_load_modules): Use FOR_MODULES.
4618 (grub_load_config): Likewise.
4619 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
4620 (grub_modbase): New variable.
4621 (grub_machine_init): Set grub_modbase.
4622 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
4623 (grub_modbase): New variable.
4624 (grub_machine_init): Set grub_modbase.
4625 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
4626 Removed.
4627 (grub_modbase): New variable.
4628 (grub_machine_init): Set grub_modbase.
4629 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
4630 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
4631 (grub_module_iterate): Likewise.
4632 (grub_modbase): New variable declaration.
4633 (FOR_MODULES): New macro.
4634
4635 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * configure.ac: Check for __ctzdi2 and __ctzsi2.
4638 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
4639
4640 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4641
4642 Fix few obvious type discrepancies.
4643
4644 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
4645 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
4646 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
4647 variable.
4648 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
4649 and connected types.
4650 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
4651 offset.
4652 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
4653 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
4654 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
4655 and connected types.
4656
4657 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4658
4659 Fix python 3.x incompatibilities.
4660
4661 * gentpl.py: Put brackets around print strings.
4662 * util/import_gcry.py: Open explicitly as utf-8.
4663 Use in instead of has_key.
4664
4665 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
4668 (GRUB_XFS_INO_AGBITS): Make into inline function.
4669 (GRUB_XFS_INO_INOINAG): Likewise.
4670 (GRUB_XFS_INO_AG): Likewise.
4671 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
4672 (GRUB_XFS_EXTENT_OFFSET): Likewise.
4673 (GRUB_XFS_EXTENT_BLOCK): Likewise.
4674 (GRUB_XFS_EXTENT_SIZE): Likewise.
4675 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
4676 (GRUB_XFS_NEXT_DIRENT): Likewise.
4677 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
4678 (grub_xfs_read_file): Fix offset type.
4679
4680 2011-10-15 Robert Millan <rmh@gnu.org>
4681
4682 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
4683
4684 2011-10-15 Robert Millan <rmh@gnu.org>
4685
4686 Fix build problem on FreeBSD and GNU/kFreeBSD.
4687
4688 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
4689
4690 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4691
4692 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
4693
4694 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
4695 types.
4696 (grub_hfsplus_btree_recoffset): Likewise.
4697 (grub_hfsplus_btree_recptr): Likewise.
4698 (grub_hfsplus_find_block): Likewise.
4699 (grub_hfsplus_btree_search): Likewise.
4700 (grub_hfsplus_read_block): Likewise.
4701 (grub_hfsplus_read_file): Likewise.
4702 (grub_hfsplus_mount): Likewise.
4703 (grub_hfsplus_btree_iterate_node): Likewise.
4704 (grub_hfsplus_btree_search): Likewise.
4705 (grub_hfsplus_iterate_dir): Likewise.
4706 (grub_hfsplus_read): A small code simplification.
4707
4708 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * grub-core/kern/emu/hostdisk.c
4711 (convert_system_partition_to_system_disk): Don't assume that children
4712 of mapper nodes are mapper nodes.
4713
4714 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
4717 * include/grub/misc.h (grub_isxdigit): New function.
4718 * grub-core/video/colors.c (my_isxdigit): Removed. All users
4719 switched to grub_isxdigit.
4720 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
4721 number starting with a letter.
4722
4723 2011-10-09 Robert Millan <rmh@gnu.org>
4724
4725 LVM support for FreeBSD and GNU/kFreeBSD.
4726
4727 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
4728 GNU/kFreeBSD.
4729 (LVM_DEV_MAPPER_STRING): Move from here ...
4730 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
4731 * util/getroot.c: Include `<grub/util/lvm.h>'.
4732 (grub_util_get_dev_abstraction): Enable
4733 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
4734 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
4735 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
4736 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
4737 support it.
4738 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
4739 GNU/kFreeBSD.
4740 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
4741 when LVM abstraction is required for ${GRUB_DEVICE}.
4742
4743 2011-10-06 Szymon Janc <szymon@janc.net.pl>
4744
4745 Add support for LZO compression in GRUB:
4746 - import of minilzo library,
4747 - LZO decompression for btrfs,
4748 - lzop files decompression.
4749
4750 * grub-core/io/lzopio.c: New file.
4751 * grub-core/lib/adler32.c: Likewise.
4752 * grub-core/lib/minilzo/lzoconf.h: Likewise.
4753 * grub-core/lib/minilzo/lzodefs.h: Likewise.
4754 * grub-core/lib/minilzo/minilzo.c: Likewise.
4755 * grub-core/lib/minilzo/minilzo.h: Likewise.
4756 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
4757 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
4758 grub-core/lib/minilzo/minilzo.c to common.
4759 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
4760 cflags in cppflags.
4761 * grub-core/Makefile.core.def (btrfs): Likewise.
4762 * grub-core/Makefile.core.def (lzopio): New module.
4763 (adler32): Likewise.
4764 * grub-core/fs/btrfs.c: Include minilzo.h.
4765 (GRUB_BTRFS_COMPRESSION_LZO): New define.
4766 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
4767 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
4768 (grub_btrfs_lzo_decompress): New function.
4769 (grub_btrfs_extent_read): Add support for LZO compression type.
4770 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
4771 (GRUB_USHRT_MAX): Likewise.
4772 (GRUB_UINT_MAX): Likewise.
4773 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
4774 (UINT_MAX): Likewise.
4775 (CHAR_BIT): Likewise.
4776 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
4777 grub-core/lib/posix_wrap/limits.h
4778 (UCHAR_MAX): Likewise.
4779 * include/grub/file.h (grub_file_filter_id): New compression filter
4780 GRUB_FILE_FILTER_LZOPIO.
4781 * include/grub/file.h (grub_file_filter_id): Set
4782 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
4783 * include/grub/types.h (grub_get_unaligned16): New function.
4784 (grub_get_unaligned32): Likewise.
4785 (grub_get_unaligned64): Likewise.
4786 * util/import_gcry.py (cryptolist): Add adler32.
4787
4788 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
4791 in perspective decreases the complexity of build system and fixes
4792 compilation right now.
4793
4794 2011-10-01 Ales Nesrsta <starous@volny.cz>
4795
4796 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
4797 (fixed problem related to using UHCI with coreboot).
4798
4799 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
4800
4801 * gentpl.py: Use Autogen macros so that the output template file
4802 (Makefile.tpl) size is reduced.
4803
4804 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
4805
4806 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
4807 extra_dist.
4808
4809 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4810
4811 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
4812 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
4813
4814 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4815
4816 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
4817 _fullpath.
4818
4819 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
4820
4821 Remove extra declaration of sleep for mingw32.
4822
4823 * util/misc.c (sleep) [__MINGW32__]: Removed.
4824 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
4825
4826 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
4827
4828 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
4829 type and packname.
4830 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
4831 Resurrected.
4832 (NETBSD_BTINFO_BOOTWEDGE): New definition.
4833 (grub_netbsd_btinfo_bootwedge): New struct.
4834 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
4835 New function.
4836 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
4837
4838 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
4839
4840 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
4841 loader.
4842
4843 2011-09-28 Andreas Born <futur.andy@googlemail.com>
4844
4845 Fix incorrect identifiers in bash-completion.
4846
4847 * util/bash-completion.d/grub-completion.bash.in
4848 (_grub_mkpasswd-pbkdf2): Rename to ...
4849 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
4850 (_grub_script-check): Rename to ...
4851 (_grub_script_check): ... this. All users updated.
4852
4853 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
4856 Return 0 if disk isn't biosdisk.
4857
4858 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4859
4860 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
4861 on NetBSD.
4862 * Makefile.util.def (grub-fstest): Likewise.
4863
4864 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
4865
4866 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
4867 Get sector size from disk label.
4868
4869 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
4870
4871 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
4872 */README* as well as README*.
4873 Reported by: Axel Beckert.
4874
4875 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
4878 case of less than 256 MiB of RAM.
4879
4880 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4881
4882 * grub-core/commands/wildcard.c (make_regex): Handle @.
4883
4884 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * util/grub-install.in: Move cryptodisk logic to appropriate place.
4887
4888 2011-08-21 Szymon Janc <szymon@janc.net.pl>
4889
4890 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
4891 AC_LANG_CONFTEST macros.
4892
4893 2011-08-20 Szymon Janc <szymon@janc.net.pl>
4894
4895 Add grub-fstest option to uncompress data for commands.
4896
4897 * util/grub-fstest.c (uncompress): New var.
4898 (options): New option -u.
4899
4900 2011-08-20 Szymon Janc <szymon@janc.net.pl>
4901
4902 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4903 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
4904
4905 2011-08-20 Szymon Janc <szymon@janc.net.pl>
4906
4907 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
4908 file type was not recognized correctly (not gzip or corrupted).
4909
4910 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
4913 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
4914
4915 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
4918 loongson.
4919 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4920 video_radeon_fuloong2e.
4921 * grub-core/video/radeon_fuloong2e.c: New file.
4922 * include/grub/video.h (grub_video_id_t): Add new ID
4923 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
4924
4925 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
4928 define.
4929 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
4930 that PRID matches the detected subplatform and reset the subplatform
4931 if it doesn't.
4932
4933 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
4936
4937 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 Fix PCI iterating on functions >= 4.
4940
4941 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
4942 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
4943 Removed.
4944 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
4945 (grub_pci_read): Fix bitmask.
4946 (grub_pci_read_word): Likewise.
4947 (grub_pci_read_byte): Likewise.
4948 (grub_pci_write): Likewise.
4949 (grub_pci_write_word): Likewise.
4950 (grub_pci_write_byte): Likewise.
4951
4952 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
4955 can still be specified in TARGET_CFLAGS)
4956
4957 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
4960
4961 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
4962 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
4963 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
4964 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
4965 (FULOONG): Rename to ...
4966 (FULOONG2F): ... this. All users updated.
4967 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
4968 (machtype_fuloong2f_str): ... this.
4969 (machtype_fuloong2e_str): New string.
4970 Check for machtype_fuloong2e_str.
4971 * grub-core/loader/mips/linux.c (loongson_machtypes)
4972 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
4973 * grub-core/term/serial.c (loongson_defserial)
4974 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
4975 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
4976 loongson_defserial.
4977 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
4978 Rename to ...
4979 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
4980 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
4981 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
4982 to IMAGE_FULOONG2F_FLASH. All users updated.
4983 (image_targets): Rename images.
4984 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
4985
4986 2011-08-19 Szymon Janc <szymon@janc.net.pl>
4987
4988 Make enable of disk cache statistics code configurable.
4989
4990 * configure.ac: --enable-cache-stats added.
4991 * config.h.in (DISK_CACHE_STATS): New define.
4992 * grub-core/Makefile.core.def (cacheinfo): New command.
4993 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
4994 * grub-core/commands/cacheinfo.c: New file.
4995 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
4996 moved to cacheinfo.c.
4997 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
4998 debug code.
4999 * include/grub/disk.h: Likewise.
5000
5001 2011-08-19 Szymon Janc <szymon@janc.net.pl>
5002
5003 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
5004 * grub-core/Makefile.am: Likewise.
5005
5006 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5007
5008 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
5009 non-zero pull.
5010
5011 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5012
5013 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
5014 All users updated.
5015 (grub_jfs_lookup_symlink): Use correct starting inode.
5016
5017 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * util/grub-setup.c (main): Add missing gcry initialisation.
5020
5021 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
5022
5023 Don't accept text modes on EFI when booting Linux.
5024
5025 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
5026 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
5027
5028 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
5029 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5030
5031 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
5032 use of "/path/.." as in grub-install for EFI as well as handling
5033 symlinks correctly.
5034 Fixes Debian bug #637768.
5035
5036 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
5037
5038 * util/grub-probe.c: Remove duplicate #include.
5039
5040 2011-08-10 Robert Millan <rmh@gnu.org>
5041
5042 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
5043
5044 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
5045 function.
5046 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
5047 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
5048
5049 2011-08-03 Robert Millan <rmh@gnu.org>
5050
5051 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
5052 la_array as packed.
5053 Reported by: Zachary Bedell
5054
5055 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5056
5057 * configure.ac: The Loongson port requires grub-mkfont due to its
5058 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
5059 be built.
5060
5061 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
5062
5063 * util/grub-install.in: Don't source grub-mkconfig_lib until after
5064 processing arguments (otherwise help2man fails when GRUB has not yet
5065 been installed).
5066
5067 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 New script grub-mkstandalone.
5070
5071 * Makefile.util.def (grub-mkstandalone): New script.
5072 * docs/man/grub-mkstandalone.h2m: New file.
5073 * util/grub-mkstandalone.in: Likewise.
5074
5075 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 Support ATA disks with 4K sectors.
5078
5079 * include/grub/ata.h (grub_ata): New member log_sector_size.
5080 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
5081 (grub_ata_identify): Read sector size.
5082 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
5083
5084 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5085
5086 * util/grub-install.in: Don't use uhci outside of x86.
5087
5088 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * util/grub-mkrescue.in: Add missing quotes.
5091
5092 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
5093
5094 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
5095 dereference.
5096
5097 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
5100
5101 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5102
5103 * include/grub/video.h: add missing EXPORT_FUND on
5104 grub_video_edid_checksum and grub_video_edid_preferred_mode.
5105
5106 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * include/grub/mips/kernel.h: Fix define conflict.
5109
5110 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
5111
5112 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
5113 all four ways.
5114
5115 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
5116
5117 Preferred resolution detection for VBE.
5118
5119 * grub-core/video/video.c (grub_video_edid_checksum): New function.
5120 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
5121 the Flat Panel extension, in line with the X.org VESA driver.
5122 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
5123 New function.
5124 (grub_vbe_bios_get_ddc_capabilities): Likewise.
5125 (grub_vbe_bios_read_edid): Likewise.
5126 (grub_vbe_get_preferred_mode): Likewise.
5127 (grub_video_vbe_setup): When the mode is "auto", try to get the
5128 preferred mode from VBE, and use the largest mode that is no larger
5129 than the preferred mode (some BIOSes expose a preferred mode that is
5130 not in their mode list!). If this fails, fall back to 640x480 as a
5131 safe conservative choice.
5132 (grub_video_vbe_get_edid): New function.
5133 (grub_video_vbe_adapter): Add get_edid.
5134 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
5135 (struct grub_video_adapter): Add get_edid.
5136 (grub_video_edid_checksum): Add prototype.
5137 (grub_video_edid_preferred_mode): Likewise.
5138 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
5139 structure.
5140
5141 * grub-core/commands/videoinfo.c (print_edid): New function.
5142 (grub_cmd_videoinfo): Print EDID if available.
5143
5144 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
5145 is more appropriate on a wider range of platforms than 640x480.
5146 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
5147 documentation.
5148
5149 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
5152
5153 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * po/POTFILES.in: Regenerate.
5156
5157 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
5160 incorrect memory usage.
5161
5162 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * util/grub-install.in: Source grub-mkconfig_lib.
5165
5166 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 Remove getroot.c from core on emu platform.
5169
5170 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
5171 kern/emu/raid.c.
5172 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
5173 useless.
5174 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
5175 * util/getroot.c (get_win32_path): ... here.
5176 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
5177 * util/getroot.c (fini_libzfs): ... here.
5178 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
5179 * util/getroot.c (grub_get_libzfs_handle): ... here.
5180 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
5181 Moved from here...
5182 * util/getroot.c (grub_find_zpool_from_dir): ... here.
5183 * grub-core/kern/emu/misc.c
5184 (grub_make_system_path_relative_to_its_root): Moved from here...
5185 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
5186 * grub-core/kern/emu/getroot.c: Moved from here ...
5187 * util/getroot.c: ... here. All users updated.
5188 * grub-core/kern/emu/raid.c: Moved from here ...
5189 * util/raid.c: ... here. All users updated.
5190
5191 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
5192
5193 * po/POTFILES.in: Regenerate.
5194
5195 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 Fix compilation on GNU/Linux.
5198
5199 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
5200 Disable geli.
5201 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
5202 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
5203 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
5204
5205 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5206 2011-07-07 Michael Gorven <michael@gorven.za.net>
5207 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
5208
5209 LUKS and GELI support.
5210
5211 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
5212 grub-core/disk/luks.c, grub-core/disk/geli.c,
5213 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
5214 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
5215 grub-core/lib/arg.c.
5216 (libgrubmods.a): Remove gcrypts cflags and cppflags.
5217 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
5218 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
5219 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
5220 (grub-bin2h): Add libgcry.a.
5221 (grub-mkimage): Likewise.
5222 (grub-mkrelpath): Likewise.
5223 (grub-script-check): Likewise.
5224 (grub-editenv): Likewise.
5225 (grub-mkpasswd-pbkdf2): Likewise.
5226 (grub-pe2elf): Likewise.
5227 (grub-fstest): Likewise.
5228 (grub-mkfont): Likewise.
5229 (grub-mkdevicemap): Likewise.
5230 (grub-probe): Likewise.
5231 (grub-ofpath): Likewise.
5232 (grub-mklayout): Likewise.
5233 (example_unit_test): Likewise.
5234 (grub-menulst2cfg): Likewise.
5235 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
5236 * grub-core/Makefile.core.def (cryptodisk): New module.
5237 (luks): Likewise.
5238 (geli): Likewise.
5239 * grub-core/disk/AFSplitter.c: New file.
5240 * grub-core/disk/cryptodisk.c: Likewise.
5241 * grub-core/disk/geli.c: Likewise.
5242 * grub-core/disk/luks.c: Likewise.
5243 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
5244 grub_util_is_lvm.
5245 (grub_util_get_dm_abstraction): New function.
5246 (grub_util_follow_gpart_up): Likewise.
5247 (grub_util_get_geom_abstraction): Likewise.
5248 (grub_util_get_dev_abstraction): Use new functions.
5249 (grub_util_pull_device): Pull GELI and LUKS.
5250 (grub_util_get_grub_dev): Handle LUKS and GELI.
5251 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
5252 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
5253 (follow_geom_up): Removed.
5254 (grub_util_fd_seek): New function.
5255 (open_device): Use grub_util_fd_seek.
5256 (nread): Rename to ..
5257 (grub_util_fd_read): ... this. All users updated.
5258 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
5259 (grub_crypto_cbc_decrypt): Likewise.
5260 (grub_crypto_hmac_write): Likewise.
5261 (grub_crypto_hmac_buffer): Likewise.
5262 (grub_password_get): Extend to util.
5263 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
5264 New member modname.
5265 (gcry_md_spec) [GRUB_UTIL]: Likewise.
5266 * include/grub/cryptodisk.h: New file.
5267 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
5268 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
5269 LUKS and GELI.
5270 (grub_util_follow_gpart_up): New proto.
5271 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
5272 (grub_util_fd_read): Likewise.
5273 (grub_cryptodisk_cheat_mount): Likewise.
5274 (grub_util_cryptodisk_print_uuid): Likewise.
5275 (grub_util_get_fd_sectors): Likewise.
5276 * util/grub-fstest.c (mount_crypt): New var.
5277 (fstest): Mount crypto if requested.
5278 (options): New option -C.
5279 (argp_parser): Parse -C.
5280 (main): Init and fini gcry.
5281 * util/grub-install.in: Support cryptodisk install.
5282 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
5283 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
5284 cryptodisk.
5285 (prepare_grub_to_access_device): Likewise.
5286 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
5287 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
5288 (probe_cryptodisk_uuid): New function.
5289 (probe_abstraction): Likewise.
5290 (probe): Use new functions.
5291 * util/import_gcry.py: Create Makefile.utilgcry.def.
5292 Add modname member.
5293
5294 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 Lazy device scanning.
5297
5298 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
5299 (grub-setup): Remove util/raid.c.
5300 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
5301 * grub-core/disk/lvm.c (scan_depth): New variable.
5302 (grub_lvm_iterate): Rescan if necessary.
5303 (find_lv): New function based on grub_lvm_open.
5304 (grub_lvm_open): Use find_lv. Rescan on error.
5305 (is_node_readable): New function.
5306 (is_lv_readable): Likewise.
5307 (grub_lvm_scan_device): Skip already found disks.
5308 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
5309 Stop if searched device is found and readable.
5310 * grub-core/disk/raid.c (inscnt): New variable.
5311 (scan_depth): Likewise.
5312 (scan_devices): New function based on grub_raid_register. Abort if
5313 looked for device is found.
5314 (grub_raid_iterate): Rescan if needed.
5315 (find_array): NEw function based on -grub_raid_open.
5316 (grub_raid_open): Use find_array and rescan.
5317 (insert_array): Set became_readable_at.
5318 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
5319 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
5320 New function.
5321 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
5322 (grub_util_pull_device): New function.
5323 (grub_util_get_grub_dev): Call grub_util_pull_device.
5324 * util/raid.c: Moved to ..
5325 * grub-core/kern/emu/raid.c: ... here.
5326 (grub_util_raid_getmembers): New parameter "bootable".
5327 All users updated. Support 1.x.
5328 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
5329 All users updated.
5330 * include/grub/disk.h (grub_disk_pull_t): New enum.
5331 (grub_disk_dev): Change iterate prototype.
5332 All users updated.
5333 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
5334 New proto.
5335 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
5336 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
5337 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
5338 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
5339 All users updated.
5340 * include/grub/util/raid.h: Removed.
5341
5342 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * po/POTFILES.in: Regenerate.
5345
5346 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
5347
5348 Unify sparc init with other ieee1275.
5349
5350 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
5351 instead of kern/sparc64/ieee1275/init.c.
5352 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
5353 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
5354 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
5355 grub/machine/kernel.h.
5356 (grub_ieee1275_original_stack) [__sparc__]: New variable.
5357 (grub_claim_heap) [__sparc__]: Use sparc version.
5358 (grub_machine_init): Moved args parsing to
5359 (grub_parse_cmdline): ...this.
5360 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
5361 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
5362 New definition.
5363 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
5364
5365 Move BOOTP to separate file.
5366
5367 * grub-core/Makefile.core.def (net): Add net/bootp.c.
5368 * grub-core/net/net.c: Move all BOOTP functions to
5369 * grub-core/net/bootp.c: ... here.
5370
5371 Use frame interface on PXE.
5372
5373 * grub-core/Makefile.core.def (pxecmd): Removed.
5374 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
5375 * grub-core/commands/i386/pc/pxecmd.c: Removed.
5376 * grub-core/i386/pc/pxe.c: Moved from here ...
5377 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
5378 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
5379 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
5380
5381 EFI network support.
5382
5383 * grub-core/Makefile.core.def (efinet): New module.
5384 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
5385 here...
5386 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
5387 All users updated.
5388 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
5389 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
5390 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
5391 * grub-core/net/drivers/efi/efinet.c: New file.
5392 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
5393 (grub_efi_net_config): New extern var.
5394
5395 Various cleanups and bugfixes.
5396
5397 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
5398 error.
5399 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
5400 disk declared as partition.
5401 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
5402 leak on failure.
5403 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
5404 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
5405 (grub_debug_zalloc): Likewise.
5406 (grub_debug_realloc): Likewise.
5407 (grub_debug_memalign): Likewise.
5408 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
5409 Check that target is IPv4.
5410 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
5411 local-mac-address as fallback.
5412 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
5413 memory leak.
5414 * grub-core/net/ip.c (ipchksum): Rename to ...
5415 (grub_net_ip_chksum): ... this. All users updated.
5416 (grub_net_recv_ip_packets): Special handling for DHCP.
5417 * util/grub-mkimage.c (generate_image): Zero-out aout header.
5418
5419 Unify prefix handling
5420
5421 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
5422 (grub_machine_get_bootlocation): ... this.
5423 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
5424 (grub_machine_get_bootlocation): ... this.
5425 (grub_prefix): New variable.
5426 (prefix): Removed.
5427 (root_dev): New variable.
5428 (dir): Likewise.
5429 (main): Use new variables.
5430 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
5431 Revamped into ...
5432 (grub_machine_get_bootlocation): ... this.
5433 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
5434 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
5435 (grub_machine_get_bootlocation): ... this.
5436 (grub_machine_set_prefix): Removed.
5437 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
5438 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
5439 Revamped into ...
5440 (grub_machine_get_bootlocation): ... this.
5441 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
5442 (grub_set_prefix_and_root): ... this. All users updated.
5443 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
5444 Revamped into ...
5445 (grub_machine_get_bootlocation): ... this.
5446 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
5447 (grub_machine_get_bootlocation): New proto.
5448 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
5449
5450 Less intrusive and more reliable seek on network implementation.
5451
5452 * grub-core/kern/file.c (grub_file_net_seek): Removed.
5453 (grub_file_seek): Don't call grub_file_net_seek.
5454 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
5455 (grub_net_fs_read_real): .. this.
5456 (grub_net_seek_real): Use net->offset.
5457 (grub_net_fs_read): Seek if necessary.
5458
5459 Unify IEEE1275 netwotk config with the other platforms.
5460
5461 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
5462 New variable.
5463 (grub_machine_get_bootlocation): Support network.
5464 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
5465 Support type and device parsing.
5466 (grub_ieee1275_get_device_type): New function.
5467 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
5468 into ...
5469 (grub_ieee1275_net_config_real): ... this.
5470 (grub_ofnet_probecards): Removed.
5471 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
5472 * include/grub/ieee1275/ofnet.h: Removed.
5473 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
5474 extern var.
5475 (grub_ieee1275_get_device_type): New function.
5476
5477 Unify network device closing across platforms and make more robust.
5478
5479 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
5480 grub_grubnet_fini.
5481 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
5482 already.
5483 * grub-core/net/net.c (grub_net_network_level_interface_register):
5484 Update num_ifaces.
5485 (grub_net_card_unregister): Close all interfaces.
5486 (receive_packets): Don't poll if no iterfaces are registered.
5487 Open if necessary.
5488 (grub_net_fini_hw): New function.
5489 (grub_net_restore_hw): Likewise.
5490 (fini_hnd): New variable.
5491 (GRUB_MOD_INIT): Register preboot hook.
5492 (GRUB_MOD_FINI): Run and unregister preboot hook.
5493
5494 Poll network cards when idle.
5495
5496 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
5497 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
5498 * grub-core/net/net.c (receive_packets): Save last poll time.
5499 (grub_net_poll_cards_idle_real): New function.
5500 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
5501 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
5502 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
5503
5504 Rename ofnet interfaces.
5505
5506 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
5507 (grub_ofnet_findcards): Use ofnet_%s names.
5508
5509 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
5510
5511 Cleanup socket opening.
5512
5513 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
5514 (grub_net_fs_close): Likewise.
5515 (grub_net_fs_read_real): Use eof member.
5516 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
5517 (+grub_net_udp_close): New inline function.
5518
5519 * include/grub/net/tftp.h: Moved to the top of ...
5520 * grub-core/net/tftp.c: ... here.
5521 * include/grub/net/ip.h: Moved mostly to the top of ...
5522 * grub-core/net/ip.c: ... here.
5523 * include/grub/net/ethernet.h: Moved mostly to the top of ...
5524 * grub-core/net/ethernet.c: ... here.
5525
5526 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
5527
5528 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
5529 FS name.
5530
5531 * include/grub/net/ip.h (ipv4_ini): Removed.
5532 (ipv4_fini): Likewise.
5533
5534 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
5535 (grub_net_send_ip_packets): Likewise.
5536
5537 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
5540 grub_read_cmos prototype.
5541
5542 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 VGA text support in qemu-mips
5545
5546 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
5547 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
5548 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
5549 text.
5550 * grub-core/kern/i386/qemu/init.c: Renamed to ...
5551 * grub-core/kern/vga_init.c: ... this.
5552 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
5553 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
5554 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
5555 Adjust.
5556 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
5557 GRUB_MACHINE_PCI_IO_BASE.
5558
5559 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 MIPS qemu flash support.
5562
5563 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
5564 magic.
5565 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
5566 (grub_machine_init): Probe memory if its size isn't known.
5567 * util/grub-mkimage.c (image_targets): Add flash targets.
5568 (generate_image): Handle flash targets.
5569
5570 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 MIPS qemu at_keyboard support.
5573
5574 * gentpl.py (videoinkernel): Add qemu-mips.
5575 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
5576 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
5577 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
5578 modules.
5579 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
5580 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
5581 * grub-core/term/serial.c (grub_serial_register)
5582 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
5583
5584 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 CMOS support on sparc.
5587
5588 * gentpl.py (cmos): Add powerpc and sparc.
5589 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
5590 powerpc and sparc.
5591 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
5592 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
5593 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
5594 grub_set_datetime_cmos.
5595 * grub-core/lib/ieee1275/cmos.c: New file.
5596 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
5597 (find_rtc): Set no_ieee1275_rtc on error.
5598 (grub_get_datetime): Call grub_get_datetime_cmos on error.
5599 (grub_set_datetime): Call grub_set_datetime_cmos on error.
5600 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
5601 fail. Move value to argument. All users updated
5602 (grub_cmos_write): Likewise.
5603 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
5604 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
5605 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
5606 grub_get_datetime_cmos and grub_set_datetime_cmos.
5607
5608 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
5609
5610 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
5611 sourcing grub-mkconfig_lib.
5612 * util/update-grub_lib.in: Likewise.
5613 * util/grub.d/00_header.in: Likewise.
5614 * util/grub.d/10_hurd.in: Likewise.
5615 * util/grub.d/10_kfreebsd.in: Likewise.
5616 * util/grub.d/10_linux.in: Likewise.
5617 * util/grub.d/10_netbsd.in: Likewise.
5618 * util/grub.d/10_windows.in: Likewise.
5619 * util/grub.d/20_linux_xen.in: Likewise.
5620 * util/grub.d/30_os-prober.in: Likewise.
5621
5622 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
5623
5624 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
5625 default_bg_color rather than black.
5626 (grub_gfxterm_fullscreen): Likewise.
5627 (grub_gfxterm_background_color_cmd): Save new background color in
5628 default_bg_color.
5629
5630 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5631
5632 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
5633
5634 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
5637 mismerge.
5638
5639 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5640
5641 Chainloading on coreboot support.
5642
5643 * grub-core/Makefile.core.def (chain): Add coreboot.
5644 * grub-core/loader/i386/coreboot/chainloader.c: New file.
5645
5646 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5647
5648 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
5649 if it happens.
5650
5651 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 Implement time command.
5654
5655 * grub-core/Makefile.core.def (time): New module.
5656 * grub-core/commands/time.c: New file.
5657 * grub-core/script/parser.y: Remove "time" keyword.
5658 * grub-core/script/yylex.l: Likewise.
5659
5660 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
5663
5664 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
5667 when handling leftovers.
5668
5669 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5670
5671 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
5672 so that help2man doesn't fail.
5673
5674 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5675
5676 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
5677 type in pointers on sparc64.
5678 (get_card_packet): Likewise.
5679
5680 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
5681
5682 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
5683 with `*'.
5684 (grub_cmd_videoinfo): Fetch current video mode.
5685
5686 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
5689 because of underlying system restrictions.
5690
5691 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
5694 necessary.
5695
5696 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5697
5698 Coreboot video support.
5699
5700 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
5701 (vbe): Likewise.
5702 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
5703 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
5704 here ...
5705 * grub-core/kern/i386/int.S: ... here.
5706 * grub-core/video/i386/pc/vbe.c: Updated includes.
5707 * grub-core/video/i386/pc/vga.c: Likewise.
5708 * include/grub/i386/coreboot/memory.h
5709 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
5710 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
5711 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
5712 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
5713 Disable interrupts.
5714 * include/grub/i386/pc/vga.h: Removed. All users updated.
5715
5716 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
5719 definitions for dprintf.
5720 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
5721
5722 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
5725 prototype.
5726 (get_card_packet): Likewise.
5727
5728 2011-06-26 Yves Blusseau <blusseau@zetam.org>
5729
5730 Display the path of the file when file is not found
5731
5732 * grub-core/fs/fat.c: Display the filename when file is not found.
5733 * grub-core/fs/fshelp.c: Likewise.
5734 * grub-core/fs/hfs.c: Likewise.
5735 * grub-core/fs/jfs.c: Likewise.
5736 * grub-core/fs/minix.c: Likewise.
5737 * grub-core/fs/ufs.c: Likewise.
5738 * grub-core/fs/btrfs.c: Likewise.
5739 * grub-core/commands/i386/pc/play.c: Likewise.
5740
5741 2011-06-26 Szymon Janc <szymon@janc.net.pl>
5742
5743 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
5744 pointer checks before calling grub_free().
5745 * grub-core/commands/wildcard.c (match_devices): Likewise.
5746 * grub-core/commands/wildcard.c (match_files): Likewise.
5747 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
5748 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
5749 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
5750 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
5751 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
5752 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
5753 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
5754 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
5755 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
5756
5757 2011-06-25 Patrick <p55@mailinator.com>
5758
5759 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
5760
5761 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
5764 (grub_pxe_send): Likewise.
5765 (GRUB_MOD_INIT): Fix types.
5766
5767 2011-06-24 Szymon Janc <szymon@janc.net.pl>
5768
5769 * grub-core/io/xzio.c: Fix code style issues
5770
5771 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5772 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
5773
5774 Network infrastructure.
5775 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
5776
5777 * include/grub/net/arp.h: New file.
5778 * include/grub/net/device.h: Likewise.
5779 * include/grub/net/ethernet.h: Likewise.
5780 * include/grub/net/ip.h: Likewise.
5781 * include/grub/net/netbuff.h: Likewise.
5782 * include/grub/net/tftp.h: Likewise.
5783 * include/grub/net/udp.h: Likewise.
5784 * include/grub/ieee1275/ofnet.h: Likewise.
5785 * include/grub/emu/export.h: Likewise.
5786 * include/grub/net.h: Likewise.
5787 * grub-core/net/arp.c: Likewise.
5788 * grub-core/net/ethernet.c: Likewise.
5789 * grub-core/net/ip.c: Likewise.
5790 * grub-core/net/udp.c: Likewise.
5791 * grub-core/net/tftp.c: Likewise.
5792 * grub-core/net/netbuff.c: Likewise.
5793 * grub-core/net/net.c: Likewise.
5794 * grub-core/net/drivers/emu/emunet.c: Likewise.
5795 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
5796 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
5797 export.h.
5798 * grub-core/Makefile.core.def (net): New module.
5799 (tftp): Likewise.
5800 (ofnet): Likewise.
5801 (emunet): Likewise.
5802 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
5803 network protocols.
5804 * grub-core/kern/device.c (grub_net_open) : New variable.
5805 (grub_device_open): Handle network device.
5806 (grub_device_close): Likewise.
5807 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
5808 (grub_grubnet_fini): Likewise.
5809 (grub_file_seek): Seek in network device.
5810 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
5811 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
5812 network root.
5813 (grub_machine_fini): Call grub_grubnet_fini.
5814 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
5815 network.
5816 (grub_ieee1275_get_aliasdevname): New function.
5817 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5818 Add unofficial Solaris network info.
5819 (grub_multiboot_make_mbi): Likewise.
5820 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
5821 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
5822 * include/grub/device.h (grub_fs): Removed.
5823 * include/grub/err.h (grub_err_t): Add network-related values.
5824 * include/grub/i386/pc/pxe.h: Removed bootp parts.
5825 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
5826 (grub_ieee1275_get_aliasdevname): New proto.
5827 * include/grub/net.h: Rewritten.
5828
5829 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5830
5831 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
5832 names.
5833
5834 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5835
5836 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
5837 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
5838 it truncates the output.
5839 Reported by: Ximin Luo.
5840
5841 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
5844
5845 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
5848 partmap before abstraction.
5849
5850 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
5851
5852 * util/grub-mkconfig_lib.in: Add missing quotes.
5853
5854 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5855
5856 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
5857 old method if mountinfo would return /dev/root and /dev/root doesn't
5858 exist.
5859
5860 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 ZFS zlib support
5863
5864 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
5865 (decomp_table): Add zlib entries.
5866 (zio_read): USe 8 bits for compression function rather than 3.
5867 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
5868
5869 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * grub-core/disk/ahci.c: Add missing license statements.
5872 * grub-core/fs/romfs.c: Likewise.
5873 * grub-core/lib/ia64/setjmp.S: Likewise.
5874 * grub-core/loader/i386/pc/freedos.c: Likewise.
5875 * grub-core/loader/ia64/efi/linux.c: Likewise.
5876 * grub-core/video/colors.c: Likewise.
5877 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
5878
5879 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 AHCI support.
5882
5883 * grub-core/Makefile.core.def (ata_pthru): Removed.
5884 (ahci): New module.
5885 (pata): Likewise.
5886 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
5887 on unload.
5888 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
5889 readwrite.
5890 (grub_hdparm_do_check_powermode_cmd): Likewise.
5891 (grub_hdparm_do_smart_cmd): Likewise.
5892 (grub_hdparm_set_val_cmd): Likewise.
5893 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
5894 * grub-core/disk/ahci.c: New file.
5895 * grub-core/disk/ata.c: Factor out the low-level part into ...
5896 * grub-core/disk/pata.c: ... here.
5897 * grub-core/disk/ata_pthru.c: Contents moved to ...
5898 * grub-core/disk/pata.c: ... here.
5899 * grub-core/disk/scsi.c (grub_scsi_names): New array.
5900 (grub_scsi_iterate): Use grub_scsi_names.
5901 (grub_scsi_open): Likewise.
5902 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
5903 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
5904 (grub_ata_regs_t): New struct.
5905 (grub_disk_ata_pass_through_parms): Likewise.
5906 (grub_ata_device): Renamed to ...
5907 (grub_ata): ... this.
5908 (grub_ata_dev): New struct.
5909 Removed all low-level inline functions.
5910 * include/grub/scsi.h: Add PATA and AHCI subsystems.
5911 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
5912 iterate hooks and open. All users updated.
5913 * util/grub-install.in: Handle AHCI disk module.
5914
5915 2011-06-23 Szymon Janc <szymon@janc.net.pl>
5916
5917 Add support for DRI and RSTn markers in JPEG files.
5918
5919 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
5920 (JPEG_MARKER_RST0): Likewise.
5921 (JPEG_MARKER_RST1): Likewise.
5922 (JPEG_MARKER_RST2): Likewise.
5923 (JPEG_MARKER_RST3): Likewise.
5924 (JPEG_MARKER_RST4): Likewise.
5925 (JPEG_MARKER_RST5): Likewise.
5926 (JPEG_MARKER_RST6): Likewise.
5927 (JPEG_MARKER_RST7): Likewise.
5928 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
5929 (grub_jpeg_decode_dri): New function.
5930 (grub_jpeg_decode_sos): Move image data related part into
5931 grub_jpeg_decode_data function.
5932 (grub_jpeg_decode_data): New function.
5933 (grub_jpeg_reset): New function.
5934 (grub_jpeg_decode_jpeg): Handle new markers.
5935
5936 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * util/ieee1275/ofpath.c (check_sas): Close fd.
5939 (main): Free of_path.
5940 Reported by: David Volgyes <dvolgyes>.
5941
5942 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
5945 Reported by: David Volgyes <dvolgyes>.
5946
5947 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
5950 file after stat.
5951 Reported by: David Volgyes <dvolgyes>.
5952
5953 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5954
5955 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
5956
5957 Reported by: David Volgyes <dvolgyes>.
5958
5959 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5960
5961 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
5962 Prevent memory leak.
5963
5964 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5965
5966 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
5967 (main): Close file.
5968 Reported by: David Volgyes <dvolgyes>.
5969
5970 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
5973 to continue if allocation is failed.
5974
5975 Reported by: David Volgyes <dvolgyes>.
5976
5977 2011-06-23 David Volgyes <dvolgyes>
5978
5979 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
5980 dereference.
5981
5982 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5983
5984 Fix spurious warning.
5985
5986 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
5987 (acorn_partition_map_find): Use .bin member.
5988
5989 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
5992 /dev/root as a valid device.
5993
5994 2011-06-23 Jim Meyering <meyering@redhat.com>
5995
5996 Avoid NULL deref in grub_device_open.
5997
5998 * grub-core/kern/device.c (grub_device_open): Don't dereference
5999 a NULL pointer upon failed grub_env_get.
6000
6001 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Support non-512B sectors and agglomerate reads.
6004
6005 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
6006 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
6007 (disk_io_guid): Removed.
6008 (make_devices): Locate solely by BlockIO.
6009 (grub_efidisk_open): Fill log_sector_size and total_sectors.
6010 (grub_efidisk_read): Use read_blocks.
6011 (grub_efidisk_write): Use write_blocks.
6012 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
6013 log_sector_size.
6014 (get_safe_sectors): Handle non-512B sectors.
6015 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
6016 sectors.
6017 (grub_biosdisk_write): Handle non-512B sectors.
6018 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
6019 (grub_scsi_read): Remove special non-512B block handling (now handled
6020 one level up).
6021 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
6022 and do sanity checks.
6023 (grub_disk_adjust_range): Handle non-512B sectors.
6024 (transform_sector): New function.
6025 (grub_disk_read_small): Likewise.
6026 (grub_disk_read): Rewritten.
6027 (grub_disk_write): Handle non-512B sectors.
6028 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
6029 log_sector_size.
6030 (open_device): Use log_sector_size.
6031 (grub_util_biosdisk_read): Likewise.
6032 (grub_util_biosdisk_write): Likewise.
6033 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
6034 non-512B sectors.
6035 (pc_partition_map_embed): Likewise.
6036 * include/grub/disk.h (grub_disk): New field log_sector_size.
6037 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
6038 (GRUB_DISK_CACHE_BITS): Increased to 6.
6039 * util/grub-fstest.c (fstest): New command testload.
6040 (argp_parser): Likewise.
6041
6042 2011-06-16 Robert Millan <rmh@gnu.org>
6043
6044 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
6045 `ata' driver on kernel of FreeBSD 9.
6046
6047 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
6048 (get_ataraid_disk_name): New functions.
6049 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
6050 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
6051 get_ataraid_disk_name() and get_ada_disk_name().
6052
6053 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
6054
6055 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
6056 input format.
6057
6058 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
6059
6060 * docs/grub.texi (Obtaining and Building GRUB): Substitute
6061 `ftp.gnu.org' for `alpha.gnu.org'.
6062
6063 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6064
6065 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
6066 partitions under /dev/disk/by-id/.
6067
6068 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
6069
6070 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
6071 after ten consecutive open failures. Scanning all the way up to
6072 10000 is excessive and can cause serious performance problems in
6073 some configurations.
6074 Fixes Ubuntu bug #787461.
6075
6076 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6077
6078 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
6079 opening new one.
6080
6081 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
6082 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 Don't stat devices unless we have to.
6085
6086 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
6087 dir == /dev/mapper.
6088 (grub_guess_root_device): Use already known os_dev if possible.
6089 * grub-core/kern/emu/hostdisk.c
6090 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
6091 if device is known to be a dm one.
6092
6093 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
6094
6095 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
6096 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
6097 Reported by: Pawel Tecza.
6098
6099 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
6102 (lsefisystab): Likewise.
6103 (lssal): Likewise.
6104 (lsefimmap): Likewise.
6105 (hdparm): Enable on qemu-mips.
6106 (setjmp): Add ia64 nodist.
6107 (serial): Simplify tags.
6108
6109 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6110
6111 * Makefile.util.def (grub-ofpathname): Install manual page.
6112
6113 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6114
6115 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
6116
6117 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6118
6119 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
6120
6121 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6122
6123 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
6124 into dprintf.
6125
6126 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6127
6128 Use full 64-bit division.
6129
6130 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
6131 (grub_divmod64): ... this.
6132 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
6133 version.
6134
6135 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6136
6137 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
6138 `source'.
6139
6140 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6141
6142 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
6143 to avoid accidents when debugging with 'sh -x'.
6144 * grub-core/gensyminfo.sh.in: Likewise.
6145 * tests/example_scripted_test.in: Likewise.
6146 * tests/grub_cmd_regexp.in: Likewise.
6147 * tests/grub_script_blanklines.in: Likewise.
6148 * tests/grub_script_dollar.in: Likewise.
6149 * tests/grub_script_expansion.in: Likewise.
6150 * tests/grub_script_final_semicolon.in: Likewise.
6151 * tests/partmap_test.in: Likewise.
6152 * tests/util/grub-shell-tester.in: Likewise.
6153 * tests/util/grub-shell.in: Likewise.
6154
6155 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6156
6157 Move gfxmenu color handling to video, so that gfxterm can use it
6158 too.
6159
6160 * grub-core/gfxmenu/named_colors.c: Move to ...
6161 * grub-core/video/colors.c: ... here. Rename
6162 grub_gui_get_named_color to grub_video_get_named_color.
6163 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
6164 * grub-core/video/colors.c (my_isxdigit): ... here.
6165 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
6166 Move to ...
6167 * grub-core/video/colors.c (parse_hex_color_component): ... here.
6168 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
6169 to ...
6170 * grub-core/video/colors.c (grub_video_parse_color): ... here.
6171
6172 * include/grub/gui.h (grub_gui_color_t): Move to ...
6173 * include/grub/video.h (grub_video_rgba_color_t): ... here.
6174 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
6175 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
6176 * include/grub/gui.h (grub_gui_map_color): Move to ...
6177 * include/grub/video.h (grub_video_map_rgba_color): ... here.
6178 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
6179 to ...
6180 * include/grub/video.h (grub_video_get_named_color): ... here.
6181 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
6182 * include/grub/video.h (grub_video_parse_color): ... here.
6183
6184 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
6185 video/colors.c.
6186 (gfxmenu): Remove gfxmenu/named_colors.c.
6187 (video) [videomodules]: Add video/colors.c.
6188
6189 Add a background_color command.
6190
6191 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
6192 function.
6193 (GRUB_MOD_INIT): Register background_color command.
6194 (GRUB_MOD_FINI): Unregister background_color command.
6195 (redraw_screen_rect): Allow blend/replace of text layer to be
6196 controlled independently from whether there is a background bitmap.
6197 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
6198 changing bitmap.
6199
6200 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 Patch BPB in ntldr and chainloader --bpb.
6203
6204 * grub-core/fs/fat.c: Include grub/fat.h.
6205 (grub_fat_bpb): Moved to ...
6206 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
6207 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
6208 grub/ntfs.h.
6209 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
6210 Moved from here...
6211 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
6212 here.
6213 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
6214 New function.
6215 (grub_chainloader_cmd): Patch BPB if --bpb is given.
6216 (GRUB_MOD_INIT): Show --bpb.
6217 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
6218 * grub-core/normal/main.c (features): New variable.
6219 (GRUB_MOD_INIT): Set feature_* variables.
6220 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
6221 proto.
6222 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
6223
6224 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
6227 for cleanness.
6228
6229 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6230
6231 FreeDOS direct loading support.
6232
6233 * docs/grub.texi (Supported OS): Add FreeDOS.
6234 * grub-core/Makefile.core.def (freedos): New module.
6235 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
6236 variable.
6237 (grub_relocator16_boot): Handle %ebx.
6238 * grub-core/lib/i386/relocator16.S: Likewise.
6239 * grub-core/loader/i386/pc/freedos.c: New file.
6240
6241 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6242
6243 Long Linux command line support.
6244
6245 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6246 (maximal_cmdline_size): New variable.
6247 (allocate_pages): Use maximal_cmdline_size.
6248 (grub_cmd_linux): Set and use maximal_cmdline_size.
6249 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
6250 (allocate_pages): Use maximal_cmdline_size.
6251 (grub_cmd_linux): Set and use maximal_cmdline_size.
6252 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
6253 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
6254 and cmdline_size.
6255
6256 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6257 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
6258
6259 Improve devmapper support
6260
6261 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
6262 (grub_util_is_lvm): New function.
6263 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
6264 than lvm if not dmraid.
6265 Handle mapped md nodes.
6266 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
6267 (grub_util_device_is_mapped): ... this. Make always available. All users
6268 updated.
6269 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
6270 (convert_system_partition_to_system_disk): Handle lvm, mpath and
6271 dmraid nodes.
6272 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
6273
6274 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
6277
6278 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
6279 * grub-core/modinfo.sh.in: New file.
6280 * grub-core/Makefile.core.def (modinfo.sh): New script.
6281 * util/grub-mknetdir.in: Use modinfo.sh.
6282 * util/grub-mkrescue.in: Likewise.
6283
6284 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
6287 Fix potential usage of Elf32 instead of Elf64 when compiling on
6288 32-bit architecture. Add endianness macros while on it.
6289
6290 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Use mipsel- rather than mips- in directories involving mipsel ports to
6293 allow both endiannesses coexist.
6294
6295 * configure.ac: proparate target_cpu=mipsel rather than resetting to
6296 mips. All conditions adjusted.
6297 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
6298 variable.
6299 * util/grub-install.in: Adjust conditions to take renaming into account.
6300 * util/grub-mkimage.c (image_targets): Likewise. New target
6301 mips-qemu_mips-elf for bigendian mips.
6302
6303 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 Avoid unnecessary copying on MIPS.
6306
6307 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
6308 early if src == dest.
6309 * util/grub-mkimage.c (generate_image): Arange for src == dest if
6310 compression is none.
6311
6312 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 Reduce memory footprint on SGI by putting modules before the kernel
6315 as opposed to after.
6316
6317 * grub-core/Makefile.core.def (kernel): Increase linking address.
6318 (none_decompress): Likewise.
6319 (xz_decompress): Likewise.
6320 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
6321 address.
6322 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
6323 layout change.
6324 (grub_arch_modules_addr): New function.
6325 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
6326 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
6327 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
6328 here.
6329 * grub-core/kern/mips/startup.S (total_size): Rename to ...
6330 (grub_total_modules_size): ... this. Make global.
6331 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
6332 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
6333 New definition.
6334 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
6335 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
6336 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
6337 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
6338 * util/grub-mkimage.c (image_target_desc): New flag
6339 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
6340 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
6341 (generate_image): Handle images with modules before kernel.
6342
6343 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6344
6345 Prevent potential loss of memory map by overwrite on qemu-mips.
6346
6347 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6348 Save ram size in $s4.
6349 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
6350 All users changed to grub_arch_memsize.
6351 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
6352 Loongson.
6353 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
6354 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
6355 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
6356 external variable.
6357
6358 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6359
6360 * .bzrignore: Remove grub-dumpbios.
6361
6362 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6363
6364 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
6365 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
6366 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
6367 existing options which append).
6368 * docs/grub.texi (Simple configuration): Document new options.
6369 Reported by: Ian Jackson. Fixes Debian bug #617538.
6370
6371 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6372
6373 * util/grub-fstest.c (cmd_cat): New function.
6374 (fstest): Handle CMD_CAT.
6375 (options): Add cat.
6376 (argp_parser): Handle cat.
6377
6378 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * Makefile.util.def (grub-bin2h): Don't install.
6381 * docs/man/grub-bin2h.h2m: Remove.
6382
6383 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
6386 place.
6387
6388 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 Reenable qemu-mips port.
6391
6392 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
6393 Fix small arc bug while on it.
6394 * gentpl.py: Handle qemu_mips.
6395 * grub-core/Makefile.am: Likewise.
6396 * grub-core/Makefile.core.def: Likewise.
6397 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
6398 inappropriate includes.
6399 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
6400 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
6401 * grub-core/kern/main.c (grub_modules_get_end)
6402 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
6403 * grub-core/kern/mips/qemu-mips: Moved to ..
6404 * grub-core/kern/mips/qemu_mips: ... this.
6405 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
6406 (grub_machine_init): Call terminfo_init and serial_init.
6407 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
6408 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
6409 New variable.
6410 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
6411 parameter passing.
6412 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
6413 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
6414 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
6415 * include/grub/mips/qemu_mips/cmos.h: New file.
6416 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
6417 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
6418 Removed.
6419 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
6420 Use correct mips-style address.
6421 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
6422 (GRUB_TICKS_PER_SECOND): Removed.
6423 (grub_get_rtc): Likewise.
6424 (grub_cpu_idle): Likewise.
6425 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
6426 New definition.
6427 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
6428 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
6429 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
6430 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
6431 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
6432 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
6433 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
6434 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
6435
6436 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
6437
6438 SGI ARCS port.
6439
6440 * Makefile.util.def (libgrubmods.a): Add dvh.c.
6441 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
6442 platforms.
6443 * configure.ac: New target mips-arc.
6444 * gentpl.py: Likewise.
6445 * grub-core/Makefile.am: Likewise.
6446 * grub-core/Makefile.core.def: Likewise.
6447 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
6448 (none_decompress): Likewise.
6449 (lsdev): New module.
6450 (datetime): Use lib/arc/datetime.c on ARC.
6451 (part_dvh): New module.
6452 * grub-core/commands/arc/lsdev.c: New file.
6453 * grub-core/disk/arc/arcdisk.c: Likewise.
6454 * grub-core/kern/mips/arc/init.c: Likewise.
6455 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
6456 aligned addresses.
6457 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
6458 support.
6459 (grub_arch_dl_relocate_symbols): Likewise.
6460 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
6461 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
6462 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
6463 platforms.
6464 * grub-core/lib/arc/datetime.c: New file.
6465 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
6466 pci.h on non-loongson.
6467 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
6468 (grub_linux_boot): Set unused registers to 0.
6469 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
6470 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
6471 * grub-core/mmap/mips/uppermem.c: ...here.
6472 * grub-core/partmap/dvh.c: New file.
6473 * grub-core/term/arc/console.c: Likewise.
6474 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
6475 (grub_terminfo_set_current): Add terminal "arc".
6476 (grub_terminfo_readkey): Support ARC sequences.
6477 * include/grub/arc/arc.h: New file.
6478 * include/grub/arc/console.h: Likewise.
6479 * include/grub/disk.h (grub_disk_dev_id): Add
6480 GRUB_DISK_DEVICE_ARCDISK_ID.
6481 * include/grub/mips/arc/kernel.h: New file.
6482 * include/grub/mips/arc/memory.h: Likewise.
6483 * include/grub/mips/arc/time.h: Likewise.
6484 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
6485 * include/grub/mips/kernel.h (grub_halt): ... here.
6486 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
6487 here...
6488 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
6489 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
6490 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
6491 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
6492 proto.
6493 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
6494 from here ...
6495 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
6496 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
6497 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
6498 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
6499 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
6500 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
6501 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
6502 (grub_phys_addr_t): Moved from here ...
6503 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
6504 (grub_vtop): Moved from here ...
6505 * include/grub/mips/memory.h (grub_vtop): ... here.
6506 (grub_map_memory): Moved from here ...
6507 * include/grub/mips/memory.h (grub_map_memory): ... here.
6508 (grub_unmap_memory): Moved from here ...
6509 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
6510 (grub_machine_mmap_iterate): Moved from here ...
6511 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
6512 (grub_mmap_get_lower): Moved from here ...
6513 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
6514 (grub_mmap_get_upper): Moved from here ...
6515 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
6516 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6517 here ...
6518 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6519 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
6520 here ...
6521 * include/grub/mips/time.h (grub_get_rtc): ... here.
6522 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
6523 here ...
6524 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
6525 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
6526 here ...
6527 * include/grub/mips/time.h (grub_cpu_idle): ... here.
6528 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
6529 definition.
6530 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
6531 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
6532 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
6533 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
6534 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
6535 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
6536 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
6537 (GRUB_MACHINE_LINK_ADDR): Likewise.
6538 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
6539 to 6.
6540 * util/grub-install.in: Run dvhtool on ARC.
6541 * util/grub-mkimage.c (image_targets): Add mips-arc.
6542 (generate_image): Handle ECOFF output for mips-arc.
6543
6544 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
6547 blocks.
6548
6549 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
6552 after enabling port.
6553
6554 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 Skip incorrect USB devices.
6557
6558 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
6559 configcnt == 0.
6560 * include/grub/usb.h (grub_usb_err_t): New enum value
6561 GRUB_USB_ERR_BADDEVICE.
6562
6563 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 Fuloong video init support.
6566
6567 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
6568 well.
6569 (grub_vga_read_arx): New function.
6570 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
6571 definition.
6572 (framebuffer): New members io, mmioptr and mmiobase.
6573 (read_sis_cmd): New function.
6574 (write_sis_cmd): Likewise.
6575 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
6576 rather than 640x400.
6577 * grub-core/video/sis315_init.c: New file.
6578
6579 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
6582 non-loongson.
6583 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
6584 to grub_dl_register_symbol.
6585
6586 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 Fix compilation errors.
6589
6590 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
6591 potentially unused.
6592 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
6593 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
6594 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
6595 to loongson machines.
6596
6597 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 Several FS mtime support.
6600
6601 * grub-core/fs/affs.c (grub_affs_time): New struct.
6602 (grub_affs_file): New field mtime.
6603 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
6604 type. Removed 'size'. New field 'di'. All users updated.
6605 (grub_affs_mount): Simplify checsum checking.
6606 (grub_affs_iterate_dir): New helper grub_affs_create_node.
6607 (grub_affs_dir): Handle mtime.
6608 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
6609 (grub_cpio_dir): Likewise.
6610 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
6611 (grub_hfs_filerec): New field mtime.
6612 (grub_hfs_dir): Handle mtime.
6613 (grub_hfs_mtime): New function.
6614 (grub_hfs_fs): Register grub_hfs_mtime.
6615 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
6616 (grub_iso9660_dir): New field mtime.
6617 (grub_fshelp_node): New field dirent.
6618 (iso9660_to_unixtime): New function.
6619 (iso9660_to_unixtime2): Likewise.
6620 (grub_iso9660_read_symlink): Use node->dirent.
6621 (grub_iso9660_iterate_dir): Likewise.
6622 (grub_iso9660_dir): Set mtime.
6623 (grub_iso9660_mtime): New function.
6624 (grub_iso9660_fs): Register grub_iso9660_mtime.
6625 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
6626 (grub_jfs_inode): New fields atime, ctime and mtime.
6627 (grub_jfs_dir): Set mtime.
6628 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6629 * grub-core/fs/ntfs.c (list_file): Set mtime.
6630 (grub_ntfs_dir): Likewise.
6631 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
6632 (grub_reiserfs_iterate_dir): Set mtime.
6633 (grub_reiserfs_dir): Likewise.
6634 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
6635 (grub_fshelp_node): Likewise.
6636 (grub_sfs_iterate_dir): Set mtime.
6637 (grub_sfs_dir): Likewise.
6638 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
6639 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
6640 (grub_xfs_inode): New fields atime, mtime, ctime.
6641 (grub_xfs_dir): Set mtime.
6642 * include/grub/datetime.h (grub_datetime2unixtime): New function.
6643 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
6644 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
6645
6646 Support UDF symlinks.
6647
6648 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
6649 (grub_ufs_read_symlink): New function. All users updated.
6650
6651 Check amiga partmap checksum.
6652
6653 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
6654 (grub_amiga_partition): Likewise.
6655 (amiga_partition_map_checksum): New function.
6656 (amiga_partition_map_iterate): Check checksum.
6657
6658 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 ROMFS support.
6661
6662 * Makefile.util.def (libgrubmods.a): Add romfs.
6663 * grub-core/Makefile.core.def (romfs): New module.
6664 * grub-core/fs/romfs.c: New file.
6665
6666 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 Squashfs v4 support.
6669
6670 * Makefile.util.def (libgrubmods.a): Add squash4.
6671 * grub-core/Makefile.core.def (squash4): New module.
6672 * grub-core/fs/squash4.c: New file.
6673 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
6674 disk_input_start, disk_input.
6675 (get_byte): Handle disk_input.
6676 (grub_zlib_disk_read): New function.
6677 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
6678
6679 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6680 2011-05-15 Feiran Zheng <famcool@gmail.com>
6681
6682 * Makefile.util.def (libgrubmods.a): Add minix3.
6683 * grub-core/Makefile.core.def (minix3): New module.
6684 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
6685 (GRUB_MINIX_BSIZE): Removed.
6686 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
6687 (grub_minix_ino_t): New type.
6688 (grub_minix_le_to_cpu_ino): New macro.
6689 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
6690 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
6691 (grub_minix_data): New field block_size.
6692 (grub_minix_read_file): Handle 64-bit correctly.
6693 * grub-core/fs/minix3.c: New file.
6694
6695 2011-05-15 Tristan Gingold <gingold@free.fr>
6696 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
6697 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6698
6699 IA64 support.
6700
6701 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
6702 * configure.ac: Add ia64-efi target.
6703 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
6704 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
6705 * gentpl.py: Add ia64_efi platform.
6706 Rename x86_efi to efi and Add ia64-efi. All users updated.
6707 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
6708 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
6709 Remove kern/generic/rtc_get_time_ms.c on EFI.
6710 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
6711 kern/ia64/dl_helper.c on ia64-efi.
6712 Add kern/emu/cache.c on emu.
6713 (linux): Use on loader/ia64/efi/linux.c on ia64.
6714 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
6715 whether symbol is a function.
6716 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
6717 (grub_symbol): New field 'isfunc'.
6718 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
6719 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
6720 (grub_dl_load_segments): Place all sections into the same region.
6721 [__ia64__]: Create trampolines and got.
6722 [GRUB_MACHINE_EMU]: Call mprotect.
6723 (grub_dl_resolve_symbols): Resolve symbol type as well.
6724 [__ia64__]: Create function descriptors.
6725 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
6726 (grub_rtc_get_time_ms): ... this. Expressions simplified.
6727 (grub_get_rtc): New function.
6728 * grub-core/kern/emu/cache.c [__ia64__]: New file.
6729 * grub-core/kern/emu/cache.S: Renamed to ...
6730 * grub-core/kern/emu/cache_s.S: ... this.
6731 [__ia64__]: Add a nop.
6732 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
6733 [__ia64__]: New function.
6734 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
6735 * grub-core/kern/ia64/dl.c: New file.
6736 * grub-core/kern/ia64/dl_helper.c: Likewise.
6737 * grub-core/kern/ia64/efi/init.c: New file.
6738 * grub-core/kern/ia64/efi/startup.S: Likewise.
6739 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
6740 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
6741 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
6742 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
6743 * grub-core/loader/ia64/efi/linux.c: New file.
6744 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
6745 (GRUB_MOD_DEP): Likewise.
6746 (grub_dl) [__ia64__]: New fields got and tramp.
6747 (grub_dl): New field 'base'.
6748 (grub_dl_register_symbol): New argument isfunc. All users updated.
6749 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
6750 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
6751 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
6752 (grub_ia64_dl_get_tramp_got_size): New proto.
6753 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
6754 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
6755 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
6756 * include/grub/efi/api.h: Skip call wrappers on ia64.
6757 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
6758 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
6759 * include/grub/elf.h (ELF_ST_INFO): New definition.
6760 * include/grub/ia64/efi/kernel.h: New file.
6761 * include/grub/ia64/efi/memory.h: Likewise.
6762 * include/grub/ia64/efi/time.h: Likewise.
6763 * include/grub/ia64/kernel.h: Likewise.
6764 * include/grub/ia64/setjmp.h: Likewise (from glibc).
6765 * include/grub/ia64/time.h: New file.
6766 * include/grub/ia64/types.h: Likewise.
6767 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
6768 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
6769 New protos.
6770 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
6771 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
6772 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
6773 * util/grub-mkimage.c (image_target_desc): New field pe_target.
6774 All users updated.
6775 (EFI64_HEADER_SIZE): New definition. All users updated.
6776 (image_targets): Add ia64-efi.
6777 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
6778 jumpers_addr. All users updated.
6779 Create function descriptors.
6780 (count_funcs): New function.
6781 (unaligned_uint32): New struct.
6782 (MASK20): New definition.
6783 (MASK19): Likewise.
6784 (MASKF21): Likewise.
6785 (add_value_to_slot_20b): New function.
6786 (add_value_to_slot_21_real): Likewise.
6787 (add_value_to_slot_21): Likewise.
6788 (ia64_kernel_trampoline): New struct.
6789 (nopm): New variable.
6790 (jump): Likewise.
6791 (make_trampoline): New function.
6792 (relocate_addresses): Handle ia64.
6793 (make_reloc_section): Likewise.
6794 (load_image): Likewise.
6795
6796 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
6799 warning. Move variables before code while on it.
6800
6801 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 Fuloong support.
6804
6805 * configure.ac: Rename yeeloong platform to loongson. All users updated.
6806 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
6807 * grub-core/boot/mips/loongson/fuloong.S: New file.
6808 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
6809 Explicitly init CS5536.
6810 [FULOONG]: Don't use serial until CS5536 is available.
6811 Set GPIO based on dumps.
6812 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
6813 [FULOONG]: Handle GPIO and memory controller differences.
6814 Parse machine type in $a2.
6815 * grub-core/boot/mips/startup_raw.S: Determine and save the
6816 architecture.
6817 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
6818 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
6819 init on architecture type.
6820 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
6821 SIS315E. Don't init at_keyboard on fuloong.
6822 (grub_halt): Support Fuloong.
6823 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
6824 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
6825 (loongson_machtypes): New array.
6826 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
6827 type.
6828 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
6829 config. All users updated. Handle CS5536 serial.
6830 * grub-core/term/serial.c (grub_serial_register): Conditionalise
6831 default port on machine type. Register serial as inactive.
6832 * grub-core/video/sis315pro.c: New file.
6833 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
6834 definition.
6835 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
6836 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
6837 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
6838 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
6839 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
6840 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
6841 to ...
6842 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
6843 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
6844 definition.
6845 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
6846 (grub_arch_machine): New extern var.
6847 * include/grub/mips/loongson/serial.h
6848 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
6849 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
6850 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
6851 (GRUB_MACHINE_SERIAL_PORT0): ... this.
6852 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
6853 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
6854 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
6855 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
6856 * include/grub/term.h (grub_term_register_input_inactive): New inline
6857 function.
6858 (grub_term_register_output_inactive): Likewise.
6859 * include/grub/video.h (grub_video_driver_id): New value
6860 GRUB_VIDEO_DRIVER_SIS315PRO.
6861 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
6862 New field "names". All users updated.
6863 New field value IMAGE_FULOONG_FLASH.
6864 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
6865
6866 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
6867
6868 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
6869 and add some clarification.
6870
6871 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
6874 platforms if kernel is compressed.
6875
6876 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6877
6878 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
6879 unused modules since currently referrence counter isn't reliable and
6880 there isn't much memory to recover there anyway.
6881
6882 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
6885 rather than resetting it to allow modules to reference themselves
6886 in init.
6887
6888 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
6891 counter on dependencies since grub_dl_unref already handles this.
6892
6893 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
6896 on error if not already done.
6897
6898 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 Fix few potential memory misusage.
6901
6902 * grub-core/font/font.c (load_font_index): Don't free char_index to
6903 avoid double free.
6904 (grub_font_load): Zero-fill font at alloc for safety.
6905 Close file on error.
6906 (free_font): Free bmp_idx.
6907
6908 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 * docs/grub.texi (Installation): Fix several outdated claims.
6911
6912 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 Handle module_license on windows.
6915
6916 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
6917 sections shifted.
6918 (insert_string): Make argument const char * instead of char *.
6919 (write_section_data): Handle long section names.
6920 Handle module_license.
6921
6922 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
6925 handle class-free menuentries.
6926 (grub_normal_add_menu_entry): Add a check to be sure.
6927
6928 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
6931 PgUp and PgDown.
6932
6933 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * configure.ac: Bump version to 1.99.
6936
6937 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 Give ATA device a bit more time on first try in order to allow disks
6940 to spin up.
6941
6942 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
6943 if dev->present is 1. Reset dev->present on failure.
6944 (grub_ata_device_initialize): Set dev->present to 1.
6945 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
6946 (grub_ata_device): New member 'present'.
6947
6948 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * util/grub-mkimage.c (generate_image): Update hash.
6951
6952 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 Flush caches on DMA memory.
6955
6956 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
6957 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
6958 (grub_dma_free): Likewise.
6959 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
6960
6961 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6962
6963 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
6964 to avoid asm treating ld and sd as macros.
6965
6966 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
6969 decompressor.
6970
6971 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6972
6973 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
6974 grub_decompress_core since later would fail if grub_decompress_core
6975 is too far.
6976
6977 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
6980 R_MIPS_JALR since it's used by newer compiler.
6981
6982 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
6985
6986 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6987
6988 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
6989 file_path to 0 for surety.
6990 (grub_chainloader_boot): Set exit_data to NULL.
6991 Unset the loader once done.
6992 (grub_cmd_chainloader): Fix confusing error message if file is empty.
6993
6994 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
6997 unknown key into a dprintf.
6998
6999 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
7002 on first non-existant partition.
7003
7004 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
7007 openning fails.
7008 Reported by: Mark Korenberg.
7009
7010 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7011
7012 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
7013 overflow.
7014
7015 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * util/grub-mkimage.c (main): Explicitely flush and sync the output
7018 before closing to ensure that it will be readable by grub-setup.
7019
7020 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
7023 (devpath_1): Use MAKE_PIWG_PATH.
7024 (devpath_2): Likewise.
7025 (devpath_3): Likewise.
7026 (devpath_4): Likewise.
7027 (devpath_5): Likewise.
7028 (devpath_6): Likewise.
7029
7030 The appleldr.mod was checked that to be binary identical to previous
7031 version.
7032
7033 2011-05-05 Zach <mikezackles>
7034
7035 Support 2010 Macbooks.
7036
7037 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
7038 (devs): Add devpath_6.
7039
7040 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
7043 /dev/random. /dev/urandom is good enough for our purposes (salting).
7044
7045 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
7048
7049 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
7052 hexadecimal.
7053
7054 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7055
7056 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
7057 and not 0 on failure.
7058
7059 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7060
7061 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
7062 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
7063 disk; otherwise grub_fs_probe will not fall back to the next
7064 filesystem.
7065 (grub_pxefs_open): Likewise, for consistency.
7066 Reported and tested by: Ezekiel Grave.
7067
7068 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
7069
7070 * tests/partmap_test.in: Don't hardcode path to parted.
7071 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
7072
7073 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
7074
7075 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
7076 of `ls' to find out which devices are available.
7077
7078 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7079
7080 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
7081 than source address for efi mmap buffer.
7082
7083 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
7086 wrong action on non-detecting the magic.
7087
7088 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7089
7090 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
7091 already supplied by another part of the module (fixes compilation on
7092 FreeBSD).
7093
7094 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
7097 match the one used by mdadm.
7098
7099 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7100
7101 * po/README: Add instructions for creating po/LINGUAS.
7102
7103 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7104
7105 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
7106 #551428.
7107
7108 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
7109 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
7110 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
7111 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
7112 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
7113 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
7114 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
7115 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
7116 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
7117 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
7118 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
7119 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
7120 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
7121 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
7122 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
7123 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
7124 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
7125 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
7126 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
7127 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
7128 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
7129 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
7130
7131 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7132
7133 * grub-core/kern/emu/getroot.c
7134 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
7135 test that was incorrectly reintroduced in r3214.
7136 Reported by: Ian Dall. Fixes Savannah bug #33133.
7137
7138 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
7139
7140 Fix stack pointer handling in 16-bit relocator.
7141
7142 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
7143 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
7144 Fixes Ubuntu bug #683904.
7145
7146 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 * configure.ac: Bump version to 1.99~rc2.
7149
7150 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7151
7152 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
7153 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
7154 * grub-core/lib/x86_64/setjmp.S: Likewise.
7155 * grub-core/lib/mips/setjmp.S: Likewise.
7156 * grub-core/lib/powerpc/setjmp.S: Likewise.
7157 * grub-core/lib/sparc64/setjmp.S: Likewise.
7158
7159 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
7162 * grub-core/lib/efi/datetime.c: Likewise.
7163
7164 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
7167 New function.
7168 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
7169 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
7170 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
7171
7172 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7173
7174 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
7175 bitmap.
7176 (grub_gfxterm_term_init): Likewise.
7177
7178 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
7179
7180 Take into account the decorations the computing menu entry width.
7181
7182 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
7183 (grub_gfxmenu_create_box): Register get_border_width.
7184 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
7185 if available.
7186 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
7187 get_border_width.
7188
7189 2011-04-18 Endres Puschner <code@e7p.de>
7190
7191 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
7192 Don't skip first class.
7193
7194 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
7197 chunks.
7198 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
7199
7200 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 Complete 64-bit division support.
7203
7204 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
7205 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
7206 * include/grub/misc.h (grub_divmod64): Rename to ...
7207 (grub_divmod64_full): ... this.
7208 (grub_divmod64): New inline function.
7209
7210 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * util/grub-mkimage.c (generate_image): Add forgotten comma.
7213
7214 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
7217 performing the necessary test.
7218
7219 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
7222 (kfreebsd.elf): Likewise.
7223 (pc-chainloader.elf): Likewise.
7224 (ntldr.elf): Likewise.
7225
7226 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 Identify RAID by its UUID rather than (guessed) name.
7229
7230 * grub-core/disk/raid.c (ascii2hex): New function.
7231 (grub_raid_open): Accept mduuid/%s specification.
7232 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
7233 (get_mdadm_uuid): ... this.
7234 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
7235
7236 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
7239 to negative size.
7240
7241 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7242
7243 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
7244 btrfs subvolume.
7245 * util/grub.d/20_linux_xen.in: Likewise.
7246
7247 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
7248
7249 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
7250 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
7251
7252 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7253 Build a list of relevant visible mounts using the mnt_id and
7254 parent_mnt_id fields, and then scan that list at the end.
7255
7256 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7257
7258 * docs/grub.texi (normal): New section.
7259 (normal_exit): New section.
7260 (Embedded configuration): Add reference to normal.
7261 (GRUB only offers a rescue shell): Likewise.
7262 * docs/grub-dev.texi (Error Handling): Fix typo.
7263
7264 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7265
7266 * NEWS: Drop obsolete entry about probe-only btrfs support.
7267
7268 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
7269
7270 * util/import_gcry.py: Fix typo.
7271
7272 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * NEWS: Add btrfs support.
7275
7276 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7277 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7278
7279 BtrFS support. Written by me (Vladimir) with important bugfixes and
7280 even more important testing by Colin.
7281
7282 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
7283 * grub-core/Makefile.core.def (btrfs): Add crc.c.
7284 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
7285 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
7286 mem_input_off and mem_input. All users updated to accept in-RAM input.
7287 (gzio_seek): New function.
7288 (test_zlib_header): Likewise.
7289 (grub_gzio_read): Likewise.
7290 (grub_zlib_decompress): Likewise.
7291 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
7292 Accept partial and non-virtual mounts.
7293 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
7294 avoid receiving /dev/dm-X as device.
7295 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
7296 Handle bind and partial mounts.
7297 * grub-core/lib/crc.c: New file.
7298 * include/grub/deflate.h: Likewise.
7299 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
7300 proto.
7301 * include/grub/lib/crc.h: New file.
7302
7303 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Implement automatic module license checking according to new GNU
7306 guidelines.
7307
7308 * grub-core/kern/dl.c (grub_dl_check_license): New function.
7309 (grub_dl_load_core): Use grub_dl_check_license.
7310 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
7311 (GRUB_MOD_LICENSE): Likewise.
7312 (GRUB_MOD_DUAL_LICENSE): Likewise.
7313 All modules updated.
7314
7315 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
7316
7317 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
7318 reserved_first_sector to 1. btrfs reserves plenty of space for boot
7319 loaders.
7320 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
7321
7322 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
7325
7326 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * util/grub-fstest.c (read_file): Report GRUB error if file opening
7329 failed.
7330
7331 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
7332
7333 * grub-core/kern/file.c (grub_file_open): Don't take into account the
7334 parenthesis in the middle of the filename.
7335
7336 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
7339 rather than trying to put initrd way too high.
7340 Reported by: Ryan Lortie <desrt@desrt.ca>
7341
7342 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
7345 improperly removed string.
7346
7347 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
7350 is_disk.
7351 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
7352 (open_device) Likewise.
7353 (grub_util_biosdisk_close): Likewise.
7354 Reported by: Mark Korenberg.
7355
7356 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
7357
7358 * util/grub-mkconfig_lib.in: Add missing quotes.
7359
7360 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
7361
7362 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
7363 is NULL.
7364
7365 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 Dynamically count the number of lines for the lower banner.
7368
7369 * grub-core/normal/menu_entry.c (per_term_screen): New member
7370 num_entries.
7371 (print_down): Use num_entries.
7372 (update_screen): Likewise.
7373 (grub_menu_entry_run): Set num_entries.
7374 * grub-core/normal/menu_text.c (menu_viewer_data): New member
7375 num_entries.
7376 (grub_print_message_indented): Move real part to ...
7377 (grub_print_message_indented_real): ... here. Additional argument
7378 dry_run.
7379 (draw_border): Additional argument num_entries.
7380 (print_message): Additional argument dry_run.
7381 (print_entries): Receive menu viewer data.
7382 (grub_menu_init_page): New argment num_entries.
7383 (menu_text_set_chosen_entry): Use num_entries.
7384 (grub_menu_try_text): Likewise.
7385 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
7386 All users updated.
7387 (grub_ucs4_count_lines): New function.
7388 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
7389 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
7390 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
7391 (grub_term_border_height): Likewise.
7392 (grub_term_num_entries): Likewise.
7393
7394 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
7397 Remove now unused string.
7398
7399 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7400
7401 * docs/grub-dev.texi (Finding your way around): Update for 1.99
7402 build system.
7403 (Getting started): GRUB is developed in Bazaar now, not Subversion.
7404
7405 (Comment): Fix typo.
7406 (Getting started): General copy-editing.
7407 (Typical Development Experience): Likewise.
7408 (Error Handling): Likewise.
7409 (Video API): Likewise.
7410
7411 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
7412
7413 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
7414 throughout.
7415
7416 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * util/grub-mkimage.c (main): Handle special naming of yeeloong
7419 directory.
7420
7421 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7422
7423 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
7424 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
7425 "development".
7426
7427 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
7430 grub_strcpy since the lines aren't necessarily 0-terminated.
7431
7432 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
7435 root on legacy.
7436
7437 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * grub-core/commands/probe.c (options): Argument to set isn't optional.
7440 (GRUB_MOD_INIT): DEVICE isn't optional.
7441
7442 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
7445 word on new line if it's too long anyway. Fixes a hang.
7446
7447 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
7450 const.
7451 * util/grub-setup.c (main): Reuse md device name if available.
7452 * util/raid.c (grub_util_raid_getmembers): Receive device name and
7453 not GRUB name as argument.
7454 Based on patch by: Florian Wagner <fwagner>.
7455
7456 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7459 Place mbi on low memory for better compatibility.
7460
7461 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
7464
7465 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7466 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
7467
7468 * autogen.sh: Ensure that collate and ctype locale is C.
7469 * conf/Makefile.common: Likewise.
7470
7471 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/normal/menu.c: Add missing include.
7474
7475 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
7478
7479 2011-04-08 Martin Zuther <mzuther@mzuther.de>
7480
7481 * util/grub-mkconfig.in: Ignore emacsen backup.
7482
7483 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
7486 on open.
7487 (grub_util_biosdisk_close): Likewise.
7488
7489 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
7492 const attribute and use grub_isdigit.
7493
7494 2011-04-06 Andrey <dev_null@ukr.net>
7495
7496 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
7497 gcc warning.
7498
7499 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
7502 useful grub_dprintf's.
7503
7504 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
7507
7508 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
7511
7512 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 Output errors if theme loading failed.
7515
7516 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
7517 grub_gfxterm_fullscreen on error paths to ...
7518 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
7519 theme loading error.
7520
7521 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
7524 space for older compilers.
7525 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7526
7527 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
7530 and report them as not RAID members since they are useless for GRUB.
7531 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7532
7533 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7534
7535 Increase LVM implementation robustness in order not to crash on
7536 configurations like pvmove. Previously code assumed that in some places
7537 only lvs or only pvs are used whereas it seems that they are used
7538 interchangeably.
7539
7540 * grub-core/disk/lvm.c (read_node): New function.
7541 (read_lv): Use read_node.
7542 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
7543 Match volumes only at the end when all lvs are found. Take both
7544 pvs (first) and lvs (second) into account.
7545 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
7546 mirror_* into node_*. All users updated.
7547 (grub_lvm_stripe): Merge this ...
7548 (grub_lvm_mirror): ... and this ...
7549 (grub_lvm_node): ... into this. All users updated.
7550
7551 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7552
7553 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
7554 of function to allow further scanning for LVMs.
7555
7556 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
7559 on failed seek as it breaks open fd reusage.
7560
7561 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * util/grub-install.in: Add a recommendation to use --recheck before
7564 reporting bugs.
7565
7566 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7567
7568 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
7569 are obtained.
7570
7571 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 GRUB developper manual based on existing Internals section and
7574 contributions by the various authors with active copyright assignment.
7575
7576 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
7577 * docs/font_char_metrics.png: New file.
7578 * docs/font_char_metrics.txt: Likewise.
7579 * docs/grub-dev.texi: Likewise.
7580 * docs/grub.texi (Internals): Move from here ...
7581 * docs/grub-dev.texi: ... here.
7582
7583 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7584
7585 Store the loopback device as data on loopback grub_disk structures,
7586 rather than the file it points to. This fixes use of freed memory
7587 if an existing loopback device is replaced.
7588
7589 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
7590 disk->data, not dev->file.
7591 (grub_loopback_read): Adjust file assignment to match.
7592 Fixes Ubuntu bug #742967.
7593
7594 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7595
7596 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
7597 when replacing an existing device.
7598
7599 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
7600
7601 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
7602 memory corruptions.
7603
7604 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
7605 unsigned.
7606 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
7607 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
7608 (grub_jfs_read_inode): Likewise.
7609 (grub_jfs_opendir): Likewise. Remove now useless casts.
7610 (grub_jfs_getent): Likewise.
7611 Make ino a grub_uint32_t rather than int.
7612 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
7613 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
7614 division and module with bit operations.
7615 (grub_jfs_find_file): Make ino a grub_uint32_t.
7616 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
7617
7618 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
7619
7620 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
7621 warning. (This was in fact always initialised before use, but GCC
7622 wasn't smart enough to prove that.)
7623 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
7624
7625 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
7626
7627 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
7628 stack alignment.
7629 (efi_wrap_1): Likewise.
7630 (efi_wrap_2): Likewise.
7631 (efi_wrap_3): Likewise.
7632 (efi_wrap_4): Likewise.
7633 (efi_wrap_5): Likewise.
7634 (efi_wrap_6): Likewise.
7635 (efi_wrap_10): Likewise.
7636 Based on information by: Red Hat/Peter Jones.
7637
7638 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
7639
7640 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
7641 set-but-not-used variable.
7642
7643 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
7644
7645 * docs/grub.texi (Simple configuration): Be more explicit about
7646 GRUB_DEFAULT, and add an example.
7647 Reported by: Leslie Rhorer.
7648
7649 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7650
7651 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
7652 shell".
7653
7654 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7655
7656 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
7657 * util/grub.d/20_linux_xen.in: Likewise.
7658
7659 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * util/grub.d/10_linux.in: Try alternative config filenames where
7662 we parse config file.
7663 * util/grub.d/20_linux_xen.in: Likewise.
7664
7665 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
7666
7667 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
7668 * util/grub.d/20_linux_xen.in: Likewise.
7669
7670 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/disk/raid.c (insert_array): Add few potentially
7673 useful grub_util_info.
7674 (grub_raid_register): Likewise.
7675
7676 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
7679 Preserve partition number in mdadm code path.
7680
7681 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
7684 few potentially useful grub_util_info.
7685
7686 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
7689
7690 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7691
7692 * docs/grub.texi (default): Use @example rather than nested
7693 itemized lists to avoid breaking gendocs.
7694
7695 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7696
7697 * docs/grub.texi (Future): Update.
7698
7699 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7700
7701 * docs/grub.texi (Environment): New chapter.
7702 (Changes from GRUB Legacy): Link to "Environment block" section for
7703 details of limitations.
7704 (Simple configuration): Likewise. Link to documentation of gfxmode
7705 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
7706 respectively.
7707 (Shell-like scripting): Note that normal variables are stored in the
7708 environment.
7709 (gettext): Link to documentation of lang and locale_dir.
7710 (list_env): New section.
7711 (load_env): New section.
7712 (save_env): New section.
7713
7714 (Reporting bugs): Fix typo.
7715
7716 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
7719 the example.
7720
7721 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * grub-core/term/at_keyboard.c (set_scancodes)
7724 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
7725
7726 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7727
7728 * docs/grub.texi (Menu-specific commands): Remove some semantics
7729 that were true in GRUB Legacy but not in GRUB 2.
7730 (submenu): New section.
7731 (false): New section.
7732 (read): New section.
7733 (true): New section.
7734
7735 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7736
7737 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
7738
7739 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
7740
7741 * docs/grub.texi (Simple configuration): Explain some of the
7742 current limitations of grub-mkconfig.
7743 Reported by: Leslie Rhorer.
7744
7745 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 Old macs search for boot.efi rather than for bootia32.efi.
7748
7749 * util/grub-install.in: Copy bootia32.efi to boot.efi.
7750 * util/grub-mkrescue.in: Likewise.
7751 Suggested by: Peter Jones.
7752
7753 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
7756
7757 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
7760 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
7761 (grub_lvm_mirror): New struct.
7762 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
7763 (grub_lvm_iterate): Iterate only visible volumes.
7764 (grub_lvm_read): Factor out to ..
7765 (read_lv): ... this. Support mirrors.
7766 (grub_lvm_read): New wrapper function.
7767 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
7768 stripped or mirrored.
7769
7770 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7771
7772 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
7773
7774 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7775
7776 * docs/grub.texi (loopback): New section.
7777
7778 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7779
7780 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
7781 removed -p option.
7782
7783 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7784
7785 * docs/grub.texi (BIOS installation): New section, partly based on
7786 previous text in other sections.
7787 (Installing GRUB using grub-install): Replace BIOS discussion with a
7788 cross-reference.
7789 (Images): Likewise.
7790
7791 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * grub-core/kern/emu/hostdisk.c (find_partition_start)
7794 [HAVE_DIOCGDINFO]: Add safety checks.
7795
7796 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
7799 per default compiled in kernel and prior to 8.0 isn't shipped at all.
7800
7801 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
7802
7803 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
7804 real_sb->size is zero (e.g. RAID-0), get the disk size from
7805 real_sb->data_size instead.
7806 Fixes Ubuntu bug #743136.
7807
7808 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
7811 printf clauses for printing size and start.
7812
7813 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7814
7815 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
7816 Reported and tested by: Timothy Nikkel.
7817
7818 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7819
7820 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
7821 (dirty_region_add_real): ... this.
7822 (dirty_region_add): Don't discard margin refresh when performing
7823 scheduled repaint.
7824
7825 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/lib/relocator.c (allocate_regstart)
7828 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
7829 terminals are capabple of malloc-free operation.
7830 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7831 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
7832
7833 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
7834
7835 * util/grub-setup.c: Copy the partition table zone if floppy support
7836 is disabled, even if no partition table is found.
7837
7838 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
7839 during POST if an invalid partition table is contained in the PBR
7840 of the active partition when GRUB is installed to a partition.
7841
7842 2011-03-28 Colin Watson <cjwatson@debian.org>
7843
7844 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
7845 comment.
7846
7847 2011-03-28 Colin Watson <cjwatson@debian.org>
7848
7849 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
7850 to be specific about what kind of RAID device we're scanning for.
7851
7852 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
7853
7854 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
7855 return freed string.
7856
7857 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
7860
7861 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 Use libgeom on FreeBSD to detect partitions.
7864
7865 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
7866 (grub-mkrelpath): Likewise.
7867 (grub-script-check): Likewise.
7868 (grub-editenv): Likewise.
7869 (grub-mkpasswd-pbkdf2): Likewise.
7870 (grub-fstest): Likewise.
7871 (grub-mkfont): Likewise.
7872 (grub-mkdevicemap): Likewise.
7873 (grub-probe): Likewise.
7874 (grub-setup): Likewise.
7875 (grub-ofpathname): Likewise.
7876 (grub-mklayout): Likewise.
7877 (example_unit_test): Likewise.
7878 (grub-menulst2cfg): Likewise.
7879 * grub-core/Makefile.core.def (grub-emu): Likewise.
7880 (grub-emu-lite): Likewise.
7881 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
7882 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
7883 define HAVE_DIOCGDINFO.
7884 (follow_geom_up) [FreeBSD]: New function.
7885 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
7886 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
7887 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
7888 unconditionally of HAVE_DIOCGDINFO.
7889
7890 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
7891
7892 Fix FreeBSD compilation problem.
7893
7894 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
7895 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
7896
7897 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
7898
7899 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
7900 Switch back to page zero before loading a kernel, since some kernel
7901 drivers expect that.
7902 Thanks to: Felix Kuehling.
7903
7904 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7905
7906 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
7907 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
7908 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
7909
7910 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
7913 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
7914
7915 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
7918 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
7919 malloc is disabled.
7920
7921 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
7924 for modules headers when counting the needed allocation size.
7925
7926 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
7929 if no ASCII character is found to prevent crash.
7930
7931 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
7932
7933 * grub-core/video/bitmap.c (match_extension): Ignore case.
7934
7935 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
7938
7939 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/script/parser.y: Declare "time" as valid argument.
7942
7943 2011-03-23 Peter Jones <pjones@redhat.com>
7944
7945 Fix incorrect assert failure reporting.
7946
7947 * grub-core/tests/example_functional_test.c (example_test): Add
7948 a failure comment.
7949 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
7950 (failure_start): ...this. Check that malloc succeeded.
7951 Don't call xvasprintf. Return failure struct.
7952 (failure_append_vtext): New function.
7953 (failure_append_text): Likewise.
7954 (add_failure): Likewise.
7955 (grub_test_assert_helper): Likewise.
7956 * include/grub/test.h (grub_test_assert_helper): New declaration.
7957 (grub_test_assert): Macro rewritten.
7958
7959 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
7962
7963 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
7966
7967 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
7970 into GRUB-style one.
7971
7972 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7973
7974 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
7975 error and not grub_errno.
7976 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
7977
7978 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7979
7980 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
7981 GRUB_USB_SPEED_NONE in case of failure and not the error code.
7982
7983 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/efiemu/i386/pc/cfgtables.c
7986 (grub_machine_efiemu_init_tables): Make declaration a prototype.
7987 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
7988 (grub_xnu_unlock): Likewise.
7989 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
7990
7991 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
7994 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
7995 * grub-core/commands/hashsum.c (aliases): Likewise.
7996 * grub-core/commands/setpci.c (pci_registers): Likewise.
7997 * grub-core/disk/usbms.c (attach_hook): Likewise.
7998 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
7999 (zio_checksum_table): Likewise.
8000 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
8001 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
8002 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
8003 * grub-core/lib/relocator.c (leftovers): Likewise.
8004 (extra_blocks): Likewise.
8005 * grub-core/loader/i386/bsd.c (relocator): Likewise.
8006 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
8007 (modules_last): Likewise.
8008 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
8009 (devices): Likewise.
8010 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
8011 (modules_last): Likewise.
8012 * grub-core/normal/auth.c (users): Likewise.
8013 * grub-core/normal/context.c (initial_menu): Likewise.
8014 (current_menu): Likewise.
8015 * grub-core/normal/crypto.c (crypto_specs): Likewise.
8016 * grub-core/term/serial.c (grub_serial_ports): Likewise.
8017 (grub_serial_terminfo_input_template): Likewise.
8018 (grub_serial_terminfo_output_template): Likewise.
8019 (grub_serial_terminfo_input): Likewise.
8020 (grub_serial_terminfo_output): Likewise.
8021 (registered): Likewise.
8022 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
8023
8024 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8025
8026 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
8027 grub_video_mode_type_t.
8028 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
8029 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
8030 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
8031
8032 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
8033
8034 * util/grub-install.in: Correct the x86-64 name as x86_64.
8035
8036 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
8037
8038 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
8039 initial chunk read from the kernel always includes GRUB's multiboot
8040 header, which is now outside the first sector.
8041
8042 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8043
8044 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
8045 cached mmap_size, so that this works correctly when called multiple
8046 times.
8047 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
8048
8049 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
8050
8051 * docs/grub.texi (Simple configuration): Tidy up formatting.
8052
8053 2011-03-07 Szymon Janc <szymon@janc.net.pl>
8054
8055 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
8056 Set-but-not-used variable removed.
8057
8058 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 Workaround yet another IEEE1275 bug.
8061
8062 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8063 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
8064 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
8065 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
8066 is set.
8067 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8068 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
8069
8070 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
8071
8072 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
8073 error.
8074
8075 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
8076
8077 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
8078 empty, since in that case we can only generate either nothing or a
8079 syntactically invalid configuration file.
8080 Reported by: Michal Suchanek. Fixes Debian bug #612898.
8081
8082 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8083
8084 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
8085 (Making a GRUB bootable CD-ROM): Likewise.
8086 (Invoking grub-mkrescue): New section.
8087 Reported by: Yann Dirson. Fixes Debian bug #612585.
8088
8089 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
8090
8091 * util/grub-install.in: Remove unnecessary brackets from tr
8092 arguments.
8093 * util/grub.d/10_hurd.in: Likewise.
8094 * util/grub.d/10_kfreebsd.in: Likewise.
8095 * util/grub.d/10_linux.in: Likewise.
8096 * util/grub.d/20_linux_xen.in: Likewise.
8097 Reported by: Jamie Heilman. Fixes Debian bug #612564.
8098
8099 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
8100
8101 * include/grub/file.h (not_easly_seekable): Rename to ...
8102 (not_easily_seekable): ... this. Update all users.
8103
8104 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
8105
8106 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
8107 grub-mkrescue.
8108
8109 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * util/grub-mkimage.c (generate_image): Refuse to create the images
8112 bigger than the actual flash (512K) in Loongson machines. 512K is also
8113 the biggest chip supported by them.
8114
8115 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8116
8117 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
8118
8119 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
8120
8121 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
8122 super_offset field.
8123
8124 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8125
8126 * util/grub-install.in: Ignore install device on platforms
8127 where it doesn't make sense. Always use UUIDs except on pc, efi and
8128 sparc64.
8129 Reported by: Daniel Kahn Gillmor.
8130
8131 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
8134
8135 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
8138 (iterate_real): Don't rely on partition being non-NULL.
8139
8140 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8141
8142 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
8143 supported platforms. Put a compile time assert for this rather than
8144 generate a warning with 32-bit shift.
8145
8146 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
8149 logical expression more readable.
8150
8151 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
8154 even if some elements have a name.
8155 Reported by: Alexander GQ Gerasiov.
8156
8157 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8158
8159 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
8160 path unreadable if `grub-probe -t abstraction' fails, for example if
8161 memberlist fails on an LVM volume group.
8162 Reported by: Darius Jahandarie.
8163
8164 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
8165
8166 * docs/grub.texi (Simple configuration): Document
8167 GRUB_PRELOAD_MODULES.
8168
8169 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
8170
8171 * .bzrignore: Remove nonexistent grub-pbkdf2.
8172
8173 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * configure.ac: Bump version to 1.99~rc1.
8176
8177 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
8180 for safety.
8181
8182 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
8185 module.
8186
8187 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
8188
8189 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
8190
8191 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
8194 diskdevid.
8195
8196 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
8197
8198 Fix compilation on cygwin.
8199
8200 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
8201 -R .drectve on cygwin.
8202 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
8203 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
8204 (COND_CYGWIN): New condition.
8205 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
8206 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
8207 not @TARGET_OBJ2ELF@.
8208 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
8209 type to determine whether aux is to be used.
8210
8211 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8212
8213 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
8214 realpath'ed device string.
8215 Handle floppy (somewhat).
8216 Issue error in unknown case rather than garbage.
8217 Reported by: Axel Beckert.
8218
8219 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * util/grub.d/00_header.in (load_video): Handle the case when no video
8222 drivers available.
8223 Thanks to: Axel Beckert.
8224
8225 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
8228 variable. Fixes problem on big endian platforms.
8229
8230 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
8233 It doesn't work well there.
8234
8235 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8236
8237 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
8238 warning.
8239 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
8240 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
8241 counter.
8242
8243 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 Use alias->path rather than buggy "canon".
8246
8247 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
8248 (ofdisk_hash_add): New argument curcan. All users updated.
8249
8250 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8251
8252 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
8253
8254 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8255
8256 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
8257 loadmask before doing any calculations. Use correct type for offset.
8258 (grub_linux_load64): Likewise.
8259
8260 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
8261
8262 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
8263 with NULL.
8264 (console_grub_equivalences_unshift): Likewise.
8265 Reported by: Daniel Dehennin.
8266
8267 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8268
8269 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
8270 (set_env_limn_ro): Likewise.
8271 (GRUB_MOD_INIT): Likewise.
8272 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
8273 ARRAY_SIZE while on it.
8274 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
8275 * grub-core/normal/context.c (grub_env_export): Move from here ...
8276 * grub-core/kern/env.c (grub_env_export): ... here.
8277 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
8278 prefix.
8279 * grub-core/kern/main.c (grub_main): Export root and prefix.
8280 * include/grub/env.h (grub_env_export): Export.
8281 Reported by: Seth Goldberg.
8282
8283 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8286 Take into account space used by ELF sections and multiboot palette.
8287 Reported by: Grégoire Sutre.
8288
8289 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 * BUGS: New file.
8292
8293 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 Pass more appropriate video id to Linux.
8296
8297 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
8298 grub_video_get_driver_id and variable gfxpayloadforcelfb to
8299 fill have_vga.
8300 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
8301 shift params->lfb_size.
8302 * include/grub/i386/linux.h: Make an enume out of have_vga values.
8303
8304 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8305
8306 * util/grub-menulst2cfg.c: Add missing include of misc.h.
8307
8308 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8309
8310 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
8311 separator and pass bootpath/devid even if only one of them is available.
8312 Reported by: Seth Goldberg.
8313
8314 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
8317 implementations bug on them.
8318
8319 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
8320 memory.
8321 (filter_memory_map): Likewise.
8322
8323 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8324
8325 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
8326 Reported by: nebuchadnezzar.
8327
8328 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
8331 Reported by: nebuchadnezzar.
8332
8333 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8334
8335 Submenu default support.
8336
8337 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
8338 auto_boot. All users updated.
8339 Declared static.
8340 Handle chosen and default with submenus.
8341 (grub_menu_execute_with_fallback): Declared static.
8342 Don't notify failure if autobooted. Upper level does it.
8343 (menuentry_eq): New function.
8344 (get_entry_number): Use menuentry_eq.
8345 (show_menu): New parameter "autobooted". All users updated.
8346 (grub_show_menu): Likewise.
8347 * include/grub/normal.h (grub_show_menu): Likewise.
8348 * include/grub/menu.h (grub_menu_execute_entry): Removed.
8349 (grub_menu_execute_with_fallback): Likewise.
8350
8351 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 * util/grub-mklayout.c (usage): Update help text.
8354
8355 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
8358
8359 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8360
8361 * util/grub-menulst2cfg.c (main): Trim the line.
8362
8363 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
8366 (grub_machine_init): Don't check amount of low memory as reportedly
8367 INT 12h can be broken and if low memory is too low we wouldn't have
8368 gotten into grub_machine_init anyway.
8369
8370 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
8373 (grub_machine_mmap_iterate): Take low memory into account
8374
8375 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
8378 badfs.
8379 Reported by: TiCPU.
8380
8381 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
8382
8383 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
8384 members errors.
8385
8386 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8387
8388 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
8389 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
8390
8391 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
8392
8393 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
8394 openbsd and netbsd types being in part_bsd module.
8395
8396 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
8399 (_FILE_OFFSET_BITS): Likewise.
8400 Reported by: Seth Goldberg.
8401
8402 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
8403
8404 * configure.ac: Check for libdevmapper header.
8405
8406 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8407
8408 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
8409 avoid aliasing.
8410 (fzap_lookup): Likewise.
8411 (dnode_get): Likewise.
8412 (make_mdn): Likewise.
8413 (zfs_mount): Likewise.
8414 (fzap_iterate): Use temporary pointer to avoid aliasing.
8415 (grub_zfs_read): Likewise.
8416 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
8417 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
8418 pointers to avoid aliasing.
8419 (grub_cmd_xnu_kernel64): Likewise.
8420 (grub_xnu_load_driver): Likewise.
8421
8422 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8423
8424 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
8425 aliasing warning.
8426 (grub_cmd_terminal_output): Likewise.
8427 Reported and tested by: Grégoire Sutre.
8428
8429 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
8432 warning.
8433 Reported and tested by: Grégoire Sutre.
8434
8435 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 * configure.ac: Do CPU substitution even if it's specified explicitly.
8438 Reported and tested by: Alain Greppin.
8439
8440 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8441
8442 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
8443 Reported and tested by: Alain Greppin.
8444
8445 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 Satisfy some bison versions need for inttypes.h.
8448
8449 * grub-core/lib/posix_wrap/inttypes.h: New file.
8450 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
8451 (int16_t): Likewise.
8452 (int32_t): Likewise.
8453 (int64_t): Likewise.
8454 Reported and tested by: Alain Greppin.
8455
8456 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
8459 Silence spurious warning.
8460 Reported and tested by: Alain Greppin.
8461
8462 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8463
8464 * docs/grub.texi (Support automatic decompression): Update with xz
8465 decompression support.
8466
8467 2011-01-07 Szymon Janc <szymon@janc.net.pl>
8468
8469 Improve loaders' kernel command line handling.
8470
8471 * grub-core/lib/cmdline.c: New file.
8472 * include/grub/lib/cmdline.h: Likewise.
8473 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
8474 grub_create_loader_cmdline to create kernel command line.
8475 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8476 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
8477 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
8478 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
8479 (linux): Add lib/cmdline.c on common.
8480
8481 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8482
8483 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
8484 inopos might be unaligned.
8485
8486 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8487
8488 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
8489 endian transformations.
8490 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8491 Based on report by: Doug Nazar.
8492
8493 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
8494
8495 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
8496 array->members[i].start_sector.
8497 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
8498
8499 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
8502 Reported and tested by: Grégoire Sutre.
8503
8504 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8505
8506 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
8507 avoid causing test failures by clearing the screen.
8508
8509 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
8510
8511 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
8512 Fix prefix check to handle the case where dir ends with a slash
8513 (most significantly, "/" itself).
8514 Reported by: Michael Vogt.
8515
8516 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8517
8518 Run terminfo_cls on initing terminfo output to clear the screen and
8519 move the cursor to (0,0).
8520
8521 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
8522 Call grub_terminfo_output_init.
8523 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
8524 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
8525 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
8526
8527 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
8530 only when needed.
8531
8532 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8533
8534 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
8535 CTRL.
8536
8537 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 The E820 type 5 is BADRAM, not EXEC_CODE.
8540
8541 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8542 (GRUB_E820_BADRAM): New define.
8543 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
8544 into reserved. Propagate BADRAM.
8545 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
8546 (GRUB_E820_BADRAM): New define.
8547
8548 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8549
8550 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
8551 Ignore the memory post-4G.
8552 (grub_relocator_firmware_alloc_region): Additional debug statement.
8553
8554 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
8557 names.
8558 Reported by: David Pravec.
8559
8560 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
8563 BIOSes.
8564
8565 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
8568 Prevent overflow.
8569 (grub_reed_solomon_recover): Likewise.
8570
8571 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
8574
8575 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
8578 variable.
8579
8580 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
8581
8582 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
8583 descriptions of extract_legacy_entries_source and
8584 extract_legacy_entries_configfile.
8585 Reported by: Seung Soo, Ha.
8586
8587 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
8588
8589 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
8590 on devices that do not implement function 0.
8591
8592 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
8593
8594 * grub-core/fs/hfsplus.c: Make parent unsigned.
8595 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
8596 overflows.
8597 (grub_hfsplus_cmp_extkey): Likewise
8598
8599 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8600
8601 * util/grub-install.in: Correctly use bootloader_id and not
8602 GRUB_DISTRIBUTOR on efibootmgr line.
8603
8604 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
8607
8608 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
8609
8610 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
8611 Xen and reorder menu item wording to make it clearer that this entry
8612 will launch Xen. Print separate messages when loading Xen and
8613 Linux.
8614
8615 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8616
8617 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
8618 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
8619 loop in case of incorrect amiga partmap.
8620
8621 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8622
8623 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
8624 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
8625 Reported by:EHeM.
8626
8627 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
8630 spurious warning.
8631 Reported by: crocket
8632
8633 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8634
8635 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
8636 Preload EFIemu.
8637 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
8638
8639 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
8642 is loaded
8643 (grub_cmd_xnu_kextdir): Likewise.
8644 (grub_cmd_xnu_splash): Likewise.
8645
8646 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Avoid using Reed-Solomon with 0 redundancy.
8649
8650 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
8651 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
8652 or 0 redundancy.
8653 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
8654 (grub_reed_solomon_recover): Likewise.
8655
8656 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 Don't use disk subsystem in freebsd_boot.
8659
8660 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
8661 (freebsd_biosdev): Likewise.
8662 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
8663 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
8664
8665 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 Handling of files of unknown size is currently limited. They can't be
8668 used e.g. for initrd or modules. Moreover gzip handling of not
8669 easily seekable files is buggy. Disable unknown file size for now. May
8670 be inefficient but works.
8671
8672 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
8673 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
8674
8675 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
8676
8677 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
8678 floppy probe.
8679
8680 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
8681
8682 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
8683
8684 2010-12-25 Shea Levy <shlevy>
8685
8686 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
8687
8688 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
8691 Windows Server 2008.
8692 Reported by: Devin Giddings.
8693
8694 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
8697 writing an error message because of async power management.
8698 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
8699 (grub_reboot): Likewise.
8700
8701 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
8702
8703 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
8704 keep unit tests from failing when they shouldn't.
8705
8706 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8707
8708 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
8709 previous patch increased the size of the RS code by 20 bytes (at
8710 least with gcc-4.4), so increase this by 20 bytes to match.
8711 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8712
8713 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8714
8715 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
8716 scratch area. Make sure to initialise chosen in standalone mode as
8717 well as non-standalone.
8718 Reported by: Robert Hooker and Andy Whitcroft.
8719 Tested by: Andy Whitcroft.
8720
8721 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8722
8723 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
8724 constructing a new unescaped string and passing it to grub_xputs in
8725 one go, rather than passing characters to grub_printf one at a time.
8726
8727 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8728
8729 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
8730 initialising utf16.
8731
8732 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
8733
8734 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
8735 comment. Add an extra layer of quotation, requiring the output of
8736 this function to be used in a printf format string.
8737 (gettext_printf): New function.
8738 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
8739 Extract translatable strings from here-documents and use a temporary
8740 variable instead, so that xgettext can find them.
8741 * util/grub.d/10_kfreebsd.in: Likewise.
8742 * util/grub.d/10_linux.in: Likewise.
8743 * util/grub.d/20_linux_xen.in: Likewise.
8744
8745 * po/grub.d.sed: New file.
8746 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
8747 arguments. Set c-format flags on all strings extracted from
8748 util/grub.d/ (xgettext refuses to include these itself for strings
8749 it extracted from a shell file, but these really are c-format).
8750
8751 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
8752
8753 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
8754 Avoid next pointing to nowhere.
8755
8756 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8757
8758 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
8759 rather than assuming than rootblock is exactly in the middle.
8760 (grub_affs_label): Likewise.
8761
8762 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
8765 reserved_first_sector to 0.
8766 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
8767 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
8768 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
8769
8770 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 Fix handling of UTF-16 UDF labels.
8773
8774 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
8775 (read_string): .. here.
8776 (grub_udf_label): Use read_string.
8777
8778 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
8779
8780 * grub-core/normal/menu_entry.c (run): Execute commands from menu
8781 editor under argument scope.
8782 Reported by: Jordan Uggla
8783
8784 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8785
8786 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
8787
8788 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
8789
8790 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
8791 line, and other keys scroll an entire page (previous handling was
8792 for \r and \n to scroll a page and other keys to scroll two lines).
8793
8794 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
8795
8796 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
8797 Set ptrdest to correct get_physical_target_address rather than
8798 incorrect get_virtual_current_address.
8799
8800 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
8801
8802 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
8803 correct cat to grub_uint8_t * rather than grub_uint32_t *.
8804
8805 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
8806
8807 * .bzrignore: Ignore grub-core/rs_decoder.S.
8808
8809 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
8810
8811 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
8812 .mo/.mo.gz opening sequence to ...
8813 (grub_mofile_open_lang): ... here.
8814 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
8815 * util/grub.d/00_header.in (grub_lang): Include country part of
8816 locale.
8817 Reported by: Mario Limonciello.
8818
8819 2010-12-09 Robert Millan <rmh@gnu.org>
8820
8821 * NEWS: Document addition of ZFS support.
8822
8823 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
8824
8825 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
8826 rather than `/ 2', as the latter requires -Wa,--divide which would
8827 require bumping our minimum binutils version.
8828
8829 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
8830
8831 * util/grub-script-check.c (main): Print script line number on
8832 error.
8833
8834 2010-12-01 Robert Millan <rmh@gnu.org>
8835
8836 * grub-core/fs/zfs/zfs.c: New file.
8837 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
8838 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
8839 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
8840 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8841
8842 * include/grub/zfs/dmu.h: Likewise.
8843 * include/grub/zfs/dmu_objset.h: Likewise.
8844 * include/grub/zfs/dnode.h: Likewise.
8845 * include/grub/zfs/dsl_dataset.h: Likewise.
8846 * include/grub/zfs/dsl_dir.h: Likewise.
8847 * include/grub/zfs/sa_impl.h: Likewise.
8848 * include/grub/zfs/spa.h: Likewise.
8849 * include/grub/zfs/uberblock_impl.h: Likewise.
8850 * include/grub/zfs/vdev_impl.h: Likewise.
8851 * include/grub/zfs/zap_impl.h: Likewise.
8852 * include/grub/zfs/zap_leaf.h: Likewise.
8853 * include/grub/zfs/zfs.h: Likewise.
8854 * include/grub/zfs/zfs_acl.h: Likewise.
8855 * include/grub/zfs/zfs_znode.h: Likewise.
8856 * include/grub/zfs/zil.h: Likewise.
8857 * include/grub/zfs/zio.h: Likewise.
8858 * include/grub/zfs/zio_checksum.h: Likewise.
8859
8860 * Makefile.util.def: Build ZFS into libgrubmods.
8861 * grub-core/Makefile.core.def: Build zfs.mod.
8862
8863 2010-11-30 Szymon Janc <szymon@janc.net.pl>
8864
8865 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
8866 variable.
8867 * grub-core/commands/wildcard.c (match_files): Likewise.
8868
8869 2010-11-30 Robert Millan <rmh@gnu.org>
8870
8871 * grub-core/loader/i386/bsd.c
8872 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
8873 whether kernel is loaded using grub_loader_is_loaded(), rather
8874 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
8875 certain error conditions.
8876
8877 2010-11-30 Robert Millan <rmh@gnu.org>
8878
8879 * grub-core/commands/echo.c: Include `<grub/term.h>'.
8880 (grub_cmd_echo): Call grub_refresh() after printing a message.
8881
8882 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 Avoid using tricks for initialising endian variables.
8885
8886 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
8887 Make const.
8888 (GRUB_MOD_INIT): Don't byte-swap.
8889 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8890 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
8891 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
8892 (grub_swap_bytes32_compile_time): Likewise.
8893 (grub_cpu_to_le32_compile_time): Likewise.
8894 (grub_cpu_to_le16_compile_time): Likewise.
8895
8896 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 * util/grub-setup.c (setup): Stop recommending --force. People who
8899 understand the dangers of blocklists are able to find this option
8900 anyway and the ones who don't shouldn't use it anyway.
8901
8902 2010-11-26 Robert Millan <rmh@gnu.org>
8903
8904 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
8905 Update all users.
8906
8907 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
8908
8909 Fix LVM-on-RAID probing.
8910
8911 * util/grub-probe.c (probe): Remember which disk was detected as
8912 RAID (perhaps an LVM physical volume). Use that disk's raidname
8913 rather than that of the top-level disk.
8914
8915 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
8916
8917 Fix cmdline argument quotes for setparams command of menuentry
8918 definitions.
8919
8920 * grub-core/commands/menuentry.c (setparams_prefix): Use single
8921 quotes for arguments.
8922 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
8923 grub_strchrsub function instead.
8924
8925 * include/grub/misc.h (grub_strchrsub): New function.
8926
8927 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
8928
8929 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
8930 effort by skipping "." and ".." entries up-front.
8931 Suggested by: Michael Lazarev.
8932
8933 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
8934
8935 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
8936 ldflags to ldadd, to fix link line ordering.
8937 (none_decompress): Likewise.
8938
8939 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
8940
8941 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
8942 platforms.
8943 (grub-emu-lite): Remove kern/emu/cache.S.
8944
8945 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8946
8947 * util/deviceiter.c (compare_devices): If the by-id link for a
8948 device couldn't be resolved, fall back to sorting by the by-id link
8949 rather than segfaulting.
8950 Reported and tested by: Daniel Mierswa.
8951
8952 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8953
8954 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
8955 ldflags, to fix link line ordering.
8956
8957 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8958
8959 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
8960 linkers are picky about this.
8961
8962 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8963
8964 * grub-core/Makefile.am (command.lst): Adjust sed expression
8965 ordering so that extended and priority commands aren't treated as
8966 ordinary commands.
8967
8968 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
8969
8970 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
8971 Remove byte-swapping function calls, which are not valid in
8972 structure initialisers.
8973 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
8974 non-const.
8975 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
8976 grub_gpt_partition_type_bios_boot.
8977
8978 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
8979
8980 Fix test program build on GNU/kFreeBSD.
8981
8982 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
8983 $(LIBNVPAIR)' library dependencies.
8984
8985 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
8986
8987 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
8988
8989 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
8990
8991 * util/grub-install.in: Remove excessive quoting that broke
8992 installations to RAID devices.
8993
8994 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
8995
8996 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
8997 bootloader version instead of 0.
8998
8999 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9000
9001 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
9002 warning.
9003
9004 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
9005
9006 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
9007 retrieve the metadat sector if size isn't known.
9008 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9009
9010 2010-11-18 Robert Millan <rmh@gnu.org>
9011
9012 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
9013 with grub_memcmp().
9014
9015 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
9018 arrow.
9019 Reported by: Jordan Uggla.
9020
9021 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 Make better UTF compliant.
9024
9025 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
9026 sequences as incorrect.
9027 (grub_is_valid_utf8): Likewise.
9028 (grub_utf8_to_ucs4): Likewise.
9029 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
9030 (grub_ucs4_to_utf8_alloc): Likewise.
9031 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
9032
9033 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
9034
9035 Make legacy_source behave like source.
9036
9037 * grub-core/commands/legacycfg.c (legacy_file): Don't call
9038 grub_show_menu.
9039 (grub_cmd_legacy_source): Call grub_show_menu if needed.
9040
9041 2010-11-16 Colin Watson <cjwatson@debian.org>
9042
9043 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
9044 (-Wunused implies -Wunused-parameter, but not vice versa).
9045
9046 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
9047
9048 * configure.ac: Make error messages less confusing by testing for
9049 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
9050 accepted, but produces a diagnostic if something else is wrong).
9051
9052 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
9055 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
9056 (now unused).
9057 (grub_keyboard_controller_init)
9058 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
9059 read the initial state since controller isn't inited yet.
9060
9061 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
9064 allocate_regbeg may need to create new chunk header.
9065
9066 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9067
9068 Fix quoting in legacy parser.
9069
9070 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
9071 single quotes.
9072 (grub_legacy_parse): Likewise.
9073 Reported by: Jordan Uggla.
9074 Tested by: Jordan Uggla.
9075
9076 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 Don't add -lgcc on i386 and x86_64.
9079
9080 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
9081 * conf/Makefile.common (LDADD_KERNEL): Likewise.
9082 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
9083
9084 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * configure.ac: Add -Wno-trampolines when supported.
9087
9088 2010-11-14 Modestas Vainius <modax@debian.org>
9089
9090 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
9091 fakeraid.
9092
9093 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9094
9095 Add generic logical block size support for UDF.
9096
9097 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
9098 (GRUB_UDF_BLKSZ): Removed.
9099 (struct grub_udf_data): New field "lbshift" to hold the logical block
9100 size of the file system in log2 format. All users updated.
9101 (sblocklist): Change type to unsigned.
9102 (grub_udf_mount): Change type of "sblklist" to unsigned.
9103 Move AVDP search before VRS recognition, because the latter requires
9104 knowledge of the logical block size, which is detected during the
9105 former.
9106 Detect and validate logical block size during AVDP search, adding
9107 support for block sizes 512, 1024 and 4096.
9108 Make VRS recognition independent of block size.
9109
9110 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9111
9112 Properly handle deleted files on UDF.
9113
9114 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
9115 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
9116 set.
9117
9118 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
9119
9120 Support reading files larger than 2 GiB.
9121
9122 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
9123 "offset" to grub_off_t.
9124 (grub_udf_read_file): Likewise for parameter "pos".
9125
9126 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
9129 unavailable.
9130 (Simple configuration): Refer to Changes from GRUB Legacy about
9131 save_env availability.
9132
9133 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 * util/grub-install.in: Ignore empty partition table detection
9136 instead of trying to include part_ module.
9137
9138 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9139
9140 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
9141 LVM on RAID support.
9142
9143 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
9144
9145 Properly define WORDS_BIGENDIAN in wrapped environments.
9146
9147 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
9148 definition.
9149 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
9150
9151 Reported by: Manoel Rebelo Abranches.
9152 Tested by: Manoel Rebelo Abranches.
9153
9154 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * util/grub-mkconfig.in: Fix quoting.
9157
9158 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 Support big ext2 files.
9161
9162 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
9163 (grub_ext2_read_block): Support triple indirect blocks.
9164 (grub_ext2_read_file): Use 64-bit types and read size_high.
9165 (grub_ext2_open): Read size_high.
9166 Reported by: Ximin Luo.
9167 Tested by: Manoel Rebelo Abranches.
9168
9169 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * util/grub-install.in: Handle filenames containing spaces.
9172 Reported by: Jordan Uggla.
9173 Tested by: Jordan Uggla.
9174
9175 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 * util/grub-mkconfig.in (grub_script_check): New variable.
9178 Use grub_script_check instead of grub-script-check.
9179 Reported by: Barry Jackson.
9180
9181 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 * docs/grub.texi (menu): Correct the order.
9184 Reported by: D. Hugh Redelmeier.
9185
9186 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
9187
9188 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
9189 jump.
9190
9191 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
9192
9193 * include/grub/elfload.h (grub_elf32_size): New parameter.
9194 All users updated.
9195 Return maximum segments alignment.
9196 (grub_elf64_size): Likewise.
9197 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
9198 Return maximum segments alignment.
9199 (grub_elf64_size): Likewise.
9200 * grub-core/loader/powerpc/ieee1275/linux.c:
9201 (grub_linux_claimmap_iterate): New function. Uses the
9202 "available" property in the "memory" node for memory allocation
9203 for kernel in the PowerPC loader.
9204 (grub_linux_load32): Correctly find linux entry point offset.
9205 (grub_linux_load64): Likewise.
9206
9207 2010-11-07 Robert Millan <rmh@gnu.org>
9208
9209 On mips-yeeloong, build with -march=loongson2f when this flag is
9210 available (GCC >= 4.4).
9211 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
9212 `-march=mips3'.
9213 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
9214 or otherwise add -march=mips3.
9215
9216 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
9217
9218 Suppress shell expansion on echo '*' and echo "*" like cases.
9219 Reported by: Jordan Uggla.
9220
9221 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
9222 string arguments before shell expansion.
9223 * tests/grub_cmd_echo.in: New testcases.
9224
9225 2010-11-07 Robert Millan <rmh@gnu.org>
9226
9227 * conf/mips-qemu-mips.rmk: Remove stale file from previous
9228 transition.
9229
9230 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * grub-core/kern/emu/hostdisk.c
9233 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
9234
9235 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9236
9237 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
9238 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
9239 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
9240
9241 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
9244
9245 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * util/grub-install.in: Replace useless recomendation to pass
9248 --modules with a recomendation to report a bug.
9249
9250 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 Properly register serial terminfo.
9253 Reported by: Jordan Uggla
9254
9255 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
9256 const.
9257 (grub_serial_terminfo_output_template): Likewise.
9258 (grub_cmd_serial): Register "serial" with terminfo.
9259 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
9260 grub_serial_terminfo_output.
9261
9262 2010-11-05 Robert Millan <rmh@gnu.org>
9263
9264 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
9265 needed).
9266
9267 2010-11-05 Robert Millan <rmh@gnu.org>
9268
9269 On Yeeloong, pass machine type information to Linux.
9270
9271 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
9272 (LOONGSON_MACHTYPE): New macro, set to
9273 "machtype=lemote-yeeloong-2f-8.9inches".
9274 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
9275 additional argument to Linux.
9276
9277 2010-11-04 Robert Millan <rmh@gnu.org>
9278
9279 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
9280 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
9281 (its SATA disks are detected as slaveless IDE master drives on
9282 kFreeBSD).
9283 Reported by Carsten Aulbert.
9284
9285 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
9286
9287 * util/bin2h.c (main): Fix spelling error in generated output.
9288
9289 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
9290
9291 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
9292
9293 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9294
9295 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
9296 vga= option is supplied.
9297
9298 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
9301 * util/grub.d/10_kfreebsd.in: Likewise.
9302 * util/grub.d/10_linux.in: Likewise.
9303 * util/grub.d/20_linux_xen.in: Likewise.
9304
9305 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
9308 argument as an argument to no-argument option.
9309
9310 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 * util/grub.d/10_linux.in: Add missing load_video with explicit
9313 GRUB_GFXPAYLOAD_LINUX.
9314
9315 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
9318
9319 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
9322 elements with invlid index.
9323 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
9324 * grub-core/disk/raid.c (insert_array): Automatically reallocate
9325 members.
9326 * include/grub/raid.h (grub_raid_member): New struct.
9327 (grub_raid_array): Transform devices and start_sector into usage of
9328 grub_raid_member. All users updated
9329 (allocated_devs): New member.
9330
9331 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
9334 is modified
9335
9336 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
9337
9338 NetBSD build fix for getline function conflict from gnulib.
9339
9340 * Makefile.util.def (libgrubkern.a): New library for grub kernel
9341 components that depend on gnulib headers.
9342 (libgrubmods.a): Renamed from earlier libgrub.a.
9343 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
9344
9345 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
9348 install rather than creating a broken install.
9349
9350 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9351
9352 * util/grub-setup.c (argp): Remove misleading example of installing to
9353 a partition.
9354
9355 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * util/grub-setup.c (setup): Clarify the error message.
9358
9359 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
9362
9363 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9364
9365 * grub-core/kern/emu/misc.c
9366 (grub_make_system_path_relative_to_its_root)
9367 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
9368
9369 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * grub-core/kern/emu/misc.c
9372 (grub_make_system_path_relative_to_its_root): Revert r2882.
9373
9374 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
9375
9376 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
9377 useless field head. All users updated.
9378 (free_subchunk): Correct handling of IN_REGION subchunk.
9379
9380 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
9381
9382 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
9383 (Supported kernels): Likewise.
9384
9385 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
9386
9387 Make mktemp invocations portable.
9388
9389 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
9390 exit if mktemp fails.
9391 * tests/grub_script_blockarg.in: Likewise.
9392 * tests/partmap_test.in: Likewise.
9393 * tests/util/grub-shell-tester.in: Likewise.
9394 * tests/util/grub-shell.in: Likewise.
9395 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9396 * Makefile.am: Likewise, and chain shell commands with `&&'
9397 instead of ';'.
9398 * util/grub-mkrescue.in: Use the same explicit template as above, and
9399 exit if mktemp fails.
9400
9401 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
9402
9403 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
9404 Linux kernel, reported by Dennis Schridde.
9405
9406 2010-10-17 Szymon Janc <szymon@janc.net.pl>
9407
9408 * grub-core/normal/auth.c (grub_auth_check_authentication):
9409 Set-but-not-used variable removed.
9410
9411 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * docs/grub.texi (GNU/Linux): Document APM unavailability with
9414 32-bit linux protocol.
9415
9416 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
9419 cursor shape for sanity.
9420
9421 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * docs/grub.texi (Installation): Document buggy BIOS install.
9424
9425 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 * docs/grub.texi (Installation): Indent.
9428
9429 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9430
9431 * util/grub-setup.c (setup): New parameter allow_floppy.
9432 (arguments): New member allow_floppy.
9433 (argp_parser): Handle --allow-floppy.
9434 (main): Pass allow_floppy.
9435 * util/grub-install.in: New option --allow-floppy passed though to
9436 grub-setup.
9437
9438 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 * util/grub-install.in: Handle partitionless disks.
9441
9442 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * util/grub-setup.c (setup): Don't clean blocklists before readability
9445 verfification.
9446
9447 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * docs/grub.texi (Installation): Document embedding zone. Remove
9450 obsolete grub-install example.
9451
9452 2010-10-16 Szymon Janc <szymon@janc.net.pl>
9453
9454 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
9455 Set-but-not-used variable ifdef'ed.
9456 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
9457 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
9458 variable removed.
9459 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
9460 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
9461 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
9462 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
9463 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
9464 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
9465 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
9466 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
9467 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
9468 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
9469 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
9470 Likewise.
9471
9472 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9473
9474 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
9475 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
9476 enum value.
9477
9478 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
9481 synonym to _S5_. Needed for some DSDTs.
9482
9483 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9484
9485 Userspace ACPI parser debugging.
9486
9487 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
9488 headers and add relevant defines. Don't include standard headers.
9489 (main) [GRUB_DSDT_TEST]: New function.
9490 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
9491 Don't declare functions.
9492
9493 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9494
9495 Remove dead grub_efi_mm_fini.
9496
9497 * grub-core/kern/efi/mm.c (allocated_page): Removed.
9498 (ALLOCATED_PAGES_SIZE): Likewise.
9499 (MAX_ALLOCATED_PAGES): Likewise.
9500 (allocated_pages): Likewise.
9501 (grub_efi_allocate_pages): Don't record allocated pages.
9502 (grub_efi_free_pages): Likewise.
9503 (grub_efi_mm_init): Likewise.
9504 (grub_efi_mm_fini): Removed.
9505
9506 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9507
9508 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
9509 (grub_efi_mm_init): Take into account the memory map size increase.
9510
9511 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
9514 (serial_hw_put): Wait based on real time rather than port reads. Don't
9515 roken ports.
9516 * include/grub/serial.h (grub_serial_port): New field broken.
9517
9518 2010-10-16 Robert Millan <rmh@gnu.org>
9519
9520 * grub-core/kern/emu/misc.c
9521 (grub_make_system_path_relative_to_its_root): Fix premature return
9522 when processing non-root ZFS filesystems.
9523 Reported by Sergio Talens-Oliag.
9524
9525 2010-10-15 Robert Millan <rmh@gnu.org>
9526
9527 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
9528 guarantee compressed ones are processed first.
9529
9530 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
9533 grub_efiemu_autocore.
9534
9535 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
9538 rather than 0x1b.
9539 (grub_console_getkey): Use correct jae opcode rather than ja.
9540
9541 2010-10-12 Robert Millan <rmh@gnu.org>
9542
9543 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
9544 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
9545 variable. All references updated.
9546
9547 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
9548
9549 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
9550
9551 Correctly distinguish mdraid flavours.
9552
9553 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
9554 (insert_array): New argument raid.
9555 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
9556 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
9557 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
9558
9559 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
9560
9561 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
9562 handling of special keys.
9563
9564 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9565
9566 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
9567 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
9568
9569 2010-10-02 Aleš Nesrsta <starous@volny.cz>
9570
9571 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
9572 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
9573 users updated.
9574 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
9575 Use right endpoint when querying descriptor.
9576
9577 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 Clear out 0x80 color bit on EFI.
9580 Tested by: decoder
9581 Reported by: decoder and meta tech.
9582
9583 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
9584 (grub_console_setcolorstate): Clear out 0x80 bit.
9585 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
9586 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
9587 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
9588
9589 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
9590
9591 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
9592 Set to "auto".
9593
9594 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
9597 mo_file after freeing.
9598
9599 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
9602
9603 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
9606 flags.
9607
9608 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9609
9610 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
9611 usage.
9612
9613 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
9614
9615 Put terminfo into core on ieee1275 and yeeloong (needed for console).
9616
9617 * gentpl.py: New groups terminfoinkernel and terminfomodule.
9618 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
9619 and terminfo.h when needed.
9620 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
9621 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
9622 (terminfo): Enable only on terminfokernel.
9623 (extcmd): Likewise.
9624 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
9625 * include/grub/lib/arg.h: Likewise.
9626 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
9627 incorrect usage of ->.
9628
9629 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
9632 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
9633
9634 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 Fix coreboot compilation.
9637
9638 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
9639 Take VBE info into account even if only text is supported.
9640 (fill_vbe_info): Take into account the case when only VGA text
9641 is supported.
9642 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
9643 on coreboot, multiboot and qemu.
9644
9645 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
9648 debug messages.
9649 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
9650
9651 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
9654 parameters.
9655
9656 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
9659 if they were BSD-style.
9660
9661 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 * grub-core/boot/i386/pc/lnxboot.S: Replace
9664 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
9665 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
9666
9667 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
9668
9669 Write embedding zone using Reed-Solomon.
9670
9671 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
9672 * grub-core/Makefile.am (rs_decoder.S): New target.
9673 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
9674 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
9675 (multiboot): Move to RS part.
9676 (post_reed_solomon): New label.
9677 (grub_boot_drive): Move to non-RS part since it's modified in memory
9678 on boot.
9679 Include rs_decoder.S.
9680 * grub-core/lib/reed_solomon.c: New file.
9681 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
9682 New definition.
9683 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
9684 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
9685 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
9686 * include/grub/partition.h (grub_partition_map): Change prototype of
9687 embed to allow returning additional sectors.
9688 * include/grub/reed_solomon.h: New file.
9689 * util/grub-setup.c (setup): Handle Reed-Solomon.
9690
9691 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
9692
9693 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9694 i386 and x86-64 definedness tests.
9695
9696 2010-09-27 Yves Blusseau <blusseau@zetam.org>
9697
9698 Fix generation of kernel_syms.lst
9699
9700 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
9701 ASM_PREFIX
9702
9703 2010-09-26 Robert Millan <rmh@gnu.org>
9704
9705 Support degraded ZFS arrays in "grub-probe -t device" resolution.
9706
9707 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
9708 the pool is an array of devices, iterate through it and return the
9709 first device that passes a stat() test (instead of blindly returning
9710 the first one).
9711
9712 2010-09-26 Robert Millan <rmh@gnu.org>
9713
9714 Build fixes for GNU/kFreeBSD.
9715
9716 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
9717 to programs that require ZFS conversion.
9718 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
9719 kernels that don't have FLOPPY_MAJOR.
9720
9721 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9722
9723 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
9724
9725 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
9726
9727 Fix grub-emu build.
9728
9729 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
9730 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
9731 mdraid09 and mdraid1x.
9732
9733 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
9734
9735 Re-enable grub-extras.
9736
9737 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
9738 avoid confusing Automake. Run autogen only twice, once for the top
9739 level and once for grub-core. Add Makefile.util.def and
9740 Makefile.core.def from extra modules to the appropriate autogen
9741 invocations. If Makefile.common exists in an extra module, include
9742 it in both Makefile.util.am and grub-core/Makefile.core.am;
9743 similarly, include any Makefile.util.common file in Makefile.util.am
9744 and any Makefile.core.common file in grub-core/Makefile.core.am.
9745 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
9746 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
9747 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
9748 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
9749
9750 * gentpl.py (gvar_add): Turn GVARS into a set.
9751 (global_variable_initializers): Sort global variables on output.
9752 (vars_init): New function.
9753 (first_time): Likewise.
9754 (library): Ensure that non-global variable initialisations are
9755 emitted before the first time we emit code for a library block.
9756 Append to variables rather than setting them. Only emit
9757 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
9758 each conditional path.
9759 (program): installdir() emits an Autogen macro, so must be passed to
9760 var_add rather than gvar_add.
9761 (data): Likewise.
9762 (script): Likewise.
9763 (rules): New function, centralising handling for different target
9764 types. Set up Guile association lists for first_time and vars_init,
9765 and send most output to a diversion so that variable initialisations
9766 can be emitted first.
9767 (module_rules): Use new rules function.
9768 (kernel_rules): Likewise.
9769 (image_rules): Likewise.
9770 (library_rules): Likewise.
9771 (program_rules): Likewise.
9772 (script_rules): Likewise.
9773 (data_rules): Likewise.
9774
9775 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
9776
9777 * .bzrignore: Add contrib and grub-core/contrib. Remove
9778 grub-core/Makefile.gcry.am.
9779
9780 2010-09-24 Yves Blusseau <blusseau@zetam.org>
9781
9782 * grub-core/lib/LzFind.c: Add missing include.
9783 * grub-core/lib/LzmaEnc.c: Likewise.
9784 * grub-core/script/lexer.c: Likewise.
9785 * grub-core/script/yylex.l: Likewise.
9786 * util/grub-macho2img.c: Likewise.
9787 * util/grub-menulst2cfg.c: Likewise.
9788 * util/grub-mklayout.c: Likewise.
9789 * util/grub-mkpasswd-pbkdf2.c
9790 * util/grub-mkrelpath.c: Likewise.
9791 * util/resolve.c: Likewise.
9792
9793 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
9794
9795 * Makefile.util.def (example_unit_test): Add
9796 grub-core/gnulib/libgnu.a.
9797
9798 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
9799
9800 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
9801
9802 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
9803
9804 Support xz compression on yeeloong.
9805
9806 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
9807 * configure.ac: Check for LZMA.
9808 * grub-core/Makefile.core.def (xz_decompress): New target.
9809 (none_decompress): Likewise.
9810 * grub-core/boot/decompressor/minilib.c: New file.
9811 * grub-core/boot/decompressor/none.c: Likewise.
9812 * grub-core/boot/decompressor/xz.c: Likewise.
9813 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
9814 * grub-core/kern/mips/cache_flush.S: Likewise.
9815 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
9816 * grub-core/kern/mips/startup.S: Move first stage to ...
9817 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
9818 nomacro.
9819 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
9820 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
9821 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
9822 Allocate statically.
9823 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
9824 Allocate statically or use scratch. Don't check CRC32.
9825 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
9826 Allocate statically. Don't check CRC32.
9827 * include/grub/decompressor.h: New file.
9828 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
9829 Removed.
9830 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
9831 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
9832 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
9833 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
9834 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
9835 * util/grub-mkimage.c (grub_compression_t): New type.
9836 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
9837 (image_target_desc): New field default_compression.
9838 (image_targets): Adjust yeeloong targets.
9839 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
9840 (compress_kernel): New parameter comp.
9841 (generate_image): Likewise. Handle new compression case.
9842 (options): New option --compression
9843 (help): Likewise.
9844 (main): Handle new option.
9845
9846 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
9847
9848 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
9849
9850 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
9851
9852 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
9853 typo in __i386__ conditional.
9854
9855 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
9858 include.
9859
9860 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 Implement EFI and ACPI multiboot2 extensions.
9863
9864 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
9865 new tags as supported.
9866 (acpiv2_size): New function.
9867 (grub_multiboot_get_mbi_size): Take new tags into account.
9868 (grub_multiboot_make_mbi): Add new tags.
9869 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
9870
9871 2010-09-21 Aleš Nesrsta <starous@volny.cz>
9872
9873 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
9874 Added missing configuration of USB device.
9875
9876 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9877
9878 * grub-core/normal/menu_entry.c (run): Make sure we always return
9879 a value.
9880
9881 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9882
9883 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
9884 NumberOfPages is UINT64 according to the UEFI specification, not
9885 UINTN. Fix printf format.
9886
9887 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9888
9889 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
9890 `err' to grub_usb_err_t.
9891 Reported and tested by: KESHAV P.R.
9892
9893 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9894
9895 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
9896 tpart non-const, so that we can assign to it. (Since this is a
9897 typedef, the constness refers to the pointer rather than what it
9898 points to.)
9899
9900 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9901
9902 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
9903 $(top_srcdir)/grub-core/gnulib as well as
9904 $(top_builddir)/grub-core/gnulib.
9905 Reported by: KESHAV P.R.
9906
9907 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9908
9909 * util/grub-install.in: Fix the bootloader ID option to be
9910 consistently --bootloader-id, not --bootloader_id.
9911 Reported by: KESHAV P.R.
9912
9913 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9914
9915 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
9916 check hash checksum." consistently translatable.
9917
9918 2010-09-21 Yves Blusseau <blusseau@zetam.org>
9919
9920 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
9921 $(top_builddir).
9922
9923 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9924
9925 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
9926 (GRUB_MOD_INIT): Register sha1sum command.
9927 (GRUB_MOD_FINI): Unregister sha1sum command.
9928
9929 2010-09-21 Yves Blusseau <blusseau@zetam.org>
9930
9931 Keep boot and grub directory names in sync with utils scripts
9932
9933 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
9934 * config.h.in: Add previous macros.
9935 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
9936 * util/grub-install.in: Use $bootdir and $grubdir variables.
9937
9938 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9939
9940 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
9941 convert partition names to disk names if the new `convert' parameter
9942 is set.
9943 (grub_util_biosdisk_get_grub_dev): If opening the disk device
9944 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
9945 disk in its own right. This can happen with Xen disk images.
9946
9947 2010-09-21 Yves Blusseau <blusseau@zetam.org>
9948
9949 * util/grub-editenv.c: Update strings to avoid warnings when generating
9950 grub.pot file.
9951 * util/grub-setup.c: Likewise.
9952
9953 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9954
9955 * configure.ac: Change version to 1.99~beta0.
9956
9957 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9960 Add BADRAM.
9961 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
9962 Likewise.
9963 * include/multiboot.h: Resynced with specification.
9964 * include/multiboot2.h: Likewise.
9965
9966 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
9967
9968 Fix po directory handling.
9969
9970 * configure.ac: Create po/Makefile.in rather than po/Makefile.
9971 * grub-core/gnulib/Makefile.am: Import gettext module.
9972 * m4/gnulib-cache.m4: Likewise.
9973 * m4/gnulib-comp.m4: Likewise.
9974 * m4/gettext.m4: New file, from gnulib.
9975 * m4/glibc2.m4: Likewise.
9976 * m4/iconv.m4: Likewise.
9977 * m4/intdiv0.m4: Likewise.
9978 * m4/intl.m4: Likewise.
9979 * m4/intldir.m4: Likewise.
9980 * m4/intlmacosx.m4: Likewise.
9981 * m4/intmax.m4: Likewise.
9982 * m4/inttypes-pri.m4: Likewise.
9983 * m4/lcmessage.m4: Likewise.
9984 * m4/lib-ld.m4: Likewise.
9985 * m4/lib-link.m4: Likewise.
9986 * m4/lib-prefix.m4: Likewise.
9987 * m4/lock.m4: Likewise.
9988 * m4/nls.m4: Likewise.
9989 * m4/po.m4: Likewise.
9990 * m4/printf-posix.m4: Likewise.
9991 * m4/progtest.m4: Likewise.
9992 * m4/threadlib.m4: Likewise.
9993 * m4/uintmax_t.m4: Likewise.
9994 * m4/visibility.m4: Likewise.
9995 * po/Makefile.am: Remove.
9996 * po/Makefile.in.in: New file, from gettext.
9997 ($(DOMAIN).pot-update): Support POTFILES-shell.
9998 * po/Makevars: New file.
9999 * po/POTFILES-shell: Rename to ...
10000 * po/POTFILES-shell.in: ... this. Update.
10001 * po/POTFILES: Rename to ...
10002 * po/POTFILES.in: ... this. Update.
10003 * po/Rules-quot: New file, from gettext.
10004 * po/boldquot.sed: Likewise.
10005 * po/en@boldquot.header: Likewise.
10006 * po/en@quot.header: Likewise.
10007 * po/insert-header.sin: Likewise.
10008 * po/quot.sed: Likewise.
10009 * po/remove-potcdate.sin: Likewise.
10010
10011 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10012
10013 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
10014
10015 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * util/grub.d/20_linux_xen.in: Use submenus.
10018
10019 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 Support submenus.
10022
10023 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
10024 parameter submenu. All users updated.
10025 * grub-core/normal/main.c (free_menu): Rename to ...
10026 (grub_normal_free_menu): ... this. Made global.
10027 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
10028 if requested.
10029 * grub-core/normal/menu_entry.c (screen): New field submenu.
10030 (make_screen): Set submenu.
10031 (run): Open new context if requested.
10032 * include/grub/menu.h (grub_menu_entry): New field submenu.
10033 * include/grub/normal.h (grub_normal_free_menu): New proto.
10034
10035 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10036
10037 Menu entries extractor.
10038
10039 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
10040 variants.
10041 (GRUB_MOD_INIT): Register new variants.
10042 (GRUB_MOD_FINI): Unregister new variants.
10043 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
10044 into grub_cmd_legacy_source.
10045 (grub_cmd_legacy_source): Implement extractor variants.
10046 (GRUB_MOD_INIT): Register new variants.
10047 (GRUB_MOD_FINI): Unregister new variants.
10048 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
10049 as an extractor.
10050 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
10051 search as an extractor.
10052 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
10053 test as an extractor.
10054 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
10055 as an extractor.
10056 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
10057 (grub_env_new_context): New function.
10058 (grub_env_context_open): Likewise.
10059 (grub_env_extractor_open): Likewise.
10060 (grub_env_extractor_close): Likewise.
10061 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10062 grub_extractor_level.
10063 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
10064 * include/grub/env.h (grub_env_extractor_open): New proto.
10065 (grub_env_extractor_close): Likewise.
10066 * include/grub/normal.h (grub_extractor_level): New external variable.
10067
10068 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10069
10070 Make cutmem accept a region specification.
10071 Suggested by: Samuel Thibault
10072
10073 * grub-core/mmap/mmap.c (parsemem): New function.
10074 (grub_cmd_cutmem): Handle new arguments.
10075
10076 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10077
10078 New command cutmem.
10079
10080 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
10081 (GRUB_MOD_INIT): Register new command.
10082 (GRUB_MOD_FINI): Unregister new command.
10083
10084 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 Support some annoying BSD and Minix subpartitions.
10087
10088 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
10089 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
10090 Properly handle concatenation.
10091 * grub-core/kern/device.c (grub_device_iterate): Likewise.
10092 * grub-core/normal/completion.c (iterate_partition): Likewise.
10093 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
10094 contain partition. All users updated.
10095 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
10096 struct.
10097 (grub_openbsdlabel_partition_map): Likewise.
10098 (bsdlabel_partition_map_iterate): Rename to ..
10099 (iterate_real): ... this. New arguments sector, freebsd and pmap.
10100 (bsdlabel_partition_map_iterate): New function.
10101 (netopenbsdlabel_partition_map_iterate): Likewise.
10102 (netbsdlabel_partition_map_iterate): Likewise.
10103 (openbsdlabel_partition_map_iterate): Likewise.
10104 (GRUB_MOD_INIT): Register new partmaps.
10105 (GRUB_MOD_FINI): Unregister new partmaps.
10106 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
10107 (grub_partition_msdos_iterate): ... this. All users updated.
10108 Don't support embedding other than in a minix partition.
10109 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
10110 proto.
10111 * include/grub/partition.h (grub_partition): New field msdostype.
10112 * util/grub-install.in: Handle openbsd and netbsd types being in
10113 part_bsd module.
10114
10115 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10116
10117 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
10118
10119 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
10120 * grub-core/Makefile.core.def (mdraid): Renamed to ...
10121 (mdraid09): ... this.
10122 (mdraid1x): New module.
10123 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
10124 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
10125
10126 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
10129 vsprintf.
10130
10131 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10132
10133 * grub-core/commands/efi/lsefimmap.c: Correct header.
10134 * NEWS: Update.
10135
10136 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10137
10138 * util/grub-editenv.c (argp_parser): Don't pass translated strings
10139 as printf format strings; the translations might contain '%' which
10140 could cause a crash.
10141 (main): Likewise.
10142 * util/grub-fstest.c (argp_parser): Likewise.
10143 * util/grub-setup.c (argp_parser): Likewise.
10144 (main): Likewise.
10145
10146 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10147
10148 Use argp in grub-fstest.
10149
10150 * util/grub-fstest.c: Don't include getopt.h.
10151 Include argp.h.
10152 (root): New variable.
10153 (args_count): Likewise.
10154 (nparm): Likewise.
10155 (num_disks): Likewise.
10156 (images): Likewise.
10157 (cmd): Likewise.
10158 (debug_str): Likewise.
10159 (args): Likewise.
10160 (options): Transformed to argp.
10161 (usage): Removed.
10162 (main): Split argument parsing into ...
10163 (argp_parser): ... this. Changed to argp format.
10164 (argp): New variable.
10165 (main): Use argp_parse.
10166
10167 2010-09-20 Tristan Gingold <gingold@free.fr>
10168 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
10169 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 * grub-core/commands/efi/lsefimmap.c: New file.
10172 * grub-core/Makefile.core.def (lsefimmap): New module.
10173 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
10174
10175 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10176
10177 Pause the execution (10s max) if any errors are displayed so the user
10178 has a chance to see them.
10179
10180 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
10181 (grub_print_error): Increment grub_err_printed_errors.
10182 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
10183 execution if any errors were displayed.
10184 (show_menu): Remove old code for pause.
10185 * grub-core/normal/menu_entry.c (run): Likewise.
10186 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
10187 users updated.
10188 (grub_normal_get_char_counter): Likewise.
10189 * include/grub/err.h (grub_err_printed_errors): New external variable.
10190 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
10191
10192 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10193
10194 Support multiboot VBE info.
10195
10196 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10197 Take VBE info into account.
10198 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
10199 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10200 Call fill_vbe_info when appropriate.
10201 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
10202 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
10203 as supported.
10204 (grub_multiboot_get_mbi_size): Take new tags into account.
10205 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
10206 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
10207 Call fill_vbe_tag when appropriate.
10208 (grub_multiboot_make_mbi): Properly align tags.
10209 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
10210 function.
10211 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
10212 proto.
10213 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
10214
10215 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10216
10217 Suport manual terminal geometry specification.
10218
10219 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
10220 Save state in grub_ofconsole_terminfo_output.
10221 (grub_ofconsole_term): Use grub_terminfo_getwh.
10222 (grub_ofconsole_getwh): Removed.
10223 * grub-core/term/serial.c (grub_serial_getwh): Removed.
10224 (grub_serial_term): Use grub_terminfo_getwh.
10225 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
10226 (options): New struct.
10227 (OPTION_*): New enum.
10228 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
10229 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
10230 width and height.
10231 (grub_terminfo_getwh): New proto.
10232 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
10233
10234 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10235
10236 Handle legacy "terminal" command.
10237
10238 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
10239 and FLAG_TERMINAL.
10240 (legacy_commands): Add terminal and title.
10241 (grub_legacy_parse): Handle terminal. Simplify title handling.
10242
10243 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10244
10245 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
10246 parameters overflow.
10247
10248 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10249
10250 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
10251 widthspec.h.
10252
10253 * docs/grub.texi (Shell-like scripting): Document `!'.
10254 (Network): Simplify using new i386-pc-pxe format. Mention
10255 grub-mknetdir.
10256
10257 * NEWS: Update.
10258
10259 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10260
10261 * Makefile.am (SUBDIRS): Restore "."; it's important to force
10262 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
10263 when needed.
10264
10265 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10266
10267 * grub-core/commands/efi/lsefisystab.c: Correct header.
10268 * grub-core/commands/efi/lssal.c: Likewise.
10269 * grub-core/commands/testload.c: Likewise.
10270
10271 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10272
10273 * util/grub-mkrescue.in: Add explicit root argument to --set to
10274 prevent the UUID being interpreted as an argument to --set (matches
10275 previous change to prepare_grub_to_access_device).
10276
10277 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
10278
10279 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
10280 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
10281 the verbosity of later #ifs.
10282 (find_partition_start): Define this function on FreeBSD too.
10283 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
10284 function.
10285 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
10286 on FreeBSD.
10287
10288 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10289
10290 * util/grub-editenv.c: Use argp instead of getopt.
10291
10292 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10293
10294 * util/grub-setup.c: Use argp instead of getopt.
10295
10296 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10297
10298 Use gnulib-tool to create gnulib source files.
10299
10300 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
10301 grub-core/gnulib directories
10302 * .bzignore: Add **/.deps and autogenerated gnulib files
10303 * configure.ac: Assign auxiliary directory to build-aux, add invocation
10304 of gnulib macros, add grub-core/gnulib/Makefile
10305 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
10306 include m4 directory to aclocal.
10307 * Makefile.util.def: Remove direct compilation of gnulib source files
10308 and use the new grub-core/gnulib/libgnu.a.
10309 * build-aux/config.rpath: move config.rpath from top directory to
10310 build-aux
10311 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
10312 in gnulib headers
10313 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
10314 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
10315 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
10316 header.
10317 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
10318 string.
10319
10320 2010-09-20 Yves Blusseau <blusseau@zetam.org>
10321
10322 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
10323 grub-core/genmod.sh and grub-core/gensyminfo.sh
10324
10325 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
10326
10327 Add a test for echo command options.
10328
10329 * tests/grub_cmd_echo.in: New test.
10330 * Makefile.util.def: Rules for new test.
10331
10332 2010-09-20 Szymon Janc <szymon@janc.net.pl>
10333
10334 Remove crc.mod and move crc command to hashsum.mod.
10335 Remove lib/crc.c - users updated to use gcrypt implementation.
10336
10337 * grub-core/commands/crc.c: Removed.
10338 * grub-core/Makefile.core.def (crc): Module removed.
10339 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
10340 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
10341 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
10342 * grub-core/lib/crc.c: Removed.
10343 * include/grub/lib/crc.h: Removed.
10344 * Makefile.util.def (crc): Remove lib/crc.c
10345 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
10346 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
10347 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
10348 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
10349 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
10350 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
10351
10352 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
10355
10356 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 Split config.h for util and core.
10359
10360 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
10361 (ADDR32): Likewise.
10362 (DATA32): Likewise.
10363 (BSS_START_SYMBOL): Likewise.
10364 (END_SYMBOL): Likewise.
10365 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
10366 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
10367 * config.h.in: New file.
10368 * configure.ac: Use config-util.h as config define file.
10369 Rename MACHINE into GRUB_MACHINE. All users updated.
10370 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
10371 updated.
10372 (NESTED_FUNC_ATTR): Likewise.
10373 Substitue new variables.
10374 (COND_HAVE_ASM_USCORE): New conditional.
10375 * grub-core/Makefile.am (ASM_PREFIX): New variable.
10376 (kernel_syms.lst): Use ASM_PREFIX.
10377 * grub-core/kern/emu/console.c: Include config-util.h.
10378 * grub-core/kern/emu/misc.c: Likewise.
10379 * grub-core/kern/emu/mm.c: Likewise.
10380 * include/grub/emu/misc.h: Likewise.
10381 * include/grub/libgcc.h: Likewise.
10382
10383 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
10386 constants usage.
10387 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
10388 Fix GRUB_TERM_KEY_* constants usage.
10389 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
10390
10391 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10392
10393 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
10394 print pointer.
10395 * grub-core/bus/usb/uhci.c: Remove empty define.
10396 (grub_uhci_check_transfer): Add missing cast.
10397 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
10398 print pointer.
10399 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
10400 PRIuGRUB_SIZE.
10401 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
10402
10403 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/Makefile.core.def (legacycfg): Add
10406 lib/i386/pc/vesa_modes_table.c on emu.
10407
10408 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10409
10410 Reduce number of temporary files generated by build system.
10411
10412 * grub-core/gencmdlist.sh: Removed.
10413 * grub-core/genfslist.sh: Removed.
10414 * grub-core/genhandlerlist.sh: Removed.
10415 * grub-core/genmodsrc.sh: Removed.
10416 * grub-core/genpartmaplist.sh: Removed.
10417 * grub-core/genparttoollist.sh: Removed.
10418 * grub-core/gentermiinallist.sh: Removed.
10419 * grub-core/genvideolist.sh: Removed.
10420
10421 * grub-core/genmod.sh.in: New file.
10422 * grub-core/gensyminfo.sh.in: New file.
10423
10424 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
10425 * conf/Makefile.extra-dist: Update with new files.
10426 * gentpl.py: Remove rules related to unnecessary temporary files.
10427 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
10428 and und-* files.
10429 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
10430 genmod.sh scripts.
10431 * grub-core/bus/usb/uhci.c: Remove empty #define.
10432 * grub-core/genmoddep.awk: Updated with new syminfo format.
10433 * util/bash-completion.d/Makefile.am: Add config.log to
10434 CLEANFILES.
10435
10436 2010-09-19 Yves Blusseau <blusseau@zetam.org>
10437
10438 * Makefile.util.def: Add forgotten $(LIBINTL) library.
10439
10440 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
10441
10442 * util/grub-mkconfig.in: Check the config script for syntax errors
10443 before saving.
10444
10445 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
10446 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 * Makefile.util.def (grub-install): Use util/grub-install.in on all
10449 platforms.
10450 * util/grub-install.in: Add EFI and IEEE1275 support.
10451 * util/i386/efi/grub-install.in: Removed.
10452 * util/ieee1275/grub-install.in: Likewise.
10453
10454 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
10457 (grub_cmd_cmosclean): Likewise.
10458 (GRUB_MOD_INIT): Register command cmosclean.
10459 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
10460 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
10461
10462 2010-09-18 Carles Pina i Estany <carles@pina.cat>
10463 2010-09-18 Aleš Nesrsta <starous@volny.cz>
10464 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 Add keyboard layouts support.
10467
10468 * Makefile.util.def (grub-mklayout): New file.
10469 (grub-kbdcomp): New script.
10470 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
10471 Add keyboard_layouts.h.
10472 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
10473 commands/boot.c on yeeloong.
10474 (keylayouts): New module.
10475 * grub-core/bus/usb/ohci.c
10476 * grub-core/bus/usb/uhci.c
10477 * grub-core/bus/usb/usbhub.c (rescan): New variable.
10478 (grub_usb_add_hub): Poll interrupt pipe for device handling.
10479 (attach_root_port): Likewise.
10480 (poll_nonroot_hub): Likewise.
10481 (grub_usb_poll_devices): Likewise.
10482 (detach_device): Close transfer.
10483 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
10484 function.
10485 (grub_usb_bulk_setup_readwrite): Likewise.
10486 (grub_usb_bulk_finish_readwrite): Likewise.
10487 * grub-core/commands/keylayouts.c: New file.
10488 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
10489 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
10490 aliases.
10491 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
10492 support scancode 2.
10493 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
10494 * include/grub/keyboard_layouts.h: New file.
10495 * util/grub-mklayout.c: New file.
10496 * util/grub-kbdcomp.in: Likewise.
10497
10498 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 Unify memory types.
10501
10502 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
10503 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
10504 types.
10505 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
10506 (grub_upper_mem): Likewise.
10507 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
10508 * include/grub/memory.h (grub_memory_type_t): New enum.
10509 All users updated.
10510
10511 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * grub-core/Makefile.core.def (lsapm): New module.
10514 * grub-core/commands/i386/pc/lsapm.c: New file.
10515 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
10516 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
10517 Likewise.
10518 * include/grub/i386/pc/apm.h: New file.
10519 * include/multiboot.h (multiboot_apm_info): New struct.
10520
10521 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10522
10523 GRUB-legacy configuration file support.
10524
10525 * Makefile.util.def (grub-menulst2cfg): New util.
10526 * docs/man/grub-menulst2cfg.h2m: New file.
10527 * grub-core/Makefile.core.def (legacycfg): New module.
10528 * grub-core/commands/legacycfg.c: New file.
10529 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
10530 (grub_normal_add_menu_entry): ... this.
10531 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
10532 (grub_normal_set_password): ...this.
10533 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
10534 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
10535 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
10536 * grub-core/lib/legacy_parse.c: New file.
10537 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
10538 * include/grub/i386/pc/vesa_modes_table.h: New file.
10539 * include/grub/legacy_parse.h: Likewise.
10540 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
10541 * util/grub-menulst2cfg.c: New file.
10542
10543 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10544
10545 * grub-core/kern/emu/hostdisk.c
10546 (convert_system_partition_to_system_disk): Initialise node.
10547
10548 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10549
10550 * grub-core/kern/emu/hostdisk.c
10551 (convert_system_partition_to_system_disk): Fix devmapper memory pool
10552 leak.
10553 Reported and based on patch by: Modestas Vainius.
10554
10555 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
10556
10557 Fix DM-RAID probing with recent versions of device-mapper udev
10558 rules.
10559
10560 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
10561 canonicalise device paths under /dev/mapper/.
10562 (convert_system_partition_to_system_disk): Compare the
10563 uncanonicalised path to /dev/mapper/ rather than the canonicalised
10564 path, since device nodes under /dev/mapper/ are often symlinks.
10565
10566 2010-09-17 Yves Blusseau <blusseau@zetam.org>
10567
10568 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
10569
10570 2010-09-16 Yves Blusseau <blusseau@zetam.org>
10571
10572 * configure.ac: Avoid some annoying error messages if freetype-config
10573 program is not found.
10574
10575 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10576
10577 Support RAID on virtio devices, and others.
10578
10579 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
10580 Rename to ...
10581 [__MINGW32__] (grub_find_device): ... this.
10582 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
10583 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
10584 reasonable default if dir is NULL.
10585 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
10586 ...
10587 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
10588 (grub_guess_root_device): Update callers.
10589 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
10590
10591 * util/raid.c (grub_util_getdiskname): Remove.
10592 (grub_util_raid_getmembers): Use grub_find_device rather than
10593 grub_util_getdiskname.
10594
10595 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10596
10597 * docs/grub.texi (serial): Remove obsolete comment about GRUB
10598 needing to be compiled with serial support.
10599 (ls): Indicate that multiple files are accepted.
10600 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
10601 indicate that multiple files are accepted.
10602
10603 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
10604
10605 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
10606 libgrub_a_init.c, and util/bash-completion.d/grub.
10607
10608 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10609
10610 * util/grub-setup.c (setup): Fix incorrect container semantics.
10611
10612 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
10615 misusage.
10616 Reported by: J. Nick Terry
10617
10618 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10619
10620 Move embedding routines to partmap sources files.
10621
10622 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
10623 [GRUB_UTIL]: New variable.
10624 (gpt_partition_map_iterate): Set part.parent.
10625 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
10626 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
10627 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
10628 New function.
10629 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
10630 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
10631 (grub_partition_map) [GRUB_UTIL]: New field embed.
10632 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
10633 (setup): Use ->embed.
10634
10635 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
10638 function.
10639 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
10640 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
10641
10642 2010-09-15 Yves Blusseau <blusseau@zetam.org>
10643
10644 Add function to get completions from usage.
10645
10646 * util/bash-completion.d/grub-completion.bash.in: Add function to get
10647 completions from usage. Use LC_ALL=C to get options properly.
10648
10649 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * grub-core/gnulib/basename-lgpl.c: Imported.
10652 * grub-core/gnulib/basename.c: Likewise.
10653 * grub-core/gnulib/dirname-lgpl.c: Likewise.
10654 * grub-core/gnulib/dirname.c: Likewise.
10655 * grub-core/gnulib/dirname.h: Likewise.
10656 * grub-core/gnulib/stripslash.c: Likewise.
10657
10658 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/gnulib/error.c: Resynced.
10661 * grub-core/gnulib/getopt.c: Likewise.
10662 * grub-core/gnulib/getopt_int.h: Likewise.
10663 * grub-core/gnulib/regex.h: Likewise.
10664 * grub-core/gnulib/regex_internal.c: Likewise.
10665 * grub-core/gnulib/regex_internal.h: Likewise.
10666
10667 2010-09-15 Szymon Janc <szymon@janc.net.pl>
10668
10669 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
10670 CRC calculations and validity checks.
10671 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
10672 calculations.
10673
10674 2010-09-15 Szymon Janc <szymon@janc.net.pl>
10675
10676 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
10677
10678 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 Fix incorrect echo options handling.
10681 Reported by: Yves Blusseau.
10682
10683 * include/grub/command.h (grub_command_flags_t): New flags
10684 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
10685 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
10686 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
10687
10688 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
10691 users updated.
10692 (GRUB_COMMAND_FLAG_MENU): Likewise.
10693 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10694 (GRUB_COMMAND_FLAG_TITLE): Removed.
10695 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10696 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
10697 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
10698 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
10699 (grub_command_flags_t): New enum. All users updated.
10700
10701 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
10702
10703 Fix solaris compilation.
10704
10705 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
10706 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
10707 (grub-emu-list): Likewise.
10708
10709 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 Remove deprecated root command.
10712
10713 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
10714 updated.
10715
10716 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10717
10718 * util/i386/pc/grub-setup.c: Merge this ...
10719 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
10720 * util/grub-setup.c: ... into this.
10721 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
10722 New struct.
10723
10724 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10725
10726 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
10727 possible.
10728
10729 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10730
10731 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
10732 allocate p.
10733
10734 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
10737 explicit root argument to set to prevent UUID to be interpreted as
10738 argument to set.
10739
10740 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
10743
10744 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10745
10746 Don't export grub_gate_a20.
10747
10748 * grub-core/kern/i386/pc/init.c: Remove leftovers.
10749 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
10750 to ...
10751 (grub_gate_a20): ... this. All users updated.
10752 * include/grub/i386/pc/init.h: Removed. All users updated.
10753
10754 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 Create euro.pf2 which supports most European languages.
10757
10758 * Makefile.am (grubdata_DATA): Add euro.pf2.
10759 (euro.pf2): New target.
10760 (CLEANFILES): Add euro.pf2.
10761
10762 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 * configure.ac: Disable emu-usb by default to prevent inadvertent
10765 device takeover.
10766
10767 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Disable usbserial on grub-emu since our libusb code isn't good enough
10770 yet.
10771
10772 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
10773 (usbserial_pl2303): Likewise.
10774 (usbserial_ftdi): Likewise.
10775
10776 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10777
10778 * include/grub/disk.h (grub_disk): Remove has_partitions.
10779 All users updated.
10780 * disk/loopback.c (grub_loopback): Remove has_partitions.
10781 All users updated.
10782 (options): Remove partitions. All users updated.
10783 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
10784 * util/i386/pc/grub-setup.c (setup): copy partition table only when
10785 actual partition table is found.
10786
10787 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10788
10789 Remove readability checks (too many false negatives).
10790
10791 * util/grub-install.in: Remove readability checks.
10792 * util/grub-mkconfig.in: Likewise.
10793 * util/grub.d/10_hurd.in: Likewise.
10794 * util/grub.d/10_kfreebsd.in: Likewise.
10795 * util/grub.d/10_linux.in: Likewise.
10796 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
10797 way.
10798
10799 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 Enable acpi shutdown on all ACPI platforms.
10802
10803 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
10804 on coreboo, multiboot and EFI.
10805 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
10806 (grub_acpi_halt): Likewise.
10807 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
10808 (grub_cmd_halt): Don't call grub_acpi_halt directly.
10809 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
10810 * grub-core/lib/i386/halt.c (grub_halt)
10811 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
10812
10813 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
10816 context.
10817
10818 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * grub-core/video/efi_gop.c: Fix over-80-chars line.
10821 * grub-core/video/efi_uga.c: Likewise.
10822
10823 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10824
10825 Filter devaliases and never open same device twice.
10826
10827 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
10828 (last_ihandle): Likewise.
10829 (ofdisk_hash_ent): New member shortest.
10830 (ofdisk_hash_add): Add canonical path too.
10831 (scan): New function.
10832 (grub_ofdisk_iterate): Iterate over hashed entries.
10833 (compute_dev_path): Don't add :0.
10834 (grub_ofdisk_open): Don't really open the disk.
10835 (grub_ofdisk_close): Avoid closing unrelated disk.
10836 (grub_ofdisk_read): Implement reopen logic.
10837 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
10838 New function.
10839 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
10840 New proto.
10841
10842 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 Fix sparc64.
10845
10846 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
10847 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
10848 right address. Add sparc64_ieee1275_ldflags.
10849 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
10850 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
10851 to grub_host_to_target_addr
10852 (load_image): Likewise.
10853
10854 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10855
10856 * grub-core/normal/completion.c (complete_file): Handle device
10857 containing slash.
10858 Fix based on patch by Doug Nazar.
10859
10860 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10861
10862 grub-mknetdir script.
10863
10864 * Makefile.util.def (grub-mknetdir): New module.
10865 * tests/util/grub-shell.in: Support boot=net
10866 * util/grub-mknetdir.in: New file.
10867
10868 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 videoinfo on non-vbe.
10871
10872 * grub-core/Makefile.core.def (vbeinfo): Removed.
10873 (vbetest): Removed.
10874 (videoinfo): New module.
10875 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
10876 * grub-core/commands/i386/pc/vbetest.c: Removed.
10877 * grub-core/commands/videoinfo.c: New file.
10878 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
10879 specification.
10880 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
10881 as vbetest.
10882 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
10883 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
10884 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
10885 mode_number. New parameter mode. All users updated.
10886 (grub_video_gop_iterate): New function.
10887 (grub_video_efi_gop): New member iterate.
10888 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
10889 (grub_vbe_set_video_mode): Remove setting useless fields.
10890 (vbe2videoinfo): New function.
10891 (grub_video_vbe_iterate): Likewise.
10892 (grub_video_vbe_setup): Use vbe2videoinfo.
10893 (grub_video_vbe_print_adapter_specific_info): New function.
10894 (grub_video_vbe_adapter): New fields iterate and
10895 print_adapter_specific_info.
10896 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
10897 All users updated.
10898 (grub_video_mode_info): New field mode_number.
10899 (grub_video_adapter): New fields iterate and
10900 print_adapter_specific_info.
10901
10902 2010-09-13 Tristan Gingold <gingold@free.fr>
10903 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
10904 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10905
10906 * grub-core/commands/efi/lsefisystab.c: New file.
10907 * grub-core/commands/efi/lssal.c: Likewise.
10908 * grub-core/Makefile.core.def (lsacpi): New module.
10909 (lsefisystab): Likewise.
10910 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
10911 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
10912 (grub_efi_sal_system_table): New struct.
10913 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
10914 (grub_efi_sal_system_table_memory_descriptor): Likewise.
10915 (grub_efi_sal_system_table_platform_features): Likewise.
10916 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
10917 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
10918 (grub_efi_sal_system_table_ap_wakeup): Likewise.
10919 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
10920
10921 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10922
10923 Support explicit user claim that a device is BIOS-visible.
10924
10925 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
10926 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
10927 * grub-core/kern/emu/hostdisk.c
10928 (convert_system_partition_to_system_disk): Support mdX.
10929 (find_system_device): New parameter add. All users updated.
10930 (grub_util_biosdisk_is_present): New function.
10931 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
10932 proto.
10933
10934 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
10935
10936 Search hints support.
10937
10938 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
10939 All users updated.
10940
10941 2010-09-13 Yves Blusseau <blusseau@zetam.org>
10942
10943 Bash completion script for util commands
10944
10945 * Makefile.am: Add util/bash-completion.d directory
10946 * configure.ac: Likewise.
10947 * util/bash-completion.d/Makefile.am: New file.
10948 * util/bash-completion.d/grub-completion.bash.in: Likewise.
10949
10950 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
10953 (print_backlog): set backlog_ucs4 and backlog_glyphs.
10954 Reported by: Yves Blusseau.
10955
10956 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10957
10958 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
10959 partition size and offset.
10960
10961 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
10964
10965 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10966
10967 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
10968
10969 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10970
10971 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
10972 (grub_xvasprintf): Likewise.
10973
10974 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10975
10976 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
10977
10978 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
10981 args ending with NULL.
10982
10983 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
10984
10985 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
10986 pointer.
10987
10988 2010-09-11 Szymon Janc <szymon@janc.net.pl>
10989
10990 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
10991
10992 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
10993
10994 Shutdown using ACPI.
10995
10996 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
10997 * grub-core/commands/acpihalt.c: New file.
10998 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
10999 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
11000 (grub_acpi_halt): New proto.
11001 (GRUB_ACPI_SLP_EN): New const.
11002 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
11003 (GRUB_ACPI_OPCODE_*): New enum.
11004 (GRUB_ACPI_EXTOPCODE_*): Likewise.
11005
11006 2010-09-11 Tristan Gingold <gingold@free.fr>
11007 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
11008 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11009
11010 * commands/lsacpi.c: New file.
11011 * grub-core/Makefile.core.def (lsacpi): New module.
11012 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
11013 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
11014 (grub_acpi_madt_entry_header): New struct.
11015 (grub_acpi_madt): Likewise.
11016 (grub_acpi_madt_entry_interrupt_override): Likewise.
11017 (grub_acpi_madt_entry_sapic): Likewise.
11018 (grub_acpi_madt_entry_lsapic): Likewise.
11019 (grub_acpi_madt_entry_platform_int_source): Likewise.
11020 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
11021 (PRIuGRUB_UINT32_T): Likewise.
11022 (PRIxGRUB_UINT64_T): Likewise.
11023
11024 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11025
11026 Implement loading palette on ieee1275_fb.
11027
11028 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
11029 (have_setcolors): Likewise.
11030 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
11031 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
11032 (grub_video_ieee1275_set_palette): Implement.
11033
11034 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11035 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
11036
11037 * util/grub-install.in (grub_partition): New variable.
11038 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
11039 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
11040 Fixes a bug reported by Yves Blusseau.
11041
11042 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 Fix emu on mipsel.
11045
11046 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
11047 =grub_cpu_flush_cache on all mips and not only yeeloong.
11048 * configure.ac (COND_mips): New conditional.
11049 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
11050 platforms.
11051 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
11052 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
11053 [GRUB_LINKER_HAVE_INIT]: New function.
11054 (grub_emu_post_init): Likewise.
11055 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
11056 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
11057 * include/grub/cache.h (_mips): Include mips/cache.h.
11058 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
11059 LVM and RAID prototypes.
11060 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
11061 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
11062 function.
11063
11064 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11065
11066 * util/grub-install.in: Don't try to verify core.img until after
11067 running grub-mkimage to create it.
11068
11069 2010-09-10 Robert Millan <rmh@gnu.org>
11070
11071 * util/grub.d/10_hurd.in: Add misc readability checks.
11072 * util/grub.d/10_kfreebsd.in: Likewise.
11073 * util/grub.d/10_linux.in: Likewise.
11074
11075 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11076
11077 * util/grub-install.in: ${imgext} won't be defined here until the
11078 install branch is merged. For the meantime, only verify core.img on
11079 i386-pc and sparc64-ieee1275 platforms.
11080
11081 2010-09-10 Robert Millan <rmh@gnu.org>
11082
11083 Solaris support in grub_find_zpool_from_dir(). Thanks
11084 Seth Goldberg for referring to getextmntent() facility.
11085
11086 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
11087 `sys/mkdev.h'.
11088 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
11089 `<sys/mnttab.h>'.
11090 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
11091 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
11092 method for finding zpool name.
11093
11094 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
11095
11096 grub-fstest needs the host and hostfs modules while other utilities
11097 actively require those modules to be absent, so grub-fstest needs
11098 its own initialisation and finalisation code.
11099
11100 * Makefile.am (grub_fstest.pp): New target.
11101 (grub_fstest_init.lst): Likewise.
11102 (grub_fstest_init.c): Likewise.
11103 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
11104
11105 2010-09-10 Robert Millan <rmh@gnu.org>
11106
11107 * configure.ac: Check for `struct statfs.f_fstypename' and
11108 `struct statfs.f_mntfromname'.
11109
11110 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
11111 kFreeBSD-specific code.
11112
11113 2010-09-10 Robert Millan <rmh@gnu.org>
11114
11115 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
11116 on ZFS. Now non-main filesystems are supported as / too.
11117
11118 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
11119
11120 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
11121 and grub-core/disk/host.c to ...
11122 (grub-fstest): ... here. Having the host disk implementation
11123 present confuses grub-probe and other utility programs.
11124
11125 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
11126 when writing to a file, not when writing to stdout.
11127
11128 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
11129
11130 * tests/partmap_test.in: New test for partitions.
11131 * Makefile.util.def: Rules for new test.
11132
11133 2010-09-09 Robert Millan <rmh@gnu.org>
11134
11135 * util/grub-probe.c (probe): Fix a pair of unhandled error
11136 conditions.
11137
11138 2010-09-09 Robert Millan <rmh@gnu.org>
11139
11140 Basic Btrfs support (detection and UUID).
11141
11142 * grub-core/fs/btrfs.c: New file.
11143 * Makefile.util.def (library): Register btrfs.c.
11144 * grub-core/Makefile.core.def: Likewise.
11145
11146 2010-09-08 Robert Millan <rmh@gnu.org>
11147
11148 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
11149 with (optional) parameters to specify device and relative path.
11150 * util/grub-install.in: Use is_path_readable_by_grub() to
11151 verify readability of a few critical files.
11152 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
11153 verify readability of grub.cfg.new.
11154
11155 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 Split minix.mod into minix.mod and minix2.mod.
11158
11159 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
11160 * grub-core/Makefile.core.def (minix2): New module.
11161 * grub-core/fs/minix.c: Use definitions instead of runtime version
11162 checking.
11163 * grub-core/fs/minix2.c: New file.
11164
11165 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11166
11167 Add new --boot-directory option to replace --root-directory
11168
11169 * util/grub-install.in: Add new --boot-directory option
11170 * util/grub-reboot.in: Likewise.
11171 * util/grub-set-default.in: Likewise.
11172
11173 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11174
11175 * util/grub-mkconfig.in: Use new variable.
11176
11177 2010-09-08 Yves Blusseau <blusseau@zetam.org>
11178
11179 * configure.ac: Define some useful variables.
11180
11181 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11184 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
11185 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
11186 Use terminfo and don't use cursor-on/cursor-off unless it's known
11187 to work.
11188 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
11189 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
11190
11191 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
11192
11193 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
11194 starts with "(,", fill the drive containing the loaded image in
11195 between those two characters, but expect that a full partition
11196 specification including partition map names will follow.
11197
11198 2010-09-08 Robert Millan <rmh@gnu.org>
11199
11200 * configure.ac: Remove `--enable-grub-fstest' option.
11201 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
11202
11203 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
11204 `grub-fstest' instead of `grub-probe' for readability verification.
11205 * util/grub-probe.c (probe): Remove readability verification kludge.
11206
11207 2010-09-08 Robert Millan <rmh@gnu.org>
11208
11209 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
11210 initializing `GRUB_FS'.
11211
11212 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
11213
11214 Not command (!) support to GRUB script.
11215
11216 * tests/grub_script_not.in: New test.
11217 * Makefile.util.def: Rules for new test.
11218
11219 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
11220 ! command as a special case.
11221 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
11222
11223 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11224
11225 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
11226 grub_free.
11227
11228 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11229
11230 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
11231
11232 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
11233
11234 * docs/grub.texi (Shell-like scripting): Documentation for break,
11235 continue, shift and return commands.
11236
11237 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 Rename CD-ROM to cd on BIOS.
11240
11241 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
11242 "cd".
11243 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
11244
11245 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11246
11247 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
11248 * util/grub-probe.c (main): Likewise.
11249 * util/i386/pc/grub-setup.c (main): Likewise.
11250 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11251 Reported and debugged by: alexxy
11252
11253 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11254
11255 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
11256 diagnostic info.
11257
11258 2010-09-05 Jo Shields <directhex@apebox.org>
11259
11260 * util/grub.d/30_os-prober.in: Add missing classes.
11261
11262 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11263
11264 * docs/grub.texi (Theme file format): Document new position format.
11265
11266 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11267
11268 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
11269 a table. Use @code instead of @verbatim.
11270
11271 2010-09-05 Colin D Bennett <colin@gibibit.com>
11272
11273 Gfxmenu documentation.
11274
11275 * docs/grub.texi (Theme file format): New chapter.
11276
11277 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11278
11279 * grub-core/Makefile.core.def (xzio): New module.
11280 * grub-core/io/xzio.c: New file.
11281 * grub-core/lib/xzembed/xz.h: New file (from xembed).
11282 * grub-core/lib/xzembed/xz_config.h: Likewise.
11283 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
11284 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
11285 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
11286 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
11287 * grub-core/lib/xzembed/xz_private.h: Likewise.
11288 * grub-core/lib/xzembed/xz_stream.h: Likewise.
11289 * include/grub/file.h (grub_file_filter_id): New compression filter
11290 GRUB_FILE_FILTER_XZIO.
11291
11292 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11293
11294 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
11295 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
11296 size.
11297
11298 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
11301 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
11302
11303 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 Uncompressed checksum support.
11306
11307 * grub-core/commands/hashsum.c (options): Add option --uncompress.
11308 (check_list): New parameter uncompress.
11309 (grub_cmd_hashsum): Handle --uncompress.
11310
11311 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11312
11313 Reintroduce testload.
11314
11315 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
11316 from here ...
11317 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
11318 (GRUB_MOD_INIT): New function.
11319 (GRUB_MOD_FINI): Likewise.
11320 * grub-core/Makefile.core.def (testload): New module.
11321
11322 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11323
11324 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
11325 (uint8_t): New type.
11326 (uint16_t): Likewise.
11327 (uint32_t): Likewise.
11328 (uint64_t): Likewise.
11329
11330 2010-09-05 Szymon Janc <szymon@janc.net.pl>
11331
11332 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
11333
11334 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
11335
11336 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
11337 Made static.
11338 (grub_gzfile_open): Removed. All users updated.
11339 (GRUB_MOD_INIT): New function.
11340 (GRUB_MOD_FINI): Likewise.
11341 * grub-core/kern/file.c (grub_file_filters_all): New variable.
11342 (grub_file_filters_enabled): Likewise.
11343 (grub_file_open): Handle filters.
11344 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
11345 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
11346 * include/grub/file.h (grub_file_filter_id_t): New type.
11347 (grub_file_filter_t): Likewise.
11348 (grub_file_filters_all): New extern variable.
11349 (grub_file_filters_enabled): Likewise.
11350 (grub_file_filter_register): New inline function.
11351 (grub_file_filter_unregister): Likewise.
11352 (grub_file_filter_disable): Likewise.
11353 (grub_file_filter_disable_compression): Likewise.
11354 * include/grub/gzio.h: Removed.
11355
11356 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11357
11358 Filename expansion support for wildcards in GRUB script.
11359
11360 * tests/grub_script_expansion.in: New test.
11361 * Makefile.util.def: Rule for new test.
11362
11363 * grub-core/commands/wildcard.c: New file, implements filename
11364 expansion support for GRUB script.
11365 * grub-core/Makefile.core.def: Rule update for regexp.mod.
11366 * grub-core/script/argv.c: Cosmetic changes.
11367 * grub-core/script/execute.c (grub_script_arglist_to_argv):
11368 Refactored to perform wildcard expansion on arguments.
11369 * include/grub/script_sh.h (grub_script_wildcard_translator): New
11370 struct.
11371
11372 * tests/util/grub-shell.in: Fix quoting for read input.
11373
11374 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11375
11376 Support for updating environment variables with matched substrings
11377 of regexp.
11378
11379 * tests/grub_cmd_regexp.in: New test.
11380 * Makefile.util.def: Rule for new test.
11381
11382 * grub-core/commands/regexp.c: New option -s to update environment
11383 variables with regexp matches.
11384
11385 2010-09-04 Szymon Janc <szymon@janc.net.pl>
11386
11387 * include/grub/file.h (grub_file): New member not_easly_seekable.
11388 (grub_file_seekable): New inline function.
11389 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
11390 easily seekable.
11391 (grub_gzio_open): Set not_easly_seekable.
11392 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
11393 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
11394
11395 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11396
11397 Support for options to appear multiple times on cmdline.
11398
11399 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
11400 * grub-core/commands/extcmd.c: Support for repeatable option.
11401 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
11402 repeatable option support.
11403
11404 Refactor menuentry into a regular command.
11405
11406 * grub-core/commands/menuentry.c: New file, menuentry command
11407 implementation.
11408 * grub-core/Makefile.core.def: Rule update for normal.mod.
11409 * grub-core/normal/main.c: Moved menuentry creation to
11410 grub-core/commands/menuentry.c.
11411 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
11412 (grub_menu_execute_entry_real): Removed.
11413 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
11414 function.
11415 (grub_script_execute_menuentry): Removed.
11416 * grub-core/script/parser.y (menuentry): Removed.
11417 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
11418 * grub-core/script/yylex.l (menuentry): Removed.
11419 * include/grub/menu.h (grub_menu_init): New prototype.
11420 (grub_menu_fini): New prototype.
11421 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
11422 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
11423 (grub_script_execute_sourcecode): New prototype.
11424
11425 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11426
11427 "return" command for GRUB script functions.
11428
11429 * tests/grub_script_return.in: New test.
11430 * Makefile.util.def: Rules for new test.
11431
11432 * grub-core/script/execute.c (grub_script_return): New function.
11433 * grub-core/script/main.c: Register/unregister return commaond.
11434 * include/grub/script_sh.h (grub_script_return): New prototype.
11435
11436 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11437
11438 "setparams" command to update positional parameters.
11439
11440 * tests/grub_script_setparams.in: New test.
11441 * Makefile.util.def: Rules for new test.
11442
11443 * grub-core/script/argv.c (grub_script_argv_make): New function.
11444 * grub-core/script/execute.c (replace_scope): New function.
11445 (grub_script_setparams): New function.
11446 * grub-core/script/lexer.c: Remove unused variables.
11447 * grub-core/script/main.c: Register/unregister setparams command.
11448 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
11449 (grub_script_setparams): New prototype.
11450
11451 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11452
11453 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
11454 grub_free order.
11455
11456 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11457
11458 Support for passing block of commands as an argument to extcmds.
11459
11460 * Makefile.util.def: Rules for new test.
11461 * tests/grub_script_blockarg.in: New test.
11462 * grub-core/tests/test_blockarg.c: New file, block argument
11463 command used in the test.
11464
11465 * include/grub/extcmd.h (grub_extcmd_context): New struct.
11466 (grub_register_extcmd_prio): New function prototype.
11467 (grub_extcmd_dispatcher): New function prototype.
11468 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
11469 type.
11470 * include/grub/script_sh.h (struct grub_script): New members
11471 `children', `next_siblings' and `refcnt' for block arguments and
11472 reference counting.
11473 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
11474 (grub_script_arg): New member `script' for block argument.
11475 (grub_script_argv): New member `script' for block argument.
11476 (grub_parser_param): New member `scripts' for block argument.
11477 (grub_script_mem_free): New extern function prototype.
11478 (grub_script_ref): New function prototype.
11479 (grub_script_unref): New function prototype.
11480
11481 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
11482 extcmd form to support block arguments.
11483 * grub-core/script/argv.c: Block arguments support.
11484 * grub-core/script/execute.c: Likewise.
11485 * grub-core/script/lexer.c: Likewise.
11486 * grub-core/script/main.c: Likewise.
11487 * grub-core/script/script.c: Likewise.
11488 * grub-core/script/parser.y: Likewise. New `block' and `block0'
11489 non-terminals.
11490
11491 * grub-core/commands/acpi.c: Update extcmd implementations with
11492 grub_extcmd_context_t.
11493 * grub-core/commands/cat.c: Likewise.
11494 * grub-core/commands/echo.c: Likewise.
11495 * grub-core/commands/extcmd.c: Likewise.
11496 * grub-core/commands/hashsum.c: Likewise.
11497 * grub-core/commands/hdparm.c: Likewise.
11498 * grub-core/commands/help.c: Likewise.
11499 * grub-core/commands/hexdump.c: Likewise.
11500 * grub-core/commands/i386/cpuid.c: Likewise.
11501 * grub-core/commands/i386/pc/drivemap.c: Likewise.
11502 * grub-core/commands/i386/pc/halt.c: Likewise.
11503 * grub-core/commands/i386/pc/sendkey.c: Likewise.
11504 * grub-core/commands/iorw.c: Likewise.
11505 * grub-core/commands/keystatus.c: Likewise.
11506 * grub-core/commands/loadenv.c: Likewise.
11507 * grub-core/commands/ls.c: Likewise.
11508 * grub-core/commands/lspci.c: Likewise.
11509 * grub-core/commands/memrw.c: Likewise.
11510 * grub-core/commands/probe.c: Likewise.
11511 * grub-core/commands/search_wrap.c: Likewise.
11512 * grub-core/commands/setpci.c: Likewise.
11513 * grub-core/commands/sleep.c: Likewise.
11514 * grub-core/disk/loopback.c: Likewise.
11515 * grub-core/hello/hello.c: Likewise.
11516 * grub-core/loader/i386/bsd.c: Likewise.
11517 * grub-core/loader/xnu.c: Likewise.
11518 * grub-core/term/gfxterm.c: Likewise.
11519 * grub-core/term/serial.c: Likewise.
11520 * grub-core/tests/lib/functional_test.c: Likewise.
11521
11522 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
11523
11524 Multi-line quoted strings support.
11525
11526 * grub-core/script/lexer.c (append_newline): Removed.
11527 (grub_script_lexer_yywrap): Refactored.
11528 (grub_script_lexer_init): Refactored.
11529 * grub-core/script/yylex.l (yywrap): New function.
11530 (grub_lexer_resplit): New function.
11531 (grub_lexer_unput): New function.
11532 * include/grub/script_sh.h (grub_lexer_param): New members, unput
11533 and resplit.
11534 * tests/grub_script_echo1.in: Added few more testcases.
11535
11536 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
11537
11538 * grub-core/kern/misc.c: Don't add abort alias in utils.
11539 Reported by: echoline.
11540
11541 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
11542
11543 Add missing files into "make dist" tarball for other platforms.
11544
11545 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
11546 * conf/Makefile.common (dist_noinst_DATA): New variable.
11547 * conf/Makefile.extra-dist: Added missing make dist files.
11548 * grub-core/Makefile.core.def: Likewise.
11549
11550 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11551
11552 Compress grub_prefix.
11553
11554 * grub-core/boot/i386/pc/lnxboot.S: Use
11555 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
11556 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
11557 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
11558 GRUB_MACHINE_PREFIX_END. All users updated.
11559 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
11560 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
11561 + 0x40.
11562 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
11563 * util/grub-mkimage.c (image_target_desc): Change data_end to
11564 prefix_end. All users updated.
11565
11566 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
11569 value.
11570 (grub_openbsd_boot): Likewise.
11571 (grub_netbsd_boot): Likewise.
11572 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
11573 (grub_xnu_boot): Likewise.
11574
11575 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 * configure.ac: Clean LIBS variable after tests.
11578
11579 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11580
11581 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
11582
11583 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11584
11585 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
11586 echo if libdevmapper will be used.
11587
11588 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
11589
11590 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
11591 constant for the same file.
11592
11593 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11594
11595 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
11596
11597 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11598
11599 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
11600 grub-core/*.pp.
11601
11602 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
11603
11604 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
11605 required by the boot protocol.
11606
11607 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
11608 ebp and edi members.
11609 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
11610 state.ebp and state.edi.
11611 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
11612 %ebp and %edi according to grub_relocator32_ebp and
11613 grub_relocator32_edi respectively.
11614 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
11615 and state.edi.
11616
11617 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 Add i386-pc-pxe image target.
11620
11621 * util/grub-mkimage.c (image_target_desc): New enum value
11622 IMAGE_I386_PC_PXE.
11623 (image_targets): New target i386-pc-pxe.
11624 (generate_image): Handle i386-pc-pxe image.
11625
11626 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
11627
11628 Fix grub_pxe_scan.
11629
11630 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
11631 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
11632 All users updated.
11633 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
11634 (grub_pxe_pxenv): Correct type.
11635
11636 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11637
11638 * NEWS: Document most of the important changes since 1.98.
11639
11640 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11641
11642 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
11643 generated manual page) a little.
11644
11645 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
11646
11647 * docs/grub.texi: Add myself as an author.
11648
11649 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
11650
11651 * Makefile.util.def (libgrub.a): Add missing sunpc.
11652 Reported by: Seth Goldberg.
11653
11654 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11655
11656 Interrupt wrapping and code simplifications.
11657
11658 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
11659 x86_noieee1275 which are functionaly equivalent in this case.
11660 (grub-install): Make source on each platform explicit. Enable on
11661 all noemu.
11662 * gentpl.py (x86_efi_pc): Removed group.
11663 (x86_noefi): Likewise.
11664 (i386_noefi): Likewise.
11665 (x86_noieee1275): Likewise.
11666 (i386_noieee1275): Likewise.
11667 (i386_noefi_noieee1275): Likewise.
11668 (i386_pc_qemu_coreboot): Likewise.
11669 (i386_coreboot_multiboot): Likewise.
11670 (i386_pc_coreboot_multiboot_qemu): Likewise.
11671 (x86_noefi_mips): Likewise.
11672 (noieee1275): Likewise.
11673 (ieee1275_mips): Likewise.
11674 (noemu_noieee1275): Likewise.
11675 (cmos): New group.
11676 (usb): Likewise.
11677 (videoinkernel): Likewise.
11678 (videomodules): Likewise.
11679 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
11680 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
11681 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
11682 include/grub/loader.h, include/grub/msdos_partition.h,
11683 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
11684 include/grub/machine/console.h, include/grub/machine/vga.h,
11685 include/grub/machine/vbe.h, include/grub/machine/init.h,
11686 include/grub/machine/kernel.h, include/grub/cpu/time.h,
11687 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
11688 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
11689 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
11690 * grub-core/Makefile.core.def (kernel): Explicit the source for
11691 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
11692 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
11693 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
11694 Use videoinkernel tag.
11695 (usb): Enable on all usb.
11696 (usbserial_common): Likewise.
11697 (usbserial_pl2303): Likewise.
11698 (usbserial_ftdi): Likewise.
11699 (uhci): Enable on all x86.
11700 (ohci): Enable on all pci.
11701 (cmostest): Enable on all CMOS.
11702 (acpi): Include commands/acpi.c on all platforms.
11703 (halt): Add relevant lib/*/halt.c.
11704 (hdparm): Enable on all pci.
11705 (lspci): Likewise.
11706 (usbtest): Enable on all usb.
11707 (ata): Enable on all pci.
11708 (ata_pthru): Likewise.
11709 (usbms): Enable on all usb.
11710 (usb_keyboard): Likewise.
11711 (font): Use tag videomodules.
11712 (bufio): Likewise.
11713 (datetime): Use tag cmos. Enable on all noemu.
11714 (mmap): Use tags common and x86.
11715 (gfxterm): Use tag videomodules.
11716 (bitmap): Likewise.
11717 (bitmap_scale): Likewise.
11718 (video_fb): Likewise.
11719 (video): Likewise.
11720 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
11721 adjust padding accordingly. All users updated.
11722 (grub_ohci_transaction): Fix bad format specification.
11723 (GRUB_MOD_INIT): Add asserts for struct size.
11724 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
11725 (grub_alloc_td): Likewise.
11726 (grub_free_queue): Likewise.
11727 (grub_uhci_transfer): Likewise.
11728 (grub_uhci_transaction): Fix bad format specification.
11729 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11730 (grub_usb_bulk_readwrite): Likewise.
11731 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
11732 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
11733 Made static.
11734 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
11735 Made static.
11736 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
11737 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
11738 Transformed into C.
11739 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
11740 Moved from here ...
11741 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
11742 ... here. Transformed into C. Made static.
11743 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
11744 Moved from here ...
11745 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
11746 ... here. Transformed into C. Made static.
11747 * grub-core/kern/i386/pc/startup.S
11748 (grub_biosdisk_check_int13_extensions): Moved from here ...
11749 * grub-core/disk/i386/pc/biosdisk.c
11750 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
11751 Made static.
11752 * grub-core/kern/i386/pc/startup.S
11753 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
11754 * grub-core/disk/i386/pc/biosdisk.c
11755 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
11756 Transformed into C. Made static.
11757 * grub-core/kern/i386/pc/startup.S
11758 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
11759 * grub-core/disk/i386/pc/biosdisk.c
11760 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
11761 Transformed into C. Made static.
11762 * grub-core/kern/i386/pc/startup.S
11763 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
11764 * grub-core/disk/i386/pc/biosdisk.c
11765 (grub_biosdisk_get_diskinfo_standard): ... here.
11766 Transformed into C. Made static.
11767 * grub-core/kern/i386/pc/startup.S
11768 (grub_biosdisk_get_num_floppies): Moved from here ...
11769 * grub-core/disk/i386/pc/biosdisk.c
11770 (grub_biosdisk_get_num_floppies): ... here.
11771 Transformed into C. Made static.
11772 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
11773 New function.
11774 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
11775 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
11776 Transformed into C. Made static.
11777 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
11778 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
11779 Transformed into C. Made static.
11780 * grub-core/kern/i386/ieee1275/init.c: Removed.
11781 * grub-core/kern/i386/misc.S: Likewise.
11782 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
11783 Splitted from here ...
11784 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
11785 Transformed into C. Made static. All users updated.
11786 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
11787 Transformed into C. Made static. All users updated.
11788 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
11789 Moved from here...
11790 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
11791 Transformed into C. Made static. All users updated.
11792 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
11793 Moved from here...
11794 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
11795 Transformed into C. Made static. All users updated.
11796 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
11797 Removed (replaced by C version).
11798 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
11799 Moved from here...
11800 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
11801 Transformed into C. Made static.
11802 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
11803 Moved from here...
11804 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
11805 ... here. Transformed into C.
11806 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
11807 Moved from here...
11808 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
11809 ... here. Transformed into C.
11810 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
11811 Moved from here...
11812 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
11813 ... here. Transformed into C. Made static.
11814 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
11815 Moved from here...
11816 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
11817 ... here. Transformed into C.
11818 * grub-core/kern/i386/pc/startup.S
11819 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
11820 * grub-core/video/i386/pc/vbe.c
11821 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
11822 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
11823 Moved from here...
11824 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
11825 ... here. Transformed into C.
11826 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
11827 Moved from here...
11828 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
11829 ... here. Transformed into C.
11830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
11831 Moved from here...
11832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
11833 ... here. Transformed into C.
11834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
11835 Moved from here...
11836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
11837 ... here. Transformed into C.
11838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
11839 Moved from here...
11840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
11841 ... here. Transformed into C. Made static.
11842 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
11843 Moved from here...
11844 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
11845 ... here. Transformed into C. Made static.
11846 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
11847 Moved from here...
11848 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
11849 ... here. Transformed into C. Made static.
11850 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
11851 pxe_rm_entry as third argument.
11852 (grub_bios_interrupt): New function.
11853 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
11854 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
11855 of calling grub_stop.
11856 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
11857 * grub-core/lib/efi/halt.c (grub_halt): ...here.
11858 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
11859 * grub-core/lib/emu/halt.c (grub_halt): ... here.
11860 * grub-core/lib/i386/halt.c: Moved from here ...
11861 * grub-core/lib/i386/halt.c: ... here.
11862 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
11863 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
11864 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
11865 grub_stop_floppy.
11866 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
11867 * include/grub/i386/coreboot/init.h: Removed.
11868 * include/grub/i386/multiboot/init.h: Likewise.
11869 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
11870 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
11871 * include/grub/i386/pc/int.h: New file.
11872 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
11873 (grub_pxe_scan): Removed.
11874 (grub_pxe_call): Update prototype.
11875 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
11876 prototypes.
11877 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
11878 * include/grub/i386/qemu/init.h: Removed.
11879 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
11880 noreturn.
11881 (grub_halt): Likewise.
11882 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
11883 (grub_reboot): Likewise.
11884 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
11885 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
11886 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
11887
11888 2010-08-30 Robert Millan <rmh@gnu.org>
11889
11890 * NEWS: Document addition of ZFS support in `grub-install' and
11891 `grub-mkconfig'.
11892
11893 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
11894
11895 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
11896 dprintf output.
11897
11898 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 Remove leftover embedding of font objects.
11901
11902 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11903 * util/grub-install.in (font): Removed.
11904 * util/grub-mkimage.c (generate_image): Remove font support. All users
11905 updated.
11906
11907 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 Remove leftover embedding of font objects.
11910
11911 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
11912 * util/grub-install.in (font): Removed.
11913 * util/grub-mkimage.c (generate_image): Remove font support. All users
11914 updated.
11915
11916 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * docs/grub.texi (Network): Fix reference to pxe_blksize.
11919 Reported by: Ian Turner
11920
11921 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11922
11923 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
11924 timeout to avoid indefinite boot stalling.
11925
11926 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11927
11928 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
11929 (grub_env_write_color_highlight): Likewise.
11930
11931 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11932
11933 * grub-core/normal/term.c (print_more): Return to normal and not
11934 to standard state after printing "---MORE---".
11935
11936 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
11937
11938 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
11939 Mask out the bit 0x80 since it has other meaning that specifiing color.
11940
11941 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11942
11943 New relocator. Allows for more kernel support and more straightforward
11944 loader writing.
11945
11946 * Makefile.am (BOOTTARGET): New variable.
11947 (QEMU32): Likewise.
11948 (linux.init.x86_64): New target.
11949 (linux.init.i386): Likewise.
11950 (multiboot.elf): Likewise.
11951 (kfreebsd.elf): Likewise.
11952 (kfreebsd.aout): Likewise.
11953 (pc-chainloader.elf): Likewise.
11954 (pc-chainloader.bin): Likewise.
11955 (ntldr.elf): Likewise.
11956 (ntldr.bin): Likewise.
11957 (multiboot2.elf): Likewise.
11958 (kfreebsd.init.x86_64): Likewise.
11959 (kfreebsd.init.i386): Likewise.
11960 (knetbsd.init.i386): Likewise.
11961 (kopenbsd.init.i386): Likewise.
11962 (knetbsd.init.x86_64): Likewise.
11963 (kopenbsd.init.x86_64): Likewise.
11964 (linux-initramfs.i386): Likewise.
11965 (linux-initramfs.x86_64): Likewise.
11966 (kfreebsd-mfsroot.i386.img): Likewise.
11967 (knetbsd.image.i386): Likewise.
11968 (kopenbsd.image.i386): Likewise.
11969 (kopenbsd.image.x86_64): Likewise.
11970 (knetbsd.miniroot-image.i386.img): Likewise.
11971 (kfreebsd-mfsroot.x86_64.img): Likewise.
11972 (knetbsd.image.x86_64): Likewise.
11973 (knetbsd.miniroot-image.x86_64.img): Likewise.
11974 (kfreebsd-mfsroot.i386.gz): Likewise.
11975 (bootcheck-kfreebsd-i386): Likewise.
11976 (kfreebsd-mfsroot.x86_64.gz): Likewise.
11977 (bootcheck-kfreebsd-x86_64): Likewise.
11978 (knetbsd.miniroot-image.i386.gz): Likewise.
11979 (bootcheck-knetbsd-i386): Likewise.
11980 (bootcheck-kopenbsd-i386): Likewise.
11981 (bootcheck-kopenbsd-x86_64): Likewise.
11982 (knetbsd.miniroot-image.x86_64.gz): Likewise.
11983 (bootcheck-knetbsd-x86_64): Likewise.
11984 (bootcheck-linux-i386): Likewise.
11985 (bootcheck-linux-x86_64): Likewise.
11986 (bootcheck-linux16-i386): Likewise.
11987 (bootcheck-linux16-x86_64): Likewise.
11988 (bootcheck-multiboot): Likewise.
11989 (bootcheck-multiboot2): Likewise.
11990 (bootcheck-kfreebsd-aout): Likewise.
11991 (bootcheck-pc-chainloader): Likewise.
11992 (bootcheck-ntldr): Likewise.
11993 (CLEANFILES): Add new targets.
11994 (BOOTCHECKS): New variable.
11995 (.PHONY): Add bootchecks.
11996 (SUCCESSFUL_BOOT_STRING): New variable.
11997 (BOOTCHECK_TIMEOUT): Likewise.
11998 (bootcheck): New target
11999 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
12000 * configure.ac: Correct efiemu excuse.
12001 * docs/grub.texi (Supported kernels): New chapter.
12002 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
12003 include/grub/mm_private.h. Simplify inclusion of
12004 include/grub/boot.h, include/grub/loader.h
12005 and include/grub/msdos_partition.h
12006 (KERNEL_HEADER_FILES) [i386_coreboot]:
12007 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
12008 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
12009 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
12010 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
12011 include/grub/machine/loader.h.
12012 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
12013 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
12014 extra_dist.
12015 (pci.mod): Enable on i386-multiboot.
12016 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
12017 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
12018 i386-qemu.
12019 (relocator.mod): Rewritten.
12020 (aout.mod): Enable on all x86.
12021 (bsd.mod): Likewise.
12022 (ntldr.mod): New module.
12023 (linux.mod): Use loader/i386/linux.c on all x86.
12024 (xnu.mod): Enable on all x86.
12025 (vga_text.mod): disable on EFI and QEMU.
12026 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
12027 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
12028 * grub-core/efiemu/loadcore.c: Likewise.
12029 * grub-core/efiemu/main.c: Likewise.
12030 (grub_efiemu_exit_boot_services): Removed.
12031 (grub_efiemu_finish_boot_services): Likewise.
12032 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
12033 function.
12034 * grub-core/efiemu/i386/nocfgtables.c: New file.
12035 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
12036 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
12037 (grub_efi_finish_boot_services): Moved from here ...
12038 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
12039 Fille finish memory map and related data.
12040 (finish_mmap_buf): New variable.
12041 (grub_efi_uintn_t finish_mmap_size): Likewise.
12042 (grub_efi_uintn_t finish_key): Likewise.
12043 (grub_efi_uintn_t finish_desc_size): Likewise.
12044 (grub_efi_uint32_t finish_desc_version): Likewise.
12045 (grub_efi_is_finished): Likewise.
12046 (grub_efi_get_memory_map): Use saved memory map if EFI is already
12047 finished.
12048 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
12049 (grub_elf64_phdr_iterate): Likewise.
12050 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
12051 (grub_os_area_size): Likewise.
12052 (grub_machine_init): Don't reserve os area.
12053 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
12054 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
12055 * grub-core/kern/i386/loader.S: Removed.
12056 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
12057 (grub_os_area_size): Likewise.
12058 (grub_machine_init): Don't reserve os area.
12059 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
12060 Don't call grub_dl_unload_all.
12061 Don't include loader.S.
12062 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
12063 Declare the memory after _end as available.
12064 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
12065 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
12066 (GRUB_MM_ALLOC_MAGIC): Moved from here...
12067 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
12068 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
12069 * include/grub/mm_private.h (grub_mm_header): ... here.
12070 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
12071 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
12072 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
12073 (grub_mm_region): ..here. Removed addr. Added pre_size.
12074 All users updated.
12075 * grub-core/kern/mm.c (base): Renamed to ...
12076 (grub_mm_base): ... this. Made global.
12077 (grub_real_malloc): Alloc from end of region.
12078 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
12079 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
12080 * grub-core/kern/powerpc/cache_flush.S: ... here.
12081 * grub-core/lib/efi/relocator.c: New file.
12082 * grub-core/lib/i386/relocator.c: Rewritten.
12083 * grub-core/lib/i386/relocator16.S: New file.
12084 * grub-core/lib/i386/relocator32.S: Likewise.
12085 * grub-core/lib/i386/relocator64.S: Likewise.
12086 * grub-core/lib/i386/relocator_asm.S: Rewritten.
12087 * grub-core/lib/i386/relocator_common.S: New file.
12088 * grub-core/lib/ieee1275/relocator.c: Likewise.
12089 * grub-core/lib/mips/relocator.c: Rewritten.
12090 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
12091 stylistic adjustments.
12092 * grub-core/lib/powerpc/relocator.c: New file.
12093 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
12094 * grub-core/lib/relocator.c: Rewritten.
12095 * grub-core/lib/x86_64/relocator_asm.S: New file.
12096 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
12097 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
12098 (bsd_tag): New struct.
12099 (tags): New variable.
12100 (tags_last): Likewise.
12101 (netbsd_module): New struct.
12102 (netbsd_mods): New variable.
12103 (netbsd_mods_last): Likewise.
12104 (openbsd_opts): New parameter "serial".
12105 (OPENBSD_SERIAL_ARG): New definition.
12106 (netbsd_opts): New parameter "serial".
12107 (NETBSD_SERIAL_ARG): New definition.
12108 (grub_freebsd_add_meta): Reorganised into ...
12109 (grub_bsd_add_meta): ...this. All users updated.
12110 (grub_freebsd_add_mmap): Reorganised into ...
12111 (generate_e820_mmap): ...this...
12112 (grub_bsd_add_mmap): ...and this. All users updated.
12113 (grub_freebsd_list_modules): Use tags.
12114 (grub_netbsd_add_meta_module): New function.
12115 (grub_netbsd_list_modules): Likewise.
12116 (grub_freebsd_boot): Use relocator and finish EFI.
12117 (grub_openbsd_boot): Likewise.
12118 (grub_netbsd_setup_video): New function.
12119 (grub_netbsd_add_modules): Likewise.
12120 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
12121 and finish EFI.
12122 (grub_bsd_unload): Unload tags.
12123 (grub_bsd_load_aout): Use relocator.
12124 (grub_bsd_elf32_size_hook): New function.
12125 (grub_bsd_elf32_hook): Use relocator.
12126 (grub_bsd_elf64_size_hook): New function.
12127 (grub_bsd_elf64_hook): Use relocator.
12128 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
12129 (grub_bsd_load): Zero-out openbsd_ramdisk.
12130 (grub_bsd_load): Use relocator.
12131 (grub_cmd_openbsd): Support serial.
12132 (grub_cmd_netbsd): Support modules.
12133 (grub_cmd_freebsd_module): Use relocator.
12134 (grub_netbsd_module_load): New function.
12135 (grub_cmd_netbsd_module): Likewise.
12136 (grub_cmd_openbsd_ramdisk): Likewise.
12137 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
12138 kopenbsd_ramdisk.
12139 (GRUB_MOD_FINI): Unregister new commands.
12140 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
12141 (grub_freebsd_load_elfmodule_obj): Use relocator.
12142 (grub_freebsd_load_elfmodule): Likewise.
12143 (grub_freebsd_load_elf_meta): Likewise.
12144 (grub_netbsd_load_elf_meta): New function.
12145 (grub_openbsd_find_ramdisk): Likewise.
12146 * grub-core/loader/i386/bsd_helper.S: Removed.
12147 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
12148 * grub-core/loader/i386/bsd_trampoline.S: Removed.
12149 * grub-core/loader/i386/efi/linux.c: Likewise.
12150 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
12151 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
12152 (DEFAULT_VIDEO_MODE): Likewise.
12153 (real_mode_target): New variable.
12154 (prot_mode_target): Likewise.
12155 (initrd_mem_target): Likewise.
12156 (relocator): Likewise.
12157 (efi_mmap_buf): Likewise.
12158 (efi_mmap_size): Likewise.
12159 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
12160 (free_pages): Use relocator.
12161 (allocate_pages): Account for efi_mmap and use relocator. Return error.
12162 (grub_linux_setup_video): Return error.
12163 (grub_linux_trampoline_start): Removed.
12164 (grub_linux_trampoline_end): Likewise.
12165 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
12166 andd video parameters depending on firmware.
12167 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
12168 [GRUB_MACHINE_EFI]: Pass EFI parameters.
12169 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
12170 (grub_cmd_initrd): Use relocator.
12171 * grub-core/loader/i386/linux_trampoline.S: Removed.
12172 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
12173 (elf_sec_entsize): Likewise.
12174 (elf_sec_shstrndx): Likewise.
12175 (elf_sections): Likewise.
12176 (grub_multiboot_load): Use relocator.
12177 (grub_multiboot_get_mbi_size): Account for sections.
12178 (grub_multiboot_make_mbi): Use relocator and support sections.
12179 (grub_multiboot_add_elfsyms): New function.
12180 (grub_multiboot_free_mbi): Free sections.
12181 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
12182 (grub_linux_real_target): Likewise.
12183 (grub_linux_real_chunk): Likewise.
12184 (grub_linux16_prot_size): Likewise.
12185 (grub_linux16_boot): Use relocator.
12186 (grub_linux_unload): Unload relocator.
12187 (grub_cmd_linux): Use relocator.
12188 (grub_cmd_initrd): Likewise.
12189 * grub-core/loader/i386/pc/ntldr.c: New file.
12190 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
12191 Don't try to guess CPU frequency.
12192 (grub_xnu_set_video): Stretch bitmap.
12193 (grub_xnu_boot): Use relocator.
12194 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
12195 (grub_linux_unload): Free relocator.
12196 (grub_linux_load32): Use relocator.
12197 (grub_linux_load64): Likewise.
12198 (grub_cmd_initrd): Likewise.
12199 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
12200 (grub_multiboot_unload): Unload relocator.
12201 (grub_cmd_multiboot): Use relocator.
12202 (grub_cmd_module): Likewise.
12203 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
12204 Use relocator and support sections.
12205 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
12206 (elf_sec_entsize): Likewise.
12207 (elf_sec_shstrndx): Likewise.
12208 (elf_sections): Likewise.
12209 (grub_multiboot_load): Use relocator.
12210 (grub_multiboot_get_mbi_size): Account for sections.
12211 (grub_multiboot_make_mbi): Use relocator and support sections.
12212 (grub_multiboot_add_elfsyms): New function.
12213 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
12214 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
12215 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
12216 Prototype changed. All users updated.
12217 (grub_xnu_align_heap): Simplified.
12218 (grub_xnu_writetree_toheap): Likewise.
12219 (grub_xnu_unload): Unload relocator.
12220 (grub_cmd_xnu_kernel): Use relocator.
12221 (grub_cmd_xnu_kernel64): Likewise.
12222 (grub_xnu_register_memory): Simplified.
12223 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
12224 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
12225 EFI is finished.
12226 (grub_console_checkkey): Likewise.
12227 (grub_console_getkey): Likewise.
12228 (grub_console_getwh): Likewise.
12229 (grub_console_getxy): Likewise.
12230 (grub_console_gotoxy): Likewise.
12231 (grub_console_cls): Likewise.
12232 (grub_console_setcolorstate): Likewise.
12233 (grub_console_setcursor): Likewise.
12234 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
12235 * grub-core/tests/boot/kbsd.init-i386.S: New file.
12236 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
12237 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
12238 * grub-core/tests/boot/kernel-8086.S: Likewise.
12239 * grub-core/tests/boot/kernel-i386.S: Likewise.
12240 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
12241 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
12242 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
12243 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
12244 * grub-core/tests/boot/knetbsd.cfg: Likewise.
12245 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
12246 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
12247 * grub-core/tests/boot/linux.cfg: Likewise.
12248 * grub-core/tests/boot/linux.init-i386.S: Likewise.
12249 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
12250 * grub-core/tests/boot/linux16.cfg: Likewise.
12251 * grub-core/tests/boot/multiboot.cfg: Likewise.
12252 * grub-core/tests/boot/multiboot2.cfg: Likewise.
12253 * grub-core/tests/boot/ntldr.cfg: Likewise.
12254 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
12255 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
12256 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
12257 New definition.
12258 * include/grub/dl.h (grub_dl_unload_all): Removed.
12259 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
12260 (grub_efi_finish_boot_services): Change prototype.
12261 (grub_efi_is_finished): New variable.
12262 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
12263 Changed prototype.
12264 (grub_efiemu_finish_boot_services): Removed.
12265 (grub_machine_efiemu_init_tables): New prototype.
12266 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
12267 (grub_elf64_phdr_iterate): Likewise.
12268 * include/grub/i386/bsd.h: Include relocator.h.
12269 (freebsd_tag_header): New struct.
12270 (grub_openbsd_bios_mmap): Removed.
12271 (grub_unix_real_boot): Removed.
12272 (grub_freebsd_load_elfmodule32): Changed prototype.
12273 (grub_freebsd_load_elfmodule_obj64): Likewise.
12274 (grub_freebsd_load_elf_meta32): Likewise.
12275 (grub_freebsd_load_elf_meta64): Likewise.
12276 (grub_freebsd_add_meta): Removed.
12277 (grub_netbsd_load_elf_meta32): New prototype.
12278 (grub_netbsd_load_elf_meta64): Likewise.
12279 (grub_bsd_add_meta): Likewise.
12280 (grub_openbsd_ramdisk_descriptor): New struct.
12281 (grub_openbsd_find_ramdisk32): New prototype.
12282 (grub_openbsd_find_ramdisk64): Likewise.
12283 * include/grub/i386/coreboot/loader.h: Removed.
12284 * include/grub/i386/efi/loader.h: Likewise.
12285 * include/grub/i386/ieee1275/loader.h: Likewise.
12286 * include/grub/i386/linux.h (linux_kernel_header): Change void *
12287 to grub_uint32_t.
12288 * include/grub/i386/loader.h: Removed.
12289 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
12290 value.
12291 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
12292 (grub_phys_addr_t): New type.
12293 (grub_vtop): New inline function.
12294 (grub_map_memory): Likewise.
12295 (grub_unmap_memory): Likewise.
12296 * include/grub/i386/multiboot/loader.h: Removed.
12297 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
12298 (NETBSD_BTINFO_CONSOLE): New definition.
12299 (NETBSD_BTINFO_SYMTAB): Likewise.
12300 (NETBSD_BTINFO_MODULES): Likewise.
12301 (NETBSD_BTINFO_FRAMEBUF): Likewise.
12302 (grub_netbsd_bootinfo): New struct.
12303 (grub_netbsd_btinfo_common): Use explicit bitsize.
12304 (grub_netbsd_btinfo_mmap_entry): Removed.
12305 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
12306 (grub_netbsd_btinfo_bootdisk): New struct.
12307 (grub_netbsd_btinfo_symtab): Likewise.
12308 (grub_netbsd_btinfo_serial): Likewise.
12309 (grub_netbsd_btinfo_modules): Likewise.
12310 (grub_netbsd_btinfo_framebuf): Likewise.
12311 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
12312 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
12313 Likewise.
12314 (grub_openbsd_bootargs): Use explicit bitsize.
12315 (grub_openbsd_bootarg_console): New struct.
12316 (GRUB_OPENBSD_COM_MAJOR): New definition.
12317 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
12318 * include/grub/i386/pc/efiemu.h: Removed.
12319 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
12320 * include/grub/i386/qemu/loader.h: Removed.
12321 * include/grub/i386/relocator.h: Rewritten.
12322 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
12323 * include/grub/mips/memory.h: New file.
12324 * include/grub/mips/multiboot.h: Rewritten.
12325 * include/grub/mips/relocator.h: Rewritten.
12326 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
12327 (grub_vtop): New function.
12328 (grub_map_memory): Likewise.
12329 (grub_unmap_memory): Likewise.
12330 * include/grub/misc.h (ALIGN_DOWN): New definition.
12331 * include/grub/mm.h (grub_mm_check_real): New proto.
12332 (GRUB_MM_CHECK): New definition.
12333 * include/grub/mm_private.h: New file.
12334 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
12335 (grub_multiboot_get_mbi_size): Removed.
12336 (grub_multiboot_make_mbi): Change prottype.
12337 (grub_multiboot_set_accepts_video): New proto.
12338 (grub_multiboot_add_elfsyms): Likewise.
12339 (grub_multiboot_payload_eip): New variable.
12340 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
12341 New prototype.
12342 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
12343 New definition.
12344 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
12345 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
12346 * include/grub/powerpc/ieee1275/loader.h: Removed.
12347 * include/grub/powerpc/memory.h: New file.
12348 * include/grub/powerpc/relocator.h: Likewise.
12349 * include/grub/relocator.h: Likewise.
12350 * include/grub/relocator_private.h: Likewise.
12351 * include/grub/sparc64/ieee1275/loader.h: Removed.
12352 * include/grub/x86_64/memory.h: New file.
12353 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
12354 (grub_xnu_heap_malloc): Likewise.
12355 (grub_xnu_heap_real_start): Removed.
12356 (grub_xnu_heap_start): Likewise.
12357 (grub_xnu_relocator): New variable.
12358 (grub_xnu_heap_target_start): Likewise.
12359 * tests/util/grub-shell.in: Support non-pc.
12360 * util/grub-mkimage.c (image_targets): Fix multiboot target.
12361
12362 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
12365 on malloc error.
12366 (grub_bidi_logical_to_visual): Check that malloc succeded.
12367 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
12368 puts.
12369 (grub_xputs_normal): Likewise.
12370
12371 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
12374 extra_dist.
12375
12376 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * grub-core/efiemu/runtime/efiemu.sh: Removed.
12379
12380 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
12383
12384 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
12385
12386 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
12387 dprintf.
12388
12389 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
12390
12391 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
12392
12393 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12394
12395 * grub-core/normal/term.c (print_more): Fix a memory leak.
12396 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
12397 (grub_xputs_normal): Likewise.
12398
12399 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12400
12401 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
12402 the begining of the string
12403
12404 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12405
12406 * grub-core/script/script.c (grub_script_parse): Free parsed on
12407 failure.
12408
12409 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12410
12411 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
12412 on failure.
12413
12414 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
12417 return.
12418
12419 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12420
12421 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
12422 (scroll_up): Fix a memory leak.
12423
12424 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
12427 errors.
12428
12429 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
12430
12431 Handle USB pendrives exposed as floppies.
12432
12433 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
12434 floppy.
12435 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
12436 Check for partitions on all devices.
12437
12438 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
12441 (readkey): Likewise.
12442
12443 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
12444
12445 Multiple variable names support to "export" command.
12446
12447 * normal/context.c (grub_cmd_export): "export" command supports
12448 multiple variable names.
12449
12450 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
12451
12452 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
12453 --target=drive output to Mach device name.
12454
12455 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12456
12457 New Automake based build system for GRUB.
12458
12459 * ABOUT-NLS: New file.
12460 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
12461 in Makefile.util.def file.
12462 * Makefile.util.def: New file. Autogen build definitions file for
12463 GRUB host utils.
12464 * conf/Makefile.common: New file. Common variables for GRUB host
12465 utils and target modules.
12466 * conf/Makefile.extra-dist: New file. Extra files for make dist.
12467 * docs/Makefile.am: New file. Automake file for docs.
12468 * gentpl.py: New file. Python script to generate Autogen
12469 template.
12470 * grub-core/Makefile.am: New file. GRUB target modules' rules
12471 that doesn't fit in Makefile.core.def file.
12472 * grub-core/Makefile.core.def: New file. Autogen build
12473 definitions file for GRUB target modules.
12474 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
12475 specific setjmp.S file.
12476 * po/Makefile.am: New file.
12477
12478 * .bzrignore: New ignores.
12479 * INSTALL: New requirements, without Ruby.
12480 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
12481 * autogen.sh: Updated to invoke autogen as necessary.
12482 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
12483 and defines for Automake conditionals.
12484 * geninit.sh: Refactoring.
12485
12486 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
12487 necessary.
12488 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
12489 New prototype.
12490
12491 * include/grub/test.h: Fix functional test modules' naming.
12492 * grub-core/tests/example_functional_test.c: Fix test module name.
12493
12494 * util/misc.c: Hosted versions' of grub functions for libgrub.a
12495 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
12496 * util/grub-editenv.c: Likewise.
12497 * util/grub-fstest.c: Likewise.
12498 * util/grub-mkdevicemap.c: Likewise.
12499 * util/grub-mkfont.c: Likewise.
12500 * util/grub-mkimage.c: Likewise.
12501 * util/grub-mkpasswd-pbkdf2.c: Likewise.
12502 * util/grub-probe.c: Likewise.
12503 * util/grub-script-check.c: Likewise.
12504 * util/i386/pc/grub-setup.c: Likewise.
12505 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12506
12507 * tests/util/grub-shell.in: Fix override directory path.
12508 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
12509 * util/import_gcry.py: Create Makefile.gcry.def file instead.
12510
12511 * util/lvm.c: Update #includes.
12512 * util/raid.c: Likewise.
12513 * util/resolve.c: Likewise.
12514 * grub-core/bus/emu/pci.c: Likewise.
12515 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
12516 * grub-core/lib/posix_wrap/string.h: Likewise.
12517 * grub-core/kern/emu/main.c: Likewise.
12518
12519 * grub-core/gensymlist.sh: New file. Script for generating kernel
12520 symbols file.
12521 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
12522
12523 * grub-core/gentrigtables.c: Fix unused variable warnings.
12524
12525 * Makefile.in: Removed.
12526 * conf/any-emu.rmk: Removed.
12527 * conf/common.rmk: Removed.
12528 * conf/i386-coreboot.rmk: Removed.
12529 * conf/i386-efi.rmk: Removed.
12530 * conf/i386-ieee1275.rmk: Removed.
12531 * conf/i386-multiboot.rmk: Removed.
12532 * conf/i386-pc.rmk: Removed.
12533 * conf/i386-qemu.rmk: Removed.
12534 * conf/i386.rmk: Removed.
12535 * conf/mips-yeeloong.rmk: Removed.
12536 * conf/mips.rmk: Removed.
12537 * conf/powerpc-ieee1275.rmk: Removed.
12538 * conf/sparc64-ieee1275.rmk: Removed.
12539 * conf/tests.rmk: Removed.
12540 * conf/x86-efi.rmk: Removed.
12541 * conf/x86_64-efi.rmk: Removed.
12542 * gendistlist.sh: Removed.
12543 * geninitheader.sh: Removed.
12544 * genkernsyms.sh.in: Removed.
12545 * genmk.rb: Removed.
12546 * gensymlist.sh.in: Removed.
12547 * mkinstalldirs: Removed.
12548 * boot: Moved ...
12549 * grub-core/boot: ... to here.
12550 * bus: Moved ...
12551 * grub-core/bus: ... to here.
12552 * commands: Moved ...
12553 * grub-core/commands: ... to here.
12554 * disk: Moved ...
12555 * grub-core/disk: ... to here.
12556 * efiemu: Moved ...
12557 * grub-core/efiemu: ... to here.
12558 * font: Moved ...
12559 * grub-core/font: ... to here.
12560 * fs: Moved ...
12561 * grub-core/fs: ... to here.
12562 * gencmdlist.sh: Moved ...
12563 * grub-core/gencmdlist.sh: ... to here.
12564 * genemuinit.sh: Moved ...
12565 * grub-core/genemuinit.sh: ... to here.
12566 * genemuinitheader.sh: Moved ...
12567 * grub-core/genemuinitheader.sh: ... to here.
12568 * genfslist.sh: Moved ...
12569 * grub-core/genfslist.sh: ... to here.
12570 * genhandlerlist.sh: Moved ...
12571 * grub-core/genhandlerlist.sh: ... to here.
12572 * genmoddep.awk: Moved ...
12573 * grub-core/genmoddep.awk: ... to here.
12574 * genmodsrc.sh: Moved ...
12575 * grub-core/genmodsrc.sh: ... to here.
12576 * genpartmaplist.sh: Moved ...
12577 * grub-core/genpartmaplist.sh: ... to here.
12578 * genparttoollist.sh: Moved ...
12579 * grub-core/genparttoollist.sh: ... to here.
12580 * genterminallist.sh: Moved ...
12581 * grub-core/genterminallist.sh: ... to here.
12582 * gentrigtables.c: Moved ...
12583 * grub-core/gentrigtables.c: ... to here.
12584 * genvideolist.sh: Moved ...
12585 * grub-core/genvideolist.sh: ... to here.
12586 * gettext: Moved ...
12587 * grub-core/gettext: ... to here.
12588 * gfxmenu: Moved ...
12589 * grub-core/gfxmenu: ... to here.
12590 * gnulib: Moved ...
12591 * grub-core/gnulib: ... to here.
12592 * hello: Moved ...
12593 * grub-core/hello: ... to here.
12594 * hook: Moved ...
12595 * grub-core/hook: ... to here.
12596 * io: Moved ...
12597 * grub-core/io: ... to here.
12598 * kern: Moved ...
12599 * grub-core/kern: ... to here.
12600 * lib: Moved ...
12601 * grub-core/lib: ... to here.
12602 * loader: Moved ...
12603 * grub-core/loader: ... to here.
12604 * mmap: Moved ...
12605 * grub-core/mmap: ... to here.
12606 * normal: Moved ...
12607 * grub-core/normal: ... to here.
12608 * partmap: Moved ...
12609 * grub-core/partmap: ... to here.
12610 * parttool: Moved ...
12611 * grub-core/parttool: ... to here.
12612 * script: Moved ...
12613 * grub-core/script: ... to here.
12614 * term: Moved ...
12615 * grub-core/term: ... to here
12616 * tests/example_functional_test.c: Moved ...
12617 * grub-core/tests/example_functional_test.c: ... to here.
12618 * tests/lib/functional_test.c: Moved ...
12619 * grub-core/tests/lib/functional_test.c: ... to here.
12620 * tests/lib/test.c: Moved ...
12621 * grub-core/tests/lib/test.c: ... to here.
12622 * video: Moved ...
12623 * grub-core/video: ... to here.
12624
12625 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
12626
12627 Replace --enable-grub-emu-modules with grub-emu-lite.
12628
12629 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
12630 cache.S.
12631
12632 * include/grub/emu/misc.h (grub_emu_init): New prototype.
12633 * kern/emu/full.c: New file. For grub-emu specific initialization.
12634 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
12635 * kern/emu/main.c: Call initialization function grub_emu_init.
12636
12637 * Makefile.in: Include grub-emu-lite in install.
12638 * commands/parttool.c: Use grub_no_autoload to differentiate
12639 between grub-emu and grub-emu-lite.
12640 * include/grub/misc.h: New variable grub_no_autoload.
12641
12642 * conf/any-emu.rmk: New rules for grub-emu-lite.
12643 * configure.ac: Remove --enable-grub-emu-modules.
12644 * genmk.rb: Cleanup unnecessary rules.
12645 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
12646
12647 * normal/main.c: Don't load list files on grub-emu-lite.
12648 * util/misc.c (grub_arch_sync_caches): Removed.
12649
12650 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
12651
12652 * kern/mips/startup.S (grub_prefix): Update comment to refer to
12653 grub-mkimage rather than grub-mkelfimage.
12654 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
12655
12656 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
12659 a key after CapsLock or NumLock. It's just a qemu bug.
12660
12661 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12662
12663 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
12664 needed by libusb wrapper.
12665
12666 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
12667
12668 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
12669
12670 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
12671
12672 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
12673 --nounzip is passed.
12674
12675 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
12676
12677 USB hotunplugging and USB serial support.
12678
12679 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
12680 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
12681 (grub_uhci_transfer): Respect timeout and set *actual.
12682 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
12683 non-standard length.
12684 (grub_usb_device_attach): Autoload modules.
12685 (GRUB_MOD_INIT): Set grub_term_poll_usb.
12686 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
12687 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
12688 users updated.
12689 (grub_usb_add_hub): Fill nports and children.
12690 (attach_root_port): Receive hub instead of controller.
12691 All users updated. Fill hub->devices.
12692 (grub_usb_root_hub): Allocate hub->devices.
12693 (detach_device): New function.
12694 (poll_nonroot_hub): Fill children and detach devices.
12695 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
12696 actual arguments. All users updated.
12697 (grub_usb_bulk_read_extended): New function.
12698 * bus/usb/serial/common.c: New file.
12699 * bus/usb/serial/ftdi.c: Likewise.
12700 * bus/usb/serial/pl2303.c: Likewise.
12701 * commands/terminal.c (handle_command): Support wildcard.
12702 * commands/usbtest.c: Output "Unknown" instead of empty string.
12703 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
12704 (usbserial_common_mod_SOURCES): New variable.
12705 (usbserial_common_mod_CFLAGS): Likewise.
12706 (usbserial_common_mod_LDFLAGS): Likewise.
12707 (pkglib_MODULES): Add usbserial_pl2303.mod.
12708 (usbserial_pl2303_mod_SOURCES): New variable.
12709 (usbserial_pl2303_mod_CFLAGS): Likewise.
12710 (usbserial_pl2303_mod_LDFLAGS): Likewise.
12711 (pkglib_MODULES): Add usbserial_ftdi.mod.
12712 (usbserial_ftdi_mod_SOURCES): New variable.
12713 (usbserial_ftdi_mod_CFLAGS): Likewise.
12714 (usbserial_ftdi_mod_LDFLAGS): Likewise.
12715 (pkglib_MODULES): Add serial.mod.
12716 (serial_mod_SOURCES): New variable.
12717 (serial_mod_CFLAGS): Likewise.
12718 (serial_mod_LDFLAGS): Likewise.
12719 * conf/i386-pc.rmk: Likewise.
12720 * conf/mips-yeeloong.rmk: Likewise.
12721 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
12722 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12723 * disk/usbms.c (first_available_slot): New variable.
12724 (grub_usbms_attach): Don't reuse free slots due to potential cache
12725 problems.
12726 * include/grub/serial.h: Moved to ..
12727 * include/grub/ns8250.h: ...this.
12728 * include/grub/serial.h: New file.
12729 * include/grub/term.h (grub_term_poll_usb): New variable.
12730 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
12731 readkey. All users updated.
12732 (grub_terminfo_output_state): Pass term to put.
12733 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
12734 (grub_usb_controller_dev): Add timeout and actual arguments to
12735 transfer. All users updated.
12736 (grub_usb_interface): New field detach_data.
12737 (grub_usb_device): New fields children and nports.
12738 (grub_usb_ep_type_t): New type.
12739 (grub_usb_get_ep_type): New function.
12740 (grub_usb_bulk_read_extended): Likewise.
12741 * include/grub/usbdesc.h (grub_usb_desc): New type.
12742 * include/grub/usbserial.h: New file.
12743 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
12744 * kern/term.c (grub_term_poll_usb): New variable.
12745 (grub_getkey): Call grub_term_poll_usb if set.
12746 (grub_checkkey): Likewise.
12747 (grub_getkeystatus): Likewise.
12748 * term/serial.c: Moved controller-specific parts to ...
12749 * term/ns8250.c: ... here.
12750 * term/serial.c: Mostly rewritten.
12751 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
12752 according to spec.
12753
12754 2010-08-20 Robert Millan <rmh@gnu.org>
12755
12756 Make kFreeBSD code more generic to support ext2fs as root, ufs as
12757 a separate module and maybe other interesting combinations.
12758
12759 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
12760 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
12761 (kfreebsd_entry): Add generic filesystem module load routine.
12762 Map GRUB `ext2' to kFreeBSD `ext2fs'.
12763
12764 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
12765
12766 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
12767 "numcenter" (I misunderstood the purpose of this entry).
12768 * docs/grub.texi (sendkey): Likewise.
12769
12770 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
12771
12772 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
12773 status flag options; simply omitting the option is equivalent and
12774 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
12775 (keysym_table): Rename "num5numlock" to "numlock".
12776 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
12777 can uniformly say that only the last of multiple `sendkey'
12778 invocations has any effect.
12779 * docs/grub.texi (sendkey): New section.
12780
12781 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
12782
12783 * commands/i386/pc/sendkey.c (options): Fix three typos.
12784
12785 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
12786
12787 Implement sendkey support.
12788
12789 * commands/i386/pc/sendkey.c: New file.
12790 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
12791 (sendkey_mod_SOURCES): New variable.
12792 (sendkey_mod_CFLAGS): Likewise.
12793 (sendkey_mod_LDFLAGS): Likewise.
12794
12795 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
12796
12797 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
12798 fix warnings from Autoconf.
12799
12800 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
12801
12802 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
12803 to avoid false positives with some assemblers that output things
12804 like "someprefix_func" as part of their output.
12805
12806 2010-08-15 Robert Millan <rmh@gnu.org>
12807
12808 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
12809 errors.
12810 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
12811 grub_get_libzfs_handle() errors.
12812
12813 2010-08-14 Robert Millan <rmh@gnu.org>
12814
12815 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
12816 filesystem is not ZFS.
12817
12818 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12819
12820 Fix for misspelled color names defaulting to black/black (bug
12821 reported by Doug Nazar)
12822
12823 * include/grub/normal.h (grub_parse_color_name_pair): Add return
12824 status to prototype.
12825 * normal/color.c (grub_parse_color_name_pair): Return failure
12826 status.
12827 (grub_env_write_color_normal): Ignore bad color names.
12828 (grub_env_write_color_highlight): Likewise.
12829 * normal/main.c (GRUB_MOD_INIT): Set default color names.
12830
12831 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12832
12833 "shift" command support to GRUB script.
12834
12835 * include/grub/script_sh.h (grub_script_shift): New prototype.
12836 * script/execute.c (grub_script_shift): New function.
12837 * script/main.c (grub_script_init): Register shift command.
12838 (grub_script_fini): Unregister shift command.
12839 * util/grub-script-check.c (grub_script_cmd_shift): New function.
12840
12841 * tests/grub_script_shift.in: New testcase.
12842 * conf/tests.rmk: Rules for new testcase.
12843
12844 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12845
12846 "continue" command support to GRUB script.
12847
12848 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
12849 (grub_script_break): Continue support.
12850 * script/main.c (grub_script_init): Register continue command.
12851 (grub_script_fini): Unregister continue command.
12852
12853 * tests/grub_script_continue.in: New testcase.
12854 * conf/tests.rmk: Rules for new testcase.
12855
12856 2010-08-12 BVK Chaitanya <bvk@dbook>
12857
12858 "break" command support to GRUB script.
12859
12860 * conf/common.rmk: Rule updates to grub-script-check.
12861 * include/grub/misc.h (grub_min): New function.
12862 * include/grub/script_sh.h (grub_script_init): New prototype.
12863 (grub_script_fini): New prototype.
12864 (grub_script_break): New prototype.
12865 * script/main.c (grub_script_init): New function.
12866 (grub_script_fini): New function.
12867 * script/execute.c (grub_script_break): New function.
12868 * normal/main.c: Calls to grub_script_{init,fini}.
12869 * util/grub-script-check.c (grub_script_break): New function.
12870
12871 * tests/grub_script_break.in: New testcase.
12872 * conf/tests.rmk: Rules for new test case.
12873
12874 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12875
12876 Function parameters support to GRUB script.
12877
12878 * script/yylex.l (VARIABLE): Regular expression update.
12879 * script/function.c (grub_script_function_call): Moved ...
12880 * script/execute.c (grub_script_function_call): ... to here.
12881 (grub_script_execute_arglist_to_argv): Removed.
12882 (grub_script_arglist_to_argv): New function.
12883 * script/argv.c: New file.
12884 (grub_script_argv_free): New function.
12885 (grub_script_argv_next): Likewise.
12886 (grub_script_argv_append): Likewise.
12887 (grub_script_argv_split_append): Likewise.
12888 * include/grub/script_sh.h (grub_script_argv): New struct.
12889 (grub_script_argv_free): New function.
12890 (grub_script_argv_next): Likewise.
12891 (grub_script_argv_append): Likewise.
12892 (grub_script_argv_split_append): Likewise.
12893
12894 * conf/common.rmk (normal.mod): New source script/argv.c.
12895
12896 * tests/grub_script_echo1.in: More tests.
12897 * tests/grub_script_vars1.in: Likewise.
12898 * tests/grub_script_functions.in: New test case.
12899 * conf/tests.rmk: Rules for new testcase.
12900
12901 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
12902
12903 Remove grub_script_cmdblock struct.
12904
12905 * include/grub/script_sh.h: Remove grub_script_cmdblock.
12906 * script/parser.y: Likewise.
12907 * script/execute.c: Rename cmdblock suffix to cmdlist.
12908 * script/script.c: Likewise.
12909 * util/grub-script-check.c: Likewise.
12910
12911 2010-08-11 Yves Blusseau <blusseau@zetam.org>
12912
12913 * .bzrignore: add grub-macho2img
12914
12915 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
12918
12919 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 Remove the dump of sm712 initialisation sequence.
12922
12923 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
12924 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
12925 (GRUB_VGA_IO_MISC_WRITE): Likewise.
12926 (GRUB_VGA_CR_*): Added many registers.
12927 (GRUB_VGA_SR_*): Likewise.
12928 (GRUB_VGA_GR_*): Likewise.
12929 (grub_vga_write_arx): New function.
12930 (grub_video_hw_config): New struct.
12931 (grub_vga_set_geometry): New function.
12932 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
12933 GRUB_PCI_CLASS_SUBCLASS_VGA.
12934 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
12935 * video/sm712.c (grub_sm712_write_reg): New function
12936 (grub_sm712_read_reg): Likewise.
12937 (grub_sm712_sr_write): Likewise.
12938 (grub_sm712_gr_write): Likewise.
12939 (grub_sm712_cr_write): Likewise.
12940 (grub_sm712_write_arx): Likewise.
12941 (grub_sm712_cr_shadow_write): Likewise.
12942 (grub_sm712_write_dda_lookup): Likewise.
12943 (grub_video_sm712_setup): Initialise the video rather then
12944 blindly replay the dump.
12945 (main) [TEST]: Add a routine to be able to compile as standalone for
12946 tests.
12947 * video/sm712_init.c (sm712_init): Removed.
12948 (sm712_sr_seq1): New array.
12949 (sm712_sr_seq2): Likewise.
12950
12951 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12952
12953 * include/grub/vga.h: Add missing grub/pci.h include.
12954
12955 2010-08-10 Yves Blusseau <blusseau@zetam.org>
12956
12957 * util/grub-macho2img.c (main): fix typo
12958
12959 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
12962 (grub_vga_gr_read): Likewise.
12963 (grub_vga_cr_write): Likewise.
12964 (grub_vga_cr_read): Likewise.
12965 (grub_vga_sr_write): Likewise.
12966 (grub_vga_sr_read): Likewise.
12967 (grub_vga_palette_read): Likewise.
12968 (grub_vga_palette_write): Likewise.
12969 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
12970 (grub_sm712_sr_read): New function.
12971 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
12972 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
12973
12974 2010-08-09 Robert Millan <rmh@gnu.org>
12975
12976 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
12977 out unused variables on non-ZFS build.
12978
12979 2010-08-08 Robert Millan <rmh@gnu.org>
12980
12981 Fix path generation for sub-filesystems in ZFS.
12982
12983 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
12984 missing slash.
12985
12986 2010-08-08 Robert Millan <rmh@gnu.org>
12987
12988 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
12989
12990 2010-08-08 Robert Millan <rmh@gnu.org>
12991
12992 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
12993 exist, issue a proper error message (rely on `ls' for translated
12994 strings).
12995
12996 2010-08-08 Robert Millan <rmh@gnu.org>
12997
12998 Fix grub-probe invocation.
12999
13000 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
13001
13002 2010-08-04 Robert Millan <rmh@gnu.org>
13003
13004 * configure.ac: Remove checks for getfsstat() and getmntany().
13005 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
13006 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
13007 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
13008 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
13009 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
13010 function.
13011 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
13012 via find_mount_point_from_dir() and getfsstat() / getmntany().
13013
13014 2010-08-04 Robert Millan <rmh@gnu.org>
13015
13016 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13017 (grub_find_zpool_from_mount_point): Merge into ...
13018 (grub_find_zpool_from_dir): ... this.
13019 * kern/emu/misc.c: Likewise.
13020
13021 * kern/emu/misc.c
13022 (grub_make_system_path_relative_to_its_root): Replace
13023 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
13024 with grub_find_zpool_from_dir().
13025 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
13026
13027 2010-08-04 Robert Millan <rmh@gnu.org>
13028
13029 Support OpenSolaris in ZFS device resolution.
13030
13031 * configure.ac: Check for getmntany().
13032 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
13033 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
13034 support.
13035
13036 2010-08-03 Robert Millan <rmh@gnu.org>
13037
13038 Fix grub-emu build.
13039
13040 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
13041 * include/grub/emu/misc.h: ... here.
13042
13043 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
13044 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
13045
13046 * util/misc.c: Remove `<grub/util/libzfs.h>'.
13047 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
13048 (grub_get_libzfs_handle): Move to ...
13049 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
13050 (grub_get_libzfs_handle): ... here.
13051
13052 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
13053
13054 * script/execute.c (grub_script_execute_cmdline): Check for NULL
13055 as command name case.
13056
13057 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
13058
13059 * disk/raid.c (insert_array): Select unique numbers for named arrays
13060 as well, for use as keys in the disk cache.
13061
13062 2010-08-01 Robert Millan <rmh@gnu.org>
13063
13064 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
13065 kFreeBSD device name, except on ZFS where the filesystem label is
13066 used.
13067 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
13068 `/boot/zfs/zpool.cache'.
13069 Set mountfrom kernel variable using ${kfreebsd_device}.
13070
13071 2010-08-01 Robert Millan <rmh@gnu.org>
13072
13073 Make it even harder to use uninitialized `libzfs_handle' (and
13074 make the interface a bit simpler).
13075
13076 * include/grub/util/misc.h (grub_util_init_libzfs)
13077 (libzfs_handle): Remove.
13078 (grub_get_libzfs_handle): New prototype.
13079
13080 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
13081 attribute.
13082 (grub_util_init_libzfs): Remove.
13083 (grub_get_libzfs_handle): New function.
13084
13085 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
13086 grub_get_libzfs_handle() to obtain a libzfs handle instead of
13087 accessing `libzfs_handle' directly.
13088
13089 2010-08-01 Robert Millan <rmh@gnu.org>
13090
13091 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13092 (grub_find_zpool_from_mount_point): New function prototypes.
13093
13094 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13095 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13096
13097 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13098 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13099 `static' attribute.
13100
13101 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13102 finding zpool from mount point into ...
13103 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13104
13105 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13106 requested path is part of a ZFS pool, use
13107 grub_find_zpool_from_mount_point() to detect its filesystem name,
13108 and generate a path with `/fsname@path' syntax.
13109
13110 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13111
13112 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
13113 (void) rather than () so that this is a proper prototype.
13114
13115 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
13118
13119 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13120
13121 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
13122 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
13123
13124 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13125
13126 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
13127
13128 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13129
13130 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
13131
13132 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13133
13134 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
13135 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
13136 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
13137 disable gfxpayload.
13138 (Shell-like scripting): Add real content.
13139 (Serial terminal): Suggest `terminal_input serial; terminal_output
13140 serial' rather than putting the two commands on separate lines,
13141 since console input will be inoperative after the first command.
13142 (menuentry): Document --class, --users, and --hotkey options.
13143 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
13144 Vladimir Serbinenko).
13145
13146 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
13147 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13148
13149 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
13150
13151 2010-08-01 Robert Millan <rmh@gnu.org>
13152
13153 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
13154 (grub_find_zpool_from_mount_point): New function prototypes.
13155
13156 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
13157 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
13158
13159 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
13160 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
13161 `static' attribute.
13162
13163 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
13164 finding zpool from mount point into ...
13165 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
13166
13167 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
13168 requested path is part of a ZFS pool, use
13169 grub_find_zpool_from_mount_point() to detect its filesystem name,
13170 and generate a path with `/fsname@path' syntax.
13171
13172 2010-08-01 Robert Millan <rmh@gnu.org>
13173
13174 Prevent accidental use of uninitialized libzfs_handle.
13175
13176 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
13177 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
13178 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
13179
13180 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
13181
13182 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
13183 util/grub.d/10_linux.in). Fixes Debian bug #591093.
13184
13185 2010-08-01 Robert Millan <rmh@gnu.org>
13186
13187 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
13188
13189 2010-07-31 Robert Millan <rmh@gnu.org>
13190
13191 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
13192
13193 2010-07-31 Robert Millan <rmh@gnu.org>
13194
13195 * kern/emu/misc.c: Add missing license header.
13196
13197 2010-07-31 Robert Millan <rmh@gnu.org>
13198
13199 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
13200
13201 * include/grub/util/libnvpair.h: Include `<config.h>'.
13202 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
13203 declaring libnvpair prototypes ourselves.
13204 * include/grub/util/libzfs.h: Include `<config.h>'.
13205 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
13206 declaring libzfs prototypes ourselves.
13207
13208 (libzfs_handle): Moved to ...
13209 * include/grub/util/misc.h (libzfs_handle): ... here.
13210 Include `<grub/util/libzfs.h>'.
13211
13212 2010-07-30 Robert Millan <rmh@gnu.org>
13213
13214 * include/grub/emu/misc.h: Add missing license header.
13215
13216 2010-07-30 Robert Millan <rmh@gnu.org>
13217
13218 Enable `grub-probe -t device' resolution on ZFS.
13219
13220 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
13221 * include/grub/util/libnvpair.h: New file.
13222 * include/grub/util/libzfs.h: New file.
13223
13224 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
13225 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
13226 `<grub/util/libnvpair.h>'.
13227 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
13228
13229 (find_mount_point_from_dir): New static function.
13230 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
13231 function.
13232 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
13233 find_root_device_from_libzfs() before ressorting to find_root_device().
13234
13235 * include/grub/util/misc.h (grub_util_init_libzfs): New function
13236 prototype.
13237 * util/misc.c: Include `<grub/util/libzfs.h>'.
13238 (grub_util_init_libzfs): New function.
13239 [HAVE_LIBZFS] (libzfs_handle): New global variable.
13240 [HAVE_LIBZFS] (fini_libzfs): New static function.
13241 (grub_util_init_libzfs): New function.
13242 * util/grub-probe.c (main): Call grub_util_init_libzfs().
13243
13244 2010-07-30 Robert Millan <rmh@gnu.org>
13245
13246 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
13247 (xmalloc, xrealloc, xstrdup, xasprintf): Add
13248 `warn_unused_result' attribute.
13249 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
13250 (grub_xasprintf, grub_xvasprintf): Likewise.
13251 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
13252
13253 2010-07-29 Robert Millan <rmh@gnu.org>
13254
13255 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
13256 (probe): Handle `PRINT_FS_LABEL'.
13257 (main): Handle `-t fs_label'.
13258
13259 2010-07-29 Robert Millan <rmh@gnu.org>
13260
13261 * configure.ac: Remove grub-mkisofs checks.
13262
13263 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
13264
13265 * util/ieee1275/grub-install.in: Don't use empty grub_device.
13266 Reported by: Lennart Sorensen.
13267
13268 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
13271 prior to terminal_input/terminal_output separation. It's been over 1.5
13272 years and those versions weren't widely deployed.
13273
13274 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
13275
13276 * disk/raid.c (insert_array): Don't count named arrays when looking
13277 for unused array numbers.
13278 Reported and tested by: Michael Guntsche.
13279
13280 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13281
13282 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
13283 implementation of this so that grub-emu links again, with a note
13284 that this should support hotplugging in the future.
13285
13286 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13287
13288 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13289
13290 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13291
13292 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
13293 handle on failure.
13294 (grub_loopback_close): Remove empty function.
13295 (grub_loopback_dev): Remove close method.
13296
13297 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13298
13299 Disable EFI cursor when the EFI console becomes inactive.
13300
13301 * term/efi/console.c (grub_efi_console_init): New function.
13302 (grub_efi_console_fini): New function.
13303 (grub_console_term_output): Register init and fini methods.
13304
13305 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * tests/util/grub-shell-tester.in: Remove bashism and declare as
13308 sh script.
13309
13310 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * disk/loopback.c (grub_loopback): Replace filename with file.
13313 (delete_loopback): Handle new semantics.
13314 (grub_cmd_loopback): Likewise.
13315 (grub_loopback_iterate): Likewise.
13316 (grub_loopback_close): Likewise.
13317
13318 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
13321 with -p "".
13322 Reported by: Tito Keitel.
13323
13324 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13325
13326 * docs/grub.texi (Naming convention): Document new naming convention.
13327
13328 2010-07-20 Vadim Solomin <vadic052@gmail.com>
13329 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13330
13331 Generate device.map in something closer to the old ordering.
13332
13333 * util/deviceiter.c (struct device): New declaration.
13334 (compare_file_names): Rename to ...
13335 (compare_devices): ... this. Sort by kernel name in preference to
13336 the stable by-id name, but keep the latter as a fallback comparison.
13337 Update header comment.
13338 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
13339 of `struct device' rather than of plain file names.
13340
13341 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
13342
13343 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
13344 on i386.
13345
13346 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * commands/acpi.c (setup_common_tables): Use sizeof instead of
13349 hardcoding size.
13350 (setv1table): Likewise.
13351
13352 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13353
13354 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
13355 removing the homehost if present.
13356 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
13357 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
13358 removing the homehost if present.
13359 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
13360 if possible.
13361 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
13362
13363 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
13364 parameter. Set its pointer target to 0.
13365 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
13366 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
13367 `data_offset' value from the superblock for 1.x metadata.
13368 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
13369 data on the device.
13370 (insert_array): Record the start sector of data on the device.
13371 (grub_raid_register): Pass start_sector parameters to
13372 grub_raid_list->detect and insert_array.
13373 * include/grub/raid.h (struct grub_raid_array): Add start_sector
13374 member.
13375 (struct grub_raid): Add start_sector parameter to `detect'.
13376
13377 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
13378 __attribute__ ((packed)), leaving a comment.
13379 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
13380 (grub_mdraid_detect_09): ... here and ...
13381 (grub_mdraid_detect_1x): ... here.
13382
13383 2010-07-20 Peter Henn <peter.henn@web.de>
13384
13385 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
13386 chunk size and disk size, which are already given as sector counts
13387 as distinct from the 0.90 units. Fetch the correct device number
13388 from the role table instead of using the table index.
13389
13390 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
13391
13392 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
13393 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
13394 (WriteMostly1): New macro.
13395 Set array->name to NULL for metadata format 0.90. Add support for
13396 metadata 1.x. Fix some comments.
13397 * disk/raid.c (): Add support for name based RAID arrays. Fix a
13398 few comments.
13399 * util/getroot.c (grub_util_get_grub_dev): Add support for
13400 /dev/md/name style devices.
13401
13402 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
13403
13404 * .bzrignore: Ignore 20_linux_xen.
13405
13406 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
13407
13408 * util/import_unicode.py: Remove unnecessary imports.
13409
13410 2010-07-17 Aleš Nesrsta <starous@volny.cz>
13411
13412 Hotplugging and USB hub support.
13413
13414 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
13415 (grub_ohci): Likewise.
13416 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
13417 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
13418 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
13419 (GRUB_OHCI_CTRL_EDS): Likewise.
13420 (GRUB_OHCI_BULK_EDS): Likewise.
13421 (GRUB_OHCI_TDS): Likewise.
13422 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
13423 (grub_ohci_ed_phys2virt): New function.
13424 (grub_ohci_virt_to_phys): Likewise.
13425 (grub_ohci_td_phys2virt): Likewise.
13426 (grub_ohci_td_virt2phys): Likewise.
13427 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
13428 attachment.
13429 (grub_ohci_find_ed): New function.
13430 (grub_ohci_alloc_td): Likewise.
13431 (grub_ohci_free_td): Likewise.
13432 (grub_ohci_free_tds): Likewise.
13433 (grub_ohci_transfer): Use previously allocated memory.
13434 (grub_ohci_portstatus): Reset status changed bit.
13435 (grub_ohci_detect_dev): Supply status changed.
13436 (grub_ohci_fini_hw): Free memory.
13437 (grub_ohci_restore_hw): Reallocate memory.
13438 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
13439 Reset status change.
13440 (grub_uhci_detect_dev): Supply status_change.
13441 * bus/usb/usb.c (attach_hooks): New var.
13442 (grub_usb_device_attach): New function.
13443 (grub_usb_register_attach_hook_class): Likewise.
13444 (grub_usb_unregister_attach_hook_class): Likewise.
13445 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
13446 (grub_usb_add_hub): Reset connection changed bit.
13447 (attach_root_port): New function.
13448 (grub_usb_root_hub): Likewise.
13449 (poll_nonroot_hub): Likewise.
13450 (grub_usb_poll_devices): Likewise.
13451 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
13452 * disk/usbms.c (grub_usbms_open): Use device hooks.
13453 (grub_usbms_iterate) :Poll devices.
13454 (grub_usbms_finddevs): Split into ...
13455 (grub_usbms_attach): ... this ...
13456 (grub_usbms_attach): ... and this.
13457 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
13458 in detect_dev.
13459 (grub_usb_interface): New fields attached and detach_hook.
13460 (grub_usb_attach_hook_class): New type.
13461 (grub_usb_attach_desc): New struct.
13462 (grub_usb_register_attach_hook_class): New function.
13463 (grub_usb_unregister_attach_hook_class): Likewise.
13464 (grub_usb_poll_devices): Likewise.
13465 (grub_usb_device_attach): Likewise.
13466 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
13467 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
13468
13469 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13470
13471 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
13472 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
13473 delta determination style. Works with most NetBSD partitions too.
13474
13475 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
13478 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
13479
13480 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
13483
13484 2010-07-14 Anton Blanchard <anton@samba.org>
13485
13486 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
13487 ET_DYN files.
13488
13489 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13490
13491 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
13492
13493 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13494
13495 * kern/partition.c (grub_partition_check_containment): New function to
13496 check that a partition is physically contained in a parent. Since
13497 offsets are relative (and non-negative), this reduces to checking that
13498 the partition ends before its parent.
13499 (grub_partition_map_probe): Discard out-of-range sub-partitions.
13500 (grub_partition_iterate): Likewise.
13501 * include/grub/partition.h (grub_partition_map): Slightly more detailed
13502 comments.
13503 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
13504 partitions that start before their parent, and add debug printfs.
13505
13506 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13507
13508 * Makefile.in (.SUFFIX): Spell correctly, as ...
13509 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
13510 bare module name without `.mod', e.g. `test') tried to invoke a
13511 Modula-2 compiler.
13512
13513 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
13514
13515 * README: Point to the Info manual.
13516
13517 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
13518
13519 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
13520 2nd superblock position from partition size.
13521
13522 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
13523
13524 * Makefile.in (MAINTAINER_CLEANFILES): Remove
13525 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
13526 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
13527 outputs.
13528
13529 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13530
13531 Restructure SCSI .id handling.
13532 Reported and tested by: Aleš Nesrsta.
13533
13534 * disk/ata.c (grub_atapi_close): Removed. All users updated.
13535 (grub_atapi_dev): Changed .name to "ata". New field .id.
13536 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
13537 (grub_usbms_dev): New field .id.
13538 * disk/scsi.c (grub_scsi_iterate): Generate name.
13539 (grub_scsi_open): Parse name.
13540 * include/grub/scsi.h (grub_make_scsi_id): New function.
13541 (grub_scsi_dev): Change iterate and open to number instead of naming
13542 busses. All users updated.
13543 (grub_scsi): Remove name. Add .bus.
13544
13545 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13546
13547 * commands/help.c (grub_cmd_help): Fix a typo.
13548
13549 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13550
13551 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
13552 Reported and tested by: Colin Watson.
13553
13554 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
13555
13556 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
13557 in this context.
13558
13559 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
13560
13561 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
13562
13563 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
13564
13565 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
13566 indentation.
13567
13568 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13569
13570 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
13571 and disk/raid6_recover.c.
13572 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13573 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13574
13575 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13576
13577 * term/gfxterm.c (repaint_schedulded): Rename to ...
13578 (repaint_scheduled): ... this. Update all callers.
13579 (repaint_was_schedulded): Rename to ...
13580 (repaint_was_scheduled): ... this. Update all callers.
13581
13582 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13583
13584 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
13585 which we expect to be handled by upper layers.
13586
13587 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
13588
13589 * bus/usb/usbhub.c: #include time.h header.
13590
13591 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
13594 entry_name also for entries without stat blocks (e.g. ".."); fixes
13595 corruption of the first entry in a directory.
13596
13597 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
13598
13599 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
13600 after setting gfxterm as the active terminal. GRUB_BACKGROUND
13601 doesn't work otherwise.
13602
13603 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13604
13605 * docs/grub.texi (Features): Update list of supported file systems.
13606 (GNU/Linux): Update for GRUB 2.
13607 (Serial terminal): Remove mention of --disable-serial, which was a
13608 GRUB Legacy configure option. Update instructions to use
13609 `terminal_input' and `terminal_output' rather than `terminal'.
13610 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
13611 configuration' and `Installing GRUB using grub-install'.
13612 (Menu entry editor): Update for GRUB 2.
13613 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
13614 Document new -a, -u, and -v options.
13615 (initrd): New section.
13616 (initrd16): New section.
13617 (linux): New section.
13618 (linux16): New section.
13619 (search): The `var' argument to `--set' is optional.
13620 (GRUB only offers a rescue shell): Go into a little more detail on
13621 drive ordering.
13622
13623 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13624
13625 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
13626
13627 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13628
13629 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
13630 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
13631
13632 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
13633
13634 * util/i386/pc/grub-setup.c (setup): Rename prefix to
13635 install_prefix, in line with install_dos_part and install_bsd_part.
13636 Add new prefix variable, which is copied to install_prefix after
13637 comparing core.img in memory with the one read from disk in the
13638 no-embedding case, and use that rather than overwriting
13639 install_prefix immediately when installing to a partition.
13640 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
13641 Bicakci.
13642
13643 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13644
13645 * configure.ac: Avoid == in test command, it's not portable.
13646 * util/grub.d/30_os-prober.in: Likewise.
13647
13648 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
13649
13650 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
13651
13652 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
13653
13654 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
13655 multiple (top-level) partmaps.
13656
13657 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 * util/i386/efi/grub-install.in: Don't use empty grub_device.
13660 Reported by: Tino Keitel.
13661
13662 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13663
13664 Bidi and diacritics support.
13665
13666 * Makefile.in (widthspec.bin): New target.
13667 (widthspec.h): Likewise.
13668 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
13669 * autogen.sh: Generate unidata.c.
13670 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
13671 * commands/ls.c (grub_ls_list_devices): Likewise.
13672 (grub_ls_list_files): Likewise.
13673 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
13674 (grub_mini_cmd_lsmod): Likewise.
13675 * commands/read.c: Likewise.
13676 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
13677 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
13678 * lib/arg.c (grub_arg_show_help): Likewise.
13679 * lib/crypto.c (grub_password_get): Likewise.
13680 * normal/auth.c (grub_username_get): Likewise.
13681 * normal/misc.c (grub_normal_print_device_info): Likewise.
13682 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
13683 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
13684 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
13685 (normal/charset.c_DEPENDENCIES): New variable.
13686 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
13687 (pkglib_MODULES): Remove charset.mod.
13688 (charset_mod_SOURCES): Removed.
13689 (charset_mod_CFLAGS): Likewise.
13690 (charset_mod_LDFLAGS): Likewise.
13691 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
13692 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
13693 and term/tparm.c.
13694 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13695 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13696 (kernel_img_HEADERS): Add terminfo.h.
13697 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
13698 Fill ->font. Reverse ascii bitmaps.
13699 (grub_font_get_xheight): New function.
13700 * font/font.c (grub_font_get_string_width): Moved from here ...
13701 * gfxmenu/font.c (grub_font_get_string_width): ... here.
13702 * font/font.c (grub_font_draw_string): Moved from here ...
13703 * gfxmenu/font.c (grub_font_draw_string): ... here.
13704 * font/font.c (grub_font_dup_glyph): New function.
13705 (grub_font_blit_glyph): Likewise.
13706 (grub_font_blit_glyph_mirror): Likewise.
13707 (blit_comb): Likewise.
13708 (grub_font_construct_dry_run): Likewise.
13709 (grub_font_get_constructed_device_width): Likewise.
13710 (grub_font_construct_glyph): Likewise.
13711 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
13712 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
13713 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
13714 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
13715 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
13716 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
13717 (grub_font_get_xheight): New proto.
13718 (grub_font_get_constructed_device_width): Likewise.
13719 (grub_font_construct_glyph): Likewise.
13720 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
13721 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
13722 * include/grub/font.h (grub_font_draw_string): Moved from here ...
13723 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
13724 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
13725 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
13726 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
13727 (grub_console_getcharwidth): Likewise.
13728 * include/grub/misc.h (grub_xputs): New proto.
13729 (grub_puts): Inlined.
13730 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
13731 (grub_normal_get_line_counter): Removed.
13732 (grub_install_newline_hook): Likewise.
13733 (grub_normal_get_char_counter): New proto.
13734 (grub_normal_reset_more): Likewise.
13735 (grub_xputs_normal): Likewise.
13736 * include/grub/powerpc/ieee1275/console.h: Removed.
13737 * include/grub/sparc64/ieee1275/console.h: Likewise.
13738 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
13739 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
13740 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
13741 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
13742 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
13743 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
13744 (grub_term_input): Pass reference to self. All users updated.
13745 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
13746 Pass reference to self. New fields normal_color, highlight_color and
13747 data. All users updated.
13748 (grub_putchar): Removed.
13749 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
13750 (grub_unicode_estimate_width): New function.
13751 (grub_term_getcharwidth): Add defaults.
13752 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
13753 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
13754 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
13755 (grub_cls): Remove EXPORT_FUNC.
13756 (grub_setcolorstate): Inline.
13757 (grub_newline_hook): Removed.
13758 * include/grub/terminfo.h: Rewritten. All users updated.
13759 * include/grub/unicode.h: New file.
13760 * include/grub/video.h (grub_video_signed_rect): New type.
13761 * kern/emu/console.c (grub_console_highlight_color): Removed.
13762 (grub_console_normal_color): Likewise.
13763 (grub_console_standard_color): Made static.
13764 (grub_ncurses_putchar): Remove mapping.
13765 (grub_ncurses_getcharwidth): Removed.
13766 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13767 (grub_ncurses_setcolor): Removed.
13768 (grub_ncurses_getcolor): Likewise.
13769 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
13770 (grub_console_putchar): ... this.
13771 (grub_console_putchar): Handle argument difference.
13772 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
13773 console_init_early and console_init_lately.
13774 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
13775 * kern/misc.c (grub_puts): Removed.
13776 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
13777 (grub_vsnprintf_real): Remove str = NULL support.
13778 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
13779 * normal/charset.c (grub_utf8_to_ucs4): ... here.
13780 * kern/term.c (grub_putcode): Renamed to ...
13781 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
13782 (grub_putchar): Removed.
13783 (grub_xputs_dumb): New function.
13784 (grub_xputs): New variable.
13785 * lib/charset.c: Move from here ...
13786 * normal/charset.c: ... to here.
13787 (grub_ucs4_to_utf8): New function.
13788 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
13789 (join_types): New variable.
13790 (unpack_join): New function.
13791 (bidi_types): New variable.
13792 (unpack_bidi): New function.
13793 (get_bidi_type): Likewise.
13794 (get_join_type): Likewise.
13795 (is_mirrored): Likewise.
13796 (grub_unicode_get_comb_type): Likewise.
13797 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
13798 (is_type_after): Likewise.
13799 (grub_unicode_aglomerate_comb): Likewise.
13800 (bidi_line_wrap): Likewise.
13801 (grub_bidi_line_logical_to_visual): Likewise.
13802 (grub_bidi_logical_to_visual): Likewise.
13803 (grub_unicode_mirror_code): Likewise.
13804 (grub_unicode_shape_code): Likewise.
13805 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
13806 Don't use grub_putchar.
13807 * normal/main.c (grub_normal_init_page): Use grub_putcode.
13808 (grub_normal_reader_init): Likewise.
13809 (grub_xputs_saved): New variable.
13810 (GRUB_MOD_INIT): Set grub_xputs.
13811 (GRUB_MOD_FINI): Restore grub_xputs.
13812 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
13813 (menu_init): Avoid printing gfxmenu error.
13814 (show_menu): Use grub_normal_get_char_counter.
13815 * normal/menu_entry.c (update_screen): Fix out-of-array.
13816 (complete): Avoid NULL dereferencing.
13817 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
13818 * normal/menu_text.c (print_spaces): Removed.
13819 (grub_print_ucs4): Likewise.
13820 (grub_print_message_indented): Use grub_print_ucs4.
13821 (print_message): Use grub_putcode.
13822 (print_entry): Hanlde diacritics.
13823 * normal/term.c (term_state): New type.
13824 (grub_more_lines): Removed.
13825 (term_states): New variable.
13826 (grub_normal_line_counter): Renamed to ..
13827 (grub_normal_char_counter): ...this. All users updated.
13828 (grub_normal_get_line_counter): Renamed to ...
13829 (grub_normal_get_char_counter): ... this.
13830 (grub_normal_reset_more): New function.
13831 (process_newline): Removed.
13832 (print_more): New function.
13833 (grub_install_newline_hook): Removed.
13834 (map_code): New function.
13835 (grub_puts_terminal): Use grub_print_ucs4.
13836 (putglyph): New function.
13837 (putcode_real): Likewise.
13838 (grub_putcode): Use putcode_real.
13839 (get_maxwidth): New function.
13840 (get_startwidth): Likewise.
13841 (print_ucs4_terminal): Likewise.
13842 (find_term_state): Likewise.
13843 (put_glyphs_terminal): Likewise.
13844 (print_backlog): Likewise.
13845 (print_ucs4_real): Likewise.
13846 (grub_print_ucs4): Likewise.
13847 (grub_xputs_normal): Likewise.
13848 * term/efi/console.c (grub_console_putchar): Output diacritics.
13849 (grub_console_getcharwidth): Removed.
13850 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13851 * term/gfxterm.c (clear_char): Free chars.
13852 (scroll_up): Avoid leaking memory.
13853 (grub_gfxterm_putchar): Support diacritics.
13854 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
13855 * term/i386/pc/console.c (grub_console_term_output): Declare as
13856 GRUB_TERM_CODE_TYPE_VGA.
13857 * term/i386/pc/vga.c (grub_vga_term): Declare as
13858 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
13859 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
13860 GRUB_TERM_CODE_TYPE_VGA.
13861 * term/i386/vga_common.c (map_char): Removed.
13862 (grub_console_putchar): Likewise.
13863 (grub_console_getcharwidth): Likewise.
13864 * term/ieee1275/ofconsole.c: Simplify using terminfo.
13865 (colors): Reordered to match terminfo.
13866 (grub_ofconsole_normal_color): Removed.
13867 (grub_ofconsole_writeesc): Likewise.
13868 (grub_ofconsole_highlight_color): Likewise.
13869 (grub_ofconsole_getcharwidth): Likewise.
13870 (grub_ofconsole_setcolorstate): Likewise.
13871 (grub_ofconsole_setcolor): Likewise.
13872 (grub_ofconsole_getcolor): Likewise.
13873 (grub_ofconsole_readkey): Renamed to ...
13874 (readkey): ... this. Remove escape sequence handling. Return -1 on no
13875 key.
13876 (grub_ofconsole_checkkey): Removed.
13877 (grub_ofconsole_getkey): Likewise.
13878 (grub_ofconsole_getxy): Likewise.
13879 (grub_ofconsole_gotoxy): Likewise.
13880 (grub_ofconsole_cls): Likewise.
13881 (grub_ofconsole_refresh): Likewise.
13882 (grub_ofconsole_terminfo_input): New struct.
13883 (grub_ofconsole_terminfo_output): Likewise.
13884 (grub_ofconsole_term_input): Use terminfo.
13885 (grub_ofconsole_term_output): Likewise.
13886 (grub_console_init): Split into ...
13887 (grub_console_init_early): ...this and ...
13888 (grub_console_init_lately): ...this. Use terminfo.
13889 (grub_ofconsole_putchar): Renamed to ...
13890 (put): ... this. Remove mapping.
13891 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
13892 * term/serial.c: Simplify using terminfo.
13893 (xpos): Removed.
13894 (ypos): Likewise.
13895 (keep_track): Likewise.
13896 (registered): Likewise.
13897 (input_buf): Likewise.
13898 (npending): Likewise.
13899 (serial_translate_key_sequence): Likewise.
13900 (fill_input_buf): Likewise.
13901 (grub_serial_checkkey): Likewise.
13902 (grub_serial_getkey): Likewise.
13903 (grub_serial_getxy): Likewise.
13904 (grub_serial_gotoxy): Likewise.
13905 (grub_serial_putchar): Likewise.
13906 (grub_serial_cls): Likewise.
13907 (grub_serial_setcolorstate): Likewise.
13908 (grub_serial_setcursor): Likewise.
13909 (serial_hw_init): Use serial_hw_fetch.
13910 (grub_serial_terminfo_input): New variable.
13911 (grub_serial_terminfo_output): Likewise.
13912 (grub_serial_term_input): Use terminfo.
13913 (grub_serial_term_output): Likewise.
13914 * term/terminfo.c (putstr): Use put.
13915 (grub_terminfo_all_free): New function
13916 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
13917 (grub_terminfo_output_register): New function.
13918 (grub_terminfo_output_unregister): Likewise.
13919 (grub_terminfo_getxy): Likewise.
13920 (grub_terminfo_readkey): Likewise.
13921 (grub_terminfo_checkkey): Likewise.
13922 (grub_terminfo_getkey): Likewise.
13923 (grub_terminfo_input_init): Likewise.
13924 (print_terminfo): Likewise.
13925 (grub_cmd_terminfo): Handle encoding.
13926 (grub_terminfo_gotoxy): Track position.
13927 (grub_terminfo_cls): Likewise.
13928 (grub_terminfo_putchar): Likewise.
13929 (grub_terminfo_setcolorstate): Handle colors
13930 (grub_terminfo_cursor_on): This ...
13931 (grub_terminfo_cursor_off): ... and this merged into ...
13932 (grub_terminfo_setcursor): ... this.
13933 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
13934 * unicode/ArabicShaping.txt: New file (imported from Unicode).
13935 * unicode/BidiMirroring.txt: Likewise.
13936 * unicode/UnicodeData.txt: Likewise.
13937 * unicode/COPYING: Likewise.
13938 * util/grub-editenv.c (grub_putchar): Removed.
13939 (grub_xputs_real): New function.
13940 (grub_xputs): New variable.
13941 * util/grub-fstest.c (grub_putchar): Removed.
13942 (grub_xputs_real): New function.
13943 (grub_xputs): New variable.
13944 * util/grub-mkdevicemap.c (grub_putchar): Removed.
13945 (grub_xputs_real): New function.
13946 (grub_xputs): New variable.
13947 * util/grub-probe.c (grub_putchar): Removed.
13948 (grub_xputs_real): New function.
13949 (grub_xputs): New variable.
13950 * util/grub-script-check.c (grub_putchar): Removed.
13951 (grub_xputs_real): New function.
13952 (grub_xputs): New variable.
13953 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
13954 (grub_xputs_real): New function.
13955 (grub_xputs): New variable.
13956 * util/import_unicode.py: New file.
13957 * util/grub-mkfont.c (ft_errmsgs): New array.
13958 (grub_glyph_info): Make bitmap a pointer.
13959 (file_formats): New type WIDTH_SPEC.
13960 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
13961 (options): Add width-spec.
13962 (help): Likewise.
13963 (add_char): Renamed to ...
13964 (add_glyph): ... this.
13965 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
13966 (glyph_replace): New type.
13967 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
13968 (add_char): New function.
13969 (add_subst): Likewise.
13970 (process_cursive): Likewise.
13971 (add_font): Handle GSUB.
13972 (write_font_width_spec): New function.
13973 (main): Sort glyphs.
13974 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
13975 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
13976 * kern/term.c (grub_cls): Moved from here...
13977 * normal/term.c (grub_cls): ... here.
13978
13979 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
13980
13981 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
13982 suitable for using within the format argument of printf when
13983 converting grub_size_t.
13984 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
13985 "x" to convert grub_size_t arguments.
13986
13987 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13988
13989 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
13990 too long captions.
13991 (list_get_minimal_size): Take selection box into account.
13992
13993 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
13996 NULL font.
13997
13998 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
13999
14000 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
14001 devices when iterating over /dev/disk/by-id; they will be handled
14002 later if appropriate, which they aren't always (e.g. LVM).
14003
14004 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14005
14006 * include/grub/misc.h (grub_reboot): Declare as noreturn.
14007 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
14008 fails.
14009 (grub_halt): Likewise.
14010 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
14011 reset-all fails.
14012 (grub_halt): Don't return, even if all of shut-down, power-off, and
14013 poweroff fail.
14014
14015 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14016
14017 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
14018 arguments, not three.
14019
14020 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14021
14022 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
14023 * util/grub.d/10_linux.in: Use it to check for LVM, so that
14024 LVM-on-RAID is handled correctly.
14025
14026 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14027
14028 * docs/grub.texi (Changes from GRUB Legacy): New section.
14029 (Future): Fix typo.
14030
14031 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
14032
14033 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
14034 grub.d/README accidentally ends up executable for one reason or
14035 another. Ignore it.
14036
14037 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14038
14039 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
14040 (gpt_partition_map_iterate): Support non-512B sectors.
14041
14042 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14043
14044 * kern/efi/init.c (grub_efi_init): Disable watchdog.
14045 Tested by: Seth Goldberg.
14046
14047 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
14050 Properly align mbi.
14051 Reported by: Seth Goldberg.
14052
14053 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * util/grub-mkrescue.in: Avoid module duplication.
14056
14057 2010-07-01 Sean Finney <seanius@seanius.net>
14058
14059 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
14060
14061 2010-07-01 Sean Finney <seanius@seanius.net>
14062
14063 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
14064
14065 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * disk/lvm.c (grub_lvm_checkvalue): New function.
14068 (grub_lvm_check_flag): Likewise.
14069
14070 2010-07-01 Robert Millan <rmh@gnu.org>
14071
14072 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
14073 Support 'p' as partition separator on kernel of FreeBSD (used
14074 with GPT labels).
14075 (grub_util_biosdisk_get_grub_dev): Likewise.
14076
14077 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
14078
14079 Yeeloong firmware port.
14080
14081 * boot/mips/yeeloong/fwstart.S: New file.
14082 * bus/cs5536.c (gpiodump): New const.
14083 (set_io_space): New function.
14084 (set_iod): Likewise.
14085 (set_p2d): Likewise.
14086 (grub_cs5536_init_geode): Likewise.
14087 * commands/mips/yeeloong/lsspd.c: New file.
14088 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
14089 (serial_mod_SOURCES): New variable.
14090 (serial_mod_CFLAGS): Likewise.
14091 (serial_mod_LDFLAGS): Likewise.
14092 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
14093 term/terminfo.c and term/tparm.c.
14094 (pkglib_IMAGES): Add fwstart.img.
14095 (fwstart_img_SOURCES): New variable.
14096 (fwstart_img_CFLAGS): Likewise.
14097 (fwstart_img_ASFLAGS): Likewise.
14098 (fwstart_img_LDFLAGS): Likewise.
14099 (fwstart_img_FORMAT): Likewise.
14100 (pkglib_MODULES): Add lsspd.mod.
14101 (lsspd_mod_SOURCES): New variable.
14102 (lsspd_mod_CFLAGS): Likewise.
14103 (lsspd_mod_LDFLAGS): Likewise.
14104 (pkglib_MODULES): Add halt.mod.
14105 (halt_mod_SOURCES): New variable.
14106 (halt_mod_CFLAGS): Likewise.
14107 (halt_mod_LDFLAGS): Likewise.
14108 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
14109 (serial_mod_SOURCES): Removed.
14110 (serial_mod_CFLAGS): Likewise.
14111 (serial_mod_LDFLAGS): Likewise.
14112 * disk/ata.c (check_device): New function.
14113 (grub_ata_device_initialize): Use check_device.
14114 (grub_ata_iterate): Recheck devices.
14115 (grub_ata_open): Likewise.
14116 (grub_atapi_iterate): Likewise.
14117 (grub_atapi_open): Likewise.
14118 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
14119 (GRUB_ATA_CH1_PORT1): Likewise.
14120 (GRUB_ATA_CH0_PORT2): Likewise.
14121 (GRUB_ATA_CH1_PORT2): Likewise.
14122 * include/grub/mips/loongson.h: New file.
14123 * include/grub/mips/yeeloong/ec.h: Likewise.
14124 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
14125 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
14126 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
14127 * include/grub/misc.h (grub_halt): Declare as noreturn.
14128 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
14129 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
14130 (UART_ENABLE_FIFO_TRIGGER1): New definition.
14131 (UART_ENABLE_DTRRTS): Likewise.
14132 (UART_ENABLE_MODEM): Removed.
14133 (UART_ENABLE_OUT2): New const.
14134 * include/grub/term.h (grub_term_register_input_active): New function.
14135 (grub_term_register_output_active): Likewise.
14136 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
14137 argument.
14138 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
14139 (init_pci): New function.
14140 (grub_machine_init): Execute platform init when firmware. Init serial.
14141 (grub_halt): Implement.
14142 (grub_exit): Likewise.
14143 (grub_reboot): Likewise.
14144 * term/serial.c (serial_hw_init): Update macros.
14145 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
14146 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
14147 (image_targets): New target mipsel-yeeloong-flash.
14148 (generate_image): Support IMAGE_YEELOONG_FLASH.
14149 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
14150 (grub_video_sm712_setup): Init card.
14151 (grub_video_sm712_set_palette): Removed.
14152 * video/sm712_init.c: New file.
14153
14154 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
14155
14156 * Makefile.in (install-local): Temporarily prepend $(builddir) to
14157 PATH when running help2man and then run it on the unadorned
14158 executable names, rather than passing $(builddir)/* paths to
14159 help2man. This avoids the build directory ending up in generated
14160 manual pages.
14161
14162 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14163
14164 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
14165 to avoid accidents when debugging with 'sh -x'.
14166 * util/grub-mkrescue.in: Likewise.
14167 * util/grub.d/00_header.in: Likewise.
14168 * util/grub.d/10_hurd.in: Likewise.
14169 * util/grub.d/10_kfreebsd.in: Likewise.
14170 * util/grub.d/10_linux.in: Likewise.
14171 * util/grub.d/10_netbsd.in: Likewise.
14172 * util/grub.d/10_windows.in: Likewise.
14173 * util/grub.d/20_linux_xen.in: Likewise.
14174 * util/grub.d/30_os-prober.in: Likewise.
14175 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14176
14177 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
14178
14179 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
14180 last character in the buffer.
14181 Reported by: Vladimir Serbinenko.
14182
14183 2010-06-29 Robert Millan <rmh@gnu.org>
14184
14185 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
14186 (Command-line and menu entry commands): Document `badram' command.
14187
14188 2010-06-28 Robert Millan <rmh@gnu.org>
14189
14190 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
14191 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
14192 command using ${GRUB_BADRAM} as parameter.
14193
14194 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14195
14196 * docs/grub.texi (Device map): New section.
14197 (Themes): New section (stub).
14198 * Makefile.in (docs/grub.info): The info documentation now builds
14199 without errors. Make sure it stays that way.
14200
14201 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 Use normal parser for menu entries.
14204 Reported by: Thomas Frauendorfer
14205
14206 * include/grub/parser.h (grub_parser_execute): Don't export.
14207 * normal/menu.c (grub_menu_execute_entry_real): New function.
14208 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
14209
14210 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14211
14212 * docs/grub.texi (Embedded configuration): New section (replacing
14213 old "Preset Menu" stub).
14214 (Images): New section.
14215 (configfile): Note that any menu entries defined in `file' are shown
14216 immediately.
14217
14218 2010-06-28 Josh Triplett <josh@joshtriplett.org>
14219
14220 * mmap/i386/pc/mmap_helper.S: Set CF on return.
14221
14222 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14223
14224 * util/grub-install.in: Add --debug-image= option.
14225
14226 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14227
14228 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
14229 possible on Linux.
14230
14231 * util/deviceiter.c (check_device): Rename to ...
14232 (check_device_readable_unique): ... this. Update all callers.
14233 Maintain and check a list of which devices (by canonicalized name)
14234 have already been seen.
14235 (clear_seen_devices): New function.
14236 (compare_file_names) [__linux__]: New function.
14237 (grub_util_iterate_devices): Clear the list of seen devices on exit
14238 and (just in case) on entry.
14239 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
14240 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
14241 seen-devices list, superseded by general code in check_device.
14242
14243 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
14244
14245 * commands/cat.c (options): New variable.
14246 (grub_cmd_cat): Parse options. If the --dos option is given, print
14247 DOS-style "\r\n" line endings as simple newlines (Debian bug
14248 #586358).
14249 (GRUB_MOD_INIT): Use extcmd.
14250 (GRUB_MOD_FINI): Likewise.
14251 * docs/grub.texi (cat): Document --dos.
14252
14253 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 XEN with Linux grub-mkconfig support.
14256
14257 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
14258 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
14259 GRUB_CMDLINE_XEN_DEFAULT.
14260 * util/grub.d/20_linux_xen.in: New file.
14261
14262 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 Initialise VGA video on qemu ourselves.
14265
14266 * boot/i386/qemu/boot.S: Don't call 0xc000.
14267 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
14268 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
14269 (kernel_img_HEADERS): Add pci.h.
14270 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
14271 * configure.ac: Force unifont on qemu and yeeloong.
14272 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
14273 (grub_vga_palette_write): Use correct register.
14274 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
14275 Call grub_qemu_init_cirrus.
14276 * kern/i386/qemu/init.c: New file.
14277 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
14278
14279 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
14280
14281 2010-06-26 Pavel Roskin <proski@gnu.org>
14282
14283 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
14284 13.
14285
14286 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14287
14288 * docs/grub.texi (Simple configuration): Explain that
14289 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
14290 set to `true' to disable their respective recovery entries, not
14291 merely set.
14292
14293 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
14294
14295 Make the `source' command slightly faster.
14296
14297 * normal/main.c (grub_normal_execute): Don't re-read list files when
14298 nested.
14299
14300 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14301
14302 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
14303 field position and mask size to red fields from mode_info, not
14304 green.
14305 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
14306 Remove redundant tag->common.framebuffer_type assignment.
14307 Reported by: Seth Goldberg.
14308
14309 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
14310
14311 Sync up other versions of the Linux loader with Robert Millan's
14312 change of 2010-01-09, "Make loader output a bit more user-friendly".
14313
14314 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
14315 grub_dprintf().
14316 (grub_cmd_linux): Likewise.
14317 (grub_cmd_initrd): Likewise.
14318 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
14319 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
14320
14321 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
14322
14323 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
14324 larger than MEMORY_MAP_SIZE.
14325
14326 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
14327
14328 Fix parallel build.
14329
14330 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
14331 dependency.
14332 * script/parser.y: #include grub_script.tab.h header.
14333
14334 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14335
14336 Support >3GiB and <16MiB RAM in i386-qemu.
14337
14338 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
14339 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
14340 (grub_lower_mem): Removed.
14341 (grub_upper_mem): Likewise.
14342 (mem_size): Made static.
14343 (above_4g): New variable.
14344 (grub_machine_mmap_init): Detect small mem_size and above_4g.
14345 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
14346 support.
14347
14348 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 Cirrus 5446 and Bochs video cards support.
14351
14352 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
14353 video_bochs.mod
14354 (video_cirrus_mod_SOURCES): New variable.
14355 (video_cirrus_mod_CFLAGS): Likewise.
14356 (video_cirrus_mod_LDFLAGS): Likewise.
14357 (video_bochs_mod_SOURCES): Likewise.
14358 (video_bochs_mod_CFLAGS): Likewise.
14359 (video_bochs_mod_LDFLAGS): Likewise.
14360 * include/grub/vga.h: New file.
14361 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
14362 (grub_video_fb_set_page_t): New type.
14363 (grub_video_fb_setup): New prototype.
14364 (grub_video_fb_swap_buffers): Likewise.
14365 (grub_video_fb_get_info_and_fini): Likewise.
14366 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
14367 (CRTC_DATA_PORT): Likewise.
14368 (CRTC_CURSOR): Likewise.
14369 (CRTC_CURSOR_ADDR_HIGH): Likewise.
14370 (CRTC_CURSOR_ADDR_LOW): Likewise.
14371 (CRTC_CURSOR_DISABLE): Likewise.
14372 (update_cursor): Use grub_vga_cr_write.
14373 (grub_vga_text_setcursor): Likewise.
14374 * video/bochs.c: New file.
14375 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
14376 (palette): Likewise.
14377 (palette_size): Likewise.
14378 (framebuffer): New variable.
14379 (grub_video_fb_init): Use 'framebuffer'.
14380 (grub_video_fb_fini): Likewise.
14381 (grub_video_fb_get_info): Likewise.
14382 (grub_video_fb_get_palette): Likewise.
14383 (grub_video_fb_set_palette): Likewise.
14384 (grub_video_fb_set_viewport): Likewise.
14385 (grub_video_fb_get_viewport): Likewise.
14386 (grub_video_fb_map_color): Likewise.
14387 (grub_video_fb_map_rgb): Likewise.
14388 (grub_video_fb_map_rgba): Likewise.
14389 (grub_video_fb_unmap_color): Likewise.
14390 (grub_video_fb_unmap_color_int): Likewise.
14391 (grub_video_fb_fill_rect): Likewise.
14392 (grub_video_fb_blit_bitmap): Likewise.
14393 (grub_video_fb_blit_render_target): Likewise.
14394 (grub_video_fb_scroll): Likewise.
14395 (grub_video_fb_create_render_target): Likewise.
14396 (grub_video_fb_doublebuf_blit_init): Likewise.
14397 (grub_video_fb_set_active_render_target): Handle doublebuffering.
14398 (doublebuf_pageflipping_update_screen): New function.
14399 (doublebuf_pageflipping_init): Likewise.
14400 (grub_video_fb_setup): Likewise.
14401 (grub_video_fb_swap_buffers): Likewise.
14402 (grub_video_fb_get_info_and_fini): Likewise.
14403 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
14404 All users updated.
14405 (doublebuf_pageflipping_commit): Restructured into ...
14406 (doublebuf_pageflipping_set_page): ... this.
14407 (doublebuf_pageflipping_update_screen): Removed.
14408 (doublebuf_pageflipping_init): Likewise.
14409 (double_buffering_init): Likewise.
14410 (grub_video_vbe_setup): Use grub_video_fb_setup.
14411 (grub_video_vbe_swap_buffers): Removed.
14412 (grub_video_vbe_set_active_render_target): Likewise.
14413 (grub_video_vbe_get_active_render_target): Likewise.
14414 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
14415 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
14416 grub_video_fb_set_active_render_target and
14417 grub_video_fb_get_active_render_target.
14418 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
14419 (SEQUENCER_DATA_PORT): Likewise.
14420 (MAP_MASK_REGISTER): Likewise.
14421 (CRTC_ADDR_PORT): Likewise.
14422 (CRTC_DATA_PORT): Likewise.
14423 (START_ADDR_HIGH_REGISTER): Likewise.
14424 (START_ADDR_LOW_REGISTER): Likewise.
14425 (GRAPHICS_ADDR_PORT): Likewise.
14426 (GRAPHICS_DATA_PORT): Likewise.
14427 (READ_MAP_REGISTER): Likewise.
14428 (INPUT_STATUS1_REGISTER): Likewise.
14429 (INPUT_STATUS1_VERTR_BIT): Likewise.
14430 (get_map_mask): Use grub_vga_sr_read.
14431 (set_map_mask): Use grub_vga_sr_write.
14432 (set_read_map): Use grub_vga_gr_write.
14433 (set_start_address): Use grub_vga_cr_write.
14434 * video/sm712.c (framebuffer): Remove leftover fields.
14435
14436 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
14437
14438 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
14439 setting GRUB_VIDEO_BACKEND. Make it available as a user override
14440 instead. Replace the gfxterm backend check with a check that
14441 ${GRUB_PREFIX}/video.lst is non-empty.
14442 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
14443 again.
14444 (load_video): New generated function. Call it before loading
14445 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
14446 * util/grub.d/10_linux.in (linux_entry): Call load_video.
14447 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
14448 * docs/grub.texi (Simple configuration): Document
14449 GRUB_VIDEO_BACKEND.
14450
14451 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 Use video functions in linux and xnu loaders.
14454
14455 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
14456 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
14457 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
14458 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
14459 loader/i386/pc/linux.c.
14460 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
14461 (find_line_len): Removed.
14462 (find_framebuf): Likewise.
14463 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
14464 * loader/i386/efi/xnu.c: Removed.
14465 * loader/i386/pc/xnu.c: Moved from here...
14466 * loader/i386/xnu.c: ...here.
14467
14468 Enable priorities in video drivers.
14469
14470 * include/grub/video.h (grub_video_adapter_prio_t): New type.
14471 (grub_video_adapter): New field prio.
14472 (grub_video_register): Respect prio when inserting.
14473 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
14474 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
14475 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
14476 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
14477 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
14478 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
14479 * video/sm712.c (grub_video_sm712_adapter): Likewise.
14480
14481 Fix SDL driver ID.
14482
14483 * include/grub/video.h (grub_video_driver_id_t): New value
14484 GRUB_VIDEO_DRIVER_SDL.
14485 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
14486
14487 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14488
14489 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
14490 argument to printf.
14491 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14492
14493 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14494
14495 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
14496 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14497
14498 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14499
14500 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
14501 directly, and recommend grub-install instead.
14502 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
14503
14504 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
14505
14506 Fix i386-pc prefix handling with nested partitions (Debian bug
14507 #585068). Note that the case where the core image is booted using
14508 multiboot and relocated from its original location still requires
14509 more work.
14510
14511 * kern/i386/pc/init.c (make_install_device): If the prefix starts
14512 with "(,", fill the boot drive in between those two characters, but
14513 expect that a full partition specification including partition map
14514 names will follow.
14515 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
14516 specified, write a prefix without the drive name but including a
14517 full partition specification.
14518
14519 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
14520
14521 * util/grub-mkconfig.in: Ignore non-option arguments, for
14522 compatibility with older versions (before 2010-06-12) which did the
14523 same. In particular, this makes it easier to ship an update-grub
14524 wrapper which is compatible with that used with GRUB Legacy (Debian
14525 bug #586056).
14526
14527 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14528
14529 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
14530 for manual page generation.
14531
14532 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
14533
14534 * po/POTFILES: Remove leftover commands/handler.c.
14535
14536 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14537
14538 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
14539 left this script non-functional.
14540
14541 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
14542
14543 * docs/man/grub-emu.h2m: New file.
14544
14545 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
14546
14547 * docs/grub.texi (Commands): Document reduced command set in rescue
14548 mode.
14549 (cpuid): New section.
14550
14551 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
14552
14553 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
14554 new partition naming style.
14555 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
14556
14557 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
14558
14559 Add "-o grub.iso" like cmdline options support.
14560
14561 * util/grub-install.in: Improve cmdline option parsing.
14562 * util/grub-mkconfig.in: Likewise.
14563 * util/grub-mkrescue.in: Likewise.
14564 * util/grub-reboot.in: Likewise.
14565 * util/grub-set-default.in: Likewise.
14566 * util/i386/efi/grub-install.in: Likewise.
14567 * util/ieee1275/grub-install.in: Likewise.
14568 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14569
14570 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14571
14572 * .bzrignore: Ignore 41_custom.
14573
14574 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14575
14576 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
14577
14578 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14579
14580 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
14581 prototype declarations.
14582
14583 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
14584 generating fs, partmap, and video lists.
14585 * include/grub/fs.h (grub_fs_register): Omit prototype if
14586 GRUB_LST_GENERATOR is defined.
14587 * include/grub/partition.h (grub_partition_map_register): Likewise.
14588 * include/grub/video.h (grub_video_register): Likewise.
14589
14590 2010-06-12 Javier Martín <lordhabbit@gmail.com>
14591
14592 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
14593
14594 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
14595
14596 * util/grub-mkrescue.in: Support --xorriso argument.
14597
14598 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14599
14600 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
14601 Suggested by: Thomas Schmitt.
14602
14603 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
14606 Suggested by: Thomas Schmitt.
14607
14608 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
14609
14610 custom.cfg support.
14611
14612 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
14613 * util/grub.d/41_custom.in: New file.
14614
14615 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
14616
14617 * util/grub-mkrescue.in (make_image): Remove sh module, which has
14618 been merged back into normal.
14619
14620 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
14621
14622 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
14623 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
14624
14625 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
14626
14627 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
14628 when generating manual pages.
14629 * docs/man/grub-bin2h.h2m: New file.
14630 * docs/man/grub-editenv.h2m: New file.
14631 * docs/man/grub-fstest.h2m: New file.
14632 * docs/man/grub-install.h2m: New file.
14633 * docs/man/grub-macho2img.h2m: New file.
14634 * docs/man/grub-mkconfig.h2m: New file.
14635 * docs/man/grub-mkdevicemap.h2m: New file.
14636 * docs/man/grub-mkfont.h2m: New file.
14637 * docs/man/grub-mkimage.h2m: New file.
14638 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
14639 * docs/man/grub-mkrelpath.h2m: New file.
14640 * docs/man/grub-mkrescue.h2m: New file.
14641 * docs/man/grub-ofpathname.h2m: New file.
14642 * docs/man/grub-pe2elf.h2m: New file.
14643 * docs/man/grub-probe.h2m: New file.
14644 * docs/man/grub-reboot.h2m: New file.
14645 * docs/man/grub-script-check.h2m: New file.
14646 * docs/man/grub-set-default.h2m: New file.
14647 * docs/man/grub-setup.h2m: New file.
14648
14649 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
14650
14651 Use FOR_* macros instead of *_iterate whenever possible.
14652
14653 * commands/handler.c: Removed.
14654 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
14655 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
14656 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14657 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
14658 (grub_probe_SOURCES): Remove kern/parser.c.
14659 (util/grub-script-check.c_DEPENDENCIES): Removed.
14660 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
14661 and grub_script_check_init.c.
14662 (grub_script_check_init.lst): Removed.
14663 (grub_script_check_init.h): Likewise.
14664 (grub_script_check_init.c): Likewise.
14665 (pkglib_MODULES): Remove handler.mod and sh.mod.
14666 (handler_mod_SOURCES): Removed.
14667 (handler_mod_CFLAGS): Likewise.
14668 (handler_mod_LDFLAGS): Likewise.
14669 (normal_mod_SOURCES): Remove normal/handler.c.
14670 Add script/main.c, script/script.c, script/execute.c,
14671 script/function.c, script/lexer.c, grub_script.tab.c
14672 and grub_script.yy.c.
14673 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14674 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14675 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
14676 (grub_setup_SOURCES): Remove kern/parser.c.
14677 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14678 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
14679 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
14680 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14681 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
14682 (grub_setup_SOURCES): Remove kern/parser.c.
14683 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
14684 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
14685 * include/grub/command.h (grub_command_iterate): Removed.
14686 (FOR_COMMANDS): New macro.
14687 * include/grub/dl.h (grub_dl): New member next.
14688 (grub_dl_iterate): Removed.
14689 (grub_dl_head): New variable declaration.
14690 (FOR_DL_MODULES): New macro.
14691 * include/grub/fs.h: Include list.h.
14692 (grub_fs): Make next first element.
14693 (grub_fs_list): New variable declaration.
14694 (grub_fs_register): Make inline.
14695 (grub_fs_unregister): Likewise.
14696 (grub_fs_iterate): Removed.
14697 (FOR_FILESYSTEMS): New macro.
14698 * include/grub/handler.h: Removed.
14699 * include/grub/list.h (grub_list_hook_t): Removed.
14700 (grub_list_test_t): Likewise.
14701 (grub_list_pop): Likewise.
14702 (grub_list_iterate): Likewise.
14703 (grub_list_insert): Likewise.
14704 (FOR_LIST_ELEMENTS): New macro.
14705 * include/grub/parser.h (grub_parser_class): Removed.
14706 (grub_parser_register): Likewise.
14707 (grub_parser_unregister): Likewise.
14708 (grub_parser_get_current): Likewise.
14709 (grub_parser_set_current): Likewise.
14710 (grub_register_rescue_parser): Likewise.
14711 (grub_rescue_parse_line): New function.
14712 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
14713 * include/grub/script_sh.h (grub_script_function_list): New variable
14714 declaration.
14715 (FOR_SCRIPT_FUNCTIONS): New macro.
14716 (grub_script_function_iterate): Removed.
14717 (grub_normal_parse_line): New prototype.
14718 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
14719 (FOR_DISABLED_TERM_INPUTS): Likewise.
14720 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14721 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14722 * include/grub/video.h (grub_video_adapter): Move 'next' to first
14723 element.
14724 (grub_video_register): Inline.
14725 (grub_video_unregister): Likewise.
14726 (grub_video_adapter_list): New variable declaration.
14727 (grub_video_iterate): Removed.
14728 (FOR_VIDEO_ADAPTERS): New macro.
14729 * kern/dl.c (grub_dl_list): Removed. All users updated.
14730 (grub_dl_iterate): Removed.
14731 * kern/fs.c (grub_fs_list): Make global.
14732 (grub_fs_register): Removed.
14733 (grub_fs_unregister): Likewise.
14734 (grub_fs_iterate): Likewise.
14735 * kern/handler.c: Removed.
14736 * kern/list.c (grub_list_pop): Removed.
14737 (grub_list_iterate): Likewise.
14738 (grub_list_insert): Likewise.
14739 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
14740 (grub_prio_list_insert): Don't use grub_list_insert.
14741 * kern/main.c (grub_register_rescue_parser): Don't call
14742 grub_register_rescue_parser.
14743 * kern/parser.c (grub_parser_class): Removed.
14744 (grub_parser_execute): Use grub_rescue_parse_line.
14745 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
14746 (grub_rescue_parser): Removed.
14747 (grub_register_rescue_parser): Likewise.
14748 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
14749 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
14750 (grub_auth_check_authentication): Likewise.
14751 * normal/completion.c (iterate_command): Removed.
14752 (grub_normal_do_completion): Use FOR_COMMANDS.
14753 * normal/handler.c: Removed.
14754 * normal/main.c (read_config_file): Remove parser changing.
14755 (grub_normal_execute): Don't call read_handler_list.
14756 (grub_normal_read_line_real): Statically allocate prompt.
14757 (grub_cmdline_run): Use grub_normal_parse_line.
14758 (GRUB_MOD_FINI): Don't call free_handler_list.
14759 * normal/menu_entry.c (run): Likewise.
14760 * script/function.c (grub_script_function_list): Make global.
14761 (grub_script_function_iterate): Removed.
14762 * script/main.c (grub_normal_parse_line): Make global.
14763 (grub_sh_parser): Removed.
14764 (GRUB_MOD_INIT): Likewise.
14765 (GRUB_MOD_FINI): Likewise.
14766 * tests/lib/functional_test.c (grub_functional_test): Use
14767 FOR_LIST_ELEMENTS.
14768 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
14769 (grub_test_run): Use FOR_LIST_ELEMENTS.
14770 * tests/lib/unit_test.c (main): Likewise.
14771 * util/deviceiter.c (grub_util_iterate_devices): Don't use
14772 grub_list_pop.
14773 * util/grub-fstest.c (grub_term_input_class): Removed.
14774 (grub_term_output_class): Likewise.
14775 * util/grub-probe.c: Likewise.
14776 * util/i386/pc/grub-setup.c: Likewise.
14777 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14778 * util/grub-script-check.c (main): Don't call grub_init_all and
14779 grub_fini_all.
14780 * video/video.c (grub_video_adapter_list): Make global.
14781 (grub_video_register): Removed.
14782 (grub_video_unregister): Likewise.
14783 (grub_video_iterate): Likewise.
14784
14785 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
14788 reported by Henrique Ferreiro.
14789
14790 2010-06-09 Robert Millan <rmh@gnu.org>
14791
14792 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
14793 ones, when both are available.
14794
14795 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14796
14797 Make --version uniform and avoid hard-coded program name.
14798
14799 * util/grub-mkimage.c (main): Use `program_name' instead of
14800 hard-coded string.
14801 * util/i386/pc/grub-setup.c (main): Likewise.
14802 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
14803 * util/grub-install.in: Save the basename of $0 in $self, and use the
14804 latter in informational messages. Use the same format for --version
14805 as the binary programs.
14806 * util/grub-mkconfig.in: Likewise.
14807 * util/grub-mkrescue.in: Likewise.
14808 * util/grub-reboot.in: Likewise.
14809 * util/grub-set-default.in: Likewise.
14810 * util/i386/efi/grub-install.in: Likewise.
14811 * util/ieee1275/grub-install.in: Likewise.
14812 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14813
14814 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14815
14816 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
14817 embedding area. Use <= instead of == when checking for non-emptiness.
14818
14819 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
14820
14821 * configure.ac: Add `.' to the directories searched for unifont.
14822
14823 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
14824
14825 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
14826 grub_script.yy.h.
14827
14828 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
14829
14830 * docs/grub.texi (History): Expand to cover GRUB 2.
14831 (Serial terminal): Refer to `terminal_input' and `terminal_output'
14832 commands, not `terminal'.
14833 (serial): Likewise.
14834 (terminal_input): New section.
14835 (terminal_output): New section.
14836 (uppermem): New section (stub).
14837 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
14838
14839 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
14840
14841 * docs/grub.texi (Security): Menu entries are unrestricted by
14842 default, not restricted to superusers as I had previously thought.
14843 Reword to account for this.
14844
14845 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14846
14847 * kern/emu/misc.c (device_mapper_null_log): New function.
14848 (grub_device_mapper_supported): New function.
14849 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
14850 prototype.
14851 * kern/emu/hostdisk.c (find_partition_start): Check whether
14852 device-mapper is supported before trying to use it.
14853 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
14854
14855 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14856
14857 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
14858 (File name syntax): Likewise.
14859 (help): --all is no longer supported in GRUB 2. Be more precise
14860 about pattern matching.
14861
14862 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14863
14864 * normal/completion.c (grub_normal_do_completion): When completing
14865 arguments to "set" and the current word contains an equals sign,
14866 skip to after the equals sign before starting completion.
14867
14868 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14869
14870 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
14871
14872 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14873
14874 * docs/grub.texi (Network): New section.
14875 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
14876 `(nd)' as in GRUB Legacy.
14877 (pxe_unload): New section.
14878
14879 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14880
14881 * docs/grub.texi (Troubleshooting): `echo' is not usually available
14882 in the rescue shell, so recommend using `set' instead. Thanks,
14883 Jordan Uggla.
14884
14885 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14886
14887 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
14888 (password): New section.
14889 (password_pbkdf2): New section.
14890 (search): New section.
14891 (Security): New section.
14892 (Troubleshooting): New section, currently very incomplete.
14893 (Invoking grub-mkpasswd-pbkdf2): New section.
14894 (Internals): New section, currently very incomplete.
14895
14896 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14897
14898 * util/grub.d/00_header.in: Add some more quoting (of
14899 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
14900 work again.
14901 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
14902
14903 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
14904
14905 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
14906 to `count', fixing variable shadowing that broke the -c option.
14907
14908 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
14909
14910 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
14911 in case they contain spaces.
14912
14913 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
14914
14915 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
14916 "part_" to partmap module names, in line with grub-install.
14917 Reported by: Jindřich Makovička (Debian bug #584426).
14918
14919 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
14920
14921 * util/grub-mkimage.c: Make target-related error messages slightly
14922 more helpful; -O talks about "format". Explicitly point to the use
14923 of -O if no target is specified.
14924 Reported by: Didier Raboud (Debian bug #584415).
14925
14926 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
14927
14928 * INSTALL: Document several build requirements for optional features
14929 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
14930
14931 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
14932
14933 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
14934 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
14935 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
14936
14937 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
14938
14939 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
14940 Thanks to Jordan Uggla for spotting this.
14941
14942 2010-06-02 Aleš Nesrsta <starous@volny.cz>
14943
14944 Finally make USB usable.
14945
14946 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
14947 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
14948 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
14949 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
14950 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
14951 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
14952 (GRUB_OHCI_FSMPS): Likewise.
14953 (GRUB_OHCI_PERIODIC_START): Likewise.
14954 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
14955 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
14956 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
14957 (GRUB_OHCI_SET_PORT_RESET): Likewise.
14958 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
14959 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
14960 (grub_ohci_transaction): Likewise.
14961 (grub_ohci_transfer): Improve condition detection algorithms.
14962 Handle toggle property. Program the transactions correctly.
14963 Improve error handling. Various important fixups.
14964 (grub_ohci_portstatus): Put register writes in right order.
14965 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
14966 (grub_uhci_transfer): Don't show "failed" message on success.
14967 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
14968 array.
14969 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
14970 determine its size.
14971 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
14972 before initialization is completed. Use IN direction for empty
14973 transfers. Use last_trans and compute toggle.
14974 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
14975 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
14976 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
14977 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
14978 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
14979 (grub_usb_device): Increase toggle to 256.
14980 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
14981 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
14982 GRUB_USBMS_SUBCLASS_SFF8070.
14983 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
14984 (grub_scsi_inquiry): New member page and alloc_length.
14985 (grub_scsi_request_sense): New structure.
14986 (grub_scsi_request_sense_data): Likewise.
14987 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
14988 control.
14989 * disk/scsi.c (grub_scsi_request_sense): New function.
14990 (grub_scsi_test_unit_ready): Likewise.
14991 (grub_scsi_inquiry): Fill new fields.
14992 (grub_scsi_read_capacity): Likewise.
14993 (grub_scsi_read10): Add request sense at the end.
14994 (grub_scsi_read12): Likewise.
14995 (grub_scsi_write10): Likewise.
14996 (grub_scsi_write12): Likewise.
14997 (grub_scsi_open): Add Test Unit Ready.
14998 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
14999 Support additional subclasses. Con't clear halt yet. Activate the
15000 proper config. Calculate LUNs correctly.
15001 (grub_usbms_transfer): Various important fixups.
15002
15003 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15004
15005 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
15006 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
15007 (grub_ohci_fini_hw): New function.
15008 (grub_ohci_restore_hw): Likewise.
15009 (GRUB_MOD_INIT(ohci)): Register preboot hook.
15010 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
15011 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
15012
15013 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 Dedicated DMA allocations.
15016
15017 * bus/pci.c (grub_memalign_dma32): New function
15018 (grub_dma_free): Likewise.
15019 (grub_dma_get_virt): Likewise.
15020 (grub_dma_get_phys): Likewise.
15021 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
15022 (grub_ohci_pci_iter): Use dma32_alloc.
15023 (grub_ohci_transfer): Likewise.
15024 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
15025 (grub_usb_bulk_readwrite): Likewise.
15026 * include/grub/pci.h: Add declarations.
15027
15028 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
15029
15030 CS5536 support.
15031
15032 * bus/cs5536.c: New file.
15033 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
15034 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
15035 (cs5536_mod_SOURCES): New variable.
15036 (cs5536_mod_CFLAGS): Likewise.
15037 (cs5536_mod_LDFLAGS): Likewise.
15038 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
15039 machine/pci.h.
15040 (kernel_img_SOURCES): Add bus/cs5536.c.
15041 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
15042 usb_keyboard.mod.
15043 (usb_mod_SOURCES): New variable.
15044 (usb_mod_CFLAGS): New variable.
15045 (usb_mod_LDFLAGS): New variable.
15046 (usbtest_mod_SOURCES): New variable.
15047 (usbtest_mod_CFLAGS): New variable.
15048 (usbtest_mod_LDFLAGS): New variable.
15049 (ohci_mod_SOURCES): New variable.
15050 (ohci_mod_CFLAGS): New variable.
15051 (ohci_mod_LDFLAGS): New variable.
15052 (usbms_mod_SOURCES): New variable.
15053 (usbms_mod_CFLAGS): New variable.
15054 (usbms_mod_LDFLAGS): New variable.
15055 (usb_keyboard_mod_SOURCES): New variable.
15056 (usb_keyboard_mod_CFLAGS): New variable.
15057 (usb_keyboard_mod_LDFLAGS): New variable.
15058 * include/grub/smbus.h: New file.
15059 * include/grub/cs5536.h: New file.
15060
15061 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15062
15063 * util/grub.d/00_header.in: Add safety check to make sure that
15064 ${locale_dir} exists before trying to probe it.
15065
15066 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15067
15068 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
15069 per the GNU Coding Standards; this is now too obscure to be worth
15070 documenting.
15071 (QNX): Likewise.
15072 (chainloader): Remove cross-reference to `SCO UnixWare'.
15073
15074 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15075
15076 * docs/grub.texi (Chain-loading): New section.
15077 (DOS/Windows): New section, borrowed from GRUB Legacy with details
15078 adjusted for GRUB 2.
15079 (SCO UnixWare): Likewise.
15080 (QNX): Likewise.
15081 (chainloader): Add reference to `Block list syntax'.
15082 (drivemap): New section.
15083 (parttool): New section.
15084
15085 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15086
15087 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
15088 the grub shell'.
15089 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
15090 (Installing GRUB using grub-install): Remove reference to the grub
15091 shell; mention `grub-mkimage' and `grub-setup' instead.
15092 (Invoking grub-install): Likewise.
15093 (Interface): Add reference to `Menu entry editor'.
15094 (serial): Remove `--device' option.
15095
15096 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15097
15098 * docs/grub.texi (Configuration): New section, documenting
15099 configuration file generation using grub-mkconfig. I've left a slot
15100 for documenting the full shell scripting format but have not yet
15101 started on writing that up.
15102 (Invoking grub-mkconfig): New section.
15103
15104 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15105
15106 * docs/grub.texi (direntry): Remove grub-terminfo reference.
15107 (GNU GRUB manual): Likewise.
15108 (General commands): Update description of `terminfo' for GRUB 2.
15109
15110 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15111
15112 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
15113 (GRUB_MOD_INIT): Fix capitalisation.
15114 * docs/grub.texi (Command-line and menu entry commands): Document
15115 gettext and gptsync commands.
15116
15117 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
15118
15119 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
15120 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
15121
15122 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
15123
15124 Add btrfs probing support, currently only in the single-device case.
15125
15126 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
15127 function.
15128 (grub_guess_root_device): Call find_root_device_from_mountinfo
15129 before looking in /dev.
15130
15131 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15132
15133 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
15134 GRUB_DISK_SIZE_UNKNOWN.
15135 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
15136
15137 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
15138
15139 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
15140 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
15141 corrupted or not synced properly.
15142
15143 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
15146 Reported by: Seth Goldberg.
15147
15148 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
15151 addition of dest.
15152 Reported by: Seth Goldberg.
15153
15154 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15155
15156 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
15157 Reported by: Seth Goldberg.
15158
15159 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
15162 64-bit address as signed on MIPS.
15163
15164 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15165
15166 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
15167 to the empty string.
15168
15169 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
15170
15171 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
15172
15173 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
15174 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
15175 * kern/misc.c (__enable_execute_stack): Disable on
15176 GRUB_MACHINE_EMU.
15177
15178 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
15179
15180 Make grub-probe work with symbolic links under /dev/mapper as well
15181 as with real block devices. The Linux world seems to be (at best)
15182 in transition here, and GRUB shouldn't get caught in the middle.
15183
15184 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
15185 /dev/mapper.
15186
15187 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15188
15189 * util/grub-script-check.c (main): Ensure defined behaviour on empty
15190 input files (in which case exit zero).
15191
15192 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15193
15194 * kern/emu/misc.c (canonicalize_file_name): realpath can still
15195 return NULL for various reasons even if it has a maximum-length
15196 buffer: for example, there might be a symlink loop, or the path
15197 might exceed PATH_MAX. If this happens, return NULL.
15198
15199 2010-05-27 Robert Millan <rmh@gnu.org>
15200
15201 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
15202 partmap module to handle cross-partmap setups.
15203 Reported by Orestes Mas. Gràcies!
15204
15205 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
15206
15207 * util/grub-mkrescue.in: Initialise override_dir rather than
15208 assuming that it's unset or empty in the environment.
15209
15210 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
15211
15212 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
15213 variable index into p_index to suppress a warning with -Wshadow.
15214
15215 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
15216
15217 * INSTALL: Added flex >= 2.5.35 requirement.
15218
15219 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
15222
15223 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 cmostest support.
15226
15227 * commands/i386/cmostest.c: New file.
15228 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
15229 (cmostest_mod_SOURCES): New variable.
15230 (cmostest_mod_CFLAGS): Likewise.
15231 (cmostest_mod_LDFLAGS): Likewise.
15232 * conf/i386-pc.rmk: Likewise.
15233 * docs/grub.texi (Vendor power-on keys): New section.
15234 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
15235 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
15236 and GRUB_BUTTON_CMOS_ADDRESS.
15237 * util/grub.d/00_header.in: Handle powering-on by separate button.
15238
15239 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15240
15241 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
15242 Removed drawing_scrollbar argument. All users updated
15243 Fixes #29792.
15244 Reported by Jo Shields
15245
15246 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15247
15248 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
15249 buffer since gfxterm handles double repaint.
15250
15251 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
15252
15253 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
15254 * term/gfxterm.c (real_scroll): Likewise.
15255
15256 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15257
15258 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
15259 before calling BIOS.
15260
15261 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15262
15263 * include/grub/i18n.h: Always enable grub_gettext.
15264
15265 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
15268 partition naming style.
15269
15270 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
15271
15272 * util/grub-mkconfig.in: Fix handling of -o so that it works when
15273 not the first option.
15274
15275 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15276
15277 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
15278
15279 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
15280
15281 * util/misc.c: Move inclusion of <limits.h> to ...
15282 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
15283
15284 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
15285
15286 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
15287 Fix merge error in NetBSD code.
15288 (find_partition_start) [__NetBSD__]: Likewise.
15289
15290 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
15291
15292 Fix grub-mkrescue usage unit testing.
15293
15294 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
15295
15296 2010-05-18 Christian Franke <franke@computer.org>
15297
15298 * util/grub.d/10_windows.in: Use path names instead of
15299 drive letters to prevent warning from Cygwin 1.7.
15300 Add drivemap command to menuentry if needed.
15301
15302 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
15303
15304 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
15305 gnumach and gnumach.gz.
15306
15307 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * include/grub/i18n.h (gettext): Inline instead of using #define.
15310 (grub_gettext): Likewise.
15311 (_): Likewise.
15312
15313 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
15316 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
15317 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
15318 (main): Add a slash after pkglibdirroot.
15319
15320 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * util/grub-install.in: Add missing "in" keyword.
15323
15324 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
15327 Reported by: Seth Goldberg.
15328
15329 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
15332
15333 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15334
15335 * configure.ac: Check for Linux device-mapper support.
15336
15337 * util/hostdisk.c (device_is_mapped): New function.
15338 (find_partition_start): New function, partly broken out from
15339 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
15340 device-mapper support added.
15341 (linux_find_partition): Use find_partition_start.
15342 (convert_system_partition_to_system_disk): Add `st' argument.
15343 Support Linux /dev/mapper/* devices if device-mapper support is
15344 available; only DM-RAID devices are understood at present.
15345 (find_system_device): Add `st' argument. Pass it to
15346 convert_system_partition_to_system_disk.
15347 (grub_util_biosdisk_get_grub_dev): Pass stat result to
15348 find_system_device and convert_system_partition_to_system_disk. Use
15349 find_partition_start.
15350
15351 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
15352 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
15353 * util/deviceiter.c [__linux__]: Define MINOR.
15354 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
15355 * util/mkdevicemap.c (grub_putchar): New function.
15356 (grub_getkey): New function.
15357 (grub_refresh): New function.
15358 (main): Set debug=all if -v -v is used.
15359
15360 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15361
15362 Fix build with non-GNU libcs.
15363
15364 * util/misc.c (canonicalize_file_name): Move to ...
15365 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
15366 grub_make_system_path_relative_to_its_root.
15367
15368 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
15369
15370 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
15371 we handle finding grub-mkimage. Default to finding grub-mkimage in
15372 ${bindir} with program_transform_name applied, and provide a
15373 --grub-mkimage option to override this.
15374
15375 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 Remove grub-mkisofs.
15378
15379 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
15380 (grub_mkisofs_SOURCES): Removed.
15381 (grub_mkisofs_CFLAGS): Removed.
15382 * util/mkisofs/defaults.h: Removed.
15383 * util/mkisofs/eltorito.c: Likewise.
15384 * util/mkisofs/exclude.h: Likewise.
15385 * util/mkisofs/hash.c: Likewise.
15386 * util/mkisofs/include/: Likewise.
15387 * util/mkisofs/include/fctldefs.h: Likewise.
15388 * util/mkisofs/include/mconfig.h: Likewise.
15389 * util/mkisofs/include/prototyp.h: Likewise.
15390 * util/mkisofs/include/statdefs.h: Likewise.
15391 * util/mkisofs/iso9660.h: Likewise.
15392 * util/mkisofs/joliet.c: Likewise.
15393 * util/mkisofs/match.c: Likewise.
15394 * util/mkisofs/match.h: Likewise.
15395 * util/mkisofs/mkisofs.c: Likewise.
15396 * util/mkisofs/mkisofs.h: Likewise.
15397 * util/mkisofs/msdos_partition.h: Likewise.
15398 * util/mkisofs/multi.c: Likewise.
15399 * util/mkisofs/name.c: Likewise.
15400 * util/mkisofs/rock.c: Likewise.
15401 * util/mkisofs/tree.c: Likewise.
15402 * util/mkisofs/write.c: Likewise.
15403
15404 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
15405
15406 Unify grub-mkimage accross platforms.
15407
15408 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
15409 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
15410 (grub_mkelfimage_SOURCES): Removed.
15411 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
15412 (util/grub-mkimage.c_DEPENDENCIES): .. this.
15413 (bin_UTILITIES): Add grub-mkimage.
15414 (grub_mkimage_SOURCES): New variable.
15415 (kernel_img_HEADERS): Remove machine/kernel.h.
15416 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
15417 (pkglib_PROGRAMS): Add kernel.img.
15418 (kernel_img_HEADERS): Add machine/kernel.h.
15419 (kernel_img_FORMAT): Removed.
15420 (bin_UTILITIES): Remove grub-mkimage.
15421 (grub_mkimage_SOURCES): Removed.
15422 (grub_mkimage_CFLAGS): Likewise.
15423 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15424 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
15425 (pkglib_PROGRAMS): Add kernel.img.
15426 (bin_UTILITIES): Remove grub-mkimage.
15427 (grub_mkimage_SOURCES): Removed.
15428 (grub_mkimage_CFLAGS): Likewise.
15429 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15430 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
15431 (pkglib_PROGRAMS): Add kernel.img.
15432 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
15433 (pkglib_PROGRAMS): Add kernel.img.
15434 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
15435 (grub_mkimage_SOURCES): Removed.
15436 (grub_mkimage_CFLAGS): Likewise.
15437 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15438 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
15439 (pkglib_PROGRAMS): Add kernel.img.
15440 (bin_UTILITIES): Remove grub-mkimage.
15441 (grub_mkimage_SOURCES): Removed.
15442 (grub_mkimage_CFLAGS): Likewise.
15443 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15444 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
15445 (grub_mkimage_SOURCES): Removed.
15446 (grub_mkimage_CFLAGS): Likewise.
15447 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
15448 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
15449 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
15450 (grub_pe32_optional_header): ... this.
15451 (grub_pe64_optional_header): ... and this. All users updated.
15452 (GRUB_PE32_PE32_MAGIC): Split into ..
15453 (GRUB_PE32_PE32_MAGIC): .. this.
15454 (GRUB_PE32_PE64_MAGIC): .. and this.
15455 (GRUB_PE32_SIGNATURE_SIZE): New definition.
15456 * include/grub/elf.h (PT_GNU_STACK): New definition.
15457 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
15458 * include/grub/i386/efi/kernel.h: Likewise.
15459 * include/grub/i386/kernel.h: Likewise.
15460 * include/grub/i386/pc/kernel.h: Likewise.
15461 * include/grub/i386/qemu/boot.h: Likewise.
15462 * include/grub/mips/kernel.h: Likewise.
15463 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15464 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
15465 * include/grub/powerpc/kernel.h: Likewise.
15466 * include/grub/sparc64/ieee1275/boot.h: Likewise.
15467 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
15468 * include/grub/sparc64/kernel.h: Likewise.
15469 * include/grub/x86_64/efi/kernel.h: Likewise.
15470 * include/grub/x86_64/kernel.h: Likewise.
15471 * include/grub/offsets.h: New file.
15472 * include/grub/kernel.h (grub_module_info): Split into ...
15473 (grub_module_info32): ... this.
15474 (grub_module_info64): ... and this.
15475 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
15476 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
15477 (grub_boot_blocklist): Moved from here ...
15478 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
15479 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
15480 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
15481 * include/grub/types.h (grub_target_to_host16): Removed.
15482 (grub_target_to_host32): Likewise.
15483 (grub_target_to_host64): Likewise.
15484 (grub_host_to_target16): Likewise.
15485 (grub_host_to_target32): Likewise.
15486 (grub_host_to_target64): Likewise.
15487 (grub_host_to_target_addr): Likewise.
15488
15489 Support grub-mkrescue for efi, coreboot and qemu.
15490
15491 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
15492 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
15493 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
15494 * util/grub-mkrawimage.c: Moved from here ...
15495 * util/grub-mkimage.c: ... here. All users updated.
15496 (ALIGN_ADDR): Use image_target.
15497 (TARGET_NO_FIELD): New const.
15498 (image_target_desc): New type.
15499 (image_targets): New array.
15500 (grub_target_to_host64): Use image_target.
15501 (grub_target_to_host32): Likewise.
15502 (grub_target_to_host16): Likewise.
15503 (grub_host_to_target64): Likewise.
15504 (grub_host_to_target32): Likewise.
15505 (grub_host_to_target16): Likewise.
15506 (grub_host_to_target_addr): Likewise.
15507 (generate_image): Handle multiimage.
15508 (main): Require -O parameter. All users updated.
15509 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
15510 util/efi/grub-mkimage.c
15511 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
15512 New option --rom-directory.
15513 Use xorriso.
15514 * util/i386/efi/grub-mkimage.c: Removed.
15515 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
15516 (grub_target_to_host32): Likewise.
15517 (grub_target_to_host64): Likewise.
15518 (grub_host_to_target16): Likewise.
15519 (grub_host_to_target32): Likewise.
15520 (grub_host_to_target64): Likewise.
15521 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
15522 (grub_target_to_host32): Likewise.
15523 (grub_target_to_host64): Likewise.
15524 (grub_host_to_target16): Likewise.
15525 (grub_host_to_target32): Likewise.
15526 (grub_host_to_target64): Likewise.
15527
15528 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
15529
15530 Source tree is reorganized for emu build.
15531
15532 * include/grub/util/console.h: Move from here...
15533 * include/grub/emu/console.h: ...to here.
15534 * include/grub/util/getroot.h: Move from here...
15535 * include/grub/emu/getroot.h: ...to here.
15536 * include/grub/util/hostdisk.h: Move from here...
15537 * include/grub/emu/hostdisk.h: ...to here.
15538 * util/console.c: Move from here...
15539 * kern/emu/console.c: ...to here.
15540 * util/getroot.c: Move from here...
15541 * kern/emu/getroot.c: ...to here.
15542 * util/grub-emu.c: Move from here...
15543 * kern/emu/main.c: ...to here.
15544 * util/hostdisk.c: Move from here...
15545 * kern/emu/hostdisk.c: ...to here.
15546 * util/hostfs.c: Move from here...
15547 * kern/emu/hostfs.c: ...to here.
15548 * util/mm.c: Move from here...
15549 * kern/emu/mm.c: ...to here.
15550 * util/pci.c: Move from here...
15551 * bus/emu/pci.c: ...to here.
15552 * util/sdl.c: Move from here...
15553 * video/emu/sdl.c: ...to here.
15554 * util/time.c: Move from here...
15555 * kern/emu/time.c: ...to here.
15556 * util/usb.c: Move from here...
15557 * bus/usb/emu/usb.c: ...to here.
15558
15559 * include/grub/emu/misc.h: New header for grub-emu functions.
15560 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
15561
15562 * conf/any-emu.rmk: Rule updates for above renames.
15563 * conf/common.rmk: Likewise.
15564 * conf/i386-pc.rmk: Likewise.
15565 * conf/i386-qemu.rmk: Likewise.
15566 * conf/mips.rmk: Likewise.
15567 * conf/sparc64-ieee1275.rmk: Likewise.
15568 * conf/x86-efi.rmk: Likewise.
15569
15570 * disk/lvm.h: #include updates for above renames.
15571 * util/grub-mkrelpath.c: Likewise.
15572 * util/grub-probe.c: Likewise.
15573 * util/i386/pc/grub-setup.c: Likewise.
15574 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15575 * kern/emu/console.c: Likewise.
15576 * kern/emu/getroot.c: Likewise.
15577 * kern/emu/hostdisk.c: Likewise.
15578 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
15579
15580 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
15581 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
15582 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
15583 * util/misc.c: Remove grub-emu functions.
15584
15585 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 Fix gfxmenu crash.
15588 Reported by: Thorsten Grützmacher.
15589
15590 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
15591 timeout hook.
15592 (circprog_set_property): Register and unregister timeout hook.
15593 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
15594 (label_destroy): Free template. and unregister hook.
15595 (label_set_state): New function.
15596 (label_set_property): Handle templates and hooks.
15597 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
15598 timeout hook.
15599 (progress_bar_set_property): Register and unregister timeout hook.
15600 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
15601 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
15602 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
15603 (update_timeout_visit): Removed.
15604 (update_timeouts): New function.
15605 (redraw_timeouts): Likewise.
15606 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
15607 (grub_gfxmenu_clear_timeout): Likewise.
15608 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
15609 (grub_gfxmenu_timeout_notify): Likewise.
15610 (grub_gfxmenu_timeout_notifications): New external variable.
15611 (grub_gfxmenu_timeout_register): New function.
15612 (grub_gfxmenu_timeout_unregister): Likewise.
15613
15614 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
15615
15616 Transform (broken) vga terminal into (working) vga video driver.
15617
15618 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
15619 video/i386/pc/vga.c.
15620 * include/grub/video.h (grub_video_driver_id):
15621 Add GRUB_VIDEO_DRIVER_VGA.
15622 * term/i386/pc/vga.c: Renamed to ...
15623 * video/i386/pc/vga.c: ...this
15624 (DEBUG_VGA): Removed.
15625 (CHAR_WIDTH): Likewise.
15626 (CHAR_HEIGHT): Likewise.
15627 (TEXT_WIDTH): Likewise.
15628 (TEXT_HEIGHT): Likewise.
15629 (DEFAULT_FG_COLOR): Likewise.
15630 (DEFAULT_BG_COLOR): Likewise.
15631 (colored_char): Likewise.
15632 (xpos): Likewise.
15633 (ypos): Likewise.
15634 (cursor_state): Likewise.
15635 (fg_color): Likewise.
15636 (bg_color): Likewise.
15637 (text_buf): Likewise.
15638 (page): Likewise.
15639 (font): Likewise.
15640 (framebuffer): New variable.
15641 (set_read_map): Disabled.
15642 (setup): New variable.
15643 (is_target): Likewise.
15644 (grub_vga_mod_init): Likewise.
15645 (grub_vga_mod_fini): Likewise.
15646 (check_vga_mem): Likewise.
15647 (write_char): Likewise.
15648 (write_cursor): Likewise.
15649 (scroll_up): Likewise.
15650 (grub_vga_putchar): Likewise.
15651 (grub_vga_getcharwidth): Likewise.
15652 (grub_vga_getwh): Likewise.
15653 (grub_vga_getxy): Likewise.
15654 (grub_vga_gotoxy): Likewise.
15655 (grub_vga_cls): Likewise.
15656 (grub_vga_setcolorstate): Likewise.
15657 (grub_vga_setcursor): Likewise.
15658 (grub_video_vga_init): New function.
15659 (grub_video_vga_setup): Likewise.
15660 (grub_video_vga_fini): Likewise.
15661 (update_target): Likewise.
15662 (grub_video_vga_blit_bitmap): Likewise.
15663 (grub_video_vga_blit_render_target): Likewise.
15664 (grub_video_vga_set_active_render_target): Likewise.
15665 (grub_video_vga_get_active_render_target): Likewise.
15666 (grub_video_vga_swap_buffers): Likewise.
15667 (grub_video_vga_set_palette): Likewise.
15668 (grub_video_vga_get_info_and_fini): Likewise.
15669 (grub_vga_term): Removed.
15670 (grub_video_vga_adapter): New variable.
15671 (GRUB_MOD_INIT): Register a video driver instead of terminal.
15672 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
15673
15674 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15675
15676 * video/readers/jpeg.c: Indented.
15677
15678 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 Various jpeg cleanups.
15681
15682 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
15683 (grub_jpeg_decode_quan_table): Use sizeof.
15684 (grub_jpeg_decode_du): Use ARRAY_SIZE.
15685
15686 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
15687
15688 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
15689 tables. Ignore non-last ac bit.
15690 (grub_jpeg_decode_quan_table): Likewise.
15691
15692 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
15695 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
15696 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15697 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
15698 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
15699 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
15700
15701 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15702
15703 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
15704 error.
15705
15706 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
15709
15710 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15711
15712 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
15713 condition.
15714
15715 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
15718 part.
15719
15720 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
15723 pointers.
15724
15725 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
15728
15729 2010-05-01 Christian Franke <franke@computer.org>
15730
15731 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
15732 Remove broken Cygwin path conversion.
15733 * util/misc.c: [__CYGWIN__] Add include and define.
15734 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
15735 for Cygwin 1.7.
15736 (make_system_path_relative_to_its_root): Simplify loop, replace early
15737 return by break.
15738 [__CYGWIN__] Add conversion to win32 path.
15739 Include "/" case in trailing slash removal.
15740
15741 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 * kern/main.c (grub_load_config): Fix copy-pasted comment.
15744 Reported by: Seth Goldberg
15745
15746 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15747
15748 * commands/help.c (grub_cmd_help): Fix a typo.
15749 Reported by: Seth Goldberg
15750
15751 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
15754 name and add N_.
15755 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
15756 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
15757 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
15758 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
15759 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
15760 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
15761 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15762 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15763 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15764 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15765 * normal/context.c (GRUB_MOD_INIT): Likewise.
15766 * normal/main.c (GRUB_MOD_INIT): Likewise.
15767 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15768 * term/serial.c (GRUB_MOD_INIT): Likewise.
15769 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15770
15771 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
15774 extra == 0.
15775
15776 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * commands/iorw.c: New file.
15779 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
15780 (iorw_mod_SOURCES): New variable.
15781 (iorw_mod_CFLAGS): Likewise.
15782 (iorw_mod_LDFLAGS): Likewise.
15783
15784 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15785
15786 Hotkey support
15787
15788 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
15789 * normal/main.c (hotkey_aliases): New variable.
15790 (grub_normal_add_menu_entry): Parse "--hotkey".
15791 * normal/menu_text.c (run_menu): Handle hotkeys.
15792
15793 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * kern/i386/coreboot/init.c (grub_machine_init): Call
15796 grub_machine_mmap_init on qemu.
15797
15798 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * boot/i386/qemu/boot.S: Add a missing .code16.
15801
15802 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 Use LBIO on coreboot.
15805
15806 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
15807 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
15808 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
15809 New declaration.
15810 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
15811 grub_machine_mmap_init on coreboot.
15812 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
15813 GRUB_LINUXBIOS_MEMBER_LINK.
15814 (grub_machine_mmap_iterate): Fix declaration.
15815 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
15816
15817 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15818
15819 Split coreboot and multiboot ports.
15820
15821 * conf/i386-multiboot.rmk: New file.
15822 * configure.ac: Add multiboot port.
15823 * include/grub/i386/multiboot/boot.h: New file.
15824 * include/grub/i386/multiboot/console.h: Likewise.
15825 * include/grub/i386/multiboot/init.h: Likewise.
15826 * include/grub/i386/multiboot/kernel.h: Likewise.
15827 * include/grub/i386/multiboot/loader.h: Likewise.
15828 * include/grub/i386/multiboot/memory.h: Likewise.
15829 * include/grub/i386/multiboot/serial.h: Likewise.
15830 * include/grub/i386/multiboot/time.h: Likewise.
15831 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
15832 * loader/multiboot.c: Likewise.
15833 * loader/multiboot_mbi2.c: Likewise.
15834 * util/grub-mkrescue.in: Generate multiboot rescue.
15835
15836 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15837
15838 * kern/parser.c (grub_parser_execute): Cope with read-only config.
15839
15840 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 Merge handling of input and output terminals. Fix a hang.
15843
15844 * commands/terminal.c (abstract_terminal): New struct.
15845 (handle_command): New function. Based on grub_cmd_terminal_input.
15846 (grub_cmd_terminal_input): Use handle_command.
15847 (grub_cmd_terminal_output): Use handle_command.
15848
15849 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
15850
15851 Fix comment handling.
15852
15853 * tests/grub_script_comments.in: New testcase.
15854 * conf/tests.rmk: Rules for new testcase.
15855 * script/yylex.l: Updated flex rules.
15856
15857 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
15858
15859 * docs/grub.texi (play): Document that zero pitches produce rests.
15860 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
15861 if argc is 1.
15862
15863 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
15864
15865 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
15866 autogen issues.
15867
15868 2010-04-26 Christian Franke <franke@computer.org>
15869
15870 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
15871 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
15872 (grub_get_prefix): Remove function.
15873 * util/grub-emu.c (main): Replace grub_get_prefix () call by
15874 make_system_path_relative_to_its_root ().
15875 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15876
15877 2010-04-24 Christian Franke <franke@computer.org>
15878
15879 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
15880 (kernel_img_LDFLAGS): Remove -static-libgcc.
15881
15882 2010-04-24 Christian Franke <franke@computer.org>
15883
15884 * configure.ac: Do not CHECK_BSS_START_SYMBOL
15885 and CHECK_END_SYMBOL if grub-emu is built.
15886 Unset TARGET_OBJ2ELF if grub-emu is built
15887 without module support.
15888
15889 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
15890
15891 Nilfs2 support.
15892
15893 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
15894 (grub_fstest_SOURCES): Likewise.
15895 (pkglib_MODULES): Add nilfs2.mod.
15896 (nilfs2_mod_SOURCES): New variable.
15897 (nilfs2_mod_CFLAGS): Likewise.
15898 (nilfs2_mod_LDFLAGS): Likewise.
15899 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15900 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
15901 * fs/nilfs2.c: New file.
15902
15903 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
15906 is not supported.
15907
15908 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
15909
15910 Add grub-mkconfig support for NetBSD.
15911
15912 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
15913 * util/grub-mkconfig.in: export new NetBSD specific variables.
15914 * po/POTFILES-shell: added 10_netbsd.in.
15915 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
15916
15917 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
15918
15919 Fix emu build with grub-emu-pci and grub-emu-modules.
15920
15921 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
15922 functions.
15923 * include/grub/libpciaccess.h: New file.
15924 * conf/any-emu.rmk: Update kernel headers for emu build.
15925
15926 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15927
15928 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
15929
15930 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
15931
15932 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
15933
15934 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
15937 Retrieve chosen/bootpath if bootpath isn't hardcoded.
15938 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
15939 util/ieee1275/ofpath.c.
15940 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
15941 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
15942 * include/grub/sparc64/ieee1275/boot.h
15943 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
15944 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
15945 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
15946 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
15947 const char *.
15948 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
15949 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
15950 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
15951 install.
15952
15953 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
15954
15955 * util/grub-mkconfig.in: Corrected two == equality tests.
15956 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
15957 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
15958 expect a number appended to it.
15959 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
15960 expects a number appended to it.
15961
15962 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15963
15964 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
15965
15966 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
15967
15968 * util/hostdisk.c (make_device_name): Change to new partition naming.
15969
15970 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
15973
15974 2010-04-17 Christian Franke <franke@computer.org>
15975
15976 * Makefile.in: Add missing localedir setting.
15977
15978 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
15979
15980 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
15981 mistake in r2156. Noticed by Anthony Fok.
15982
15983 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
15984 @localedir@.
15985 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
15986
15987 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
15988
15989 Fix a spurious, uninitialized variable warning.
15990
15991 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
15992 Initialize variable, shdr.
15993 (grub_freebsd_load_elfmodule): Likewise.
15994 (grub_freebsd_load_elf_meta): Likewise.
15995
15996 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
15997
15998 Fix for escaped dollar in double quoted strings.
15999
16000 * script/yylex.l: Updated flex rules.
16001 * conf/tests.rmk: Rule for new testcase.
16002 * tests/grub_script_dollar.in: New testcase.
16003
16004 2010-04-13 Carles Pina i Estany <carles@pina.cat>
16005 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
16006
16007 Enclose all translated strings in grub.cfg in single quotes, and
16008 escape them appropriately (Ubuntu bug #552921).
16009
16010 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
16011 * util/grub.d/10_hurd.in: Use it.
16012 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16013 * util/grub.d/10_linux.in (linux_entry): Likewise.
16014
16015 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16016
16017 Fix cygwin compilation.
16018
16019 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
16020 * include/grub/misc.h (__register_frame_info)
16021 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
16022 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16023 * kern/misc.c (__register_frame_info)
16024 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
16025 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
16026
16027 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
16030
16031 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 Unify libgcc processing.
16034
16035 * Makefile.in (kernel_img_LDFLAGS): New variable.
16036 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
16037 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
16038 overwriting.
16039 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
16040 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
16041 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
16042 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
16043 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
16044 overwriting. Remove -lgcc and -static-libgcc
16045 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
16046 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16047 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
16048 (kernel_img_LDFLAGS): Append instead of overwriting.
16049 Remove -lgcc and -static-libgcc
16050 * conf/sparc64-ieee1275.rmk: Likewise.
16051 * include/grub/powerpc/libgcc.h: Move to ...
16052 * include/grub/libgcc.h: .. this.
16053 * include/grub/libgcc.h: Don't export most of the function on x86.
16054 (__bswapsi2): New export.
16055 (__bswapdi2): Likewise.
16056 * include/grub/mips/libgcc.h: Removed.
16057 * include/grub/sparc64/libgcc.h: Likewise.
16058
16059 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16060
16061 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
16062 disk_info_msg (conflicts with gettexting into languages with cases).
16063
16064 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
16065
16066 Add grub-probe support for NetBSD.
16067
16068 * util/getroot.c (find_root_device): Convert block device to
16069 character device on NetBSD.
16070 * util/probe.c (probe): Require character device on NetBSD.
16071 * util/hostdisk.c: NetBSD specific headers.
16072 (configure_device_driver): new function to tune device driver
16073 parameters (currently only for NetBSD floppy driver).
16074 (grub_util_biosdisk_open): NetBSD specific code (get disk size
16075 via disklabel ioctl).
16076 (open_device): call configure_device_driver on NetBSD.
16077 (convert_system_partition_to_system_disk): NetBSD specific code.
16078 (device_is_wholedisk): Likewise.
16079 (grub_util_biosdisk_get_grub_dev): Likewise.
16080 (make_device_name): Fixed a typo in bsd_part_str.
16081 * configure.ac: check for opendisk() and getrawpartition() on
16082 NetBSD and set LIBUTIL.
16083 * Makefile.in: add LIBUTIL to LIBS.
16084
16085 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16086
16087 Documentation fix.
16088
16089 * util/grub-script-check.c: Better help message.
16090
16091 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
16092
16093 Fix FreeBSD build.
16094
16095 * configure.ac: Flex version check.
16096 * conf/common.rmk: Add -Wno-error to sh.mod.
16097 * script/yylex.l: Remove all #pragma.
16098
16099 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * include/grub/util/misc.h (canonicalise_file_name): Add missing
16102 prototype.
16103 Reported by: Seth Goldberg.
16104
16105 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
16108 Rename "module" to "module2".
16109 Reported by: Seth Goldberg.
16110
16111 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16112
16113 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
16114 EXPORT_FUNC.
16115 Reported by: Seth Goldberg.
16116
16117 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * lib/posix_wrap/locale.h: Add missing file.
16120 Reported by: Seth Goldberg.
16121
16122 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 grub-emu module load support.
16125
16126 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
16127 NO_DYNAMIC_MODULES switched to this.
16128 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
16129 (CFLAGS): Likewise.
16130 * conf/any-emu.rmk: Generate symlist.
16131 (kernel_img_HEADERS): Add util/datetime.h.
16132 (kernel_img_HEADERS) [sdl]: Add sdl.h.
16133 (kernel_img_HEADERS) [libusb]: Add libusb.h.
16134 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
16135 kern/$(target_cpu)/cache.S.
16136 * configure.ac (grub-emu-modules): New option.
16137 * genmk.rb: Handle multiple source lists.
16138 * include/grub/sdl.h: New file.
16139 * include/grub/libusb.h: Likewise.
16140 * util/grub-emu.c (main): Hanle (host) root.
16141 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
16142 GRUB_ERR_UNKNOWN_DEVICE.
16143 * util/misc.c: Move mm functions to ...
16144 * util/mm.c: ... here. All users updated.
16145
16146 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16147
16148 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
16149 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
16150 missing files.
16151 (maintainer-clean): Remove libgcrypt-grub.
16152
16153 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16154
16155 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
16156
16157 2010-04-09 EFI Coder <eficoder@hotmail.com>
16158
16159 * normal/menu_text.c (print_message): Clean up the message and show
16160 the Fn information when on EFI
16161 * term/efi/console.c (grub_console_checkkey): Add F4 support.
16162
16163 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16164
16165 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
16166 All users updated.
16167 * normal/crypto.c (read_crypto_list): Likewise.
16168 * normal/dyncmd.c (read_command_list): Likewise.
16169 * normal/term.c (read_terminal_list): Likewise.
16170 * normal/main.c (read_lists): Use explicit prefix.
16171 (read_lists_hook): Use read_lists.
16172 (grub_normal_execute): Likewise.
16173
16174 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16175
16176 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
16177 Reported by: Thomas Schmitt.
16178 Add -no-emul-boot to grub-mkisofs parameters.
16179
16180 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16181
16182 * font/font.c: Indented.
16183
16184 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16185
16186 Elif support to GRUB script (by Deepak Vankadaru).
16187
16188 * tests/grub_script_if.in: New testcase.
16189 * conf/tests.rmk: Rule for new testcase.
16190 * script/parser.y: Grammar rules for elif.
16191
16192 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
16193
16194 While and until loops support to GRUB script.
16195
16196 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
16197 (grub_script_create_cmdwhile): New function prototype.
16198 (grub_script_execute_cmdwhile): New function prototype.
16199 * script/execute.c (grub_script_execute_cmdwhile): New function.
16200 * script/parser.y (command): New commands.
16201 (whilecmd): New grammar rule.
16202 (untilcmd): New grammar rule.
16203 * script/script.c (grub_script_create_cmdwhile): New function.
16204 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
16205 function.
16206
16207 * tests/grub_script_while1.in: New testcase.
16208 * conf/tests.rmk: Rule for new testcase.
16209
16210 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16211
16212 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
16213 as *.jpg.
16214
16215 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
16216
16217 GRUB_BACKGROUND support.
16218
16219 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
16220 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
16221
16222 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16223
16224 Load fonts and modules for gfxmenu in grub-mkconfig.
16225 Idea by: Mario Vazquez
16226
16227 * util/grub.d/00_header.in: Load pf2 and image modules.
16228
16229 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16230
16231 grub-mkconfig multiple terminal support.
16232
16233 * util/grub-mkconfig.in: Handle multiple terminals correctly.
16234 * util/grub.d/00_header.in: Likewise.
16235
16236 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 * Makefile.in: Specify files explicitly instead of using $< and $@ since
16239 we use cd $(srcdir).
16240
16241 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
16242
16243 * util/grub.d/10_linux.in: Only use the first word of
16244 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
16245 spaces in GRUB_DISTRIBUTOR.
16246 * util/grub.d/10_kfreebsd.in: Likewise.
16247 * util/grub.d/10_hurd.in: Likewise.
16248
16249 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
16250
16251 Fix unit testing framework for Qemu 0.12.
16252
16253 * tests/util/grub-shell.in: Remove -serial stdio option.
16254
16255 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 POSIX header file wrappers.
16258
16259 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
16260 equivalents.
16261 * lib/posix_wrap/ctype.h: Likewise.
16262 * lib/posix_wrap/errno.h: Likewise.
16263 * lib/posix_wrap/langinfo.h: Likewise.
16264 * lib/posix_wrap/limits.h: Likewise.
16265 * lib/posix_wrap/localcharset.h: Likewise.
16266 * lib/posix_wrap/stdint.h: Likewise.
16267 * lib/posix_wrap/stdio.h: Likewise.
16268 * lib/posix_wrap/stdlib.h: Likewise.
16269 * lib/posix_wrap/string.h: Likewise.
16270 * lib/posix_wrap/sys/types.h: Likewise.
16271 * lib/posix_wrap/unistd.h: Likewise.
16272 * lib/posix_wrap/wchar.h: Likewise.
16273 * lib/posix_wrap/wctype.h: Likewise.
16274 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
16275 (grub_script.yy.h): Likewise.
16276 * script/yylex.l: Remove POSIX emulation #defines.
16277 * Makefile.in (POSIX_CFLAGS): New variable.
16278 (GNULIB_UTIL_CFLAGS): Likewise.
16279
16280 Regexp support.
16281
16282 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
16283 (regexp_mod_SOURCES): New variable.
16284 (regexp_mod_CFLAGS): Likewise.
16285 (regexp_mod_LDFLAGS): Likewise.
16286 * commands/regexp.c: New file.
16287 * gnulib/regcomp.c: New file. Imported from gnulib.
16288 * gnulib/regex.c: Likewise.
16289 * gnulib/regex_internal.c: Likewise.
16290 * gnulib/regex_internal.h: Likewise.
16291 * gnulib/regexec.c: Likewise.
16292 * gnulib/regex.h: Likewise.
16293
16294 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
16297 unsupported video mode types.
16298
16299 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16300
16301 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
16302
16303 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
16306 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
16307
16308 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 Remove unused grub_vga_get_font.
16311
16312 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
16313 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
16314
16315 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16316
16317 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
16318 * include/grub/misc.h: Likewise.
16319
16320 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16321
16322 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
16323 for which failure is fatal.
16324
16325 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16326
16327 * util/grub-install.in: Use mkdir -p to create grub directory.
16328 * util/i386/efi/grub-install.in: Likewise.
16329 * util/ieee1275/grub-install.in: Likewise.
16330
16331 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16332
16333 * Makefile.in (LEX): new variable.
16334
16335 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
16336
16337 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
16338 `=' and added double quotes on operands of this equality test.
16339
16340 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * Makefile.in (uninstall): Remove a leftover debug echo.
16343 Reported by: Grégoire Sutre
16344
16345 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 MIPS multiboot2 support.
16348
16349 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
16350 (multiboot2_mod_SOURCES): New variable.
16351 (multiboot2_mod_CFLAGS): Likewise.
16352 (multiboot2_mod_LDFLAGS): Likewise.
16353 (multiboot2_mod_ASFLAGS): Likewise.
16354 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
16355 definition.
16356 (MULTIBOOT_ENTRY_REGISTER): Likewise.
16357 (MULTIBOOT_MBI_REGISTER): Likewise.
16358 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
16359 (MULTIBOOT_ELF32_MACHINE): Likewise.
16360 (MULTIBOOT_ELF64_MACHINE): Likewise.
16361 * include/grub/mips/multiboot.h: New file.
16362 * include/grub/video.h (grub_video_driver_id): New type
16363 GRUB_VIDEO_DRIVER_SM712.
16364 (grub_video_get_info_and_fini): Export.
16365 (grub_video_get_palette): Likewise.
16366 (grub_video_get_driver_id): Likewise.
16367 * include/multiboot2.h: Resynced with spec.
16368 * loader/i386/multiboot.c: Moved from here ...
16369 * loader/multiboot.c: ... here. All users updated.
16370 (grub_multiboot_boot): Use platform-specific macros.
16371 * loader/i386/multiboot_elfxx.c: Moved from here ...
16372 * loader/multiboot_elfxx.c: ... here. All users updated.
16373 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
16374 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
16375 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
16376
16377 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 Import gnulib argp module.
16380
16381 * gnulib/argp-ba.c: New file.
16382 * gnulib/argp-eexst.c: Likewise.
16383 * gnulib/argp-fmtstream.c: Likewise.
16384 * gnulib/argp-fmtstream.h: Likewise.
16385 * gnulib/argp-fs-xinl.c: Likewise.
16386 * gnulib/argp-help.c: Likewise.
16387 * gnulib/argp-namefrob.h: Likewise.
16388 * gnulib/argp-parse.c: Likewise.
16389 * gnulib/argp-pin.c: Likewise.
16390 * gnulib/argp-pv.c: Likewise.
16391 * gnulib/argp-pvh.c: Likewise.
16392 * gnulib/argp-version-etc.c: Likewise.
16393 * gnulib/argp-version-etc.h: Likewise.
16394 * gnulib/argp-xinl.c: Likewise.
16395 * gnulib/argp.h: Likewise.
16396
16397 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 * kern/device.c (grub_device_iterate): Clear errors after failed
16400 opening device.
16401
16402 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
16403
16404 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
16405 returned by firmware.
16406
16407 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
16410 compilation on coreboot and qemu
16411
16412 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16413
16414 * include/multiboot2.h: Resync with spec.
16415
16416 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
16417
16418 Multiboot2 tag support
16419
16420 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
16421 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16422 Remove loader/multiboot_loader.c.
16423 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
16424 (grub_multiboot2_real_boot): Likewise.
16425 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
16426 (grub_get_multiboot_mmap_count): New proto.
16427 (grub_fill_multiboot_mmap): Likewise.
16428 (grub_multiboot_set_video_mode): Likewise.
16429 (grub_multiboot_set_console): Likewise.
16430 (grub_multiboot_load): Likewise.
16431 (grub_multiboot_load_elf): Likewise.
16432 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
16433 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
16434 * include/multiboot.h: Resynced with specification.
16435 * include/multiboot2.h: Resynced with specification.
16436 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
16437 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
16438 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
16439 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
16440 users updated.
16441 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
16442 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
16443 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
16444 Removed.
16445 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
16446 Moved from here...
16447 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
16448 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
16449 Moved from here...
16450 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
16451 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
16452 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
16453 All users updated.
16454 * loader/i386/multiboot_mbi2.c: New file.
16455
16456 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16457
16458 Resync with gnulib.
16459
16460 * Makefile.in (GNULIB_CFLAGS): New variable.
16461 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
16462 (grub_script_check_CFLAGS): New variable.
16463 * gnulib/alloca.h: Resync with gnulib.
16464 * gnulib/error.c: Likewise.
16465 * gnulib/error.h: Likewise.
16466 * gnulib/fnmatch.c: Likewise.
16467 * gnulib/fnmatch_loop.c: Likewise.
16468 * gnulib/getdelim.c: Likewise.
16469 * gnulib/getline.c: Likewise.
16470 * gnulib/getopt.c: Likewise.
16471 * gnulib/getopt1.c: Likewise.
16472 * gnulib/getopt_int.h: Likewise.
16473 * gnulib/gettext.h: Likewise.
16474 * gnulib/progname.c: Likewise.
16475 * gnulib/progname.h: Likewise.
16476
16477 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
16478
16479 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
16480 which is the case with --disabled-nls.
16481
16482 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
16483 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
16484 * util/misc.c: Likewise.
16485 * util/mkisofs/mkisofs.c: Likewise.
16486 * util/mkisofs/mkisofs.h: Likewise.
16487
16488 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 Simplify Apple CC support.
16491
16492 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
16493 Add 0 byte at the end not to have a symbol with empty target.
16494 * mmap/i386/pc/mmap_helper.S: Likewise.
16495 * genmk.rb: Ignore errors 2030 and 2050.
16496 * kern/i386/pc/startup.S: Use LOCAL when possible.
16497
16498 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
16499
16500 Testcase and the fix for final semicolon on cmdline.
16501
16502 * tests/grub_script_final_semicolon.in: New testcase.
16503 * conf/tests.rmk: Rules for the new testcase.
16504 * script/parser.y: Grammar fix.
16505
16506 2010-03-26 BVK Chaitanya <bvk@localhost>
16507
16508 Blank lines testcase for GRUB script.
16509
16510 * tests/grub_script_blanklines.in: New testcase.
16511 * conf/tests.rmk: Rules for the new testcase.
16512
16513 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16514
16515 Don't use __FILE__.
16516
16517 * genmk.rb: Add -DGRUB_FILE to all C targets.
16518 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
16519 * include/grub/list.h: Likewise.
16520 * include/grub/misc.h: Likewise.
16521 * include/grub/mm.h: Likewise.
16522 * include/grub/test.h: Likewise.
16523 * kern/mm.c: Likewise.
16524 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
16525
16526 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16527
16528 Sunpc partitions support.
16529
16530 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
16531 (grub_fstest_SOURCES): Likewise.
16532 (pkglib_MODULES): Add part_sunpc.mod.
16533 (part_sunpc_mod_SOURCES): New variable.
16534 (part_sunpc_mod_CFLAGS): Likewise.
16535 (part_sunpc_mod_LDFLAGS): Likewise.
16536 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
16537 * partmap/sunpc.c: New file.
16538
16539 2010-03-26 BVK Chaitanya <bvk@localhost>
16540
16541 For loop support to GRUB script.
16542
16543 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
16544 (grub_script_create_cmdfor): New function prototype.
16545 (grub_script_execute_cmdfor): New function prototype.
16546 * script/execute.c (grub_script_execute_cmdfor): New function.
16547 * script/parser.y (command): New for command.
16548 (forcmd): New grammar rule.
16549 * script/script.c (grub_script_create_cmdfor): New function.
16550 * util/grub-script-check.c (grub_script_execute_cmdfor): New
16551 function.
16552 * tests/grub_script_for1.in: New testcase.
16553 * conf/tests.rmk: Rules for new testcase.
16554
16555 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
16556
16557 Nested partitions
16558
16559 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
16560 'partition' is NULL, grub_partition_get_start already does that.
16561 * commands/loadenv.c (check_blocklists): Likewise.
16562 (write_blocklists): Likewise.
16563 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
16564 (grub_fstest_SOURCES): Likewise.
16565 (pkglib_MODULES): Add part_bsd.mod.
16566 (part_bsd_mod_SOURCES): New variable.
16567 (part_bsd_mod_CFLAGS): Likewise.
16568 (part_bsd_mod_LDFLAGS): Likewise.
16569 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
16570 (grub_emu_SOURCES): Likewise.
16571 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16572 * include/grub/bsdlabel.h: New file.
16573 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
16574 'get_name'.
16575 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
16576 (grub_partition_map_list): New variable.
16577 (grub_partition_map_register): Inline.
16578 (grub_partition_map_unregister): Likewise.
16579 (FOR_PARTITION_MAPS): New macro.
16580 (grub_partition_map_iterate): Removed.
16581 (grub_partition_get_start): Handle nested partitions.
16582 * include/grub/msdos_partition.h: Remove bsd-related entries.
16583 (grub_pc_partition): Remove.
16584 * kern/disk.c (grub_disk_close): Free partition data.
16585 (grub_disk_adjust_range): Handle nested partitions.
16586 * kern/partition.c (grub_partition_map_probe): New function.
16587 (grub_partition_probe): Parse name to number, handle subpartitions.
16588 (get_partmap): New function.
16589 (grub_partition_iterate): Handle subpartitions.
16590 (grub_partition_get_name): Likewise.
16591 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
16592 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
16593 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
16594 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
16595 Set 'number'.
16596 (acorn_partition_map_probe): Remove.
16597 (acorn_partition_map_get_name): Likewise.
16598 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
16599 Set 'number'.
16600 Set 'index' to 0 since there can be only one partition entry per sector.
16601 (amiga_partition_map_probe): Remove.
16602 (amiga_partition_map_get_name): Likewise.
16603 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
16604 Set 'number'.
16605 Set 'offset' and 'index' to real positions of partitions.
16606 (apple_partition_map_probe): Remove.
16607 (apple_partition_map_get_name): Likewise.
16608 * partmap/bsdlabel.c: New file.
16609 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
16610 Set 'number'.
16611 Allocate 'data' so it can be correctly freed.
16612 Set 'index' to offset inside sector.
16613 (gpt_partition_map_probe): Remove.
16614 (gpt_partition_map_get_name): Likewise.
16615 * partmap/msdos.c (grub_partition_parse): Remove.
16616 (pc_partition_map_iterate): Don't force raw access.
16617 Set 'number'.
16618 Make 'ext_offset' a local variable.
16619 (pc_partition_map_probe): Remove.
16620 (pc_partition_map_get_name): Remove.
16621 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
16622 Set 'number'.
16623 (sun_partition_map_probe): Remove.
16624 (sun_partition_map_get_name): Likewise.
16625 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
16626 (grub_pcpart_type): Likewise.
16627 * util/hostdisk.c (open_device): Handle new numbering scheme.
16628 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
16629 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
16630 * util/grub-probe.c (probe_partmap): Handle nested paritions.
16631 * util/grub-install.in: Insert all subpartition modules.
16632 * util/ieee1275/grub-install.in: Likewise.
16633
16634 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
16635
16636 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
16637 grammar.
16638
16639 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
16640
16641 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
16642
16643 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
16644
16645 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
16646 match where 'make install' puts them.
16647 * util/i386/efi/grub-install.in: Likewise.
16648
16649 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
16650
16651 * .bzrignore: Add gentrigtables, grub-script-check,
16652 grub_script_check_init.c, grub_script_check_init.h, and
16653 trigtables.c.
16654
16655 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * kern/parser.c: Indented.
16658
16659 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16660
16661 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
16662
16663 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
16664
16665 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
16666 alpha_mask_size == 0 case.
16667
16668 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
16669
16670 GRUB shell lexer and parser improvements.
16671
16672 * conf/any-emu.rmk: Build rule updates.
16673 * conf/common.rmk: Likewise.
16674 * conf/i386-coreboot.rmk: Likewise.
16675 * conf/i386-efi.rmk: Likewise.
16676 * conf/i386-ieee1275.rmk: Likewise.
16677 * conf/i386-pc.rmk: Likewise.
16678 * conf/powerpc-ieee1275.rmk: Likewise.
16679 * conf/x86_64-efi.rmk: Likewise.
16680
16681 * configure.ac: Configure check for flex.
16682
16683 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
16684 types.
16685 (grub_lexer_param): Struct member updates.
16686 (grub_parser_param): Likewise.
16687 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
16688 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
16689 (grub_script_lexer_init): Prototype update.
16690 (grub_script_lexer_record_start): Likewise.
16691 (grub_script_lexer_record_stop): Likewise.
16692 (grub_script_lexer_yywrap): New function prototype.
16693 (grub_script_lexer_fini): Likewise.
16694 (grub_script_execute_argument_to_string): Removed by...
16695 (grub_script_execute_argument_to_argv): ...better version.
16696
16697 * script/execute.c (ROUND_UPTO): New macro.
16698 (grub_script_execute_cmdline): Out of memory fixes.
16699 (grub_script_execute_menuentry): Likewise.
16700 (grub_script_execute_argument_to_string): Removed. Update all
16701 users by...
16702 (grub_script_execute_argument_to_argv): ...better version.
16703 * script/function.c (grub_script_function_create): Use
16704 grub_script_execute_argument_to_argv instead of
16705 grub_script_execute_argument_to_string.
16706
16707 * script/lexer.c (check_varstate): Removed.
16708 (check_textstate): Removed.
16709 (grub_script_lexer_record_start): Likewise.
16710 (grub_script_lexer_record_stop): Likewise.
16711 (recordchar): Replaced with...
16712 (grub_script_lexer_record): ...new function.
16713 (nextchar): Removed.
16714 (grub_script_lexer_init): Rewritten.
16715 (grub_script_yylex): Rewritten.
16716 (append_newline): New function.
16717 (grub_script_lexer_yywrap): New function.
16718 (grub_script_lexer_fini): New function.
16719 (grub_script_yyerror): Sets error flag.
16720
16721 * script/yylex.l: New file.
16722 (grub_lexer_yyfree): Wrapper for flex yyffre.
16723 (grub_lexer_yyalloc): Likewise.
16724 (grub_lexer_yyrealloc): Likewise.
16725 * script/parser.y: Refactored.
16726
16727 * script/script.c (grub_script_arg_add): Out of memory fixes.
16728 (grub_script_add_arglist): Likewise.
16729 (grub_script_create_cmdline): Likewise.
16730 (grub_script_create_cmdmenu): Likewise.
16731 (grub_script_add_cmd): Likewise.
16732 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
16733 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
16734 unnecessary code.
16735
16736 * tests/grub_script_echo1.in: New testcase.
16737 * tests/grub_script_vars1.in: New testcase.
16738 * tests/grub_script_echo_keywords.in: New testcase.
16739
16740 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 Remove some redundancy in build system.
16743
16744 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
16745 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
16746 (TARGET_LDFLAGS): Add -nostdlib.
16747 (TARGET_IMG_LDFLAGS): Likewise.
16748 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
16749 anything since mmap isn't available.
16750 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
16751 Add util/time.c.
16752 (pkglib_MODULES): Remove reboot.mod.
16753 (reboot_mod_SOURCES): Removed.
16754 (reboot_mod_CFLAGS): Likewise.
16755 (reboot_mod_LDFLAGS): Likewise.
16756 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
16757 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
16758 (DEFSYMFILES): Add kernel_syms.lst.
16759 (kernel_img_HEADERS): Add common headers.
16760 (symlist.c): New target.
16761 (kernel_syms.lst): Likewise.
16762 (pkglib_MODULES): Add memdisk.mod.
16763 (memdisk_mod_SOURCES): New variable.
16764 (memdisk_mod_CFLAGS): Likewise.
16765 (memdisk_mod_LDFLAGS): Likewise.
16766 (pkglib_MODULES): Add reboot.mod.
16767 (reboot_mod_SOURCES): New variable.
16768 (reboot_mod_CFLAGS): Likewise.
16769 (reboot_mod_LDFLAGS): Likewise.
16770 (pkglib_MODULES): Add date.mod.
16771 (date_mod_SOURCES): New variable.
16772 (date_mod_CFLAGS): Likewise.
16773 (date_mod_LDFLAGS): Likewise.
16774 (pkglib_MODULES): Add datehook.mod.
16775 (datehook_mod_SOURCES): New variable.
16776 (datehook_mod_CFLAGS): Likewise.
16777 (datehook_mod_LDFLAGS): Likewise.
16778 (pkglib_MODULES): Add lsmmap.mod.
16779 (lsmmap_mod_SOURCES): New variable.
16780 (lsmmap_mod_CFLAGS): Likewise.
16781 (lsmmap_mod_LDFLAGS): Likewise.
16782 (pkglib_MODULES): Add boot.mod.
16783 (boot_mod_SOURCES): New variable.
16784 (boot_mod_CFLAGS): Likewise.
16785 (boot_mod_LDFLAGS): Likewise.
16786 * conf/i386-coreboot.rmk: Removed redundant parts.
16787 * conf/i386-ieee1275.rmk: Likewise.
16788 * conf/i386-pc.rmk: Likewise.
16789 * conf/mips-yeeloong.rmk: Likewise.
16790 * conf/mips.rmk: Likewise.
16791 * conf/powerpc-ieee1275.rmk: Likewise.
16792 * conf/sparc64-ieee1275.rmk: Likewise.
16793 * conf/x86_64-efi.rmk: Likewise.
16794 * conf/i386-coreboot.rmk: Moved qemu parts ..
16795 * conf/i386-qemu.rmk: ... here
16796 * conf/i386-efi.rmk: Moved common parts to...
16797 * conf/x86-efi.rmk: ... here.
16798 * conf/i386.rmk: Added modules common to all x86 variants.
16799 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
16800 * disk/memdisk.c: Remove grub/machine/kernel.h.
16801 * gensymlist.sh.in: Include symbol.h.
16802 * hook/datehook.c: Correct module name.
16803 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
16804 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
16805 * include/grub/i386/efi/serial.h: New file.
16806 * include/grub/x86_64/efi/serial.h: Likewise.
16807 * util/time.c: Likewise.
16808 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
16809
16810 2010-03-14 Colin King <colin.king@ubuntu.com>
16811 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
16812
16813 Shrink the pre-partition-table part of boot.img by eight bytes.
16814
16815 * boot/i386/pc/boot.S (ERR): New macro.
16816 (chs_mode): Use ERR.
16817 (geometry_error): Likewise.
16818 (hd_probe_error): Remove. This is only used once, so we wrwite
16819 it inline instead.
16820 (read_error): Instead of printing read_error_string, just set up
16821 %si and fall through to ...
16822 (error_message): ... this new function, also used by ERR.
16823
16824 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
16825
16826 Speed up consecutive hostdisk operations on the same device.
16827
16828 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
16829 (grub_util_biosdisk_open): Initialise disk->data.
16830 (struct linux_partition_cache): New structure.
16831 (linux_find_partition): Cache partition start positions; these are
16832 expensive to compute on every read and write.
16833 (open_device): Cache open file descriptor in disk->data, so that we
16834 don't have to reopen it and flush the buffer cache for consecutive
16835 operations on the same device.
16836 (grub_util_biosdisk_close): New function.
16837 (grub_util_biosdisk_dev): Set `close' member.
16838
16839 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
16840 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
16841 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16842 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
16843 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
16844
16845 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 Compile parts of grub-emu as modules.
16848
16849 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
16850 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
16851 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
16852 (all-local): Add $(GRUB_EMU).
16853 (install-local): Install $(GRUB_EMU).
16854 (uninstall): Uninstall $(GRUB_EMU).
16855 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
16856 * kern/dl.c: Likewise.
16857 * commands/sleep.c: Not include machine/time.h.
16858 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
16859 (COMMON_CFLAGS): Likewise.
16860 (sbin_UTILITIES): Remove grub-emu.
16861 (grub_emu_SOURCES): Removed.
16862 (kernel_img_RELOCATABLE): New variable.
16863 (pkglib_PROGRAMS): Add kernel.img.
16864 (kernel_img_SOURCES): New variable
16865 (kernel_img_CFLAGS): Likewise.
16866 (kernel_img_LDFLAGS): Likewise.
16867 (TARGET_NO_STRIP): Likewise.
16868 (TARGET_NO_DYNAMIC_MODULES): Likewise.
16869 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
16870 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
16871 (grub-emu): New target.
16872 (GRUB_EMU): New variable.
16873 * configure.ac: Whitelist -emu as possible x86_64 architecture.
16874 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
16875 * loader/xnu.c: Likewise.
16876 * include/grub/pci.h: Likewise.
16877 * genemuinit.sh: New file.
16878 * genemuinitheader.sh: Likewise.
16879 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
16880 Support TARGET_NO_DYNAMIC_MODULES.
16881 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
16882 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
16883 * disk/loopback.c: Likewise.
16884 * font/font_cmd.c: Likewise.
16885 * partmap/acorn.c: Likewise.
16886 * partmap/amiga.c: Likewise.
16887 * partmap/apple.c: Likewise.
16888 * partmap/gpt.c: Likewise.
16889 * partmap/msdos.c: Likewise.
16890 * partmap/sun.c: Likewise.
16891 * parttool/msdospart.c: Likewise.
16892 * term/gfxterm.c: Likewise.
16893 * video/bitmap.c: Likewise.
16894 * video/readers/jpeg.c: Likewise.
16895 * video/readers/png.c: Likewise.
16896 * video/readers/tga.c: Likewise.
16897 * video/video.c: Likewise.
16898 * util/grub-emu.c (read_command_list): Removed.
16899 (main): Don't call util_init_nls.
16900 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
16901 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
16902
16903 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16904
16905 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
16906 date.mod, datehook.mod.
16907 (datetime_mod_SOURCES): New variable.
16908 (datetime_mod_CFLAGS): Likewise.
16909 (datetime_mod_LDFLAGS): Likewise.
16910 (date_mod_SOURCES): Likewise.
16911 (date_mod_CFLAGS): Likewise.
16912 (date_mod_LDFLAGS): Likewise.
16913 (datehook_mod_SOURCES): Likewise.
16914 (datehook_mod_CFLAGS): Likewise.
16915 (datehook_mod_LDFLAGS): Likewise.
16916 * conf/sparc64-ieee1275.rmk: Likewise.
16917 * lib/ieee1275/datetime.c: New file.
16918
16919 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16920
16921 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
16922 (ieee1275_fb_mod_SOURCES): New variable.
16923 (ieee1275_fb_mod_CFLAGS): Likewise.
16924 (ieee1275_fb_mod_LDFLAGS): Likewise.
16925 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
16926 New proto.
16927 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
16928 (HEAP_MAX_ADDR): Likewise.
16929 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
16930 type.
16931 Correct stop condition.
16932 (grub_ieee1275_devices_iterate): New function.
16933 * video/ieee1275.c: New file.
16934
16935 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
16936
16937 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
16938
16939 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
16940 as scratch.
16941 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
16942 SCRATCH_PAD_DISKBOOT as scratch.
16943 (bootit): Pass Openfirmware pointer in %o4.
16944 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
16945 of 0x200000.
16946 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
16947 with util/grub-mkrawimage.c.
16948 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
16949 * include/grub/aout.h (AOUT_MID_SUN): New definition.
16950 (grub_aout_get_type) [GRUB_UTIL]: Removed.
16951 (grub_aout_load) [GRUB_UTIL]: Likewise.
16952 * include/grub/kernel.h (grub_modules_get_end): New proto.
16953 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
16954 (SCRATCH_PAD_BOOT): New definition.
16955 (SCRATCH_PAD_DISKBOOT): Likewise.
16956 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
16957 * include/grub/sparc64/ieee1275/ieee1275.h
16958 (grub_ieee1275_original_stack): New variable
16959 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
16960 New definition
16961 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
16962 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
16963 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
16964 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
16965 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
16966 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
16967 (grub_platform_image_format_t): New type.
16968 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
16969 * kern/main.c (grub_modules_get_end)
16970 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
16971 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
16972 (codestart): Switch stacks.
16973 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
16974 variable.
16975 (grub_heap_init): Use grub_modules_get_end.
16976 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
16977 stack.
16978 * util/grub-mkrawimage.c (generate_image): Support sparc64.
16979 (main): Likewise.
16980 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
16981
16982 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
16983
16984 * util/grub-mkrescue.in: Base ISO UUID on UTC.
16985
16986 2010-03-08 Matt Kraai <kraai@ftbfs.org>
16987
16988 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
16989 bug #559005).
16990
16991 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * genmoddep.awk: Output all missing symbols and not only first.
16994
16995 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
16996
16997 * NEWS: Put the date of 1.98 release.
16998
16999 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17000
17001 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
17002 ft2build.h.
17003
17004 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
17007 completition in the middle of string.
17008
17009 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17010
17011 * util/grub-mkrescue.in: Use mktemp with explicit template.
17012
17013 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17014
17015 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
17016
17017 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
17018
17019 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
17020 right pointer.
17021
17022 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17023
17024 Fix FreeBSD compilation.
17025
17026 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
17027 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
17028
17029 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
17030
17031 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
17032
17033 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17034
17035 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
17036
17037 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17038
17039 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
17040
17041 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
17042
17043 Support relative image path in theme file.
17044
17045 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
17046 (image_set_property): Handle theme_dir and relative path.
17047
17048 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17049
17050 * configure.ac: Alias amd64 to x86_64.
17051
17052 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17053
17054 * NEWS: mention multiboot on EFI.
17055
17056 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17057
17058 * kern/main.c (grub_load_modules): Handle errors from init functions of
17059 embeded modules.
17060
17061 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17062
17063 * normal/autofs.c (autoload_fs_module): Handle errors.
17064
17065 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17066
17067 Disable linux.mod on qemu-mips since it's not functional and leads
17068 to compilation failure.
17069
17070 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
17071 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
17072 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
17073 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
17074 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
17075 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
17076 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
17077 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
17078 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
17079 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
17080 Reported by: BVK Chaitanya
17081
17082 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
17083
17084 * INSTALL: Add gettext as a dependency and add qemu to a new section
17085 "Prerequisites for make-check".
17086
17087 2010-03-04 Christian Franke <franke@computer.org>
17088
17089 * util/grub-pe2elf.c: Add missing include "progname.h".
17090
17091 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17092
17093 * normal/crypto.c (read_crypto_list): Fix a typo.
17094 Reported by: Seth Goldberg.
17095
17096 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17097
17098 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
17099 Reported by: Seth Goldberg.
17100
17101 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17102
17103 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
17104 ascii.bitmaps.
17105
17106 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17107
17108 * genmk.rb: Remove terminal*.lst in make clean.
17109 Reported by: Seth Goldberg.
17110
17111 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
17112
17113 * util/i386/efi/grub-install.in: Copy gettext files.
17114
17115 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17116
17117 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
17118
17119 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17120
17121 Wait for user entry basing on presence of output rather than on errors.
17122
17123 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
17124 (grub_install_newline_hook): Likewise.
17125 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
17126 * normal/menu.c (show_menu): Check line_counter to determine presence
17127 of output.
17128 * normal/term.c (grub_normal_line_counter): New variable.
17129 (grub_normal_get_line_counter): New function.
17130 (grub_install_newline_hook): Likewise.
17131
17132 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17133
17134 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
17135
17136 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * configure.ac: Update version to 1.98.
17139
17140 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
17141
17142 * util/grub.d/10_linux.in (linux_entry): Don't default to
17143 gfxpayload=keep if Linux doesn't support video handover.
17144
17145 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
17146
17147 Don't compile video modules on yeeloong since video subsystem is part
17148 of kernel.
17149
17150 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
17151 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
17152 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
17153 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
17154 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
17155 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
17156 * include/grub/bitmap_scale.h: Likewise.
17157 * include/grub/bufio.h: Likewise.
17158 * include/grub/font.h: Likewise.
17159 * include/grub/gfxterm.h: Likewise.
17160 * include/grub/video.h: Likewise.
17161 * include/grub/vbe.h: Don't include video_fb.h.
17162 * video/i386/pc/vbe.c: Include video_fb.h.
17163 * commands/i386/pc/vbetest.c: Include video.h.
17164
17165 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
17166
17167 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
17168 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
17169 default entry if GRUB_SAVEDEFAULT=true. This allows using
17170 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
17171 saving a new default on every boot.
17172
17173 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * normal/crypto.c (read_crypto_list): Fix a memory leak.
17176 * normal/term.c (read_terminal_list): Likewise.
17177 * normal/main.c (grub_normal_init_page): Likewise.
17178 (grub_normal_read_line_real): Likewise.
17179
17180 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
17181
17182 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
17183 memory leak.
17184 Reported by: Seth Goldberg.
17185
17186 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
17187
17188 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
17189 duplicate declaration of `start'.
17190
17191 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17192
17193 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
17194 filename.
17195 Reported by: Georgy Buranov
17196
17197 2010-02-20 Carles Pina i Estany <carles@pina.cat>
17198
17199 * util/grub-mkrawimage.c (usage): Change string formatting to
17200 improve gettext.
17201
17202 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
17203
17204 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
17205 backspace keys.
17206
17207 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
17208
17209 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
17210 Reported by: Michael Suchanek.
17211
17212 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
17213
17214 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
17215 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
17216
17217 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 Remove any reference to non-free fonts.
17220
17221 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
17222 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
17223 uses non-free components.
17224 * font/font.c (grub_font_get_name): Remove example name.
17225 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
17226 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
17227 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
17228 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
17229
17230 2010-02-16 Georgy Buranov <gburanov@gmail.com>
17231
17232 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
17233
17234 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17235
17236 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
17237 Double divisor.
17238 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
17239 features.
17240 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
17241
17242 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 * gensymlist.sh.in: Use TARGET_CC instead of CC.
17245
17246 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17247
17248 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
17249 * docs/grub.texi (Command-line and menu entry commands): Document play
17250 command.
17251
17252 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17253
17254 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
17255 parse arguments as inline tempo and notes. Move code for playing notes
17256 to...
17257 (play): ... new function.
17258
17259 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
17260
17261 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
17262 grub_uint16_t instead of short.
17263 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
17264 disk from little endian to cpu endianness.
17265
17266 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
17267
17268 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
17269 GRUB_TICKS_PER_SECOND instead of 120.
17270
17271 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17272
17273 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
17274 escape sequence after \e.
17275
17276 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17277
17278 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
17279 non-ASCII characters.
17280
17281 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17282
17283 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
17284 set root in single quotes to prevent \, from being unescaped.
17285
17286 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17287
17288 Prevent unknown commands from stopping menuentry execution.
17289
17290 * script/execute.c (grub_script_execute_cmdline): Print error after
17291 unknown command.
17292
17293 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
17296 Reported by: Pavel Pisa.
17297
17298 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17299
17300 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
17301
17302 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17303
17304 Merge grub_ieee1275_map_physical into grub_map and rename to
17305 grub_ieee1275_map
17306
17307 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
17308 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
17309 Remove.
17310 * kern/ieee1275/openfw.c (grub_map): Rename to ...
17311 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
17312 necessary.
17313 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
17314
17315 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17316
17317 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
17318 opening and not after.
17319
17320 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17321
17322 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
17323 constants.
17324
17325 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17326
17327 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
17328 (alloc_phys): Use ALIGN_UP instead of align_addr.
17329
17330 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17331
17332 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
17333
17334 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17335
17336 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
17337
17338 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17339
17340 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
17341 verbose dprintf.
17342
17343 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 Fix over-4GiB seek on sparc64.
17346
17347 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
17348 Replace pos_i and pos_lo with pos. All users updated.
17349 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17350 New constant.
17351 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
17352 Likewise.
17353 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
17354 and pos_lo.
17355
17356 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17357
17358 * util/grub-mkrawimage.c (main): Call set_program_name.
17359
17360 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17361
17362 Properly align 64-bit targets.
17363
17364 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
17365 (generate_image): Use ALIGN_ADDR.
17366
17367 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17368
17369 Properly create cross-endian images.
17370
17371 * include/grub/types.h (grub_host_to_target_addr): New macro
17372 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
17373
17374 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
17375
17376 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
17377
17378 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17379
17380 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
17381
17382 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
17383 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
17384 (grub_linux_boot): Divide by 64K when on VESA.
17385
17386 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17387
17388 Support GRUB_GFXPAYLOAD_LINUX.
17389
17390 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
17391 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
17392
17393 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
17394
17395 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
17396 to show messages instead of discarding them.
17397 Process errors after executing command and not before. Keep old method
17398 too as precaution.
17399
17400 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
17401
17402 * configure.ac: Check for ft2build.h.
17403
17404 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17405
17406 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
17407
17408 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17409
17410 * genkernsyms.sh.in: Use TARGET_CC.
17411
17412 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
17413
17414 * NEWS: Update.
17415
17416 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17417
17418 * include/grub/multiboot2.h: Remove leftover file.
17419 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
17420 * include/grub/partition.h [GRUB_UTIL]: Likewise.
17421
17422 2010-02-07 Yves Blusseau <blusseau@zetam.org>
17423
17424 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
17425
17426 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17427
17428 Fix warnings in grub-emu when compiling with maximum warning options.
17429
17430 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
17431 (grub_arch_modules_addr): Return 0 and not NULL.
17432 * util/misc.c (ENABLE_RELOCATABLE): New definition.
17433 (xstrdup): Use newstr instead of dup.
17434 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
17435 of disk to dsk to avoid shadowing.
17436 (find_free_slot): Fix prototype.
17437 * util/getroot.c (grub_util_is_dmraid): Make static.
17438 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
17439 Add missing prototype.
17440 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
17441
17442 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17443
17444 * loader/i386/linux.c (grub_linux_setup_video): Handle error
17445 appropriately.
17446
17447 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17448
17449 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
17450 code out.
17451
17452 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
17455 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
17456 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
17457 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
17458 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
17459 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
17460
17461 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17462
17463 * include/grub/err.h (grub_err_printf): Don't export.
17464
17465 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17466
17467 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
17468
17469 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
17470
17471 * include/grub/i18n.h (grub_gettext_dummy): Removed.
17472 * kern/misc.c (grub_gettext_dummy): Make static.
17473
17474 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17475
17476 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
17477 by non-valid ones.
17478 * kern/term.c (grub_putchar): Likewise.
17479
17480 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
17483 buggy hook call and memory leak.
17484
17485 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
17488
17489 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
17492
17493 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
17496 modevar.
17497 Return grub_errno on allocation error.
17498
17499 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
17502
17503 2010-02-06 Yves Blusseau <blusseau@zetam.org>
17504
17505 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
17506 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
17507
17508 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17509
17510 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
17511 non-pxe disk.
17512 (grub_pxefs_open): Likewise.
17513
17514 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17515
17516 * util/grub.d/10_hurd.in: Add --class information to menuentries.
17517 * util/grub.d/10_kfreebsd.in: Likewise.
17518 * util/grub.d/10_linux.in: Likewise.
17519
17520 2010-02-06 Colin D Bennett <colin@gibibit.com>
17521
17522 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
17523 (gfxmenu_mod_SOURCES): New variable.
17524 (gfxmenu_mod_CFLAGS): Likewise.
17525 (gfxmenu_mod_LDFLAGS): Likewise.
17526 * include/grub/term.h (grub_term_set_current_output): Declare
17527 argument as const.
17528 * docs/gfxmenu-theme-example.txt: New file.
17529 * gfxmenu/gfxmenu.c: Likewise.
17530 * gfxmenu/gui_box.c: Likewise.
17531 * gfxmenu/gui_canvas.c: Likewise.
17532 * gfxmenu/gui_circular_progress.c: Likewise.
17533 * gfxmenu/gui_image.c: Likewise.
17534 * gfxmenu/gui_label.c: Likewise.
17535 * gfxmenu/gui_list.c: Likewise.
17536 * gfxmenu/gui_progress_bar.c: Likewise.
17537 * gfxmenu/gui_string_util.c: Likewise.
17538 * gfxmenu/gui_util.c: Likewise.
17539 * gfxmenu/icon_manager.c: Likewise.
17540 * gfxmenu/model.c: Likewise.
17541 * gfxmenu/named_colors.c: Likewise.
17542 * gfxmenu/theme_loader.c: Likewise.
17543 * gfxmenu/view.c: Likewise.
17544 * gfxmenu/widget-box.c: Likewise.
17545 * include/grub/gfxmenu_model.h: Likewise.
17546 * include/grub/gfxmenu_view.h: Likewise.
17547 * include/grub/gfxwidgets.h: Likewise.
17548 * include/grub/gui.h: Likewise.
17549 * include/grub/gui_string_util.h: Likewise.
17550 * include/grub/icon_manager.h: Likewise.
17551
17552 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17553
17554 Agglomerate scrolling in gfxterm.
17555
17556 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
17557 (grub_virtual_screen_setup): Initialise 'total_screen'.
17558 (write_char): Split to ...
17559 (paint_char): ... this ...
17560 (write_char): ... and this.
17561 (paint_char): Handle delayed scrolling.
17562 (draw_cursor): Likewise.
17563 (scroll_up): Split to ...
17564 (real_scroll): ... this ...
17565 (scroll_up): ... and this.
17566 (real_scroll): Handle multi-line scroll and draw below-the-bottom
17567 characters.
17568 (grub_gfxterm_refresh): Call real_scroll.
17569
17570 2010-02-06 Colin D Bennett <colin@gibibit.com>
17571
17572 * include/grub/misc.h (grub_iscntrl): New inline function.
17573 (grub_isalnum): Likewise.
17574 (grub_strtol): Likewise.
17575
17576 2010-02-06 Colin D Bennett <colin@gibibit.com>
17577
17578 * normal/menu_text.c (get_entry_number): Move from here ...
17579 * normal/menu.c (get_entry_number): ... moved here.
17580 * include/grub/menu.h (grub_menu_get_default_entry_index):
17581 New prototype.
17582 * normal/menu.c (grub_menu_get_default_entry_index): New function.
17583 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
17584 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
17585 (grub_menu_viewer_should_return): Likewise.
17586 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
17587 * normal/menu_text.c (run_menu): Enable menu switching.
17588 * normal/menu_viewer.c (should_return): New variable.
17589 (menu_viewer_changed): Likewise.
17590 (grub_menu_viewer_show_menu): Handle menu viewer changes.
17591 (grub_menu_viewer_should_return): New function.
17592 (menuviewer_write_hook): Likewise.
17593 (grub_menu_viewer_init): Likewise.
17594
17595 2010-02-06 Colin D Bennet <colin@gibibit.com>
17596 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17597
17598 Support for gfxterm in a window.
17599
17600 * include/grub/gfxterm.h: New file.
17601 * include/grub/video.h (struct grub_video_rect): New declaration.
17602 (grub_video_rect_t): Likewise.
17603 * term/gfxterm.c (struct grub_gfxterm_window): New type.
17604 (refcount): New variable.
17605 (render_target): Likewise.
17606 (window): Likewise.
17607 (repaint_callback): Likewise.
17608 (grub_virtual_screen_setup): Use 'render_target'.
17609 (init_window): New function.
17610 (grub_gfxterm_init_window): Likewise.
17611 (grub_gfxterm_init): Check reference counter.
17612 Use init_window.
17613 (destroy_window): New function.
17614 (grub_gfxterm_destroy_window): Likewise.
17615 (grub_gfxterm_fini): Check reference counter.
17616 Use destroy_window.
17617 (redraw_screen_rect): Restore viewport.
17618 Use 'render_target' and 'window'.
17619 Call 'repaint_callback'.
17620 (write_char): Use 'render_target'.
17621 (draw_cursor): Likewise.
17622 (scroll_up): Restore viewport.
17623 Use 'render_target' and 'window'.
17624 Call 'repaint_callback'.
17625 (grub_gfxterm_cls): Likewise.
17626 (grub_gfxterm_refresh): Use 'window'.
17627 (grub_gfxterm_set_repaint_callback): New function.
17628 (grub_gfxterm_background_image_cmd): Use 'window'.
17629 (grub_gfxterm_get_term): New function.
17630 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
17631
17632 2010-02-06 Colin D Bennett <colin@gibibit.com>
17633
17634 Bitmap scaling support.
17635
17636 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
17637 (bitmap_scale_mod_SOURCES): New variable.
17638 (bitmap_scale_mod_CFLAGS): Likewise.
17639 (bitmap_scale_mod_LDFLAGS): Likewise.
17640 * include/grub/bitmap_scale.h: New file.
17641 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
17642 (background_image_cmd_options): New variable.
17643 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
17644 (cmd): Rename and change type to ...
17645 (background_image_cmd_handle): ... this. All users updated.
17646 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
17647 * video/bitmap_scale.c: New file.
17648
17649 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17650
17651 SDL support.
17652
17653 * Makefile.in (LIBSDL): New variable.
17654 (enable_grub_emu_sdl): Likewise.
17655 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
17656 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
17657 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
17658 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
17659 * util/sdl.c: New file.
17660
17661 2010-02-06 Colin D Bennett <colin@gibibit.com>
17662 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17663
17664 Double buffering support.
17665
17666 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
17667 * include/grub/video.h: Update comment.
17668 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
17669 New type.
17670 (grub_video_fb_doublebuf_blit_init): New prototype.
17671 * term/gfxterm.c (scroll_up): Support double buffering.
17672 (grub_gfxterm_refresh): Likewise.
17673 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
17674 (grub_video_fb_doublebuf_blit_init): Likewise.
17675 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
17676 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
17677 'displayed_page', 'render_page' and 'update_screen'.
17678 (grub_video_vbe_fini): Free offscreen buffer.
17679 (doublebuf_pageflipping_commit): New function.
17680 (doublebuf_pageflipping_update_screen): Likewise.
17681 (doublebuf_pageflipping_init): Likewise.
17682 (double_buffering_init): Likewise.
17683 (grub_video_vbe_setup): Enable doublebuffering.
17684 (grub_video_vbe_swap_buffers): Implement.
17685 (grub_video_vbe_set_active_render_target): Handle double buffering.
17686 (grub_video_vbe_get_active_render_target): Likewise.
17687 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
17688 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
17689 (grub_video_vbe_enable_double_buffering): Likewise.
17690 (grub_video_vbe_swap_buffers): Use update_screen.
17691 (grub_video_set_mode): Use double buffering.
17692
17693 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17694
17695 * maintainance/gentrigtables.py: Remove.
17696 * lib/trig.c: Likewise.
17697
17698 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
17699
17700 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
17701 `trigtables.c'.
17702 (trigtables.c): New rule.
17703 (gentrigtables): Likewise.
17704 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
17705
17706 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
17707
17708 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
17709 integer constants.
17710
17711 2010-02-06 Colin D Bennet <colin@gibibit.com>
17712
17713 Trigonometry support.
17714
17715 * include/grub/trig.h: New file.
17716 * lib/trig.c: Likewise.
17717 * maintainance/gentrigtables.py: Likewise.
17718 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
17719 (trig_mod_SOURCES): New variable.
17720 (trig_mod_CFLAGS): Likewise.
17721 (trig_mod_LDFLAGS): Likewise.
17722
17723 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17724
17725 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
17726 disk devices.
17727
17728 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
17729
17730 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
17731 error.
17732
17733 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17734
17735 * util/hostdisk.c (open_device): Don't use partition device when reading
17736 before the partition.
17737 (grub_util_biosdisk_read): Don't read from partition and before the
17738 partition in single operation.
17739 (grub_util_biosdisk_write): Don't write to partition and before the
17740 partition in single operation.
17741
17742 2010-02-03 Torsten Landschoff <torsten@debian.org>
17743
17744 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17745 last sectors.
17746
17747 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
17748
17749 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
17750 CDROM reads.
17751 (grub_biosdisk_write): Refuse to write to CDROM.
17752
17753 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17754
17755 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
17756
17757 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
17758
17759 * font/font.c (find_glyph): Check that bmp_idx is available before
17760 using it.
17761 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
17762 with (font == NULL).
17763
17764 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
17765
17766 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
17767
17768 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
17769
17770 * include/grub/script_sh.h (sourcecode): Add const qualifier.
17771 * util/grub-script-check.c (getline): Fix empty lines case.
17772
17773 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
17774
17775 * Makefile.in (check): Exit with fail status when one of the tests
17776 fails.
17777 * tests/example_functional_test.c (example_test): Fix reversed assert.
17778 * tests/example_unit_test.c (example_test): Likewise.
17779
17780 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
17781
17782 * util/grub.d/10_linux.in: This script does not use any of the
17783 contents of gettext.sh, only the external command `gettext', so stop
17784 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
17785 the same prefix as GRUB.)
17786 * util/grub.d/10_kfreebsd.in: Likewise.
17787
17788 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17789
17790 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
17791 of the line.
17792
17793 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17794
17795 * kern/disk.c (grub_disk_read): Fix offset computation when reading
17796 last sectors.
17797
17798 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
17799
17800 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
17801 having a 4KiB and not 32KiB buffer size.
17802
17803 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17804
17805 * util/hostfs.c: Include `<errno.h>'.
17806 (grub_hostfs_read): Handle errors from fseeko() and fread().
17807
17808 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17809
17810 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
17811 loop when using read hooks on files whose size isn't sector-aligned.
17812
17813 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17814
17815 Remove unused parameter.
17816
17817 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
17818 (grub_iso9660_open): Remove initialization of `data->length'.
17819
17820 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
17821
17822 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
17823 memleak conditions.
17824
17825 2010-01-27 Carles Pina i Estany <carles@pina.cat>
17826
17827 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
17828 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
17829
17830 2010-01-26 Carles Pina i Estany <carles@pina.cat>
17831
17832 * util/bin2h.c (usage): Fix warning (space after backslash).
17833
17834 2010-01-26 Carles Pina i Estany <carles@pina.cat>
17835
17836 * font/font.c: Include `grub/fontformat.h.
17837 Remove font file format constants.
17838 (grub_font_load): Use the new macros.
17839 * include/grub/fontformat.h: New file.
17840 * util/grub-mkfont.c: Include `grub/fontformat.c'.
17841 (write_font_pf2): Use the new macros.
17842
17843 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17844
17845 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
17846 does.
17847
17848 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
17849
17850 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
17851
17852 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
17853 (_start): Macroify `0x7F'.
17854
17855 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
17856 (make_install_device): Use "(pxe)" as fallback prefix when booting
17857 via PXE.
17858
17859 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
17860
17861 * configure.ac: Reset LIBS after check for libgcc symbols.
17862
17863 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
17864
17865 * util/hostdisk.c (open_device): Add trailing newline to debug
17866 message.
17867
17868 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
17869
17870 * configure.ac: Check for `limits.h'.
17871 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
17872
17873 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
17874
17875 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
17876 capitalize error strings.
17877
17878 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
17879
17880 * util/grub.d/10_hurd.in: Add a recovery mode.
17881
17882 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
17883
17884 * configure.ac: Check for libgcc symbols with -nostdlib.
17885
17886 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
17887
17888 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
17889
17890 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17891
17892 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
17893 stack since heap may be unavailable at that point.
17894 (grub_ofconsole_gotoxy): Likewise.
17895
17896 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17897
17898 * configure.ac: Check for _restgpr_14_x.
17899 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
17900 and _savegpr_* prototypes.
17901
17902 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
17903
17904 Use generic grub_reboot() for i386-efi.
17905
17906 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
17907 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
17908 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
17909
17910 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
17911
17912 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
17913 presence of "prefix" variable as it breaks when normal.mod is
17914 embedded.
17915
17916 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17917
17918 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
17919 stack since heap is unavailable at that point.
17920
17921 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17922
17923 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
17924 (grub_freebsd_bootinfo): Rewritten.
17925 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
17926
17927 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
17930
17931 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
17932
17933 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
17934 domain now.
17935
17936 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
17937
17938 * util/misc.c (make_system_path_relative_to_its_root): Change the work
17939 around for handling "/" to the correct fix. Fix a memory leak. Use
17940 xstrdup instead of strdup.
17941
17942 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17943
17944 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
17945
17946 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17947
17948 Optimise glyph lookup by Basic Multilingual Plane lookup array.
17949
17950 * font/font.c (struct grub_font): New member 'bmp_idx'.
17951 (font_init): Initialise 'bmp_idx'.
17952 (load_font_index): Fill 'bmp_idx'.
17953 (find_glyph): Make inline. Use bmp_idx for BMP characters.
17954
17955 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17956
17957 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
17958 unnecessary calls.
17959
17960 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17961
17962 Move context handling out of the kernel.
17963
17964 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
17965 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
17966 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
17967 * conf/i386-efi.rmk: Likewise.
17968 * conf/i386-ieee1275.rmk: Likewise.
17969 * conf/i386-pc.rmk: Likewise.
17970 * conf/powerpc-ieee1275.rmk: Likewise.
17971 * conf/sparc64-ieee1275.rmk: Likewise.
17972 * conf/x86_64-efi.rmk: Likewise.
17973 * include/grub/env.h: Include grub/menu.h.
17974 (grub_env_var_type): Removed.
17975 (grub_env_var): Replaced field 'type' with 'global'.
17976 (grub_env_find): New prototype.
17977 (grub_env_context_open): Remove EXPORT_FUNC.
17978 (grub_env_context_close): Likewise.
17979 (grub_env_export): Likewise.
17980 (grub_env_set_data_slot): Removed.
17981 (grub_env_get_data_slot): Likewise.
17982 (grub_env_unset_data_slot): Likewise.
17983 (grub_env_unset_menu): New prototype.
17984 (grub_env_set_menu): Likewise.
17985 (grub_env_get_menu): Likewise.
17986 * include/grub/env_private.h: New file.
17987 * include/grub/normal.h (grub_context_init): New prototype.
17988 (grub_context_fini): Likewise.
17989 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
17990 * normal/context.c (grub_cmd_export): ... to here.
17991 * kern/env.c: Include env_private.h.
17992 (HASHSZ): Moved to include/grub/env_private.h.
17993 (grub_env_context): Likewise.
17994 (grub_env_sorted_var): Likewise.
17995 (current_context): Renamed from this ...
17996 (grub_current_context): ...to this. 'static' removed. All users updated.
17997 (grub_env_find): Removed 'static'.
17998 (grub_env_context_open): Moved to normal/context.c.
17999 (grub_env_context_close): Likewise.
18000 (grub_env_export): Likewise.
18001 (mangle_data_slot_name): Removed.
18002 (grub_env_set_data_slot): Likewise.
18003 (grub_env_get_data_slot): Likewise.
18004 (grub_env_unset_data_slot): Likewise.
18005 * kern/main.c (grub_set_root_dev): Don't export root.
18006 It will be done later.
18007 (grub_main): Don't export prefix.
18008 It will be done later.
18009 * normal/context.c: New file.
18010 * normal/main.c (free_menu): Use grub_env_unset_menu.
18011 (grub_normal_add_menu_entry): Use grub_env_get_menu.
18012 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
18013 (GRUB_MOD_INIT(normal)): Call grub_context_init.
18014 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
18015
18016 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18017
18018 setpci support.
18019
18020 * commands/setpci.c: New file.
18021 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
18022 (setpci_mod_SOURCES): New variable.
18023 (setpci_mod_CFLAGS): Likewise.
18024 (setpci_mod_LDFLAGS): Likewise.
18025
18026 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18027
18028 Byte-addressable PCI configuration space.
18029
18030 * bus/pci.c (grub_pci_make_address): Use byte address instead of
18031 dword address.
18032 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
18033 GRUB_PCI_REG_CACHELINE.
18034 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
18035 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
18036 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
18037 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
18038 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
18039 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
18040 grub_pci_make_address.
18041 (lock_rom_area): Likewise.
18042 * commands/lspci.c (grub_lspci_iter): Use macroses
18043 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
18044 of grub_pci_make_address.
18045 * disk/ata.c (grub_ata_pciinit): Likewise.
18046 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
18047 (GRUB_PCI_REG_VENDOR): Likewise.
18048 (GRUB_PCI_REG_DEVICE): Likewise.
18049 (GRUB_PCI_REG_COMMAND): Likewise.
18050 (GRUB_PCI_REG_STATUS): Likewise.
18051 (GRUB_PCI_REG_REVISION): Likewise.
18052 (GRUB_PCI_REG_CLASS): Likewise.
18053 (GRUB_PCI_REG_CACHELINE): Likewise.
18054 (GRUB_PCI_REG_LAT_TIMER): Likewise.
18055 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
18056 (GRUB_PCI_REG_BIST): Likewise.
18057 (GRUB_PCI_REG_ADDRESSES): Likewise.
18058 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18059 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18060 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18061 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18062 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18063 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
18064 (GRUB_PCI_REG_CIS_POINTER): Likewise.
18065 (GRUB_PCI_REG_SUBVENDOR): Likewise.
18066 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
18067 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
18068 (GRUB_PCI_REG_CAP_POINTER): Likewise.
18069 (GRUB_PCI_REG_IRQ_LINE): Likewise.
18070 (GRUB_PCI_REG_IRQ_PIN): Likewise.
18071 (GRUB_PCI_REG_MIN_GNT): Likewise.
18072 (GRUB_PCI_REG_MAX_LAT): Likewise.
18073 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
18074 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
18075 * video/efi_uga.c (find_framebuf): Likewise.
18076 * video/sm712.c (grub_video_sm712_setup): Likewise.
18077 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
18078 space.
18079
18080 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18081
18082 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
18083 can be reliably determined to be supported.
18084
18085 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18086
18087 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
18088 that VESA is supported.
18089 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
18090 supported.
18091
18092 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
18095
18096 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18097
18098 * util/misc.c (make_system_path_relative_to_its_root): Work around
18099 special-casing of "/", as previous incarnation of this routine did.
18100
18101 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18102
18103 Fix any-emu compilation.
18104
18105 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
18106 * grub_bin2h_SOURCES: New variable.
18107
18108 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18109
18110 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
18111
18112 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
18113
18114 * util/grub.d/00_header.in: Fix handling of locale_dir.
18115
18116 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
18119 as possible unifont location (Gentoo).
18120 Reported by: Alexander Brüning
18121
18122 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18123
18124 Don't try to generate lists for kernel.img.
18125
18126 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
18127 (pkglib_MODULES): Remove kernel.img.
18128 (kernel_img_EXPORTS): Removed.
18129 (kernel_img_RELOCATABLE): New variable.
18130 * conf/x86_64-efi.rmk: Likewise.
18131 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
18132
18133 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
18136 grub_xasprintf or grub_snprintf.
18137 (grub_vsprintf): Likewise.
18138 (grub_snprintf): New proto.
18139 (grub_vsnprintf): Likewise.
18140 (grub_xasprintf): Likewise.
18141 (grub_xvasprintf): Likewise.
18142 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
18143 (grub_sprintf): Removed.
18144 (grub_vsnprintf): New function.
18145 (grub_snprintf): Likewise.
18146 (grub_xvasprintf): Likewise.
18147 (grub_xasprintf): Likewise.
18148 (grub_vsprintf): Renamed to ...
18149 (grub_vsnprintf_real): ...this. New argument max_len.
18150
18151 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
18152
18153 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
18154 fix grub-script-check warning.
18155
18156 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18157
18158 * include/grub/font.h (grub_font_load): Fix prototype.
18159
18160 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18161
18162 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
18163
18164 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18165
18166 * include/grub/x86_64/at_keyboard.h: New file.
18167
18168 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18169
18170 * loader/mips/linux.c: Include missing grub/i18n.h.
18171
18172 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18173
18174 * normal/menu.c (notify_execution_failure): Clarify error message.
18175
18176 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18177
18178 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
18179 return value (and revert all return statements). Update users.
18180
18181 2010-01-20 Dan Merillat <debian@dan.merillat.org>
18182
18183 * kern/device.c (grub_device_iterate): Allocate new part_ent
18184 structure based on sizeof (*p) rather than sizeof (p->next), to
18185 account for structure padding.
18186
18187 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
18188 disk is NULL, which might happen for LVM physical volumes with no
18189 LVM signature.
18190
18191 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18192
18193 * loader/mips/linux.c (grub_cmd_initrd)
18194 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
18195
18196 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
18197
18198 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
18199 (grub_video_video_init, grub_video_bitmap_init)
18200 (grub_font_manager_init, grub_term_gfxterm_init)
18201 (grub_at_keyboard_init): New extern declarations.
18202 (grub_machine_init): Initialize gfxterm and at_keyboard.
18203
18204 * kern/main.c (grub_main): Revert grub_printf delay kludge.
18205
18206 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
18207 `gfxterm.mod' into core image.
18208
18209 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18210 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18211 (kernel_img_FORMAT): Copy to ...
18212
18213 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18214 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18215 (kernel_img_FORMAT): ... here, and ...
18216
18217 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
18218 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
18219 (kernel_img_FORMAT): ... here.
18220
18221 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
18222 and input (at_keyboard) terminals in kernel.
18223 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
18224
18225 (pkglib_MODULES): Remove `pci.mod'.
18226 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
18227 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
18228 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
18229 (at_keyboard_mod_LDFLAGS): Remove variables.
18230
18231 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
18232
18233 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
18234
18235 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
18236
18237 * include/grub/mips/libgcc.h: Only export symbols for functions
18238 that libgcc provides.
18239
18240 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
18241
18242 MIPS support.
18243
18244 * bus/bonito.c: New file.
18245 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
18246 GRUB_PCI_NUM_DEVICES.
18247 * term/i386/pc/serial.c: Move to ...
18248 * term/serial.c: ... here. All users updated.
18249 * util/i386/pc/grub-mkimage.c: Move to ...
18250 * util/grub-mkrawimage.c: ... here. All users updated.
18251 * term/i386/pc/at_keyboard.c: Move to ...
18252 * term/at_keyboard.c: ... here. All users updated.
18253 * conf/mips-qemu-mips.rmk: New file.
18254 * conf/mips-yeeloong.rmk: Likewise.
18255 * conf/mips.rmk: Likewise.
18256 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
18257 mipsel-qemu-mips.
18258 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
18259 to port addresses.
18260 (grub_ata_pciinit): Support CS5536.
18261 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
18262 * font/font_cmd.c (loadfont_command): Open file before passing it to
18263 grub_font_load.
18264 (pseudo_file_read): New function.
18265 (pseudo_file_close): Likewise.
18266 (pseudo_fs): New structure.
18267 (load_font_module): New function.
18268 (GRUB_MOD_INIT(font_manager)): Load embedded font.
18269 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
18270 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
18271 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
18272 * include/grub/i386/at_keyboard.h: Split into ...
18273 * include/grub/at_keyboard.h: ... this ...
18274 * include/grub/i386/at_keyboard.h: ... and this.
18275 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
18276 New prototype.
18277 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
18278 updated.
18279 (grub_elf64_size): Likewise.
18280 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
18281 filename.
18282 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
18283 * include/grub/i386/coreboot/serial.h: Rewritten.
18284 * include/grub/i386/ieee1275/serial.h: Include
18285 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
18286 * include/grub/i386/pc/serial.h: Moved from here ...
18287 * include/grub/serial.h: ... to here. All users updated.
18288 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
18289 (GRUB_PCI_NUM_BUS): Likewise.
18290 (GRUB_PCI_NUM_DEVICES): Likewise.
18291 (grub_pci_device_map_range): Add missing volatile keyword.
18292 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
18293 * include/grub/mips/at_keyboard.h: New file.
18294 * include/grub/mips/cache.h: Likewise.
18295 * include/grub/mips/io.h: Likewise.
18296 * include/grub/mips/kernel.h: Likewise.
18297 * include/grub/mips/libgcc.h: Likewise.
18298 * include/grub/mips/pci.h: Likewise.
18299 * include/grub/mips/qemu-mips/boot.h: Likewise.
18300 * include/grub/mips/qemu-mips/kernel.h: Likewise.
18301 * include/grub/mips/qemu-mips/loader.h: Likewise.
18302 * include/grub/mips/qemu-mips/memory.h: Likewise.
18303 * include/grub/mips/qemu-mips/serial.h: Likewise.
18304 * include/grub/mips/qemu-mips/time.h: Likewise.
18305 * include/grub/mips/relocator.h: Likewise.
18306 * include/grub/mips/time.h: Likewise.
18307 * include/grub/mips/types.h: Likewise.
18308 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
18309 * include/grub/mips/yeeloong/boot.h: Likewise.
18310 * include/grub/mips/yeeloong/kernel.h: Likewise.
18311 * include/grub/mips/yeeloong/loader.h: Likewise.
18312 * include/grub/mips/yeeloong/memory.h: Likewise.
18313 * include/grub/mips/yeeloong/pci.h: Likewise.
18314 * include/grub/mips/yeeloong/serial.h: Likewise.
18315 * include/grub/mips/yeeloong/time.h: Likewise.
18316 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
18317 * kern/elf.c (grub_elf32_size): New parameter. All users
18318 updated.
18319 (grub_elf64_size): Likewise.
18320 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
18321 Load modules before saying "Welcome to GRUB!".
18322 Call grub_refresh after saying "Welcome to GRUB!".
18323 * kern/mips/cache.S: New file.
18324 * kern/mips/cache_flush.S: Likewise.
18325 * kern/mips/dl.c: Likewise.
18326 * kern/mips/init.c: Likewise.
18327 * kern/mips/qemu-mips/init.c: Likewise.
18328 * kern/mips/startup.S: Likewise.
18329 * kern/mips/yeeloong/init.c: Likewise.
18330 * kern/term.c (grub_putcode): Handle NULL terminal.
18331 (grub_getcharwidth): Likewise.
18332 (grub_getkey): Likewise.
18333 (grub_checkkey): Likewise.
18334 (grub_getkeystatus): Likewise.
18335 (grub_getxy): Likewise.
18336 (grub_getwh): Likewise.
18337 (grub_gotoxy): Likewise.
18338 (grub_cls): Likewise.
18339 (grub_setcolorstate): Likewise.
18340 (grub_setcolor): Likewise.
18341 (grub_getcolor): Likewise.
18342 (grub_refresh): Likewise.
18343 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
18344 (write_jump): Add hatch nop.
18345 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
18346 * lib/mips/setjmp.S: New file.
18347 * loader/mips/linux.c: Likewise.
18348 * term/i386/pc/at_keyboard.c: Move from here ...
18349 * term/at_keyboard.c: ... to here.
18350 * term/i386/pc/serial.c: Moved from here ...
18351 * term/serial.c: ... to here. All users updated.
18352 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
18353 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
18354 (serial_translate_key_sequence): Avoid deadlock.
18355 (grub_serial_getkey): Handle backspace.
18356 (grub_serial_putchar): Fix newline handling.
18357 * util/i386/pc/grub-mkimage.c: Move from here ...
18358 * util/grub-mkrawimage.c: ... to here. All users updated.
18359 (generate_image): New parameters 'font_path' and 'format'.
18360 Support embedding font.
18361 Use grub_host_to_target* instead of grub_cpu_to_le*.
18362 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
18363 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
18364 (options): New option "--font".
18365 (usage): Likewise.
18366 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
18367 (main): Handle "--font".
18368 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
18369 (grub_virtual_screen_setup): Set bg_color_display.
18370 (redraw_screen_rect): Use bg_color_display instead of incorrect
18371 bg_color.
18372 (grub_gfxterm_cls): Likewise.
18373 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
18374 Support embedding config file.
18375 (add_segments): Likewise.
18376 (options): New option "--config".
18377 (main): Handle "--config".
18378 * video/sm712.c: New file.
18379
18380 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18381
18382 Fix parallel builds.
18383
18384 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
18385 font.c depend on ascii.h).
18386
18387 2010-01-12 Carles Pina i Estany <carles@pina.cat>
18388
18389 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
18390
18391 2010-01-11 Carles Pina i Estany <carles@pina.cat>
18392
18393 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
18394 By default: disabled.
18395 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
18396 parameter.
18397
18398 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18399
18400 * font/font.c: Update copyright years.
18401 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
18402
18403 2010-01-10 Carles Pina i Estany <carles@pina.cat>
18404
18405 * font/font.c: Include `ascii.h'.
18406 (ASCII_BITMAP_SIZE): New macro.
18407 (ascii_font_glyph): Define.
18408 (ascii_glyph_lookup): New function.
18409 (grub_font_get_string_width): Change comment. If glyph not found, use
18410 ascii_glyph_lookup.
18411 (grub_font_get_glyph_with_fallback): If glyph not available returns
18412 ascii_glyph_lookup.
18413 * util/grub-mkfont.c (file_formats): New enum.
18414 (options): Add `ascii-bitmaps' new option.
18415 (usage): Add `asii-bitmaps' new option.
18416 (write_font_ascii_bitmap): New function.
18417 (write_font): Rename to ...
18418 (write_font_p2): ... this. Remove print_glyphs call.
18419 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
18420 used. Call print_glyphs.
18421 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
18422
18423 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18424
18425 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
18426 (grub_bin2h_SOURCES): New variable.
18427 * util/bin2h.c: New file.
18428
18429 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 * include/multiboot.h: Resynced with spec.
18432 * include/multiboot2.h: Likewise.
18433 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
18434 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
18435
18436 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18437
18438 * include/grub/term.h (grub_term_register_input,
18439 grub_term_register_output): Check return of terminal init()
18440 routines, and abort if errors are raised.
18441
18442 * commands/terminal.c: Update copyright year.
18443
18444 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18445
18446 * commands/terminal.c (grub_cmd_terminal_input)
18447 (grub_cmd_terminal_output): Check return of terminal init()
18448 routines, and abort if errors are raised.
18449
18450 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18451
18452 * include/grub/i386/bsd.h: Fix include pathes.
18453
18454 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
18455
18456 Add missing *BSD copyright headers.
18457
18458 * include/grub/aout.h: Add BSD licence.
18459 * include/grub/i386/bsd.h: Parts under different licences moved to ...
18460 * include/grub/i386/freebsd_linker.h: ... here,
18461 * include/grub/i386/freebsd_reboot.h: ... here,
18462 * include/grub/i386/netbsd_bootinfo.h: ... here,
18463 * include/grub/i386/netbsd_reboot.h: ... here,
18464 * include/grub/i386/openbsd_bootarg.h: ... here,
18465 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
18466 licence to each file.
18467
18468 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18469
18470 * acinclude.m4: Remove `nop' assembly instruction; it's not
18471 implemented by all architectures.
18472
18473 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18474
18475 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
18476 ELILO. This is no longer necessary.
18477
18478 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
18479
18480 Added new tool, grub-scrit-check to verify grub.cfg syntax.
18481
18482 * util/grub-script-check.c: grub-script-check tool.
18483 * conf/common.rmk: Make rules for grub-script-check.
18484
18485 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18486
18487 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
18488 spotting it back in 2008. Shame on me for forgetting he did.
18489
18490 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
18491
18492 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
18493
18494 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
18495 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
18496 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
18497 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
18498 (GRUB_VIDEO_TYPE_EFI): Rename to ...
18499 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
18500
18501 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
18502
18503 * include/grub/test.h: Add license header.
18504 * tests/example_functional_test.c: Likewise.
18505 * tests/example_unit_test.c: Likewise.
18506 * tests/lib/functional_test.c: Likewise.
18507 * tests/lib/test.c: Likewise.
18508 * tests/lib/unit_test.c: Likewise.
18509
18510 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
18511
18512 Use flag-based instead of hook-based video mode selection and "auto"
18513 keyword.
18514
18515 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
18516 (grub_video_set_mode): Changed prototype. All users updated.
18517 (grub_video_check_mode_flag): New inline function.
18518 * video/video.c (parse_modespec): New function.
18519 (grub_video_set_mode): Parse flags and keywords.
18520
18521 2010-01-17 Carles Pina i Estany <carles@pina.cat>
18522
18523 * util/misc.c (grub_util_info): Fix the order of the parameters in a
18524 fprintf call.
18525
18526 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
18527
18528 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
18529
18530 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18531
18532 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
18533 string.
18534 * util/grub-emu.c (usage): Likewise.
18535 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
18536 * util/i386/efi/grub-mkimage.c (usage): Likewise.
18537 * util/i386/pc/grub-mkimage.c (usage): Likewise.
18538 * util/i386/pc/grub-setup.c (usage): Likewise.
18539
18540 2010-01-16 Carles Pina i Estany <carles@pina.cat>
18541
18542 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
18543 the message.
18544 (grub_util_info): Likewise.
18545 (grub_util_error): Likewise.
18546 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
18547 and/or new lines in `grub_util_warna', `grub_util_info',
18548 `grub_util_error' calls.
18549 * util/getroot.c: Likewise.
18550 * util/grub-editenv.c: Likewise.
18551 * util/grub-emu.c: Likewise.
18552 * util/grub-fstest.c: Likewise.
18553 * util/grub-mkdevicemap.c: Likewise.
18554 * util/grub-mkfont.c: Likewise.
18555 * util/grub-mkpasswd-pbkdf2.c: Likewise.
18556 * util/grub-mkrelpath.c: Likewise.
18557 * util/grub-pe2elf.c: Likewise.
18558 * util/grub-probe.c: Likewise.
18559 * util/hostdisk.c: Likewise.
18560 * util/i386/efi/grub-mkimage.c: Likewise.
18561 * util/i386/pc/grub-mkimage.c: Likewise.
18562 * util/i386/pc/grub-setup.c: Likewise.
18563 * util/ieee1275/ofpath.c: Likewise.
18564 * util/mkisofs/eltorito.c: Likewise.
18565 * util/mkisofs/rock.c: Likewise.
18566 * util/mkisofs/write.c: Likewise.
18567 * util/raid.c: Likewise.
18568 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18569 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18570
18571 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 Enable multiboot on non-pc.
18574
18575 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
18576 multiboot.mod and multiboot2.mod to ...
18577 * conf/i386.rmk (pkglib_MODULES): ... here.
18578 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
18579 Moved to ...
18580 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
18581 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
18582 Moved to ...
18583 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
18584 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
18585 Moved to ...
18586 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
18587 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
18588 Moved to ...
18589 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
18590 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
18591 relocator.mod.
18592 (ata_mod_SOURCES): Removed.
18593 (ata_mod_CFLAGS): Likewise.
18594 (ata_mod_LDFLAGS): Likewise.
18595 (relocator_mod_SOURCES): Removed.
18596 (relocator_mod_CFLAGS): Likewise.
18597 (relocator_mod_ASFLAGS): Likewise.
18598 (relocator_mod_LDFLAGS): Likewise.
18599 Include i386.mk.
18600 * include/grub/x86_64/multiboot.h: New file.
18601 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
18602 Terminate EFI.
18603
18604 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18605
18606 Video multiboot support.
18607
18608 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
18609 New prototype.
18610 * include/multiboot.h: Resynced with multiboot specification.
18611 * include/multiboot2.h: Likewise.
18612 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
18613 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
18614 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
18615 (HAS_VGA_TEXT): Likewise.
18616 (accepts_video): New variable.
18617 (grub_multiboot_set_accepts_video): New function.
18618 (grub_multiboot_get_mbi_size): Account for video structures.
18619 (set_video_mode): New function.
18620 (retrieve_video_parameters): Likewise.
18621 (grub_multiboot_make_mbi): Fill video fields.
18622
18623 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
18624
18625 Video driver ids.
18626
18627 * include/grub/video.h (grub_video_driver_id): New type.
18628 (grub_video_adapter): New member 'id'. All users updated.
18629 (grub_video_get_driver_id): New proto.
18630 * video/video.c (grub_video_get_driver_id): New function.
18631
18632 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18633
18634 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
18635 `var=val'.
18636
18637 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18638
18639 * normal/cmdline.c (print_completion): Gettextizze.
18640
18641 2001-01-14 Carles Pina i Estany <carles@pina.cat>
18642
18643 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
18644
18645 2010-01-14 Carles Pina i Estany <carles@pina.cat>
18646
18647 * gettext/gettext.c (grub_gettext_translate): Push and pop
18648 grub_errno.
18649 (grub_gettext_delete_list): Change comment style.
18650 * kern/err.c (grub_error): Gettextizze.
18651 (grub_fatal): Gettextizze.
18652
18653 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
18654
18655 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
18656 (grub_linux16_real_boot): ... this.
18657 * kern/i386/loader.S: Likewise.
18658 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
18659 (grub_linux16_boot): New function. Switches to text mode and calls
18660 grub_linux16_real_boot().
18661
18662 * loader/i386/bsd.c: Include `<grub/video.h>'.
18663 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
18664 text mode before calling grub_unix_real_boot().
18665
18666 * loader/i386/multiboot.c: Include `<grub/video.h>'.
18667 (grub_multiboot_boot): Switch to text mode before calling
18668 grub_relocator32_boot().
18669
18670 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
18671 (grub_chainloader_boot): Switch to text mode before calling
18672 grub_chainloader_real_boot().
18673
18674 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18675 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18676
18677 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
18678 non-empty value.
18679
18680 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18681 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18682
18683 * util/grub.d/00_header.in: Define a "savedefault" function for use
18684 in menu entries.
18685 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
18686
18687 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
18688 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18689
18690 * util/grub-mkconfig_lib.in (save_default_entry): Only set
18691 saved_entry if boot_once is unset.
18692 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
18693 previous saved entry (i.e. grub-reboot).
18694
18695 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18696
18697 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
18698
18699 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18700
18701 * util/grub.d/00_header.in: Use `set var=val' rather than plain
18702 `var=val'.
18703 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
18704
18705 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18706
18707 * util/grub-reboot.in: Fix --version output.
18708 * util/grub-set-default.in: Likewise.
18709
18710 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18711
18712 * util/grub.d/00_header.in: Silently ignore zero-sized environment
18713 blocks.
18714
18715 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18716
18717 * util/grub.d/00_header.in: Quote the value assigned to `default',
18718 in case it contains spaces.
18719
18720 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
18721
18722 * util/grub.d/30_os-prober.in: Fix merge error that moved a
18723 `save_default_entry' call from the macosx case to the linux case.
18724
18725 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
18726 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
18727
18728 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
18729 in `chosen' environment variable.
18730 * normal/menu_text.c (get_entry_number): Check if the variable
18731 matches the title of a menu entry.
18732 (run_menu): Pass menu to get_entry_number.
18733
18734 * util/grub-reboot.in: New file.
18735 * util/grub-set-default.in: New file.
18736 * conf/common.rmk (grub-reboot): New utility.
18737 (grub-set-default): New utility.
18738
18739 * util/grub-mkconfig_lib.in (save_default_entry): New function.
18740 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
18741 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
18742 move it to `saved_entry' for the next boot. Load environment on
18743 initialisation.
18744 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
18745 * util/grub.d/10_hurd.in: Likewise.
18746 * util/grub.d/10_linux.in (linux_entry): Likewise.
18747 * util/grub.d/10_windows.in: Likewise.
18748 * util/grub.d/30_os-prober.in: Likewise.
18749
18750 * util/grub-install.in: Create environment block.
18751 * util/i386/efi/grub-install.in: Likewise.
18752 * util/ieee1275/grub-install.in: Likewise.
18753 * util/sparc64/ieee1275/grub-install.in: Likewise.
18754
18755 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
18756
18757 Unit testing framework for GRUB.
18758
18759 * Makefile.in: Test framework build rules for 'make check'.
18760 * conf/tests.rmk: Build rules for individual tests and framework.
18761
18762 * include/grub/test.h: Header file for whitebox tests.
18763 * tests/lib/functional_test.c: Framework support for whitebox
18764 functional tests.
18765 * tests/lib/test.c: Common whitebox testing code for unit and
18766 functional tests.
18767 * tests/lib/unit_test.c: Framework support for whitebox unit
18768 tests.
18769
18770 * tests/util/grub-shell-tester.in: Support utility for grub-script
18771 tests.
18772 * tests/util/grub-shell.in: Utility to execute grub-script
18773 commands in a Qemu instance.
18774
18775 * tests/example_functional_test.c: Example whitebox functional
18776 test.
18777 * tests/example_grub_script_test.in: Example grub-script test.
18778 * tests/example_scripted_test.in: Example scripted test.
18779 * tests/example_unit_test.c: Example whitebox unit test.
18780
18781 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
18782
18783 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
18784 Add loader/i386/multiboot_mbi.c.
18785 (multiboot2_mod_SOURCES): Likewise.
18786 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
18787 (multiboot2_mod_SOURCES): Likewise.
18788 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
18789 (grub_multiboot_make_mbi): Likewise.
18790 (grub_multiboot_free_mbi): Likewise.
18791 (grub_multiboot_init_mbi): Likewise.
18792 (grub_multiboot_add_module): Likewise.
18793 (grub_multiboot_set_bootdev): Likewise.
18794 * loader/i386/multiboot.c (mbi): Removed.
18795 (mbi_dest): Likewise.
18796 (alloc_mbi): New variable.
18797 (grub_multiboot_payload_size): Removed. All users updated.
18798 (grub_multiboot_pure_size): New variable.
18799 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
18800 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
18801 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
18802 (grub_fill_multiboot_mmap): Likewise.
18803 (grub_multiboot_get_bootdev): Likewise.
18804 (grub_multiboot): Use multiboot_mbi functions.
18805 * loader/i386/multiboot_mbi.c: New file.
18806
18807 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18808
18809 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
18810 it would result in module crash.
18811
18812 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
18813
18814 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
18815 (grub_ofconsole_getwh): Split to ...
18816 (grub_ofconsole_getwh): ... this.
18817 (grub_ofconsole_dimensions): ...and this.
18818 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
18819
18820 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
18821
18822 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
18823
18824 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18825
18826 * loader/i386/pc/multiboot2.c: Removed stalled file.
18827
18828 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
18831 Reported by: Grégoire Sutre
18832
18833 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
18834
18835 * util/misc.c (canonicalize_file_name): New function.
18836 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
18837 instead of realpath().
18838
18839 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * util/grub-install.in (usage): Clarify meaning of --root-directory,
18842 and make it clearer that it's optional. Based on confusion
18843 witnessed on IRC.
18844
18845 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18846
18847 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
18848 in premature implicit newline.
18849
18850 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
18851
18852 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
18853 which resulted in garbled command line at the end of screen.
18854
18855 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18856
18857 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
18858 initialization with similar approach as with other Linux loaders.
18859
18860 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18861
18862 Fix i386-ieee1275 build.
18863
18864 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
18865 and grub_term_height() for video_{width,height} initialization.
18866
18867 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
18868
18869 Fix grub-emu build.
18870
18871 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
18872
18873 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
18874 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18875
18876 Support for multiple terminals.
18877
18878 * Makefile.in (pkglib_DATA): terminal.lst.
18879 (terminal.lst): New target.
18880 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
18881 (GRUB_MOD_INIT(handler)): Likewise.
18882 (GRUB_MOD_FINI(handler)): Likewise.
18883 * commands/help.c (grub_cmd_help): Handle multiple terminals.
18884 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
18885 * commands/sleep.c (do_print): Use grub_term_restore_pos.
18886 (grub_cmd_sleep): Use grub_term_save_pos.
18887 * commands/terminal.c: New file.
18888 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
18889 commands/terminal.c and lib/charset.c.
18890 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
18891 (pkglib_MODULES): Add terminal.mod.
18892 (terminal_mod_SOURCES): New variable.
18893 (terminal_mod_CFLAGS): Likewise.
18894 (terminal_mod_LDFLAGS): Likewise.
18895 * genhandlerlist.sh: Don't handle terminals.
18896 * genmk.rb: Generate terminal-*.lst.
18897 * genterminallist.sh: New file.
18898 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
18899 (grub_is_valid_utf8): Likewise.
18900 (grub_utf8_to_ucs4_alloc): Likewise.
18901 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
18902 (grub_menu_register_viewer): Changed argument.
18903 (grub_menu_try_text): New proto.
18904 (grub_gfxmenu_try_hook): New declaration.
18905 * include/grub/normal.h (grub_normal_exit_level): New declaration.
18906 (grub_menu_init_page): Additional argument term.
18907 (grub_normal_init_page): Likewise.
18908 (grub_cmdline_get): Arguments simplified.
18909 (grub_utf8_to_ucs4_alloc): Removed.
18910 (grub_print_ucs4): Additional argument term.
18911 (grub_getstringwidth): Likewise.
18912 (grub_print_message_indented): Likewise.
18913 (grub_menu_text_register_instances): New proto.
18914 (grub_show_menu): Likewise.
18915 (read_terminal_list): Likewise.
18916 (grub_set_more): Likewise.
18917 * include/grub/parser.h: Include handler.h.
18918 * include/grub/reader.h: Rewritten.
18919 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
18920 (GRUB_TERM_WIDTH): Changed to function.
18921 (GRUB_TERM_HEIGHT): Likewise.
18922 (GRUB_TERM_BORDER_WIDTH): Likewise.
18923 (GRUB_TERM_BORDER_HEIGHT): Likewise.
18924 (GRUB_TERM_NUM_ENTRIES): Likewise.
18925 (GRUB_TERM_ENTRY_WIDTH): Likewise.
18926 (GRUB_TERM_CURSOR_X): Likewise.
18927 (grub_term_input_class): Likewise.
18928 (grub_term_output_class): Likewise.
18929 (grub_term_outputs_disabled): New declaration.
18930 (grub_term_inputs_disabled): Likewise.
18931 (grub_term_outputs): Likewise.
18932 (grub_term_inputs): Likewise.
18933 (grub_term_register_input): Rewritten.
18934 (grub_term_register_output): Likewise.
18935 (grub_term_unregister_input): Likewise.
18936 (grub_term_unregister_output): Likewise.
18937 (FOR_ACTIVE_TERM_INPUTS): New macro.
18938 (FOR_DISABLED_TERM_INPUTS): Likewise.
18939 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
18940 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
18941 * include/grub/terminfo.h: Add oterm argument to all protypes.
18942 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
18943 Use grub_rescue_run.
18944 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
18945 All users updated.
18946 * kern/reader.c: Removed. All users updated.
18947 * kern/rescue_reader.c (grub_rescue_init): Removed.
18948 (grub_rescue_reader): Likewise.
18949 (grub_register_rescue_reader): Likewise.
18950 (grub_rescue_run): New function based on kern/reader.c.
18951 * kern/term.c: Adapted for multiterm.
18952 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
18953 (grub_is_valid_utf8): Likewise.
18954 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
18955 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
18956 right terminal.
18957 * loader/i386/linux.c (grub_linux_boot): Likewise.
18958 * normal/auth.c (grub_username_get): New function.
18959 (grub_auth_check_authentication): Use grub_username_get.
18960 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
18961 * normal/color.c: Adapt for multiterm.
18962 * normal/main.c (read_config_file): Don't use grub_reader_loop.
18963 (grub_normal_init_page): Additional argument term.
18964 (read_lists): Call read_terminal_lists.
18965 (grub_enter_normal_mode): Call grub_cmdline_run.
18966 Handle grub_normal_exit_level.
18967 (grub_cmd_normal): Make reentrant.
18968 (grub_cmd_normal_exit): New function.
18969 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
18970 * normal/menu.c: Adapt for multiterm.
18971 * normal/menu_entry.c: Likewise.
18972 * normal/menu_text.c: Likewise.
18973 * normal/menu_viewer.c: Removed. All users updated.
18974 * normal/term.c: New file.
18975 * util/console.c: Change order of includes to workaround a bug in
18976 ncurses headers.
18977 * term/terminfo.c: New argument oterm on all exported functions.
18978 All users updated.
18979 * util/grub-editenv.c (grub_term_input_class): Removed.
18980 (grub_term_output_class): Likewise.
18981
18982 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
18983
18984 Make loader output a bit more user-friendly.
18985
18986 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
18987 is being loaded. Likewise for the Hurd.
18988
18989 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
18990 that kernel of FreeBSD ${version} is being loaded.
18991
18992 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
18993 grub_dprintf().
18994 (grub_cmd_initrd): Likewise.
18995 * util/grub.d/10_linux.in (linux_entry): Print message indicating
18996 that Linux ${version} is being loaded. Likewise for initrd.
18997
18998 2010-01-09 Carles Pina i Estany <carles@pina.cat>
18999
19000 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
19001
19002 2010-01-08 Carles Pina i Estany <carles@pina.cat>
19003
19004 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
19005 (GRUB_MOD_INIT): Gettextizze.
19006 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
19007 (GRUB_MOD_INIT): Gettextizze.
19008 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
19009 (grub_cmd_linux): Capitalise Linux.
19010 (GRUB_MOD_INIT): Gettextizze.
19011 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
19012 (grub_cmd_linux): Capitalise Linux.
19013 (GRUB_MOD_INIT): Gettextizze.
19014 * loader/i386/linux.c: Include `<grub/i18n.h>'.
19015 (grub_cmd_linux): Capitalise Linux.
19016 (GRUB_MOD_INIT): Gettextizze.
19017 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
19018 (GRUB_MOD_INIT): Gettextizze.
19019 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
19020 (grub_cmd_linux): Capitalise Linux.
19021 (GRUB_MOD_INIT): Gettextizze.
19022 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
19023 (grub_cpu_xnu_init): Gettextizze.
19024 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
19025 (GRUB_MOD_INIT): Gettextizze.
19026 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
19027 (GRUB_MOD_INIT): Gettextizze.
19028 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
19029 (grub_linux_load64): Capitalise Linux.
19030 (GRUB_MOD_INIT): Gettextizze.
19031 * loader/xnu.c: Include `<grub/i18n.h>'.
19032 (GRUB_MOD_INIT): Gettextizze.
19033 * po/POTFILES: Add `loader/efi/appleloader.c',
19034 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
19035 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
19036 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
19037 `loader/i386/xnu.c', `loader/multiboot_loader.c',
19038 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
19039 and `loader/xnu.c'.
19040
19041 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19042
19043 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
19044
19045 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
19046
19047 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
19048 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
19049 * util/mkisofs/mkisofs.c (main): Readjust --version output.
19050
19051 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19052
19053 Reset Multiboot 2 support. New loader implements the draft in
19054 /branches/multiboot2 and shares as much code as possible with the
19055 production Multiboot 1 implementation.
19056
19057 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
19058 * loader/multiboot2.c: Likewise.
19059 * loader/i386/multiboot_helper.S: Likewise.
19060 * include/multiboot2.h: Replace with latest version from the draft
19061 in /branches/multiboot2.
19062
19063 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
19064 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
19065 and `loader/multiboot2.c'.
19066 (pkglib_MODULES): Add `multiboot2.mod'.
19067 (multiboot2_mod_SOURCES): New variable.
19068 (multiboot2_mod_LDFLAGS): Likewise.
19069 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
19070
19071 * conf/i386-pc.rmk: Likewise.
19072
19073 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19074 (multiboot_mod_SOURCES): Remove variable.
19075 (multiboot_mod_LDFLAGS): Likewise.
19076 (multiboot_mod_CFLAGS): Likewise.
19077
19078 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
19079 `<multiboot2.h>' instead of `<multiboot.h>'.
19080 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
19081 (MULTIBOOT_HEADER_MAGIC): New macros.
19082
19083 * loader/multiboot_loader.c (module_version_status): Remove variable.
19084 (find_multi_boot2_header): Remove function.
19085 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
19086 logic. Always check for the Multiboot version we're compiling for.
19087 (grub_cmd_module_loader): Likewise.
19088 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
19089 command instead of `multiboot'.
19090
19091 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19092
19093 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
19094 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
19095 all users.
19096
19097 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19098 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19099
19100 Fix breakage introduced with previous commit.
19101
19102 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
19103 commands.
19104 * normal/handler.c (read_handler_list): Revert part of previous commit
19105 affecting this file.
19106 * normal/main.c (read_lists): Move read_handler_list() call back to ...
19107 (grub_normal_execute): ... here.
19108
19109 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
19110
19111 Merge prefix-redefinition-fix branch.
19112
19113 * normal/autofs.c (read_fs_list): Make function capable of being
19114 run multiple times, gracefuly replacing the previous data
19115 structures.
19116 * normal/dyncmd.c (read_command_list): Likewise.
19117 * normal/handler.c (read_handler_list): Likewise.
19118 * normal/main.c (read_lists): New function. Calls all the
19119 list reading functions.
19120 (grub_normal_execute): Use read_lists() instead of calling all
19121 list reading functions explicitly. Register read_lists() as a
19122 variable hook attached to ${prefix}.
19123
19124 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19125
19126 Merge crypto branch.
19127
19128 * Makefile.in (pkglib_DATA): Add crypto.lst.
19129 (crypto.lst): New target.
19130 * commands/hashsum.c: New file.
19131 * commands/password.c (check_password): Use grub_crypto_memcmp.
19132 * commands/password_pbkdf2.c: New file.
19133 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
19134 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
19135 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
19136 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
19137 -I$(srcdir)/lib/libgcrypt_wrap.
19138 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
19139 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
19140 password_pbkdf2.mod.
19141 (crypto_mod_SOURCES): New variable.
19142 (crypto_mod_CFLAGS): Likewise.
19143 (crypto_mod_LDFLAGS): Likewise.
19144 (hashsum_mod_SOURCES): New variable.
19145 (hashsum_mod_CFLAGS): Likewise.
19146 (hashsum_mod_LDFLAGS): Likewise.
19147 (pbkdf2_mod_SOURCES): New variable.
19148 (pbkdf2_mod_CFLAGS): Likewise.
19149 (pbkdf2_mod_LDFLAGS): Likewise.
19150 (password_pbkdf2_mod_SOURCES): New variable.
19151 (password_pbkdf2_mod_CFLAGS): Likewise.
19152 (password_pbkdf2_mod_LDFLAGS): Likewise.
19153 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
19154 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
19155 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
19156 Include conf/gcry.rmk.
19157 * include/grub/auth.h: Rewritten.
19158 * include/grub/crypto.h: New file.
19159 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
19160 * include/grub/normal.h (read_crypto_list): New prototype.
19161 * lib/crypto.c: New file.
19162 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
19163 * lib/pbkdf2.c: Likewise.
19164 * normal/auth.c (grub_auth_strcmp): Removed.
19165 (grub_iswordseparator): Likewise.
19166 (grub_auth_strword): Likewise.
19167 (is_authenticated): Use grub_strword.
19168 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
19169 and grub_strword. Pass entered password to authentication callback.
19170 * normal/crypto.c: New file.
19171 * normal/main.c: Call read_crypto_list.
19172 * util/grub-mkpasswd-pbkdf2.c: New file.
19173 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
19174
19175 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 Fix descent and ascent calculation.
19178
19179 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
19180 (options): New option "asce".
19181 (usage): Likewise.
19182 (add_char): Ignore invalid glyphs for descent calculation.
19183 Calculate ascent from actual content.
19184 (print_glyphs): Use 'asce'.
19185 (write_font): Likewise. Allow ascent override.
19186 (main): Handle "asce" option.
19187
19188 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19189
19190 * kern/err.c: Include `<grub/i18n.h>'.
19191 (grub_print_error): Add full stop. Gettextizze.
19192 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
19193 (grub_bsd_load_elf): Capitalise ELF.
19194 (grub_cmd_freebsd_loadenv): Add `s' in error string.
19195 (grub_cmd_freebsd_module): Likewise.
19196 (grub_cmd_freebsd_module_elf): Likewise.
19197 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
19198
19199 2010-01-06 Carles Pina i Estany <carles@pina.cat>
19200
19201 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
19202 * commands/search_file.c (HELP_MESSAGE): New macro.
19203 * commands/search_label.c (HELP_MESSAGE): Likewise.
19204 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
19205 * po/POTFILES: Add `commands/search_file.c',
19206 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
19207 `commands/search.c'.
19208
19209 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19210
19211 * config.rpath: Update from Gnulib.
19212
19213 2010-01-05 Yves Blusseau <blusseau@zetam.org>
19214
19215 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
19216
19217 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
19218
19219 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
19220
19221 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19222
19223 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
19224 arguments to fread so that we get a return value in bytes, rather
19225 than something that will normally be rounded down to 0.
19226 Adjust error handling to avoid producing garbage when size_t is not
19227 the same size as long long.
19228
19229 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
19230
19231 * util/mkisofs/write.c (padblock_write): Check return value of
19232 fread.
19233
19234 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
19235
19236 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
19237 floppy images now.
19238
19239 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
19240
19241 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19242
19243 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
19244 instead of manual alignment.
19245 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
19246 verbose). Avoid attempts to read past end of the device
19247 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
19248 but GRUB_DISK_CACHE_SIZE may exceed that).
19249
19250 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
19251
19252 * commands/crc.c (grub_cmd_crc): Abort on read errors.
19253 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
19254 it to upper layer.
19255
19256 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19257
19258 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
19259 New constant.
19260 (grub_efi_piwg_device_path): New structure
19261 (grub_efi_piwg_device_path_t): New type.
19262 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
19263 (devpath_1): Transform to a structure. All users updated.
19264 (devpath_2): Likewise.
19265 (devpath_3): Likewise.
19266 (devpath_4): Likewise.
19267 (devpath_5): Likewise.
19268
19269 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19270
19271 * loader/efi/appleloader.c: Restored. Update all users.
19272
19273 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19274
19275 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
19276
19277 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
19278 (struct boot_blocklist): Move from here ...
19279 * include/grub/i386/pc/boot.h [ASM_FILE]
19280 (struct grub_boot_blocklist): ... to here. Update all users.
19281 (setup): Only initialize `start' member of `first_block'
19282 structure. Add assert() calls to verify the other members.
19283
19284 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
19285 (generate_image): Fix broken blocklist length initialization.
19286 Add assert() call to verify blocklist `segment' field.
19287
19288 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19289
19290 * loader/efi/appleloader.c: Remove. Update all users.
19291
19292 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
19293
19294 * boot/i386/pc/boot.S: Update copyright year.
19295 * boot/i386/pc/cdboot.S: Likewise.
19296 * boot/i386/pc/diskboot.S: Likewise.
19297 * boot/i386/pc/lnxboot.S: Likewise.
19298 * boot/i386/pc/pxeboot.S: Likewise.
19299 * bus/pci.c: Likewise.
19300 * commands/cmp.c: Likewise.
19301 * commands/help.c: Likewise.
19302 * commands/hexdump.c: Likewise.
19303 * commands/i386/pc/halt.c: Likewise.
19304 * commands/i386/pc/play.c: Likewise.
19305 * commands/i386/pc/vbeinfo.c: Likewise.
19306 * commands/ls.c: Likewise.
19307 * commands/test.c: Likewise.
19308 * disk/dmraid_nvidia.c: Likewise.
19309 * disk/i386/pc/biosdisk.c: Likewise.
19310 * disk/ieee1275/nand.c: Likewise.
19311 * disk/ieee1275/ofdisk.c: Likewise.
19312 * disk/lvm.c: Likewise.
19313 * disk/raid.c: Likewise.
19314 * disk/raid6_recover.c: Likewise.
19315 * disk/scsi.c: Likewise.
19316 * fs/affs.c: Likewise.
19317 * fs/cpio.c: Likewise.
19318 * fs/ext2.c: Likewise.
19319 * fs/hfs.c: Likewise.
19320 * fs/iso9660.c: Likewise.
19321 * fs/ntfs.c: Likewise.
19322 * fs/sfs.c: Likewise.
19323 * fs/udf.c: Likewise.
19324 * fs/ufs.c: Likewise.
19325 * fs/xfs.c: Likewise.
19326 * gencmdlist.sh: Likewise.
19327 * genmk.rb: Likewise.
19328 * include/grub/disk.h: Likewise.
19329 * include/grub/efi/api.h: Likewise.
19330 * include/grub/efi/efi.h: Likewise.
19331 * include/grub/efi/pe32.h: Likewise.
19332 * include/grub/elf.h: Likewise.
19333 * include/grub/fs.h: Likewise.
19334 * include/grub/i386/at_keyboard.h: Likewise.
19335 * include/grub/i386/pc/memory.h: Likewise.
19336 * include/grub/i386/pc/vbe.h: Likewise.
19337 * include/grub/i386/pci.h: Likewise.
19338 * include/grub/i386/tsc.h: Likewise.
19339 * include/grub/ieee1275/ieee1275.h: Likewise.
19340 * include/grub/ntfs.h: Likewise.
19341 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19342 * include/grub/sparc64/libgcc.h: Likewise.
19343 * include/grub/symbol.h: Likewise.
19344 * include/grub/types.h: Likewise.
19345 * include/multiboot2.h: Likewise.
19346 * io/gzio.c: Likewise.
19347 * kern/device.c: Likewise.
19348 * kern/disk.c: Likewise.
19349 * kern/efi/efi.c: Likewise.
19350 * kern/efi/mm.c: Likewise.
19351 * kern/elf.c: Likewise.
19352 * kern/file.c: Likewise.
19353 * kern/i386/dl.c: Likewise.
19354 * kern/i386/pc/init.c: Likewise.
19355 * kern/i386/pc/startup.S: Likewise.
19356 * kern/ieee1275/ieee1275.c: Likewise.
19357 * kern/ieee1275/init.c: Likewise.
19358 * kern/main.c: Likewise.
19359 * kern/mm.c: Likewise.
19360 * kern/powerpc/dl.c: Likewise.
19361 * kern/sparc64/dl.c: Likewise.
19362 * kern/x86_64/dl.c: Likewise.
19363 * lib/hexdump.c: Likewise.
19364 * loader/efi/appleloader.c: Likewise.
19365 * loader/i386/ieee1275/linux.c: Likewise.
19366 * loader/i386/pc/chainloader.c: Likewise.
19367 * loader/i386/pc/linux.c: Likewise.
19368 * loader/i386/pc/multiboot2.c: Likewise.
19369 * loader/ieee1275/multiboot2.c: Likewise.
19370 * loader/multiboot2.c: Likewise.
19371 * loader/multiboot_loader.c: Likewise.
19372 * loader/powerpc/ieee1275/linux.c: Likewise.
19373 * normal/completion.c: Likewise.
19374 * normal/menu_entry.c: Likewise.
19375 * partmap/apple.c: Likewise.
19376 * util/grub.d/10_hurd.in: Likewise.
19377 * util/hostfs.c: Likewise.
19378 * video/readers/png.c: Likewise.
19379
19380 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
19381
19382 * include/grub/misc.h (GNUC_PREREQ): New macro.
19383 (ATTRIBUTE_ERROR): New macro.
19384 * include/grub/list.h (grub_bad_type_cast_real): Use
19385 ATTRIBUTE_ERROR.
19386
19387 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19388
19389 * normal/menu_text.c (print_message): Change messages.
19390
19391 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19392
19393 * normal/menu_entry.c (store_completion): Gettextizze.
19394
19395 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19396
19397 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
19398
19399 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19400
19401 * po/POTFILES: Sort correctly.
19402
19403 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19404
19405 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
19406 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
19407 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
19408 full stop.
19409 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
19410 summary. Gettextizze the strings.
19411 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
19412 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
19413 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
19414 full stop.
19415 (GRUB_MOD_INIT): Remove command name from summary.
19416 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
19417 summary.
19418 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
19419 * term/i386/pc/serial.c (options): Add full stops.
19420 (GRUB_MOD_INIT): Remove command name from the summary.
19421
19422 2010-01-03 Carles Pina i Estany <carles@pina.cat>
19423
19424 * commands/acpi.c: Gettextizze help strings and/or options. Include
19425 `grub/i18n.h' if needed.
19426 * commands/blocklist.c: Likewise.
19427 * commands/boot.c: Likewise.
19428 * commands/cat.c: Likewise.
19429 * commands/cmp.c: Likewise.
19430 * commands/configfile.c: Likewise.
19431 * commands/crc.c: Likewise.
19432 * commands/date.c: Likewise.
19433 * commands/echo.c: Likewise.
19434 * commands/efi/fixvideo.c: Likewise.
19435 * commands/efi/loadbios.c: Likewise.
19436 * commands/gptsync.c: Likewise.
19437 * commands/halt.c: Likewise.
19438 * commands/handler.c: Likewise.
19439 * commands/hdparm.c: Likewise.
19440 * commands/hexdump.c: Likewise.
19441 * commands/i386/cpuid.c: Likewise.
19442 * commands/i386/pc/drivemap.c: Likewise.
19443 * commands/i386/pc/halt.c: Likewise.
19444 * commands/i386/pc/pxecmd.c: Likewise.
19445 * commands/i386/pc/vbeinfo.c: Likewise.
19446 * commands/i386/pc/vbetest.c: Likewise.
19447 * commands/ieee1275/suspend.c: Likewise.
19448 * commands/keystatus.c: Likewise.
19449 * commands/loadenv.c: Likewise.
19450 * commands/ls.c: Likewise.
19451 * commands/lsmmap.c: Likewise.
19452 * commands/lspci.c: Likewise.
19453 * commands/memrw.c: Likewise.
19454 * commands/minicmd.c: Likewise.
19455 * commands/parttool.c: Likewise.
19456 * commands/password.c: Likewise.
19457 * commands/probe.c: Likewise.
19458 * commands/read.c: Likewise.
19459 * commands/reboot.c: Likewise.
19460 * commands/search.c: Likewise.
19461 * commands/sleep.c: Likewise.
19462 * commands/test.c: Likewise.
19463 * commands/true.c: Likewise.
19464 * commands/usbtest.c: Likewise.
19465 * commands/videotest.c: Likewise.
19466 * commands/xnu_uuid.c: Likewise.
19467 * disk/loopback.c: Likewise.
19468 * hello/hello.c: Likewise.
19469 * loader/i386/bsd.c: Likewise.
19470 * term/i386/pc/serial.c: Likewise.
19471 * po/POTFILES: Add new files.
19472
19473 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
19474
19475 * term/i386/pc/at_keyboard.c
19476 (keyboard_controller_wait_untill_ready): Rename to ...
19477 (keyboard_controller_wait_until_ready): ... this. Update all users.
19478
19479 2010-01-01 Carles Pina i Estany <carles@pina.cat>
19480
19481 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
19482 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
19483 string using string width.
19484 * normal/menu_text.c (grub_print_message_indented): Use
19485 grub_print_spaces and not print_spaces.
19486 (print_timeout): Likewise.
19487 (print_spaces): Move to...
19488 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
19489
19490 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
19491
19492 Import from Gnulib.
19493
19494 * gnulib/getdelim.c: New file.
19495 * gnulib/getline.c: Likewise.
19496
19497 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
19498
19499 * include/grub/list.h (grub_assert_fail): Removed.
19500 (grub_bad_type_cast_real): New function.
19501 (grub_bad_type_cast): New macro.
19502 (GRUB_AS_LIST): Use grub_bad_type_cast.
19503 (GRUB_AS_LIST_P): Likewise.
19504 (GRUB_AS_NAMED_LIST): Likewise.
19505 (GRUB_AS_NAMED_LIST_P): Likewise.
19506 (GRUB_AS_PRIO_LIST): Likewise.
19507 (GRUB_AS_PRIO_LIST_P): Likewise.
19508 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
19509
19510 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
19511
19512 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
19513 Fix syntax error.
19514
19515 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
19516
19517 * configure.ac: Check for TARGET_CFLAGS initialization before we
19518 initialize it ourselves (sigh).
19519 Move a few modifications to TARGET_CFLAGS to be unconditional
19520 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
19521 eh_frame)
19522
19523 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
19524 * term/i386/pc/at_keyboard.c
19525 (keyboard_controller_wait_untill_ready): Likewise.
19526 (keyboard_controller_led): Rename `led_status' paramter to avoid
19527 name conflict.
19528
19529 2009-12-28 Carles Pina i Estany <carles@pina.cat>
19530
19531 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
19532 quotes.
19533
19534 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19535
19536 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
19537
19538 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19539
19540 * normal/menu_text.c (grub_print_message_indented): Prevent
19541 past-the-end-of-array dereference.
19542
19543 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19544
19545 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
19546 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
19547
19548 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19549
19550 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
19551 * normal/main.c (grub_normal_read_line): Remove a space from the
19552 default prompt.
19553
19554 2009-12-27 Carles Pina i Estany <carles@pina.cat>
19555
19556 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
19557 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19558 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19559 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19560 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19561 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19562 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19563
19564 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19565
19566 * video/readers/jpeg.c (cmd): Declare.
19567 (grub_cmd_jpegtest): Use `grub_command_t' type.
19568 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19569 Assign to `cmd'.
19570 (GRUB_MOD_FINI): Use `cmd' to unregister.
19571 * video/readers/png.c (cmd): Declare.
19572 (grub_cmd_pngtest): Use `grub_command_t' type.
19573 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19574 Assign to `cmd'.
19575 (GRUB_MOD_FINI): Use `cmd' to unregister.
19576 * video/readers/tga.c (cmd): Declare.
19577 (grub_cmd_tgatest): Use `grub_command_t' type.
19578 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
19579 Assign to `cmd'.
19580 (GRUB_MOD_FINI): Use `cmd' to unregister.
19581
19582 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19583
19584 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
19585 stops.
19586 * kern/corecmd.c (grub_register_core_commands): Likewise.
19587 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
19588 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19589 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
19590 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19591 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
19592 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
19593 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
19594 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
19595 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19596 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
19597 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19598 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19599 * normal/handler.c (insert_handler): Likewise.
19600 * normal/main.c (GRUB_MOD_INIT): Likewise.
19601 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
19602
19603 2009-12-26 Carles Pina i Estany <carles@pina.cat>
19604
19605 * commands/help.c (grub_cmd_help): Print the command name before the
19606 summary.
19607 (GRUB_MOD_INIT): Remove command name from the summary.
19608 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
19609 string as summary.
19610 * lib/arg.c (find_long): Print the command name before the summary.
19611 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
19612 summary.
19613 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
19614 * commands/cat.c (GRUB_MOD_INIT): Likewise.
19615 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
19616 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
19617 * commands/crc.c (GRUB_MOD_INIT): Likewise.
19618 * commands/date.c (GRUB_MOD_INIT): Likewise.
19619 * commands/echo.c (GRUB_MOD_INIT): Likewise.
19620 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
19621 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
19622 * commands/handler.c (GRUB_MOD_INIT): Likewise.
19623 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
19624 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
19625 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
19626 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
19627 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
19628 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
19629 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
19630 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
19631 * commands/ls.c (GRUB_MOD_INIT): Likewise.
19632 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
19633 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
19634 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
19635 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
19636 * commands/password.c (GRUB_MOD_INIT): Likewise.
19637 * commands/probe.c (GRUB_MOD_INIT): Likewise.
19638 * commands/read.c (GRUB_MOD_INIT): Likewise.
19639 * commands/search.c (GRUB_MOD_INIT): Likewise.
19640 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
19641 * commands/test.c (GRUB_MOD_INIT): Likewise.
19642 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
19643 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
19644 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
19645 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
19646 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
19647 * lib/arg.c (GRUB_MOD_INIT): Likewise.
19648 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
19649 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
19650 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
19651 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
19652 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
19653 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
19654 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
19655 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
19656
19657 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19658
19659 Use search command for preliminar UUID search.
19660
19661 * commands/search.c: Split into ...
19662 * commands/search_wrap.c: ...this
19663 * commands/search.c: ...and this.
19664 * commands/search_file.c: New file.
19665 * commands/search_label.c: New file.
19666 * commands/search_uuid.c: New file.
19667 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
19668 Add commands/search_wrap.c, commands/search_file.c,
19669 commands/search_label.c and commands/search_uuid.c.
19670 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
19671 (search_mod_SOURCES): Set to commands/search_wrap.c.
19672 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
19673 search_label.mod.
19674 (search_fs_file_mod_SOURCES): New variable.
19675 (search_fs_file_mod_CFLAGS): Likewise.
19676 (search_fs_file_mod_LDFLAGS): Likewise.
19677 (search_label_mod_SOURCES): Likewise.
19678 (search_label_mod_CFLAGS): Likewise.
19679 (search_label_mod_LDFLAGS): Likewise.
19680 (search_fs_uuid_mod_SOURCES): New variable.
19681 (search_fs_uuid_mod_CFLAGS): Likewise.
19682 (search_fs_uuid_mod_LDFLAGS): Likewise.
19683 (fs_file_mod_SOURCES): Removed.
19684 (fs_file_mod_CFLAGS): Likewise.
19685 (fs_file_mod_LDFLAGS): Likewise.
19686 (fs_uuid_mod_SOURCES): Removed.
19687 (fs_uuid_mod_CFLAGS): Likewise.
19688 (fs_uuid_mod_LDFLAGS): Likewise.
19689 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
19690 Set to util/grub-install.in.
19691 * disk/fs_file.c: Removed.
19692 * disk/fs_uuid.c: Likewise.
19693 * include/grub/search.h: New file.
19694 * util/grub-install.in: Handle sparc64.
19695 Create and use load.cfg.
19696 * util/sparc64/ieee1275/grub-install.in: Removed.
19697
19698 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
19701 Ignore return status if CF is cleared.
19702 (grub_biosdisk_get_diskinfo_standard): Likewise.
19703
19704 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19705
19706 * term/i386/pc/at_keyboard.c
19707 (keyboard_controller_wait_untill_ready): New function.
19708 (grub_keyboard_controller_write, grub_keyboard_controller_read)
19709 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
19710 for keyboard polling, rather than duplicate the same loop. This
19711 saves a few bytes in code size.
19712
19713 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19714
19715 Support for (pxe[:server[:gateway]]) syntax and
19716 use environment variable for PXE.
19717
19718 * commands/i386/pc/pxecmd.c (options): Removed.
19719 (print_ip): Removed.
19720 (grub_cmd_pxe): Removed
19721 (grub_cmd_pxe_unload): New function.
19722 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
19723 (grub_pxe_your_ip): Made static.
19724 (grub_pxe_default_server_ip): Likewise.
19725 (grub_pxe_default_gateway_ip): Likewise.
19726 (grub_pxe_blksize): Likewise.
19727 (parse_ip): New function.
19728 (grub_pxe_open): Support server and gateway specification.
19729 (grub_pxe_close): Free disk->data.
19730 (grub_pxefs_open): Use disk->data.
19731 (grub_pxefs_read): Likewise.
19732 (grub_env_write_readonly): New function.
19733 (set_mac_env): Likewise.
19734 (set_env_limn_ro): Likewise.
19735 (parse_dhcp_vendor): Likewise.
19736 (grub_pxe_detect): Set the environment variables.
19737 (set_ip_env): New function.
19738 (write_ip_env): Likewise.
19739 (grub_env_write_pxe_default_server): Likewise.
19740 (grub_env_write_pxe_default_gateway): Likewise.
19741 (grub_env_write_pxe_blocksize): Likewise.
19742 (GRUB_MOD_INIT(pxe)): Set environment variables.
19743 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
19744 (grub_pxe_mac_addr_t): ... this. All users updated.
19745 (grub_pxe_your_ip): Removed.
19746 (grub_pxe_server_ip): Likewise.
19747 (grub_pxe_gateway_ip): Likewise.
19748 (grub_pxe_blksize): Likewise.
19749
19750 2009-12-25 Carles Pina i Estany <carles@pina.cat>
19751
19752 * commands/help.c: Include `<grub/i18n.h>'.
19753 (grub_cmd_help): Gettextizze.
19754 (GRUB_MOD_INIT): Likewise.
19755 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
19756 (GRUB_MOD_INIT): Gettextizze.
19757 * commands/search.c: Include `<grub/i18n.h>'.
19758 (options): Gettextizze.
19759 (GRUB_MOD_INIT): Gettextizze.
19760 * lib/arg.c: Include `<grub/i18n.h>'.
19761 (help_options): Gettextizze.
19762 (find_long): Likewise.
19763 (grub_arg_show_help): Likewise.
19764 * normal/dyncmd.c: Include `<grub/i18n.h>'.
19765 (read_command_list): Gettextizze.
19766 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
19767 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
19768
19769 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
19770
19771 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
19772 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
19773 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
19774 (led_status): New variable.
19775 (keyboard_controller_led): New function.
19776 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
19777 update led status for caps lock, num lock and scroll lock.
19778
19779 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
19780
19781 * util/hostdisk.c (open_device): Fix a comment.
19782
19783 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19784
19785 * util/grub-install.in (host_os): New variable.
19786 * util/i386/efi/grub-install.in (host_os): Likewise.
19787
19788 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19789
19790 * util/mkisofs/write.c (padblock_write): Abort when given an
19791 excedingly large embed image, instead of silently truncating it.
19792
19793 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19794
19795 * include/multiboot.h: Indentation fixes.
19796
19797 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19798
19799 * include/multiboot.h (struct multiboot_aout_symbol_table)
19800 (struct multiboot_elf_section_header_table): New structure
19801 declarations (stolen from GRUB Legacy).
19802 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
19803 table information.
19804
19805 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
19806 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
19807 type aliases.
19808
19809 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19810
19811 * include/multiboot.h: Make comments src2texi-friendly.
19812
19813 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19814
19815 For consistency with [multiboot]/docs/boot.S.
19816
19817 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
19818 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
19819 (MULTIBOOT_MAGIC2): Rename from this ...
19820 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
19821
19822 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
19823
19824 * include/multiboot.h: Remove `<grub/types.h>'.
19825 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
19826 types. Update all users.
19827
19828 2009-12-25 Carles Pina i Estany <carles@pina.cat>
19829
19830 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
19831 `couldn't' and `can not' by `cannot'.
19832 * commands/i386/pc/drivemap.c: Likewise.
19833 * disk/ata.c: Likewise.
19834 * disk/ieee1275/nand.c: Likewise.
19835 * fs/affs.c: Likewise.
19836 * fs/fat.c: Likewise.
19837 * fs/hfs.c: Likewise.
19838 * fs/hfsplus.c: Likewise.
19839 * fs/iso9660.c: Likewise.
19840 * fs/jfs.c: Likewise.
19841 * fs/minix.c: Likewise.
19842 * fs/reiserfs.c: Likewise.
19843 * fs/sfs.c: Likewise.
19844 * fs/udf.c: Likewise.
19845 * fs/ufs.c: Likewise.
19846 * fs/xfs.c: Likewise.
19847 * loader/powerpc/ieee1275/linux.c: Likewise.
19848 * loader/sparc64/ieee1275/linux.c: Likewise.
19849 * util/grub-probe.c: Likewise.
19850 * util/misc.c: Likewise.
19851
19852 2009-12-24 Carles Pina i Estany <carles@pina.cat>
19853
19854 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
19855 grub_errno calls.
19856 * commands/acpi.c: Likewise.
19857 * commands/blocklist.c: Likewise.
19858 * commands/efi/loadbios.c: Likewise.
19859 * commands/i386/pc/drivemap.c: Likewise.
19860 * commands/loadenv.c: Likewise.
19861 * commands/memrw.c: Likewise.
19862 * commands/password.c: Likewise.
19863 * commands/videotest.c: Likewise.
19864 * disk/ata.c: Likewise.
19865 * disk/ata_pthru.c: Likewise.
19866 * disk/dmraid_nvidia.c: Likewise.
19867 * disk/ieee1275/nand.c: Likewise.
19868 * disk/ieee1275/ofdisk.c: Likewise.
19869 * disk/loopback.c: Likewise.
19870 * disk/lvm.c: Likewise.
19871 * disk/mdraid_linux.c: Likewise.
19872 * disk/raid.c: Likewise.
19873 * disk/raid6_recover.c: Likewise.
19874 * disk/scsi.c: Likewise.
19875 * efiemu/main.c: Likewise.
19876 * efiemu/mm.c: Likewise.
19877 * efiemu/pnvram.c: Likewise.
19878 * efiemu/symbols.c: Likewise.
19879 * font/font.c: Likewise.
19880 * fs/cpio.c: Likewise.
19881 * fs/hfsplus.c: Likewise.
19882 * fs/iso9660.c: Likewise.
19883 * fs/jfs.c: Likewise.
19884 * fs/minix.c: Likewise.
19885 * fs/ntfs.c: Likewise.
19886 * fs/ntfscomp.c: Likewise.
19887 * fs/reiserfs.c: Likewise.
19888 * fs/ufs.c: Likewise.
19889 * fs/xfs.c: Likewise.
19890 * gettext/gettext.c: Likewise.
19891 * include/grub/auth.h: Likewise.
19892 * kern/elf.c: Likewise.
19893 * kern/file.c: Likewise.
19894 * kern/ieee1275/init.c: Likewise.
19895 * kern/ieee1275/mmap.c: Likewise.
19896 * kern/ieee1275/openfw.c: Likewise.
19897 * kern/powerpc/dl.c: Likewise.
19898 * kern/sparc64/dl.c: Likewise.
19899 * lib/arg.c: Likewise.
19900 * loader/i386/bsd.c: Likewise.
19901 * loader/i386/bsdXX.c: Likewise.
19902 * loader/i386/efi/linux.c: Likewise.
19903 * loader/i386/efi/xnu.c: Likewise.
19904 * loader/i386/ieee1275/linux.c: Likewise.
19905 * loader/i386/linux.c: Likewise.
19906 * loader/i386/multiboot.c: Likewise.
19907 * loader/i386/pc/linux.c: Likewise.
19908 * loader/i386/pc/multiboot2.c: Likewise.
19909 * loader/i386/xnu.c: Likewise.
19910 * loader/ieee1275/multiboot2.c: Likewise.
19911 * loader/macho.c: Likewise.
19912 * loader/machoXX.c: Likewise.
19913 * loader/multiboot2.c: Likewise.
19914 * loader/multiboot_loader.c: Likewise.
19915 * loader/powerpc/ieee1275/linux.c: Likewise.
19916 * loader/sparc64/ieee1275/linux.c: Likewise.
19917 * loader/xnu.c: Likewise.
19918 * loader/xnu_resume.c: Likewise.
19919 * mmap/i386/pc/mmap.c: Likewise.
19920 * normal/menu_viewer.c: Likewise.
19921 * partmap/acorn.c: Likewise.
19922 * partmap/amiga.c: Likewise.
19923 * partmap/apple.c: Likewise.
19924 * script/lexer.c: Likewise.
19925 * term/gfxterm.c: Likewise.
19926 * term/i386/pc/serial.c: Likewise.
19927 * term/i386/pc/vga.c: Likewise.
19928 * term/ieee1275/ofconsole.c: Likewise.
19929 * term/terminfo.c: Likewise.
19930 * video/bitmap.c: Likewise.
19931 * video/efi_gop.c: Likewise.
19932 * video/efi_uga.c: Likewise.
19933 * video/fb/video_fb.c: Likewise.
19934 * video/i386/pc/vbe.c: Likewise.
19935 * video/readers/tga.c: Likewise.
19936 * video/video.c: Likewise.
19937
19938 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
19939
19940 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
19941 * commands/lspci.c: Likewise.
19942 * commands/probe.c: Likewise.
19943 * commands/xnu_uuid.c: Likewise.
19944 * conf/i386-coreboot.rmk: Likewise.
19945 * conf/i386-efi.rmk: Likewise.
19946 * conf/i386-ieee1275.rmk: Likewise.
19947 * conf/i386-pc.rmk: Likewise.
19948 * conf/powerpc-ieee1275.rmk: Likewise.
19949 * conf/sparc64-ieee1275.rmk: Likewise.
19950 * conf/x86_64-efi.rmk: Likewise.
19951 * fs/i386/pc/pxe.c: Likewise.
19952 * gettext/gettext.c: Likewise.
19953 * include/grub/efi/graphics_output.h: Likewise.
19954 * include/grub/i386/pc/memory.h: Likewise.
19955 * kern/env.c: Likewise.
19956 * kern/i386/qemu/startup.S: Likewise.
19957 * lib/i386/pc/biosnum.c: Likewise.
19958 * lib/i386/relocator.c: Likewise.
19959 * lib/i386/relocator_asm.S: Likewise.
19960 * lib/relocator.c: Likewise.
19961 * loader/i386/bsd.c: Likewise.
19962 * loader/i386/multiboot.c: Likewise.
19963 * loader/i386/pc/chainloader.c: Likewise.
19964 * loader/i386/xnu.c: Likewise.
19965 * loader/xnu.c: Likewise.
19966 * normal/main.c: Likewise.
19967 * normal/menu_text.c: Likewise.
19968 * util/getroot.c: Likewise.
19969 * util/grub-mkconfig_lib.in: Likewise.
19970 * util/grub.d/00_header.in: Likewise.
19971 * util/i386/pc/grub-mkimage.c: Likewise.
19972 * util/mkisofs/eltorito.c: Likewise.
19973 * util/mkisofs/exclude.h: Likewise.
19974 * util/mkisofs/hash.c: Likewise.
19975 * util/mkisofs/iso9660.h: Likewise.
19976 * util/mkisofs/joliet.c: Likewise.
19977 * util/mkisofs/mkisofs.c: Likewise.
19978 * util/mkisofs/mkisofs.h: Likewise.
19979 * util/mkisofs/multi.c: Likewise.
19980 * util/mkisofs/name.c: Likewise.
19981 * util/mkisofs/rock.c: Likewise.
19982 * util/mkisofs/tree.c: Likewise.
19983 * util/mkisofs/write.c: Likewise.
19984 * video/efi_gop.c: Likewise.
19985
19986 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
19987
19988 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
19989 size counting.
19990
19991 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
19992
19993 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
19994 * genmk.rb (class SCRIPT): Modify the target file instead of source.
19995
19996 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
19997
19998 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
19999 (GRUB_MOD_INIT(memrw)): Update help line.
20000
20001 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20002
20003 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
20004 Use grub_extcmd_t. All users updated.
20005 (options): New variable.
20006 (grub_cmd_read): Restructure for readability. Support "-v" option.
20007 (grub_cmd_write): Restructure for readability.
20008
20009 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20010
20011 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
20012
20013 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20014
20015 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
20016 with the actual contents of the correspondending make variable.
20017 * util/grub-mkrescue.in (pkglib_DATA): New variable.
20018 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
20019 specifying `*.lst' and `efiemu??.o'
20020
20021 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20022
20023 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
20024 after function name.
20025 Noticed by Rene Engelhard <rene@debian.org>.
20026
20027 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20028
20029 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
20030 (options): New variable.
20031 (iospace): Likewise.
20032 (grub_lspci_iter): List IO spaces if "-i" was given.
20033 (grub_cmd_lspci): Parse options.
20034 (GRUB_MOD_INIT(lspci)): Use extcmd.
20035 (GRUB_MOD_FINI(lspci)): Likewise.
20036
20037 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
20038
20039 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
20040 `function' keyword.
20041 Patch by Tony Mancill <tmancill@debian.org>.
20042
20043 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
20046 (grub_uhci_portstatus): Likewise.
20047 (grub_uhci_portstatus): Add necessary delay.
20048 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
20049
20050 2009-12-21 Carles Pina i Estany <carles@pina.cat>
20051
20052 * commands/acpi.c (options): Fix capitalizations and/or full stops.
20053 (GRUB_MOD_INIT): Likewise.
20054 * commands/boot.c (GRUB_MOD_INIT): Likewise.
20055 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
20056 * commands/echo.c (options): Fix capitalizations and/or full stops.
20057 * commands/efi/loadbios.c (enable_rom_area): Likewise.
20058 (enable_rom_area): Likewise.
20059 (GRUB_MOD_INIT): Likewise.
20060 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
20061 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
20062 * commands/handler.c (GRUB_MOD_INIT): Likewise.
20063 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
20064 * commands/hexdump.c (options): Likewise.
20065 * commands/i386/cpuid.c (options): Likewise.
20066 (GRUB_MOD_INIT): Likewise.
20067 * commands/i386/pc/drivemap.c (options): Likewise.
20068 (GRUB_MOD_INIT): Likewise.
20069 * commands/i386/pc/halt (options): Likewise.
20070 (GRUB_MOD_INIT): Likewise.
20071 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
20072 * commands/i386/pc/pxecmd.c (options): Likewise.
20073 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
20074 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
20075 * commands/keystatus.c (options): Likewise.
20076 (GRUB_MOD_INIT): Likewise.
20077 * commands/loadenv.c (options): Likewise.
20078 * commands/ls.c (options): Likewise.
20079 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
20080 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
20081 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
20082 * commands/parttool.c (helpmsg): Likewise.
20083 * commands/probe.c (options): Likewise.
20084 * commands/read.c (GRUB_MOD_INIT): Likewise.
20085 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
20086 * commands/search.c (options): Likewise.
20087 * commands/sleep.c (options): Likewise.
20088 * commands/test.c (GRUB_MOD_INIT): Likewise.
20089 * commands/true.c (GRUB_MOD_INIT): Likewise.
20090 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
20091 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
20092 * lib/arg.c (help_options): Likewise.
20093 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
20094 `$(XGETTEXT)'.
20095 * po/POTFILES: Add `commands/loadenv.c'.
20096
20097 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
20098
20099 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
20100 instead of specifying them explicit.
20101
20102 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20103
20104 * NEWS: Add grub-probe support for GNU/Hurd.
20105
20106 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20107
20108 * NEWS: gettext was added after 1.97.
20109
20110 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20111
20112 * util/mkisofs/msdos_partition.h: New file (based on
20113 include/grub/msdos_partition.h).
20114 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
20115 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
20116 (ld_options, main): Recognize --protective-msdos-label.
20117 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
20118 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
20119 (padblock_write): If `use_protective_msdos_label' is set, patch a
20120 protective DOS-style label in the output image.
20121
20122 * util/grub-mkrescue.in: Use --protective-msdos-label.
20123
20124 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20125
20126 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
20127 boot.
20128
20129 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20130
20131 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
20132 variables.
20133 (ld_options, main): Recognize `--embedded-boot'.
20134 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
20135 declarations.
20136 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
20137 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
20138 (padblock_write): Likewise. Rewrite to support embedded boot image.
20139
20140 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
20141 for BIOS-based disk boot instead of only ElTorito.
20142
20143 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20144
20145 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
20146 build (not needed for bootstrap).
20147
20148 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20149
20150 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
20151 from i386-pc build (not needed for bootstrap).
20152 Rewrite a pair of strings.
20153
20154 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
20155
20156 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
20157
20158 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
20161
20162 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20163
20164 * kern/env.c (grub_env_context_open): Mark exported variable for
20165 reexport.
20166
20167 2009-12-21 Andreas Born <futur.andy@googlemail.com>
20168
20169 * kern/env.c (grub_env_export): Create nonexistent variables before
20170 exporting.
20171
20172 2009-12-20 Carles Pina i Estany <carles@pina.cat>
20173
20174 * include/grub/auth.h: Include `<grub/i18n.h>'.
20175 (GRUB_GET_PASSWORD): Gettextizze string.
20176 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
20177 menu_text.c.
20178 (grub_utf8_to_ucs4_alloc): Fix indentation.
20179 (grub_print_ucs4): Likewise.
20180 (grub_getstringwidth): Likewise.
20181 (print_message_indented): New declaration.
20182 * normal/auth.c: Include `<grub/i18n.h>'.
20183 (grub_auth_check_authentication): Gettexttize string.
20184 * normal/cmdline.c: Include `<grub/i18n.h>'.
20185 (grub_cmdline_get): Gettextizze.
20186 * normal/color.c: Include `<grub/i18n.h>'.
20187 (grub_parse_color_name_pair): Gettexttize strings.
20188 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
20189 string (use `print_message_indented').
20190 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
20191 `include/grub/normal.h'.
20192 (print_message_indented): Renamed to ...
20193 (grub_print_message_indented): ... this. Remove `static' qualifer (now
20194 used in normal/main.c).
20195 (print_message): Use `grub_print_message_indented' instead of
20196 `print_message_indented'.
20197 (print_timeout): Likewise.
20198 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
20199 (grub_normal_print_device_info): Gettexttize strings.
20200 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
20201
20202 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20203
20204 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
20205 of arguments. Return number of tokens and not arguments. All users
20206 updated.
20207
20208 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
20209
20210 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
20211 non-MSDOS paritions.
20212
20213 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
20214
20215 * include/grub/types.h (UNUSED): Removed since it conflicts with
20216 NetBSD headers. All users changed to direct __attribute__ ((unused)).
20217 Reported by Grégoire Sutre.
20218
20219 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20220
20221 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
20222 (grub_print_ucs4_alloc): Likewise.
20223 (grub_getstringwidth): Likewise.
20224 * normal/main.c (grub_normal_init_page): Gettextize version string.
20225 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
20226 (getstringwidth): Renamed to ...
20227 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
20228 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
20229 (grub_print_ucs4): Remove `static' qualifer (now used in
20230 normal/main.c).
20231 * po/POTFILES: Add normal/main.c.
20232
20233 2009-12-19 Carles Pina i Estany <carles@pina.cat>
20234
20235 * normal/menu_text.c (STANDARD_MARGIN): New macro.
20236 (print_message_indented): Add `margin_left' and `margin_right'
20237 parameters.
20238 (print_message): Update `print_message_indented' calls. Adds '\n' to the
20239 strings.
20240 (print_timeout): Use `print_message_indented' to print the message.
20241 Deletes `second_stage' parameter.
20242 (run_menu): Update `print_timeout' calls.
20243
20244 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20245
20246 Fix console palette on OpenFirmware.
20247
20248 * term/ieee1275/ofconsole.c (MAX): Removed.
20249 (colors): Redone based on VGA palette.
20250 (grub_ofconsole_setcolor): Discard brightness bit since only 8
20251 colors are supported.
20252 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
20253
20254 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20255
20256 Fix potential EfiEmu double prepare.
20257
20258 * efiemu/main.c (prepared): New variable
20259 (grub_efiemu_unload): Set prepare to '0'.
20260 (grub_efiemu_prepare): Return if already prepared. Set prepared.
20261
20262 set_virtual_address_map support.
20263
20264 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
20265 prototype.
20266 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
20267 prototype.
20268 (grub_efiemu_crc32): Likewise.
20269 (grub_efiemu_crc64): Likewise.
20270 (grub_efiemu_set_virtual_address_map): Likewise.
20271 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
20272 New definition.
20273 (grub_autoefi_set_virtual_address_map): Likewise.
20274 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
20275 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
20276 Restructure flow to accomodate it.
20277 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
20278 (grub_efiemu_crc): Recompute CRC32.
20279 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
20280 (efiemu_ptv_relocated): ... this. Made global. All users updated.
20281 * efiemu/symbols.c (relocated_handle): New variable.
20282 (grub_efiemu_free_syms): Free relocated_handle.
20283 (grub_efiemu_alloc_syms): Allocate relocated_handle.
20284 (grub_efiemu_write_sym_markers): New function.
20285 (grub_efiemu_set_virtual_address_map): Likewise.
20286
20287 Newer XNU parameters.
20288
20289 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
20290 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
20291 (grub_xnu_fill_devicetree): New prototype.
20292 (grub_xnu_heap_real_start): New variable.
20293 * loader/xnu.c (get_name_ptr): New function.
20294 (grub_xnu_load_driver): Fill namelen and name.
20295
20296 64-bit xnu support.
20297
20298 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
20299 and 'loader/macho64.c'.
20300 * conf/i386-pc.rmk: Likewise.
20301 * conf/x86_64-efi.rmk: Likewise.
20302 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
20303 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
20304 * include/grub/macho.h (grub_macho_segment64): New structure.
20305 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
20306 (grub_macho_size32): ... to this.
20307 (grub_macho32_get_entry_point): Renamed from ...
20308 (grub_macho_get_entry_point32): ... to this.
20309 (grub_macho_contains_macho64): New prototype.
20310 (grub_macho_size64): Likewise.
20311 (grub_macho_get_entry_point64): Likewise.
20312 (grub_macho32_load): Renamed from ...
20313 (grub_macho_load32): ... to this.
20314 (grub_macho32_filesize): Renamed from ...
20315 (grub_macho_filesize32): ... to this.
20316 (grub_macho32_readfile): Renamed from ...
20317 (grub_macho_readfile32): ... to this.
20318 (grub_macho_filesize64): New prototype.
20319 (grub_macho_readfile64): Likewise.
20320 (grub_macho_parse32): Likewise.
20321 (grub_macho_parse64): Likewise.
20322 * loader/macho.c: Split into ...
20323 * loader/machoXX.c: ... and this. Replace 32 with XX.
20324 * loader/macho32.c: New file.
20325 * loader/macho64.c: Likewise.
20326 * loader/xnu.c (grub_xnu_is_64bit): New variable.
20327 (grub_cmd_xnu_kernel): Make 32-bit only.
20328 (grub_cmd_xnu_kernel64): New function.
20329 (grub_xnu_load_driver): Support Mach-O 64.
20330 (grub_cmd_xnu_mkext): Likewise.
20331 * util/grub.d/30_os-prober.in (osx_entry): New function.
20332 Generate entries for 64-bit boot too.
20333
20334 Eliminate ad-hoc tree format in XNU and EfiEmu.
20335
20336 * efiemu/main.c (grub_efiemu_prepare): Update comment.
20337 * efiemu/pnvram.c: Rewritten to use environment variables.
20338 All users updated.
20339
20340 Inline utf16_to_utf8.
20341
20342 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
20343 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
20344 All users updated.
20345 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
20346
20347 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
20348 * commands/usbtest.c (grub_usb_get_string): ... move here.
20349 (usb_print_str): Fix error handling.
20350 * include/grub/usb.h (grub_usb_get_string): Remove.
20351
20352 UTF-8 to UTF-16 transformation.
20353
20354 * conf/common.rmk (pkglib_MODULES): Add charset.mod
20355 (charset_mod_SOURCES): New variable.
20356 (charset_mod_CFLAGS): Likewise.
20357 (charset_mod_LDFLAGS): Likewise.
20358 * include/grub/utf.h: New file.
20359 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
20360
20361 Support for device properties.
20362
20363 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
20364 (grub_xnu_devprop_device_header): Likewise.
20365 (grub_xnu_devprop_device_descriptor): Likewise.
20366 (grub_xnu_devprop_add_device): New prototype.
20367 (grub_xnu_devprop_remove_device): Likewise.
20368 (grub_xnu_devprop_remove_property): Likewise.
20369 (grub_xnu_devprop_add_property_utf8): Likewise.
20370 (grub_xnu_devprop_add_property_utf16): Likewise.
20371 (grub_cpu_xnu_init): Likewise.
20372 (grub_cpu_xnu_fini): Likewise.
20373 (grub_cpu_xnu_unload): Likewise.
20374 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
20375 (property_descriptor): Likewise.
20376 (devices): New variable.
20377 (grub_xnu_devprop_remove_property): New function.
20378 (grub_xnu_devprop_add_device): Likewise.
20379 (grub_xnu_devprop_remove_device): Likewise.
20380 (grub_xnu_devprop_add_property): Likewise.
20381 (grub_xnu_devprop_add_property_utf8): Likewise.
20382 (grub_xnu_devprop_add_property_utf16): Likewise.
20383 (hextoval): Likewise.
20384 (grub_cpu_xnu_fill_devprop): Likewise.
20385 (grub_cmd_devprop_load): Likewise.
20386 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
20387 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
20388 (cmd_devprop_load): New variable.
20389 (grub_cpu_xnu_init): New function.
20390 (grub_cpu_xnu_fini): Likewise.
20391 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
20392 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
20393 (grub_cmd_xnu_devtree): Likewise.
20394 (hextoval): New function.
20395 (unescape): Likewise.
20396 (grub_xnu_fill_devicetree): Likewise.
20397
20398 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
20399 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
20400
20401 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
20402
20403 Workaround for broken ATI VBE.
20404
20405 * video/i386/pc/vbe.c (last_set_mode): New variable.
20406 (grub_vbe_set_video_mode): Set 'last_set_mode'.
20407 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
20408 (grub_video_vbe_setup): Don't check for reserved flag.
20409
20410 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
20411
20412 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
20413 the `find' command.
20414
20415 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
20416
20417 UUID support for HFS.
20418
20419 * fs/hfs.c (grub_hfs_uuid): New function.
20420 (grub_hfs_fs): New value .uuid.
20421 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
20422
20423 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
20424
20425 Fix a segfault with parsing unknown long options.
20426
20427 * util/grub-mkrelpath.c (options): Zero terminate it.
20428
20429 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20430
20431 * include/grub/misc.h (grub_puts): New declaration.
20432 (grub_puts_): Likewise.
20433 * kern/misc.c (grub_puts): New definition.
20434 (grub_puts_): Likewise.
20435
20436 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20437
20438 * util/grub-probe.c (probe): Improve error message.
20439
20440 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
20441
20442 * loader/i386/multiboot_elfxx.c
20443 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
20444 initialization.
20445
20446 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20447
20448 Relocator framework
20449
20450 * loader/i386/xnu_helper.S: Removed. All users updated.
20451 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
20452 (relocator_mod_SOURCES): New variable.
20453 (relocator_mod_CFLAGS): Likewise.
20454 (relocator_mod_LDFLAGS): Likewise.
20455 (relocator_mod_ASFLAGS): Likewise.
20456 * conf/x86_64.rmk: Likewise.
20457 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
20458 (grub_multiboot_payload_entry_offset): Likewise.
20459 (grub_multiboot_forward_relocator): Likewise.
20460 (grub_multiboot_forward_relocator_end): Likewise.
20461 (grub_multiboot_backward_relocator): Likewise.
20462 (grub_multiboot_backward_relocator_end): Likewise.
20463 (grub_multiboot_payload_eip): New variable.
20464 (grub_multiboot_payload_orig): Likewise.
20465 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
20466 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
20467 * include/grub/i386/memory.h
20468 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
20469 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
20470 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
20471 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
20472 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
20473 * include/grub/i386/relocator.h: New file.
20474 * include/grub/x86_64/relocator.h: Likewise.
20475 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
20476 (XNU_RELOCATOR): New macro.
20477 (grub_xnu_launcher_start): Remove.
20478 (grub_xnu_launcher_end): Likewise.
20479 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
20480 (grub_xnu_heap_real_start): Remove.
20481 (grub_xnu_heap_start): Change to void *. All users updated.
20482 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
20483 * lib/i386/relocator.c: New file.
20484 * lib/i386/relocator_asm.S: Likewise.
20485 * lib/i386/relocator_backward.S: Likewise.
20486 * lib/mips/relocator.c: Likewise.
20487 * lib/mips/relocator_asm.S: Likewise.
20488 * lib/relocator.c: Likewise.
20489 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
20490 (entry): Removed.
20491 (playground): Likewise.
20492 (grub_multiboot_payload_orig): New variable.
20493 (grub_multiboot_payload_dest): Likewise.
20494 (grub_multiboot_payload_size): Likewise.
20495 (grub_multiboot_payload_eip): Likewise.
20496 (grub_multiboot_payload_esp): Likewise.
20497 (grub_multiboot_boot): Use grub_relocator32_boot.
20498 (grub_multiboot_unload): Free relocators.
20499 (grub_multiboot): Setup stack. Use relocators.
20500 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
20501 (grub_multiboot_load_elfXX): Use relocators.
20502 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
20503 (grub_multiboot_payload_size): Likewise.
20504 (grub_multiboot_payload_dest): Likewise.
20505 (grub_multiboot_payload_entry_offset): Likewise.
20506 (grub_multiboot_forward_relocator): Likewise.
20507 (grub_multiboot_backward_relocator): Likewise.
20508 (grub_multiboot_real_boot): Likewise.
20509 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
20510 (grub_xnu_entry_point): Likewise.
20511 (grub_xnu_arg1): Likewise.
20512 (grub_xnu_stack): Likewise.
20513 (grub_xnu_launch): Removed.
20514 (grub_xnu_boot_resume): New function.
20515 (grub_xnu_boot): Use relocators.
20516 * loader/i386/xnu_helper.S: Removed.
20517 * loader/xnu.c (grub_xnu_heap_start): New variable.
20518 (grub_xnu_heap_size): Likewise.
20519 (grub_xnu_heap_malloc): Use relocators.
20520 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
20521
20522 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
20523
20524 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
20525 anything.
20526
20527 2009-12-13 Carles Pina i Estany <carles@pina.cat>
20528
20529 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
20530 GRUB_ERR_NONE before calling grub_env_set.
20531
20532 2009-12-12 Robert Millan <rmh@aybabtu.com>
20533
20534 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
20535 * genmk.rb (video): New variable.
20536 (CLEANFILES, VIDEOFILES): Add #{video}.
20537 (#{video}): New target rule.
20538 * genvideolist.sh: New file.
20539 * Makefile.in (pkglib_DATA): Add video.lst.
20540 (video.lst): New target rule.
20541 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
20542 `video.lst'.
20543 * util/grub.d/30_os-prober.in: Replace `vbe' with
20544 ${GRUB_VIDEO_BACKEND}.
20545
20546 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
20547
20548 * THANKS: Add David Miller.
20549
20550 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
20551
20552 libpciaccess support.
20553
20554 * Makefile.in (LIBPCIACCESS): New variable.
20555 (enable_grub_emu_pci): Likewise.
20556 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
20557 util/pci.c and commands/lspci.c.
20558 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
20559 * configure.ac (grub-emu-pci): New option.
20560 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
20561 (grub_pci_device_unmap_range): Likewise.
20562 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
20563 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
20564 (grub_pci_address_t) [!GRUB_UTIL]: New type.
20565 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
20566 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
20567 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
20568 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
20569 * include/grub/pciutils.h: New file.
20570 * util/pci.c: Likewise.
20571
20572 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
20573
20574 * util/misc.c: Don't include <errno.h> twice.
20575
20576 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
20577
20578 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
20579 name in an error message.
20580 (grub_biosdisk_rw): Likewise.
20581
20582 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 Eliminate NTFS 4Gib barrier.
20585
20586 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
20587 (read_run_data): Likewise.
20588 (grub_ntfs_read_run_list): Likewise.
20589 (grub_ntfs_read_block): Likewise.
20590 (grub_ntfs_iterate_dir): Likewise.
20591 (read_mft): Likewise.
20592 (read_data): Likewise.
20593 Use COM_LOG_LEN.
20594 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
20595 to avoid 64-bit division
20596 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
20597 (grub_ntfs_rlst): Use grub_disk_addr_t.
20598
20599 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20600
20601 Eliminate grub-fstest 4Gib barrier.
20602
20603 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
20604 (read_file): Fix error reporting.
20605
20606 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20607
20608 Eliminate hexdump 4Gib barrier.
20609
20610 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
20611 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
20612
20613 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20614
20615 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
20616 Fixes amarsh bug.
20617
20618 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
20619
20620 Remove miscellaneous files in distclean target.
20621
20622 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
20623
20624 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
20625
20626 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
20627 if they're already set. This resolves the conflict between my
20628 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
20629 fixing the --grub-probe option again.
20630 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
20631 change on 2009-10-06, so that we now once again source
20632 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20633
20634 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
20635
20636 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
20637 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
20638 `util/devicemap.c'.
20639
20640 2009-12-08 Carles Pina i Estany <carles@pina.cat>
20641
20642 * include/grub/misc.h (grub_printf_): New declaration.
20643 * kern/misc.c (grub_printf_): New definition.
20644 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
20645 instead of `grub_printf' and `_'.
20646 * normal/menu_entry.c (store_completion): Likewise.
20647 (run): Likewise.
20648 (grub_menu_entry_run): Likewise.
20649 * normal/menu_text.c (grub_wait_after_message): Likewise.
20650 (notify_booting): Likewise.
20651 (notify_fallback): Likewise.
20652 (notify_execution_failure): Likewise.
20653
20654 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
20655
20656 * configure.ac: Check for vasprintf.
20657 * util/misc.c (asprintf): Move allocation from here ...
20658 (vasprintf): ... to here. New function.
20659 (xasprintf): New function.
20660 * include/grub/util/misc.h (vasprintf, xasprintf): Add
20661 prototypes.
20662 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
20663 * util/grub-mkfont.c (write_font): Likewise.
20664 * util/grub-probe.c (probe): Likewise.
20665 * util/hostdisk.c (make_device_name): Likewise.
20666
20667 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
20668
20669 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
20670 anything even prefixed with 'cdrom' as a cdrom.
20671
20672 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
20673
20674 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
20675 mount points.
20676
20677 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20678
20679 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
20680 grub_gettext_msg_list.
20681 (grub_gettext_gettranslation_from_position): Return const char *
20682 and not char *.
20683 (grub_gettext_translate): Add the translated strings into a list,
20684 returns from the list if existing there.
20685 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
20686 (grub_gettext_delete_list): Delete the list.
20687 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
20688 lang environment variable is changed.
20689 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
20690
20691 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20692
20693 Rename kernel.mod to kernel.img.
20694
20695 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
20696 (kernel_mod_EXPORTS): Rename to ...
20697 (kernel_img_EXPORTS): ... this.
20698 (kernel_mod_SOURCES): Rename to ...
20699 (kernel_img_SOURCES): ... this.
20700 (kernel_mod_HEADERS): Rename to ...
20701 (kernel_img_HEADERS): ... this. All users updated.
20702 (kernel_mod_CFLAGS): Rename to ...
20703 (kernel_img_CFLAGS): ... this.
20704 (kernel_mod_ASFLAGS): Rename to ...
20705 (kernel_img_ASFLAGS): ... this.
20706 (kernel_mod_LDFLAGS): Rename to ...
20707 (kernel_img_LDFLAGS): ... this.
20708 * conf/x86_64-efi.rmk: Likewise.
20709 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
20710 (read_kernel_image): ... this. All users updated.
20711 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
20712
20713 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20714
20715 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
20716 (print_spaces): New function.
20717 (grub_print_ucs4): New function.
20718 (getstringwidth): New function.
20719 (print_message_indented): New function.
20720 (print_message): Gettexttize strings using print_message_indented.
20721 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
20722 width.
20723 (get_entry_number): Gettextize and uses dynamic terminal width.
20724 (notify_booting, notify_fallback, notify_execution_failure):
20725 Gettextize.
20726 * normal/menu_entry.c (store_completion): Cleanup the gettextized
20727 string.
20728 (run): Likewise.
20729 (grub_menu_entry_run): Likewise.
20730 * PO/POTFILES: Add normal/menu_entry.c.
20731
20732 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
20733
20734 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
20735
20736 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20737
20738 * util/grub-install.in: Install gettext .mo files.
20739 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
20740
20741 2009-12-05 Carles Pina i Estany <carles@pina.cat>
20742
20743 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
20744 grub_dprintf.
20745
20746 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
20747
20748 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
20749 non-firmware-dependant one in realmode.S takes precedence.
20750
20751 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 * commands/halt.c: Replace misc arch-specific headers with
20754 `<grub/misc.h>'.
20755 * commands/reboot.c: Likewise.
20756 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
20757 `<grub/misc.h>'.
20758 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
20759 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
20760 (kernel_img_SOURCES): ... to here.
20761
20762 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
20763 * include/grub/i386/pc/init.h: Likewise.
20764 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20765 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20766
20767 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
20768
20769 * include/grub/i386/halt.h: Remove.
20770 * include/grub/i386/reboot.h: Likewise.
20771
20772 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
20773
20774 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
20775
20776 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
20777 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
20778 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
20779 "progname.h"
20780 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20781 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20782 (usage): Add missing comma in printf.
20783
20784 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
20785
20786 Use the same reboot approach on i386 coreboot and qemu as we do on
20787 BIOS.
20788
20789 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
20790 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
20791 * kern/i386/reboot.c: Remove.
20792 * include/grub/i386/reboot.h (grub_reboot): Export function.
20793 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
20794 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
20795 0xf000:0xfff0 instead of 0xffff:0x0000.
20796 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
20797 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
20798
20799 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
20800
20801 Fix $srcdir != $objdir build.
20802
20803 * Makefile.in (po/%.po): Rewrite as ...
20804 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
20805
20806 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
20807
20808 Fix GNU/Hurd grub-install crash.
20809 * util/grub-probe.c (probe): Try to access `path' only when it is not
20810 NULL.
20811
20812 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20813
20814 Correct module naming.
20815
20816 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20817 (GRUB_MOD_INIT(efi_uga)): ... to this
20818 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20819 (GRUB_MOD_FINI(efi_uga)): ... to this
20820 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
20821 (GRUB_MOD_INIT(efi_gop)): ... to this
20822 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
20823 (GRUB_MOD_FINI(efi_gop)): ... to this
20824
20825 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
20826
20827 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
20828 translatable.
20829 (usage): Translate `arg' strings using gettext().
20830 Thanks to Jordi Mallach for the suggestion.
20831
20832 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20833
20834 GOP support. Based on patch from Bean
20835 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
20836
20837 * video/efi_gop.c: New file.
20838 * include/grub/efi/graphics_output.h: Likewise.
20839 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
20840 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
20841 variables.
20842 * conf/x86_64-efi.rmk: Likewise.
20843
20844 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
20845
20846 Rename efi_fb to efi_uga.
20847
20848 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20849 'efi_uga.mod'.
20850 (efi_fb_mod_SOURCES): Rename this ...
20851 (efi_uga_mod_SOURCES): ... to this.
20852 (efi_fb_mod_CFLAGS): Rename this ...
20853 (efi_uga_mod_CFLAGS): ... to this.
20854 (efi_fb_mod_LDFLAGS): Rename this ...
20855 (efi_uga_mod_LDFLAGS): ... to this.
20856 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
20857 'efi_uga.mod'.
20858 (efi_fb_mod_SOURCES): Rename this ...
20859 (efi_uga_mod_SOURCES): ... to this.
20860 (efi_fb_mod_CFLAGS): Rename this ...
20861 (efi_uga_mod_CFLAGS): ... to this.
20862 (efi_fb_mod_LDFLAGS): Rename this ...
20863 (efi_uga_mod_LDFLAGS): ... to this.
20864 * video/efi_fb.c: Move this ...
20865 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
20866
20867 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20868
20869 * po/README: New file. Explain our PO file workflow.
20870
20871 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20872
20873 * po/ChangeLog: Remove. Move relevant entries back to ...
20874 * ChangeLog: ... here.
20875 * po/ca.po: Remove (now handled by TLP).
20876 * po/id.po: Likewise.
20877 * po/zh_CN.po: Likewise.
20878 * Makefile.in (LINGUAS): Initialize in a way that supports
20879 empty set.
20880
20881 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
20882
20883 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
20884 reliing on po/LINGUAS.
20885 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
20886 (po/%.po): ... this.
20887
20888 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20889
20890 * util/i386/efi/grub-mkimage.c: Include "progname.h".
20891 (main): Use `program_name' instead of nonexistent `progname'.
20892
20893 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20894
20895 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20896 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
20897
20898 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20899
20900 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
20901 commit.
20902 * conf/i386-efi.rmk: Likewise.
20903 * conf/i386-ieee1275.rmk: Likewise.
20904 * conf/powerpc-ieee1275.rmk: Likewise.
20905 * conf/sparc64-ieee1275.rmk: Likewise.
20906 * conf/x86_64-efi.rmk: Likewise.
20907
20908 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20909
20910 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
20911
20912 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
20913
20914 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
20915
20916 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
20917
20918 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
20919 (grub_mkdevicemap_SOURCES): New variable.
20920 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
20921 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
20922 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
20923 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
20924 (grub_mkdevicemap_SOURCES): Remove.
20925 * conf/i386-efi.rmk: Likewise.
20926 * conf/i386-ieee1275.rmk: Likewise.
20927 * conf/i386-pc.rmk: Likewise.
20928 * conf/powerpc-ieee1275.rmk: Likewise.
20929 * conf/sparc64-ieee1275.rmk: Likewise.
20930 * conf/x86_64-efi.rmk: Likewise.
20931 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
20932 (usage): Fix strings to use `program_name'.
20933 (main): Initialize gettext.
20934 * util/grub-editenv.c: Likewise.
20935 * util/grub-emu.c: Likewise.
20936 * util/grub-fstest.c: Likewise.
20937 * util/grub-mkdevicemap.c: Likewise.
20938 * util/grub-mkfont.c: Likewise.
20939 * util/grub-mkrelpath.c: Likewise.
20940 * util/grub-pe2elf.c: Likewise.
20941 * util/grub-probe.c: Likewise.
20942 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
20943 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
20944 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20945
20946 * util/misc.c: Include `"progname.h"'.
20947 (progname): Remove variable.
20948 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
20949
20950 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
20951
20952 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
20953 printf and print a newline after the menuentry header line.
20954 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20955
20956 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
20957
20958 autoconf >= 2.60 support $(localedir).
20959
20960 * INSTALL: Note that autoconf 2.60 is required.
20961 * configure.ac (AC_PREREQ): Bump to 2.60.
20962 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
20963 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20964
20965 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
20966
20967 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
20968 aclocal is run.
20969
20970 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20971
20972 * normal/main.c (grub_normal_read_line): Fix off-by-one
20973 buffer overflow.
20974
20975 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
20976
20977 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
20978 "parser.grub" in grub_command_execute() call.
20979
20980 2009-11-24 Carles Pina i Estany <carles@pina.cat>
20981
20982 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
20983 * conf/i386-efi.rmk: Likewise.
20984 * conf/i386-ieee1275.rmk: Likewise.
20985 * conf/i386-pc.rmk: Likewise.
20986 * conf/powerpc-ieee1275.rmk: Likewise.
20987 * conf/sparc64-ieee1275.rmk: Likewise.
20988 * conf/x86_64-efi.rmk: Likewise.
20989 * gettext/gettex.c: Include <grub/i18n.h>.
20990 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
20991 here ...
20992 * include/grub/i18n.h: ... to here
20993 * include/grub/i18n.h: ... to here.
20994 * kern/misc.c: Include <grub/i18n.h>
20995 (grub_gettext_dummy): Move above user.
20996
20997 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
20998
20999 * util/Makefile.in (install-local): Convert a `for' into a normal
21000 shell expansion.
21001
21002 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
21003
21004 * autogen.sh: Add automake call.
21005 * config.guess: Remove.
21006 * config.sub: Likewise.
21007 * install-sh: Likewise.
21008
21009 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21010
21011 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
21012
21013 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21014
21015 * util/Makefile.in (install-local): Convert a make `$(foreach)'
21016 function to a normal shell `for'.
21017
21018 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21019
21020 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21021
21022 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21023
21024 * util/grub-mkrelpath.c: New file.
21025 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
21026 (grub_mkrelpath_SOURCES): New variable.
21027 * include/grub/util/misc.h: New function prototype.
21028 * util/misc.c (make_system_path_relative_to_its_root): New function.
21029
21030 * util/grub-mkconfig_lib.in (bindir): New variable.
21031 (grub_mkrelpath): Likewise.
21032 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
21033
21034 * util/probe.c (probe): Make the file path relative to its root.
21035 Change a info message to use the GRUB path. Enable again the
21036 check if we can read the file with GRUB facilities.
21037
21038 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
21039 to its root.
21040
21041 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21042
21043 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
21044 platform.
21045
21046 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21047
21048 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
21049 strncmp().
21050
21051 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
21052
21053 * util/getroot.c (grub_util_is_dmraid): New function.
21054 (grub_util_get_dev_abstraction): Treat dmraid and multipath
21055 devices as normal ones, not as LVM.
21056
21057 2009-11-23 Carles Pina i Estany <carles@pina.cat>
21058
21059 * conf/common.rmk: Add grub-gettext_lib target and updates
21060 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21061 LDFLAGS.
21062 * gettext/gettext.c: New file. (Reads mo files).
21063 * include/grub/file.h (grub_file_pread): New prototype.
21064 * include/grub/i18n.h (_): New prototype.
21065 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
21066 prototypes.
21067 * kern/misc.c (grub_gettext_dummy): New function.
21068 * normal/menu_text.c: Include <grub/i18n.h>.
21069 * normal/menu_text.c (print_timeout): Gettexttize string.
21070 * normal/menu_text.c (print_message): Gettexttize string.
21071 * po/POTFILES: Add `normal/menu_text.c'.
21072 * po/ca.po: Add new translations.
21073 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
21074 gettext module and defines locale_dir and lang in grub.cfg.
21075 * NEWS: Add gettext support.
21076
21077 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21078
21079 * util/hostdisk.c: Include `<grub/i18n.h>'.
21080 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
21081 (make_device_name): Rewrite using asprintf.
21082 (convert_system_partition_to_system_disk): Replace 0 with NULL.
21083 (find_system_device): If a device is not found, generate one just
21084 by reusing the OS path name.
21085 (read_device_map): Make it permissible for device.map not to exist.
21086
21087 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21088
21089 * script/sh/execute.c: Move from here ...
21090 * script/execute.c: ... to here. Update all users.
21091 * script/sh/function.c: Move from here ...
21092 * script/function.c: ... to here. Update all users.
21093 * script/sh/lexer.c: Move from here ...
21094 * script/lexer.c: ... to here. Update all users.
21095 * script/sh/main.c: Move from here ...
21096 * script/main.c: ... to here. Update all users.
21097 * script/sh/parser.y: Move from here ...
21098 * script/parser.y: ... to here. Update all users.
21099 * script/sh/script.c: Move from here ...
21100 * script/script.c: ... to here. Update all users.
21101
21102 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21103
21104 * configure.ac: Detect all `emu' platforms. Define
21105 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
21106 --enable-grub-emu logic. Disable include/grub/machine
21107 symlink on `emu' platforms.
21108
21109 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
21110 * gensymlist.sh.in: Likewise.
21111
21112 * include/grub/i386/coreboot/machine.h: Remove file.
21113 * include/grub/i386/efi/machine.h: Likewise.
21114 * include/grub/i386/ieee1275/machine.h: Likewise.
21115 * include/grub/i386/pc/machine.h: Likewise.
21116 * include/grub/i386/qemu/machine.h: Likewise.
21117 * include/grub/powerpc/ieee1275/machine.h: Likewise.
21118 * include/grub/sparc64/ieee1275/machine.h: Likewise.
21119 * include/grub/x86_64/efi/machine.h: Likewise.
21120
21121 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
21122 * commands/halt.c: Likewise.
21123 * commands/reboot.c: Likewise.
21124 * include/grub/autoefi.h: Likewise.
21125 * include/grub/i386/at_keyboard.h: Likewise.
21126 * include/grub/i386/kernel.h: Likewise.
21127 * include/grub/i386/loader.h: Likewise.
21128 * include/grub/i386/pc/memory.h: Likewise.
21129 * kern/dl.c: Likewise.
21130 * kern/i386/coreboot/init.c: Likewise.
21131 * loader/i386/bsd.c: Likewise.
21132 * loader/i386/linux.c: Likewise.
21133 * loader/multiboot_loader.c: Likewise.
21134 * term/i386/pc/serial.c: Likewise.
21135 * term/usb_keyboard.c: Likewise.
21136
21137 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
21138 `<grub/machine/machine.h>'
21139 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
21140 * util/misc.c: Remove `<grub/machine/machine.h>' and
21141 `<grub/machine/time.h>'.
21142
21143 * Makefile.in (enable_grub_emu): Remove variable.
21144 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
21145
21146 * conf/any-emu.rmk: New file.
21147 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
21148 (grub_emu_init.c): Move from here ...
21149 * conf/any-emu.rmk: ... to here.
21150
21151 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
21152 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
21153 * conf/any-emu.rmk: ... to here.
21154
21155 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21156
21157 * include/grub/parser.h (grub_parser_register): Document need
21158 of `name' parameter.
21159 * normal/main.c (grub_normal_read_line): Simplify prompt string.
21160 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
21161 "sh" to "grub".
21162
21163 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21164
21165 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
21166 `$(XGETTEXT)'.
21167 * include/grub/i18n.h (N_): New macro.
21168 * util/mkisofs/mkisofs.h: Likewise.
21169 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
21170 around N_().
21171 (usage): Use gettext() to translate help strings when printing them.
21172
21173 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
21174
21175 Based on patch from Bean
21176 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
21177
21178 * video/efi_fb.c: New file.
21179 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
21180 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
21181 variables.
21182 * conf/x86_64-efi.rmk: Likewise.
21183
21184 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
21185
21186 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
21187 * util/i386/pc/grub-setup.c: Likewise.
21188
21189 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
21190
21191 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
21192 <hurd/fs.h>
21193 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
21194 file_get_storage_info to implement grub_guess_root_device.
21195
21196 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21197
21198 * Makefile.in (target): Use make's builtin $(shell) function
21199 instead of calling directly $(SHELL) to create the locale directories,
21200 inside the $(foreach) function.
21201
21202 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21203
21204 * util/grub-mkrescue.in: Print an error and usage if output option
21205 has not been given.
21206
21207 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
21208
21209 Patch from Loïc Minier <loic.minier@ubuntu.com>.
21210 * util/grub.d/30_os-prober.in: Cope with Linux entries where
21211 root and /boot are on different devices.
21212
21213 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21214
21215 Fix build for srcdir != objdir.
21216
21217 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
21218 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
21219 $(srcdir).
21220 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
21221 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
21222 reference for input.
21223
21224 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21225
21226 * util/grub-mkrescue.in: Use source directory direcly (without copiing
21227 or hardlinking it). Remove -J option, Joliet is not compatible with
21228 multiple source directories.
21229
21230 2009-11-21 Carles Pina i Estany <carles@pina.cat>
21231 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
21232
21233 * util/grub-mkrescue.in: Recognize `--override-directory' option.
21234 (process_input_dir): New function. Process an arbitrary input
21235 directory.
21236 Misc adjustments to support both "override mode" and system-wide mode.
21237
21238 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21239
21240 * configure.ac (UNIFONT_BDF): Rename to ...
21241 (FONT_SOURCE): ... this. Update all users.
21242
21243 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
21244
21245 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
21246 to the list of unifont files to look for.
21247
21248 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21249
21250 Patch from Joe Auricchio <jauricchio@gmail.com>
21251 * commands/minicmd.c (grub_mini_cmd_clear): New function.
21252 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
21253 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
21254
21255 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21256
21257 * Makefile.in (install-local): Add a missing backslash.
21258
21259 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
21260
21261 * include/grub/x86_64/io.h: New file.
21262
21263 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21264
21265 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
21266 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
21267 Include `"progname.h"'.
21268 (main): Initialize gettext.
21269 * util/i386/pc/grub-setup.c: Gettexttize.
21270 * util/i386/pc/grub-mkimage.c: Likewise.
21271
21272 * Makefile.in (po/*.po): Redefine as ...
21273 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
21274
21275 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
21276
21277 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
21278
21279 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
21280 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
21281 (program_name): Remove.
21282 (main): Initialize gettext support.
21283 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
21284 Include `<libintl.h>'.
21285 (_): New macro.
21286
21287 * util/mkisofs/eltorito.c: Gettexttize.
21288 * util/mkisofs/joliet.c: Likewise.
21289 * util/mkisofs/mkisofs.c: Likewise.
21290 * util/mkisofs/multi.c: Likewise.
21291 * util/mkisofs/rock.c: Likewise.
21292 * util/mkisofs/tree.c: Likewise.
21293 * util/mkisofs/write.c: Likewise.
21294
21295 * po/POTFILES: Update with new files.
21296
21297 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21298
21299 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
21300 * util/mkisofs/iso9660.h: Likewise.
21301 * util/mkisofs/joliet.c: Likewise.
21302 * util/mkisofs/mkisofs.c: Likewise.
21303 * util/mkisofs/mkisofs.h: Likewise.
21304 * util/mkisofs/rock.c: Likewise.
21305 * util/mkisofs/tree.c: Likewise.
21306 * util/mkisofs/write.c: Likewise.
21307
21308 * util/mkisofs/eltorito.c (rcsid): Remove.
21309 * util/mkisofs/hash.c: Likewise.
21310 * util/mkisofs/joliet.c: Likewise.
21311 * util/mkisofs/name.c: Likewise.
21312 * util/mkisofs/rock.c: Likewise.
21313 * util/mkisofs/tree.c: Likewise.
21314 * util/mkisofs/write.c: Likewise.
21315
21316 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21317
21318 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
21319 instead of static allocation.
21320 * util/mkisofs/match.h: Likewise.
21321
21322 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21323
21324 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
21325 and `util/grub.d/10_linux.in'.
21326 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
21327 translatable Shell files.
21328
21329 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
21330
21331 * Makefile.in ($(srcdir)/aclocal.m4): New target.
21332
21333 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21334
21335 * INSTALL: Document Automake is needed for bootstrap.
21336 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
21337 * util/grub.d/10_kfreebsd.in (bindir): New variable.
21338 Add gettext initialization.
21339 (kfreebsd_entry): Make menuentry output translatable.
21340
21341 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21342
21343 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
21344 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
21345 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
21346 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
21347 (LINGUAS): Auto-generate using `po/LINGUAS'.
21348 * po/LINGUAS: New file.
21349
21350 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21351
21352 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
21353 other things).
21354 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
21355 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
21356 bindtextdomain() calls for gettext initialization.
21357
21358 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21359
21360 * gnulib/progname.c: New file (imported from Gnulib).
21361 * gnulib/progname.h: Likewise.
21362 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
21363 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
21364 (usage): Replace `progname' with `program_name'.
21365 (main): Use set_program_name() for program name initialization.
21366
21367 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21368
21369 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
21370 from here ...
21371 * Makefile.in (CPPFLAGS): ... to here.
21372
21373 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21374
21375 * aclocal.m4: Move from here ...
21376 * acinclude.m4: ... to here.
21377 * autogen.sh: Add call to `aclocal'.
21378 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
21379
21380 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21381
21382 * Makefile.in (CLEANFILES): Add `po/*.mo'.
21383 (LINGUAS): New variable.
21384 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
21385 (install-local): Install MO files.
21386 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
21387 * include/grub/i18n.h: New file.
21388 * po/POTFILES: New file.
21389 * po/ca.po: New file.
21390 * util/grub.d/10_linux.in (bindir): New variable.
21391 Add gettext initialization.
21392 (linux_entry): Make menuentry output translatable.
21393 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
21394 (usage): Make --help output translatable.
21395 (main): Initialize gettext.
21396
21397 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21398
21399 * import_gcry.py: New file (written by Vladimir with minor
21400 adjustments).
21401 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
21402 ciphers.
21403 * INSTALL: Document that Python is required for bootstrap.
21404
21405 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
21406
21407 Import ciphers from libgcrypt 1.4.4.
21408
21409 * lib/libgcrypt/cipher/ChangeLog
21410 * lib/libgcrypt/cipher/ac.c
21411 * lib/libgcrypt/cipher/arcfour.c
21412 * lib/libgcrypt/cipher/bithelp.h
21413 * lib/libgcrypt/cipher/blowfish.c
21414 * lib/libgcrypt/cipher/camellia-glue.c
21415 * lib/libgcrypt/cipher/camellia.c
21416 * lib/libgcrypt/cipher/camellia.h
21417 * lib/libgcrypt/cipher/cast5.c
21418 * lib/libgcrypt/cipher/cipher.c
21419 * lib/libgcrypt/cipher/crc.c
21420 * lib/libgcrypt/cipher/des.c
21421 * lib/libgcrypt/cipher/dsa.c
21422 * lib/libgcrypt/cipher/ecc.c
21423 * lib/libgcrypt/cipher/elgamal.c
21424 * lib/libgcrypt/cipher/hash-common.c
21425 * lib/libgcrypt/cipher/hash-common.h
21426 * lib/libgcrypt/cipher/hmac-tests.c
21427 * lib/libgcrypt/cipher/md.c
21428 * lib/libgcrypt/cipher/md4.c
21429 * lib/libgcrypt/cipher/md5.c
21430 * lib/libgcrypt/cipher/primegen.c
21431 * lib/libgcrypt/cipher/pubkey.c
21432 * lib/libgcrypt/cipher/rfc2268.c
21433 * lib/libgcrypt/cipher/rijndael-tables.h
21434 * lib/libgcrypt/cipher/rijndael.c
21435 * lib/libgcrypt/cipher/rmd.h
21436 * lib/libgcrypt/cipher/rmd160.c
21437 * lib/libgcrypt/cipher/rsa.c
21438 * lib/libgcrypt/cipher/seed.c
21439 * lib/libgcrypt/cipher/serpent.c
21440 * lib/libgcrypt/cipher/sha1.c
21441 * lib/libgcrypt/cipher/sha256.c
21442 * lib/libgcrypt/cipher/sha512.c
21443 * lib/libgcrypt/cipher/tiger.c
21444 * lib/libgcrypt/cipher/twofish.c
21445 * lib/libgcrypt/cipher/whirlpool.c
21446
21447 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21448
21449 Fix build for systems without error().
21450
21451 * gnulib/error.c: New file (imported from Gnulib).
21452 * gnulib/error.h: Likewise.
21453 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
21454 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
21455 (this variable is now used by error()).
21456
21457 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21458
21459 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
21460 instead of relying that char is signed.
21461
21462 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
21463
21464 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
21465 blocksize different from specified.
21466 (grub_pxefs_read): Likewise.
21467
21468 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
21469
21470 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
21471
21472 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
21473 (grub_ata_readwrite): Likewise. Update 2 format strings.
21474 (grub_atapi_read): Likewise.
21475
21476 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
21477 * conf/i386.rmk (pkglib_MODULES): ... to here ...
21478 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
21479 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
21480 (ata_mod_LDFLAGS): Move from here ...
21481 * conf/i386.rmk: ... to here ...
21482 * conf/x86_64-efi.rmk: ... and here.
21483 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
21484 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
21485
21486 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
21487
21488 Relicense multiboot.h, with RMS' blessing.
21489
21490 * include/multiboot.h: Change to X11 license.
21491
21492 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
21493
21494 Support --version in grub-mkisofs.
21495
21496 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
21497 (OPTION_VERSION): New macro.
21498 (ld_options): Recognize --version.
21499 (usage): Move `program_name' from here ...
21500 (program_name): ... to here. Add `static' qualifier.
21501 (main): Recognize `OPTION_VERSION'.
21502
21503 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
21504
21505 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
21506 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
21507
21508 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21509
21510 Fix help2man generation for mkisofs.
21511
21512 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
21513 (usage): Send output to stdout (rather than stderr).
21514
21515 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
21516
21517 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
21518 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21519 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
21520 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
21521 (bin_SCRIPTS): Add `grub-mkfloppy'.
21522 (grub_mkfloppy_SOURCES): New variable.
21523
21524 * util/grub-mkrescue.in: New file.
21525 * util/i386/pc/grub-mkfloppy.in: New file.
21526
21527 * util/i386/coreboot/grub-mkrescue.in: Remove.
21528 * util/i386/pc/grub-mkrescue.in: Remove.
21529
21530 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21531
21532 * include/grub/multiboot.h (struct grub_multiboot_header): Move
21533 from here ...
21534 * include/multiboot.h (struct multiboot_header): ... to here. Update
21535 all users.
21536 * include/grub/multiboot.h (struct grub_multiboot_info): Move
21537 from here ...
21538 * include/multiboot.h (struct multiboot_info): ... to here. Update
21539 all users.
21540 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
21541 from here ...
21542 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
21543 Update all users.
21544 * include/grub/multiboot.h (struct grub_mod_list): Move
21545 from here ...
21546 * include/multiboot.h (struct multiboot_mod_list): ... to here.
21547 Update all users.
21548
21549 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21550
21551 * include/multiboot2.h (multiboot_word): Rename from this ...
21552 (multiboot2_word): ... to this. Update all users.
21553 (multiboot_header): Rename from this ...
21554 (multiboot2_header): ... to this. Update all users.
21555 (multiboot_tag_header): Rename from this ...
21556 (multiboot2_tag_header): ... to this. Update all users.
21557 (multiboot_tag_start): Rename from this ...
21558 (multiboot2_tag_start): ... to this. Update all users.
21559 (multiboot_tag_name): Rename from this ...
21560 (multiboot2_tag_name): ... to this. Update all users.
21561 (multiboot_tag_module): Rename from this ...
21562 (multiboot2_tag_module): ... to this. Update all users.
21563 (multiboot_tag_memory): Rename from this ...
21564 (multiboot2_tag_memory): ... to this. Update all users.
21565 (multiboot_tag_unused): Rename from this ...
21566 (multiboot2_tag_unused): ... to this. Update all users.
21567 (multiboot_tag_end): Rename from this ...
21568 (multiboot2_tag_end): ... to this. Update all users.
21569
21570 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
21571
21572 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
21573 this platform we should support Multiboot1 first.
21574
21575 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
21576 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
21577 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
21578
21579 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21580
21581 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
21582 of write calls (converting them to fwrite() if they aren't already).
21583 (get_torito_desc): Likewise.
21584 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
21585
21586 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
21587
21588 * util/i386/pc/grub-install.in: Move from here ...
21589 * util/grub-install.in: ... to here. Update all users.
21590
21591 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
21592
21593 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
21594
21595 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21596
21597 Support for El Torito without floppy emulation.
21598
21599 * util/mkisofs/eltorito.c: Include `<errno.h>'.
21600 (init_boot_catalog): Improve error handling.
21601 (get_torito_desc): Don't use floppy emulation unless requested by
21602 user. Patch boot information table when requested via
21603 `-boot-info-table'.
21604 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
21605 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
21606 (use_boot_info_table): New variables.
21607 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
21608 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
21609 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
21610 `--eltorito-emul-floppy'.
21611 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
21612 and `OPTION_ELTORITO_EMUL_FLOPPY'.
21613 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
21614 (use_boot_info_table, get_731): New prototypes.
21615 * util/mkisofs/write.c (get_731): New function.
21616
21617 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
21618
21619 Fix the generation of the man page.
21620
21621 * util/pc/i386/grub-install.in: Source
21622 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
21623
21624 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
21625
21626 Large file support for grub-mkisofs.
21627
21628 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
21629 * util/mkisofs/mkisofs.c (next_extent, last_extent)
21630 (session_start): Upgrade type to `uint64_t'. Update all users.
21631 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
21632 (struct directory_entry): Upgrade type of `starting_block' and
21633 `size' to `uint64_t'. Update all users.
21634 (struct deferred): Remove unused structure.
21635 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
21636 Update all users.
21637 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
21638 file is larger than `UINT32_MAX'.
21639 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
21640 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
21641 return value.
21642 (struct deferred_write): Upgrade type of `extent' and `size' to
21643 `uint64_t'. Update all users.
21644 (last_extent_written): Upgrade type to `uint64_t'. Update all
21645 users.
21646 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
21647 Update all users. Upgrade type of `remain' to `int64_t' and
21648 `use' to `size_t'. Use error() to handle fread() errors.
21649 (write_files): Rely on write_one_file() rather than calling
21650 xfwrite() directly.
21651
21652 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
21653
21654 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
21655
21656 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21657
21658 * util/mkisofs/fnmatch.c: Remove.
21659 * util/mkisofs/getopt1.c: Likewise.
21660 * util/mkisofs/getopt.c: Likewise.
21661 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
21662 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
21663 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
21664 `gnulib/getopt1.c' and `gnulib/getopt.c'.
21665 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
21666
21667 * configure.ac: Detect `mingw32msvc' host_os.
21668 Check for lstat(), getuid() and getgid().
21669
21670 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
21671 instances of `u_char' with `uint8_t'.
21672
21673 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
21674 [!HAVE_GETUID] (getuid): New function (stub).
21675 [!HAVE_GETGID] (getgid): Likewise.
21676 [!HAVE_LSTAT] (lstat): Likewise.
21677 [!S_IROTH] (S_IROTH): New macro (dummy).
21678 [!S_IRGRP] (S_IRGRP): Likewise.
21679
21680 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21681
21682 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
21683 conditional expression).
21684
21685 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21686
21687 Import from Gnulib.
21688
21689 * gnulib/fnmatch.c: New file.
21690 * gnulib/fnmatch.h: Likewise.
21691 * gnulib/fnmatch_loop.c: Likewise.
21692 * gnulib/getopt.c: Likewise.
21693 * gnulib/getopt.h: Likewise.
21694 * gnulib/getopt1.c: Likewise.
21695 * gnulib/getopt_int.h: Likewise.
21696 * gnulib/gettext.h: Likewise.
21697
21698 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21699
21700 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
21701 * normal/handler.c (read_handler_list): Likewise.
21702
21703 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21704
21705 Misc cleanup.
21706
21707 * kern/command.c (grub_register_command_prio): Use
21708 grub_zalloc() instead of explicitly zeroing data.
21709 * kern/list.c: Include `<grub/mm.h>'.
21710 (grub_named_list_find): Replace `0' with `NULL'.
21711 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
21712 (fs_module_list): Change type to `grub_named_list_t'. Update all
21713 users.
21714 * normal/dyncmd.c (read_command_list): Add space between function
21715 call and parenthesis.
21716 * normal/handler.c (read_handler_list): Likewise.
21717
21718 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21719
21720 * normal/auth.c (punishment_delay): Moved from here ...
21721 (grub_auth_strcmp): ... to here (inside function).
21722
21723 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21724
21725 * include/grub/list.h (struct grub_named_list): Remove `const'
21726 qualifier from `name'.
21727 (struct grub_prio_list): Likewise.
21728
21729 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21730
21731 * normal/auth.c: Include `<grub/time.h>'.
21732 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
21733
21734 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21735
21736 * normal/auth.c (punishment_delay): New variable.
21737 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
21738 (grub_auth_check_authentication): Punish failed login attempts with
21739 an incremental (2^N) delay.
21740
21741 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21742
21743 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
21744 path with $(srcdir).
21745
21746 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21747
21748 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
21749
21750 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
21751
21752 * util/i386/coreboot/grub-mkrescue.in: New file.
21753 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
21754 variables.
21755
21756 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
21757 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
21758 * configure.ac: Add header and function checks to satisfy grub-mkisofs
21759 requirements.
21760 * util/mkisofs/defaults.h: New file.
21761 * util/mkisofs/eltorito.c: Likewise.
21762 * util/mkisofs/exclude.h: Likewise.
21763 * util/mkisofs/fnmatch.c: Likewise.
21764 * util/mkisofs/getopt.c: Likewise.
21765 * util/mkisofs/getopt1.c: Likewise.
21766 * util/mkisofs/hash.c: Likewise.
21767 * util/mkisofs/include/fctldefs.h: Likewise.
21768 * util/mkisofs/include/mconfig.h: Likewise.
21769 * util/mkisofs/include/prototyp.h: Likewise.
21770 * util/mkisofs/include/statdefs.h: Likewise.
21771 * util/mkisofs/iso9660.h: Likewise.
21772 * util/mkisofs/joliet.c: Likewise.
21773 * util/mkisofs/match.c: Likewise.
21774 * util/mkisofs/match.h: Likewise.
21775 * util/mkisofs/mkisofs.c: Likewise.
21776 * util/mkisofs/mkisofs.h: Likewise.
21777 * util/mkisofs/multi.c: Likewise.
21778 * util/mkisofs/name.c: Likewise.
21779 * util/mkisofs/rock.c: Likewise.
21780 * util/mkisofs/tree.c: Likewise.
21781 * util/mkisofs/write.c: Likewise.
21782
21783 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
21786 being insecure.
21787
21788 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21789
21790 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
21791 `grub-mkimage' (and use $0 when possible).
21792
21793 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21794
21795 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
21796 error message for excessively large memory map.
21797
21798 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21799
21800 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
21801 executable bit.
21802
21803 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
21804
21805 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
21806 message for coreboot users.
21807
21808 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
21809
21810 Fix build with GNU gold.
21811
21812 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
21813 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
21814 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
21815 link addresses.
21816 * aclocal.m4: Likewise.
21817
21818 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
21819
21820 * configure.ac (AC_PREREQ): Bump to 2.59d.
21821 * INSTALL: Make it more clear when Autoconf and Ruby are
21822 needed and when to run `./autogen.sh'.
21823
21824 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
21825
21826 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
21827 OSes.
21828
21829 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21830
21831 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
21832
21833 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21834
21835 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
21836 giving it to GNU Mach.
21837
21838 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21839
21840 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
21841 GNU partition number to get internal GRUB partition number.
21842
21843 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
21844
21845 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
21846 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
21847
21848 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
21849
21850 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
21851 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
21852 case.
21853
21854 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
21855
21856 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
21857
21858 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21859
21860 Fix build problem.
21861
21862 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
21863 `-isystem=$(srcdir)/include'.
21864
21865 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
21866
21867 * util/i386/pc/grub-install.in: Remove hint that device.map should be
21868 checked (grub-install doesn't currently rely on it).
21869
21870 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
21871
21872 Revert SVN r2660.
21873
21874 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
21875 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21876 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
21877 * conf/i386-ieee1275.rmk: Likewise.
21878 * conf/i386-pc.rmk: Likewise.
21879 * conf/powerpc-ieee1275.rmk: Likewise.
21880 * conf/sparc64-ieee1275.rmk: Likewise.
21881 * conf/x86_64-efi.rmk: Likewise.
21882
21883 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21884
21885 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
21886
21887 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21888
21889 * include/grub/misc.h: Stop checking for APPLE_CC.
21890
21891 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
21892
21893 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
21894 doesn't cause an infinite call loop.
21895
21896 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
21897
21898 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
21899 strings.
21900
21901 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21902
21903 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
21904 variable.
21905 * Makefile.in: Likewise.
21906
21907 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21908
21909 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
21910
21911 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21912
21913 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
21914
21915 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21916
21917 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
21918
21919 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21920
21921 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
21922 from here ...
21923 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
21924
21925 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21926
21927 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
21928 in $(MAKEINFO) invocation. This makes it clear in output that
21929 errors are being ignored.
21930
21931 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21932
21933 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
21934 from here ...
21935 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
21936 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
21937 * conf/i386-ieee1275.rmk: Likewise.
21938 * conf/i386-pc.rmk: Likewise.
21939 * conf/powerpc-ieee1275.rmk: Likewise.
21940 * conf/sparc64-ieee1275.rmk: Likewise.
21941 * conf/x86_64-efi.rmk: Likewise.
21942
21943 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
21944
21945 * util/grub-editenv.c (main): If only a command is given, use
21946 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
21947 (usage): FILENAME is now optional and has a default.
21948
21949 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
21950
21951 Improve grub-mkconfig performance when there are several menu
21952 entries on a single filesystem.
21953
21954 * util/grub.d/10_linux.in (linux_entry): Cache the output of
21955 prepare_grub_to_access_device.
21956 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
21957 * util/grub.d/30_os-prober.in: Likewise.
21958
21959 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21960
21961 * util/grub.d/10_freebsd.in: Remove.
21962 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
21963 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
21964
21965 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
21966
21967 * docs/grub.cfg: Fix example usage of *BSD loaders.
21968
21969 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21970
21971 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
21972 grub_util_error() call.
21973
21974 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21975
21976 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
21977 `reserved_first_sector' member.
21978 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
21979 `reserved_first_sector' to 1.
21980 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
21981 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
21982 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
21983 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
21984 filesystems which begin at first sector.
21985 (options): New option --skip-fs-probe.
21986 (main): Handle --skip-fs-probe and pass it to setup().
21987
21988 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21989
21990 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
21991 (memset): Fix function prototype.
21992
21993 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
21994 2009-10-25 Vasily Averin <vvs@parallels.com>
21995
21996 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
21997 `dirent.direntlen == 0'.
21998
21999 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22000
22001 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
22002 `cpio'.
22003 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
22004
22005 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22006
22007 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
22008 `__trampoline_setup' and `__ucmpdi2'.
22009 * include/grub/powerpc/libgcc.h: Only export symbols for functions
22010 that libgcc provides.
22011
22012 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22013
22014 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
22015 * include/grub/sparc64/libgcc.h (memset): Likewise.
22016 * include/grub/misc.h (memset, memcmp): New function prototypes.
22017
22018 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22019
22020 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
22021 `cpio'.
22022 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
22023
22024 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
22025
22026 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
22027 * docs/grub.cfg: Compensate for recent change in multiboot
22028 loader (since 2009-08-14 it won't pass filename to payload).
22029 * util/grub.d/10_hurd.in: Likewise.
22030
22031 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
22032
22033 * config.guess: Update to latest version from config git
22034 repository.
22035 * config.sub: Likewise.
22036
22037 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
22038
22039 Fix build on sparc64.
22040
22041 * configure.ac: Perform checks for libgcc symbols before
22042 adding `-nostdlib' to LDFLAGS.
22043
22044 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 Let user specify OpenBSD root device.
22047
22048 * loader/i386/bsd.c (openbsd_root): New variable.
22049 (openbsd_opts): New option 'root'.
22050 (OPENBSD_ROOT_ARG): New macro.
22051 (grub_openbsd_boot): Use 'openbsd_root'.
22052 (grub_cmd_openbsd): Fill 'openbsd_root'.
22053
22054 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22055
22056 * NEWS: Misc adjustments.
22057
22058 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
22061
22062 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
22063
22064 * configure.ac: Bump version to 1.97.
22065
22066 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
22067
22068 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
22069 -mno-3dnow on x86 architectures. Some toolchains enable these
22070 features by default, but they rely on registers that aren't enabled
22071 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
22072
22073 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
22074
22075 Make entry text a bit more readable.
22076
22077 * util/grub.d/10_linux.in: Add `with' before `Linux'.
22078
22079 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
22082
22083 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22084
22085 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
22086 operations.
22087
22088 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22089
22090 * configure.ac: Add missing dollar.
22091
22092 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
22093
22094 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
22095
22096 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
22097 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
22098 exports.
22099 * include/grub/sparc64/libgcc.h: Likewise. Use
22100 preprocessor conditionals.
22101
22102 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22103
22104 * conf/common.rmk (grub-dumpbios): Remove rule.
22105 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
22106 * util/grub-dumpbios.in: Remove file.
22107
22108 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
22109
22110 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
22111 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
22112
22113 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
22114 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
22115 users.
22116
22117 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
22118 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
22119 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
22120 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
22121 users.
22122
22123 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
22124
22125 * term/tparm.c: Switch to GPLv3.
22126
22127 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22128
22129 * include/grub/i386/cpuid.h: Add header protection.
22130
22131 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
22132
22133 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
22134
22135 * include/grub/i386/cpuid.h: New file.
22136 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
22137 (has_longmode): Rename to ...
22138 (grub_cpuid_has_longmode): ... this. Update all users. Remove
22139 `static' attribute.
22140 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
22141 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
22142 on a CPU that doesn't implement AMD64 instruction set.
22143
22144 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22145
22146 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
22147 that version.texi is rebuilt on version number changes.
22148
22149 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22150
22151 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
22152 Fixes bug #27602.
22153
22154 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
22155
22156 * util/i386/pc/grub-install.in: Source
22157 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
22158 that the --grub-probe option will work.
22159 * util/sparc64/ieee1275/grub-install.in: Likewise.
22160
22161 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
22162
22163 * configure.ac: Bump version to 1.97~beta4.
22164
22165 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
22166
22167 Resync grub-mkdevicemap in x86_64-efi.
22168
22169 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
22170 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
22171 `util/devicemap.c'.
22172
22173 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
22174
22175 * util/grub-editenv.c (create_envblk_file): Write new block with a
22176 .new suffix and then rename it into place, to ensure atomic
22177 creation.
22178
22179 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
22180
22181 Do not automatically install headers.
22182
22183 * Makefile.in (include_DATA): Remove. Update all users.
22184
22185 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
22186
22187 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
22188 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
22189
22190 * util/osdetect.lua: Remove.
22191 * script/lua/lauxlib.c: Likewise.
22192 * script/lua/ldebug.c: Likewise.
22193 * script/lua/grub_main.c: Likewise.
22194 * script/lua/lauxlib.h: Likewise.
22195 * script/lua/ldebug.h: Likewise.
22196 * script/lua/ltablib.c: Likewise.
22197 * script/lua/liolib.c: Likewise.
22198 * script/lua/lstrlib.c: Likewise.
22199 * script/lua/lualib.h: Likewise.
22200 * script/lua/ldo.c: Likewise.
22201 * script/lua/ldump.c: Likewise.
22202 * script/lua/ldo.h: Likewise.
22203 * script/lua/loslib.c: Likewise.
22204 * script/lua/lundump.c: Likewise.
22205 * script/lua/grub_lib.c: Likewise.
22206 * script/lua/ldblib.c: Likewise.
22207 * script/lua/lundump.h: Likewise.
22208 * script/lua/lmem.c: Likewise.
22209 * script/lua/grub_lib.h: Likewise.
22210 * script/lua/lmathlib.c: Likewise.
22211 * script/lua/lstate.c: Likewise.
22212 * script/lua/ltm.c: Likewise.
22213 * script/lua/lvm.c: Likewise.
22214 * script/lua/lmem.h: Likewise.
22215 * script/lua/lstate.h: Likewise.
22216 * script/lua/ltm.h: Likewise.
22217 * script/lua/ltable.c: Likewise.
22218 * script/lua/lvm.h: Likewise.
22219 * script/lua/llex.c: Likewise.
22220 * script/lua/lgc.c: Likewise.
22221 * script/lua/grub_lua.h: Likewise.
22222 * script/lua/loadlib.c: Likewise.
22223 * script/lua/lfunc.c: Likewise.
22224 * script/lua/lopcodes.c: Likewise.
22225 * script/lua/lparser.c: Likewise.
22226 * script/lua/ltable.h: Likewise.
22227 * script/lua/llex.h: Likewise.
22228 * script/lua/lgc.h: Likewise.
22229 * script/lua/lfunc.h: Likewise.
22230 * script/lua/lbaselib.c: Likewise.
22231 * script/lua/lopcodes.h: Likewise.
22232 * script/lua/lparser.h: Likewise.
22233 * script/lua/lzio.c: Likewise.
22234 * script/lua/linit.c: Likewise.
22235 * script/lua/lobject.c: Likewise.
22236 * script/lua/llimits.h: Likewise.
22237 * script/lua/lstring.c: Likewise.
22238 * script/lua/lzio.h: Likewise.
22239 * script/lua/lapi.c: Likewise.
22240 * script/lua/lcode.c: Likewise.
22241 * script/lua/lua.h: Likewise.
22242 * script/lua/lobject.h: Likewise.
22243 * script/lua/lstring.h: Likewise.
22244 * script/lua/lapi.h: Likewise.
22245 * script/lua/lcode.h: Likewise.
22246 * script/lua/luaconf.h: Likewise.
22247
22248 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
22249
22250 * docs/grub.texi (Command-line and menu entry commands): Document
22251 date and echo commands.
22252
22253 2009-09-24 Pavel Roskin <proski@gnu.org>
22254
22255 * include/grub/kernel.h (struct grub_module_header): Remove
22256 `grub_module_header_types'. Make `type' unsigned. Make `size'
22257 32-bit on all platforms.
22258 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
22259 8-bit field. Use grub_host_to_target32() for `size'.
22260 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
22261 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
22262 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
22263
22264 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22265
22266 Fix "lost keypress" bug in at_keyboard.
22267
22268 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
22269 Checks for readyness of input buffer (without flushing it).
22270 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
22271 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
22272
22273 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22274
22275 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
22276 size check within GRUB_MACHINE_PCBIOS section.
22277
22278 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
22279
22280 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
22281 return value.
22282 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
22283 KEYBOARD_ISREADY check.
22284 (grub_at_keyboard_checkkey): Rename to ...
22285 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
22286 Remove gratuitous cast.
22287
22288 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
22289
22290 * configure.ac: Call AC_PROG_MKDIR_P.
22291 * Makefile.in (docs/stamp-vti): Create docs directory. Create
22292 version.texi in $(builddir) rather than $(srcdir).
22293 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
22294 to makeinfo's @include search path.
22295
22296 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22297
22298 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
22299
22300 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
22301
22302 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
22303 for `*.dpkg-new'.
22304
22305 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
22306
22307 Build info documentation. Some code borrowed from Automake.
22308
22309 * configure.ac: Check for makeinfo.
22310 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
22311 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
22312 docs/version.texi.
22313 (MOSTLYCLEANFILES): Add vti.tmp.
22314 (docs/version.texi, docs/stamp-vti): Update automatically.
22315 (docs/grub.info): Build info documentation. Use --force and ignore
22316 errors for now.
22317 (all-local): Add $(INFOS).
22318 (install-local): Install info files.
22319 (uninstall): Uninstall info files.
22320 * docs/version.texi: Remove from revision control. This file is
22321 automatically generated on build now.
22322 * gendistlist.sh: Add `*.info'.
22323
22324 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22325
22326 * kern/term.c: Fix indentation.
22327
22328 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
22329
22330 * util/hostdisk.c: Fix a comment.
22331
22332 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
22333
22334 Fix regression introduced in r2539.
22335
22336 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
22337 to 0xA1.
22338
22339 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
22340
22341 * util/grub.d/30_os-prober.in: Don't throw away stderr from
22342 os-prober. Under normal operation, it does not print anything to
22343 stderr; if it does, we need to debug it, and throwing away stderr
22344 makes that excessively difficult.
22345
22346 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
22347
22348 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
22349
22350 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22351
22352 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
22353 AC_LANG_PROGRAM from autoconf.
22354 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
22355 prototypes (fixes warning).
22356
22357 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
22358 `--disable-werror' was used.
22359
22360 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
22361
22362 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
22363 uninitialized `lastaddr'.
22364
22365 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
22368
22369 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22370
22371 * commands/test.c (get_fileinfo): Return immediately if
22372 grub_fs_probe fails.
22373
22374 2009-09-14 José Martínez <xosemp@gmail.com>
22375
22376 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
22377
22378 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
22379
22380 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
22381 output.
22382
22383 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
22384
22385 * configure.ac: Remove --enable-grub-pe2elf. Only build
22386 grub-pe2elf when needed by the build system itself.
22387 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
22388
22389 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22390
22391 * configure.ac: Bump version to 1.97~beta3.
22392 * docs/version.texi: Likewise.
22393
22394 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22395
22396 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
22397 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
22398 from here ...
22399 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
22400 (grub_linux_setup_video): ... to here (with some adjustments).
22401
22402 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
22403
22404 Fix memory corruption issue (spotted by Colin Watson).
22405
22406 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
22407 causing returned size to be stored in an incorrect memory location.
22408 Fix use of uninitialized value when storing the returned size.
22409
22410 2009-09-12 Yves Blusseau <blusseau@zetam.org>
22411
22412 Change clean rules to properly remove files
22413
22414 * genmk.rb: add new clean rules
22415 * Makefile.in (clean): add the new targets
22416 (mostlyclean): likewise
22417
22418 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22419
22420 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
22421 to grub_uint64_t.
22422 * fs/ntfs.c (init_file): Understand 64-bit sizes for
22423 non-resident files.
22424
22425 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
22426
22427 * configure.ac: Don't look for help2man when cross-compiling. Fixes
22428 part of bug #27349.
22429
22430 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22431
22432 * util/grub-mkconfig.in: Make the created config mode 400 and
22433 print a warning if it fails.
22434
22435 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
22436
22437 * util/grub.d/40_custom.in: Ask user to type custom entries below
22438 comment, rather than below 'exec tail' line.
22439
22440 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22441
22442 * util/grub.d/40_custom.in: Make sure that the explanatory text is
22443 visible in grub.cfg.
22444
22445 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
22446
22447 * util/grub.d/40_custom.in: Make it a little clearer how to use this
22448 file.
22449
22450 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
22451
22452 * docs/grub.cfg: Add an example menu entry for memtest86+.
22453
22454 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
22455
22456 * config.guess: Update to latest version from config git.
22457 * config.sub: Likewise.
22458
22459 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
22460
22461 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
22462 unknown-command case. Fixes bug #27320.
22463
22464 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
22465
22466 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
22467 `help' if the command exists.
22468
22469 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
22470
22471 * INSTALL: Require GCC 4.1.3 or later.
22472
22473 2009-09-06 Yves Blusseau <blusseau@zetam.org>
22474
22475 * Makefile.in (RMKFILES): add i386-qemu.rmk
22476 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
22477 $(srcdir)/stamp-h.in
22478
22479 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
22480
22481 * util/grub-probe.c (probe): Comment out buggy codepath, which
22482 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
22483 should be re-enabled after 1.97.
22484
22485 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
22486
22487 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
22488 find searches for.
22489
22490 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22491
22492 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
22493 unnecessary calls to grub_error.
22494
22495 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
22496
22497 * NEWS: Mention `keystatus' and Unicode fonts.
22498
22499 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
22500
22501 * configure.ac: Bump version to 1.97~beta2.
22502 * docs/version.texi: Likewise.
22503
22504 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22505
22506 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
22507 containing unwind information in some cases where it previously did
22508 not. Use -fno-dwarf2-cfi-asm if available to restore the old
22509 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
22510 discussion.
22511
22512 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
22513
22514 Embedding loadenv module into grub-emu
22515
22516 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
22517 commands/loadenv.c
22518 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
22519 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
22520 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
22521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
22522 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
22523 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
22524
22525 2009-09-03 Magnus Granberg <zorry@ume.nu>
22526
22527 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
22528 include -fPIE in the default specs.
22529 * configure.ac: Check if pie_possible is yes and add -fno-PIE
22530 to TARGET_CFLAGS.
22531
22532 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
22533
22534 * INSTALL: Note that GNU Bison 2.3 or later is required.
22535
22536 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
22537
22538 * kern/i386/pc/startup.S: Fix typo.
22539
22540 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22541
22542 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
22543 according to GCS.
22544
22545 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22546
22547 * docs/grub.texi (Naming convention): Describe one-based partition
22548 numbering.
22549 (Device syntax): Likewise.
22550 (File name syntax): Likewise.
22551 (Block list syntax): Likewise.
22552 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
22553 menu.lst.
22554 (File name syntax): Likewise.
22555 (Command-line and menu entry commands): Document acpi, blocklist,
22556 crc, export, insmod, keystatus, ls, set, and unset commands.
22557
22558 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22559
22560 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
22561 to avoid implying that only one of --shift, --ctrl, or --alt may be
22562 used.
22563
22564 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
22565
22566 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
22567 rather than comparing against S_IFREG, which will almost never work.
22568
22569 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
22572 (write_blocklists): Likewise.
22573
22574 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
22575
22576 * script/lua/grub_lua.h (fputs): Supply a format string as the first
22577 argument to grub_printf.
22578
22579 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
22580
22581 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
22582 non GNU test.
22583
22584 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22585
22586 * kern/file.c (grub_file_read): Spelling fix
22587
22588 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22589
22590 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
22591 loading of headers in some cases.
22592
22593 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
22594
22595 * configure.ac: Bump version to 1.97~beta1.
22596 * docs/version.texi: Likewise.
22597
22598 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
22599
22600 * include/grub/i386/xnu.h: Add license header.
22601 include grub/err.h explicitly.
22602
22603 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22604
22605 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
22606 to `ufs' in the vfs.root.mountfrom kernel parameter.
22607
22608 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
22609
22610 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
22611
22612 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
22613 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
22614
22615 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
22616 `ARRAY_SIZE' macro.
22617
22618 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22619
22620 * kern/file.c (grub_file_read): Check offset.
22621 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
22622 * fs/jfs.c (grub_jfs_read_file): Likewise.
22623 * fs/ntfs.c (grub_ntfs_read): Likewise.
22624 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
22625 * fs/minix.c (grub_minix_read_file): Correct offset check.
22626 * fs/ufs.c (grub_ufs_read_file): Likewise.
22627
22628 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22629
22630 * term/i386/pc/console.c (bios_data_area): Cast
22631 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
22632
22633 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22634
22635 1-bit optimised blitters.
22636
22637 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
22638 prototype.
22639 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22640 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22641 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22642 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22643 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22644 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22645 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
22646 function.
22647 (grub_video_fbblit_replace_24bit_1bit): Likewise.
22648 (grub_video_fbblit_replace_16bit_1bit): Likewise.
22649 (grub_video_fbblit_replace_8bit_1bit): Likewise.
22650 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
22651 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
22652 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
22653 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
22654 when possible.
22655 * video/video.c (grub_video_get_blit_format): Return
22656 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
22657
22658 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22659
22660 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
22661 the first argument to grub_printf.
22662
22663 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
22664 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
22665
22666 Add `getkeystatus' terminal method. Add a new `keystatus' command
22667 to query it.
22668
22669 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
22670 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
22671 modifier key bitmasks.
22672 (struct grub_term_input): Add `getkeystatus' member.
22673 (grub_getkeystatus): Add prototype.
22674 * kern/term.c (grub_getkeystatus): New function.
22675
22676 * include/grub/i386/pc/memory.h
22677 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
22678 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
22679 Data Area layout.
22680 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
22681 (grub_console_term_input): Set `getkeystatus' member.
22682 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
22683 constants.
22684 (grub_usb_keyboard_getreport): Likewise.
22685 (grub_usb_keyboard_checkkey): Likewise.
22686 (grub_usb_keyboard_getkeystatus): New function.
22687 (grub_usb_keyboard_term): Set `getkeystatus' member.
22688
22689 * commands/keystatus.c: New file.
22690 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
22691 (keystatus_mod_SOURCES): New variable.
22692 (keystatus_mod_CFLAGS): Likewise.
22693 (keystatus_mod_LDFLAGS): Likewise.
22694 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
22695 commands/keystatus.c.
22696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22698 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22700 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22701 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22702
22703 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
22704
22705 Split befs.mod and afs.mod into *_be.mod and *.mod
22706
22707 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
22708 (grub_fstest_SOURCES): Likewise.
22709 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
22710 (afs_be_mod_SOURCES): New variable.
22711 (afs_be_mod_CFLAGS): Likewise.
22712 (afs_be_mod_LDFLAGS): Likewise.
22713 (befs_be_mod_SOURCES): Likewise.
22714 (befs_be_mod_CFLAGS): Likewise.
22715 (befs_be_mod_LDFLAGS): Likewise.
22716 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
22717 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22719 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
22720 (grub_emu_SOURCES): Likewise.
22721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22722 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22723 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22724 * fs/afs_be.c: New file.
22725 * fs/befs_be.c: New file.
22726 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
22727 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
22728 (U16): Replaced with ...
22729 (grub_afs_to_cpu16): ...this. All users updated.
22730 (U32): Replaced with ...
22731 (grub_afs_to_cpu32): ...this. All users updated.
22732 (U64): Replaced with ...
22733 (grub_afs_to_cpu64): ...this. All users updated.
22734 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
22735 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
22736 (grub_afs_validate_sblock): Check only one endianness.
22737 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22738 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22739 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22740 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22741 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
22742 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
22743 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
22744 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
22745
22746 2009-08-26 Bean <bean123ch@gmail.com>
22747
22748 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
22749 64-bit number.
22750 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
22751 (grub_xfs_inode_block): Change return type to grub_uint64_t.
22752 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
22753
22754 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22755
22756 NetBSD memory map support.
22757
22758 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
22759 (grub_netbsd_btinfo_mmap_header): New structure.
22760 (grub_netbsd_btinfo_mmap_entry): Likewise.
22761 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
22762
22763 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22764
22765 Enable bsd.mod on coreboot.
22766
22767 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
22768 (bsd_mod_SOURCES): New variable.
22769 (bsd_mod_CFLAGS): Likewise.
22770 (bsd_mod_LDFLAGS): Likewise.
22771 (bsd_mod_ASFLAGS): Likewise.
22772 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
22773 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
22774
22775 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22776
22777 Cleanup NetBSD root support.
22778
22779 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
22780 grub_bsd_get_device.
22781 Fix typo.
22782
22783 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
22784
22785 * util/grub.d/00_header.in: Move check for the video backend of
22786 gfxterm from here ...
22787 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
22788 a suitable video backend.
22789
22790 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22791
22792 Fix breakage in grub-setup.
22793
22794 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
22795 "msdos_partition_map".
22796
22797 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22798
22799 Fix breakage in normal/auth.c.
22800
22801 * normal/auth.c (grub_iswordseparator): New function.
22802
22803 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
22804
22805 Authentication support.
22806
22807 * commands/password.c: New file.
22808 * conf/common.rmk (pkglib_MODULES): Add password.mod.
22809 (password_mod_SOURCES): New variable.
22810 (password_mod_CFLAGS): Likewise.
22811 (password_mod_LDFLAGS): Likewise.
22812 (normal_mod_SOURCES): Add normal/auth.c.
22813 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
22814 normal/auth.c.
22815 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22816 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22817 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22819 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22820 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22821 * include/grub/auth.h: New file.
22822 * include/grub/err.h (grub_err_t): New enum value
22823 GRUB_ERR_ACCESS_DENIED.
22824 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
22825 'users'.
22826 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
22827 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
22828 users updated.
22829 * normal/auth.c: New file.
22830 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
22831 (grub_cmdline_run): Don't allow to go to command line without
22832 authentication.
22833 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
22834 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
22835 menuentry without superuser rights.
22836 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
22837 user isn't a superuser.
22838
22839 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22840
22841 Save space by inlining misc.c functions.
22842
22843 * kern/misc.c (grub_iswordseparator): Made static.
22844 * kern/misc.c (grub_strcat): Moved from here ...
22845 * include/grub/misc.h (grub_strcat): ... here. Inlined.
22846 * kern/misc.c (grub_strncat): Moved from here ...
22847 * include/grub/misc.h (grub_strncat): ... here. Inlined.
22848 * kern/misc.c (grub_strcasecmp): Moved from here ...
22849 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
22850 * kern/misc.c (grub_strncasecmp): Moved from here ...
22851 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
22852 * kern/misc.c (grub_isalpha): Moved from here ...
22853 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
22854 * kern/misc.c (grub_isdigit): Moved from here ...
22855 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
22856 * kern/misc.c (grub_isgraph): Moved from here ...
22857 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
22858 * kern/misc.c (grub_tolower): Moved from here ...
22859 * include/grub/misc.h (grub_tolower): ... here. Inlined.
22860
22861 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22862
22863 * script/sh/function.c (grub_script_function_find): Cut error message
22864 not to flood terminal.
22865 * script/sh/lexer.c (grub_script_yylex): Remove command line length
22866 limit.
22867 * script/sh/script.c (grub_script_arg_add): Duplicate string.
22868
22869 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
22870
22871 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
22872 `report' grub_uint8_t *.
22873 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
22874 Use a 50-millisecond timeout rather than just repeating
22875 grub_usb_keyboard_getreport 50 times.
22876 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
22877
22878 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22879
22880 Rename *_partition_map to part_*
22881
22882 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
22883 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
22884 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
22885 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
22886 All users updated.
22887 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
22888 All users updated.
22889 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
22890 * util/grub-probe.c (probe_partmap): Don't transform partition name
22891 to get module name.
22892
22893 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22894
22895 Fix OpenBSD and NetBSD support.
22896
22897 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
22898 memory address conflict.
22899 (OPENBSD_MMAP_ACPI): New definition.
22900 (OPENBSD_MMAP_NVS): Likewise.
22901 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
22902 and OPENBSD_MMAP_NVS.
22903 Add memory map terminator
22904 Explicit cast when calling grub_unix_real_boot.
22905 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
22906
22907 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22908
22909 Let user specify NetBSD root device.
22910
22911 * loader/i386/bsd.c (netbsd_root): New variable.
22912 (netbsd_opts): New option 'root'.
22913 (NETBSD_ROOT_ARG): New macro.
22914 (grub_netbsd_boot): Use 'netbsd_root'.
22915 (grub_bsd_unload): Free 'netbsd_root'.
22916 (grub_cmd_netbsd): Fill 'netbsd_root'.
22917
22918 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22919
22920 Support for 64-bit NetBSD.
22921
22922 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
22923 point when booting non-FreeBSD.
22924
22925 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 Support --no-smp and --no-acpi for NetBSD.
22928
22929 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
22930 (NETBSD_AB_NOACPI): Likewise.
22931 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
22932 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
22933
22934 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22935
22936 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
22937 errors.
22938 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
22939 errors. Call grub_error when needed.
22940
22941 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
22942
22943 * commands/search.c (search_fs): Try searching without autoload first.
22944 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
22945 filesystem module explicitly for faster booting.
22946
22947 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
22948
22949 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
22950
22951 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
22952
22953 * util/grub.d/30_os-prober.in: Disable os-prober if
22954 `GRUB_DISABLE_OS_PROBER' was set to true.
22955
22956 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
22957
22958 * partmap/pc.c: Rename to ...
22959 * partmap/msdos.c: ... this. Update all users.
22960 (grub_pc_partition_map): Rename to ...
22961 (grub_msdos_partition_map): ... this. Update all users.
22962
22963 * parttool/pcpart.c: Rename to ...
22964 * parttool/msdospart.c: ... this. Update all users.
22965
22966 * include/grub/pc_partition.h: Rename to ...
22967 * include/grub/msdos_partition.h: ... this. Update all users.
22968 (grub_pc_partition_bsd_entry): Rename to ...
22969 (grub_msdos_partition_bsd_entry): ... this. Update all users.
22970 (grub_pc_partition_disk_label): Rename to ...
22971 (grub_msdos_partition_disk_label): ... this. Update all users.
22972 (grub_pc_partition_entry): Rename to ...
22973 (grub_msdos_partition_entry): ... this. Update all users.
22974 (grub_pc_partition_mbr): Rename to ...
22975 (grub_msdos_partition_mbr): ... this. Update all users.
22976 (grub_pc_partition): Rename to ...
22977 (grub_msdos_partition): ... this. Update all users.
22978 (grub_pc_partition_is_empty): Rename to ...
22979 (grub_msdos_partition_is_empty): ... this. Update all users.
22980 (grub_pc_partition_is_extended): Rename to ...
22981 (grub_msdos_partition_is_extended): ... this. Update all users.
22982 (grub_pc_partition_is_bsd): Rename to ...
22983 (grub_msdos_partition_is_bsd): ... this. Update all users.
22984
22985 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
22986 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
22987 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
22988 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
22989 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
22990 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
22991 (gpt_mod_LDFLAGS): Rename to ...
22992 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
22993 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
22994 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
22995 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
22996 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
22997 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
22998 (part_gpt_mod_LDFLAGS): ... this.
22999 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
23000 `pcpart.mod' to `msdospart.mod'.
23001 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
23002 to ...
23003 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
23004 (msdospart_mod_LDFLAGS): ... this.
23005
23006 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
23007
23008 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
23009 (openbsd_opts): Likewise.
23010 (netbsd_opts): Likewise.
23011 (freebsd_flags): Added 0 terminator.
23012 (openbsd_flags): Likewise.
23013 (netbsd_flags): Likewise.
23014 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
23015 (grub_cmd_freebsd): Transformed into extended command.
23016 (grub_cmd_openbsd): Likewise.
23017 (grub_cmd_netbsd): Likewise.
23018 (cmd_freebsd): Changed type to grub_extcmd_t.
23019 (cmd_openbsd): Likewise.
23020 (cmd_netbsd): Likewise.
23021 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
23022 grub_cmd_openbsd as extended commands.
23023 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
23024 cmd_netbsd and cmd_openbsd
23025
23026 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
23029
23030 2009-08-21 Pavel Roskin <proski@gnu.org>
23031
23032 * Makefile.in (install-local): When checking if a file is in the
23033 build directory, use "test -e" to detect symlinks.
23034
23035 * Makefile.in (install-local): Remove all files in
23036 $(DESTDIR)$(pkglibdir) before installing new files there.
23037
23038 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23039
23040 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
23041 grub-mkelfimage.
23042
23043 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
23044
23045 * util/grub-mkconfig.in: Don't use gfxterm by default if not
23046 explicitly specified by the user.
23047
23048 2009-08-18 Pavel Roskin <proski@gnu.org>
23049
23050 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
23051 grub_uint8_t pointer for data.
23052 * include/grub/fbutil.h (struct grub_video_fbblit_info):
23053 Likewise.
23054 * video/fb/fbutil.c: Remove unnecessary casts.
23055
23056 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23057
23058 VBE cleanup.
23059
23060 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
23061 (grub_vbe_set_video_mode): Save active mode info
23062 only after setting the mode.
23063 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
23064 second argument.
23065
23066 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23067
23068 Rename variables for clarity.
23069
23070 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
23071 (active_vbe_mode_info): ... this. All users updated.
23072 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
23073 All users updated.
23074 (initial_mode): Rename to ...
23075 (initial_vbe_mode): ... this. All users updated.
23076 (mode_in_use): Rename to ..
23077 (vbe_mode_in_use): ... this. All users updated.
23078 (mode_list): Rename to ..
23079 (vbe_mode_list): ... this. All users updated.
23080 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
23081 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
23082 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
23083 'mode_list_size' to 'vbe_mode_list_size'.
23084 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
23085 'best_mode_info' to 'best_vbe_mode_info' and
23086 'best_mode' to 'best_vbe_mode'
23087
23088 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
23089
23090 Remove duplicate grub_video_fb_get_video_ptr.
23091
23092 * include/grub/fbutil.h (get_data_ptr): Rename to ...
23093 (grub_video_fb_get_video_ptr): ... this.
23094 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
23095 * video/fb/fbutil.c: Add comment about addressing.
23096 (get_data_ptr): Rename to ...
23097 (grub_video_fb_get_video_ptr): ... this. All users updated.
23098 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
23099
23100 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23101
23102 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
23103 grub_dprintf() that was just added.
23104
23105 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
23106
23107 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
23108 (DEFAULT_VIDEO_MODE): Remove macros.
23109 (grub_linux_boot): Remove assumption that Linux has FB support,
23110 and use "text" as default video mode.
23111
23112 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
23113
23114 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
23115 grub_dprintf.
23116 * fs/fat.c (grub_fat_read_data): Likewise.
23117
23118 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23119
23120 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
23121 payload.
23122 (grub_module): Likewise.
23123
23124 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23125
23126 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
23127 mbi->cmdline but free playground.
23128
23129 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23130
23131 Handle group offset on UFS1.
23132
23133 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
23134 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
23135
23136 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23137
23138 Split ufs.mod into ufs1.mod and ufs2.mod.
23139
23140 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
23141 (grub_fstest_SOURCES): Likewise.
23142 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
23143 (ufs_mod_SOURCES): Remove.
23144 (ufs_mod_CFLAGS): Likewise.
23145 (ufs_mod_LDFLAGS): Likewise.
23146 (ufs1_mod_SOURCES): New variable.
23147 (ufs1_mod_CFLAGS): Likewise.
23148 (ufs1_mod_LDFLAGS): Likewise.
23149 (ufs2_mod_SOURCES): New variable.
23150 (ufs2_mod_CFLAGS): Likewise.
23151 (ufs2_mod_LDFLAGS): Likewise.
23152 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
23153 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23154 Likewise.
23155 (grub_emu_SOURCES): Likewise.
23156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23157 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23158 (grub_setup_SOURCES): Likewise.
23159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23160 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
23161 (grub_setup_SOURCES): Likewise.
23162 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
23163 Likewise.
23164 * fs/ufs2.c: New file.
23165 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
23166
23167 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
23168
23169 Framebuffer split.
23170
23171 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
23172 subsystem at the end.
23173 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
23174 (video_fb_mod_SOURCES): New variable.
23175 (video_fb_mod_CFLAGS): Likewise.
23176 (video_fb_mod_LDFLAGS): Likewise.
23177 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
23178 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
23179 * video/i386/pc/vbeblit.c: Moved from here ...
23180 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
23181 * video/i386/pc/vbefill.c: Moved from here ...
23182 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
23183 * video/i386/pc/vbeutil.c: Moved from here ...
23184 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
23185 * include/grub/i386/pc/vbeblit.h: Moved from here ...
23186 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
23187 * include/grub/i386/pc/vbefill.h: Moved from here ...
23188 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
23189 * include/grub/i386/pc/vbeutil.h: Moved from here ...
23190 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
23191 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
23192 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
23193 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
23194 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
23195 (grub_video_adapter): Added 'get_info_and_fini'.
23196 (grub_video_get_info_and_fini): New prototype.
23197 (grub_video_set_mode): make modestring const char *.
23198 * loader/i386/linux.c (grub_linux_setup_video): Use
23199 grub_video_get_info_and_fini.
23200 (grub_linux_boot): Move modesetting just before booting.
23201 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
23202 grub_video_get_info_and_fini.
23203 * video/i386/pc/vbe.c: Moved framebuffer part ...
23204 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
23205 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
23206 grub_video_fbstd_colors and grub_video_fb_set_palette.
23207 (grub_video_vbe_init): Clear 'framebuffer' variable and use
23208 grub_video_fb_init.
23209 (grub_video_vbe_fini): Use grub_video_fb_fini.
23210 (grub_video_vbe_setup): Use framebuffer.render_target instead of
23211 render_target and use grub_video_fb_set_active_render_target and
23212 grub_video_fb_set_palette.
23213 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
23214 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
23215 (grub_video_vbe_adapter): Use framebuffer.
23216 * video/video.c (grub_video_get_info_and_fini): New function.
23217 (grub_video_set_mode): Make modestring const char *.
23218 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
23219 values are already initialised.
23220
23221 2009-08-14 Pavel Roskin <proski@gnu.org>
23222
23223 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
23224 ABS and APPLE_CC.
23225 * boot/i386/pc/diskboot.S: Likewise.
23226 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
23227 sectors allow compilation on MacOSX.
23228 * conf/i386-pc.rmk: Enable unconditional compilation of
23229 lnxboot.img.
23230
23231 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
23232
23233 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
23234 * util/grub.d/00_header.in: Enter interruptible sleep if
23235 GRUB_HIDDEN_TIMEOUT is set.
23236
23237 2009-08-13 Yves Blusseau <blusseau@zetam.org>
23238
23239 * include/grub/symbol.h: Add the LOCAL macro.
23240 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
23241 starting with "L_".
23242
23243 2009-08-13 Pavel Roskin <proski@gnu.org>
23244
23245 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
23246 any modern compilers we support.
23247
23248 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
23249 Use local labels starting with "L_" so that Apple assembler
23250 knows they are local.
23251
23252 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
23253
23254 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
23255 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
23256 (bsd_kernel_types): ... this enum.
23257
23258 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
23259 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
23260 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
23261
23262 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
23263 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
23264 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
23265 messages.
23266
23267 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23268
23269 * util/grub-dumpdevtree: Moved from here ...
23270 * util/i386/efi/grub-dumpdevtree: ... to here.
23271 (hexify): New function. Converts a string to its hex version.
23272 Generate hex versions of "efi" and "device-properties" by calling
23273 hexify() on the ASCII strings rather than by hardcoding numbers.
23274
23275 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
23276
23277 * fs/jfs.c: Update copyright year.
23278
23279 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23280
23281 * util/grub.d/00_header.in: Fix a comment.
23282 * util/grub.d/10_linux.in: Likewise.
23283 * util/grub.d/10_windows.in: Likewise.
23284 * util/grub.d/10_hurd.in: Likewise.
23285
23286 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
23287
23288 * util/grub-mkconfig.in: Allow the user to specify the used font
23289 with GRUB_FONT.
23290
23291 2009-08-08 Pavel Roskin <proski@gnu.org>
23292
23293 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
23294 available, xfs.mod needs it now.
23295
23296 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
23297 the "g" modifier in sed when the intention is to strip something
23298 once. This fixes comparison of kernels with multiple dashes.
23299
23300 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
23301 on it. Add missing space before closing bracket. Fix
23302 misleading formatting.
23303
23304 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23305
23306 * docs/grub.texi: Major overhaul. Remove all sections that are
23307 specific to GRUB Legacy, or mostly composed of Legacy-specific
23308 information.
23309
23310 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23311
23312 * docs/version.texi: New file. Provides version information for
23313 grub.texi.
23314
23315 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23316
23317 * docs/grub.texi: Update CVS information to SVN.
23318 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
23319
23320 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23321
23322 * util/grub-mkconfig.in: Remove a wrong `fi'.
23323
23324 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23325
23326 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
23327 (grub_jfs_uuid): New function.
23328 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
23329
23330 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
23331
23332 * util/grub-mkconfig_lib.in (font_path): Move the functionality
23333 of it to ...
23334 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
23335 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
23336
23337 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23338
23339 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
23340 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
23341 Update all users.
23342
23343 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
23344 not just "vmlinu[zx]".
23345 Moved from here ...
23346 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
23347 all users.
23348
23349 * util/grub.d/10_linux.in (find_latest): Moved from here ...
23350 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
23351 all users.
23352
23353 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
23354
23355 * util/grub.d/10_freebsd.in: Use an absolute device path for
23356 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
23357
23358 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
23359
23360 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
23361 handling of multiple abstraction modules.
23362
23363 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
23364
23365 Fix a bug resulting in black screen when loading Linux using a
23366 packed video mode.
23367
23368 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
23369 function.
23370
23371 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
23372 (grub_vbe_bios_getset_dac_palette_width): New function.
23373 (grub_vbe_bios_get_dac_palette_width)
23374 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
23375 grub_vbe_bios_getset_dac_palette_width()).
23376
23377 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
23378 check for return status.
23379 (grub_vbe_get_video_mode_info): When getting information for a packed
23380 mode (<= 8 bpp), obtain DAC palette width using
23381 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
23382 {red,green,blue}_mark_size.
23383
23384 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
23385
23386 * commands/search.c (options): Fix help output to match actual code.
23387
23388 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
23389
23390 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
23391 of homegrown code.
23392
23393 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23394
23395 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
23396 on XFS or ReiserFS.
23397
23398 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23399
23400 Support Apple partition map with sector size different from 512 bytes.
23401
23402 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
23403 (apple_partition_map_iterate): Respect 'aheader.blocksize'
23404 and 'apart.partmap_size'.
23405
23406 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23407 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
23408
23409 Fix cpuid command.
23410
23411 * commands/i386/cpuid.c (options): New variable.
23412 (grub_cmd_cpuid): Return real error.
23413 (GRUB_MOD_INIT(cpuid)): Declare options.
23414
23415 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
23416
23417 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
23418 valid.
23419
23420 2009-07-31 Bean <bean123ch@gmail.com>
23421
23422 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
23423 log2_inode.
23424 (grub_fshelp_node): Move inode field to the end.
23425 (grub_xfs_data): Remove inode field.
23426 (grub_xfs_inode_block): Calculate inode size using sblock.
23427 (grub_xfs_inode_offset): Likewise.
23428 (grub_xfs_read_inode): Calculate inode size using sblock.
23429 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
23430 (grub_xfs_iterate_dir): Calculate inode size using sblock.
23431 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
23432 to match inode size.
23433 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
23434 not accessible when data is null.
23435 (grub_xfs_open): Likewise.
23436
23437 2009-07-31 Bean <bean123ch@gmail.com>
23438
23439 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
23440 Don't change pv->disk if it's already set.
23441
23442 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
23443 (grub_raid_register): ... here.
23444 (grub_raid_rescan): Removed.
23445
23446 * include/grub/raid.h (grub_raid_rescan): Removed.
23447
23448 * util/grub-fstest.c: Remove include file <grub/raid.h>.
23449 (fstest): Replace grub_raid_rescan with module fini function followed
23450 by init function.
23451
23452 * util/grub-probe.c: Add include file <grub/raid.h>.
23453 (probe_raid_level): New function.
23454 (probe): Detect abstraction by walking the disk device, support two
23455 level of abstraction (LVM on RAID) when detecting partition map.
23456
23457 2009-07-31 Pavel Roskin <proski@gnu.org>
23458
23459 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
23460 to grub_zalloc(), it was erroneous.
23461 Reported by Bean <bean123ch@gmail.com>
23462
23463 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
23464
23465 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
23466 embedding zone, not only the first one.
23467
23468 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
23469
23470 * term/gfxterm.c (clear_char): New function.
23471 (grub_virtual_screen_setup): Use clear_char.
23472 (scroll_up): Likewise.
23473 (grub_virtual_screen_cls): Likewise.
23474
23475 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
23476
23477 * util/deviceiter.c (get_acceleraid_disk_name): New static
23478 function.
23479 (grub_util_iterate_devices): Handle Accelraid devices.
23480 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
23481
23482 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
23483
23484 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
23485 separator for the suggested gfxpayload string (';' collides with the
23486 parser and needs escaping).
23487
23488 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
23489
23490 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
23491 Clear direction flag before jumping to OS.
23492 (grub_multiboot2_real_boot): Likewise.
23493
23494 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23495
23496 * util/i386/pc/grub-install: Fix parsing of --disk-module
23497 option.
23498
23499 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
23500
23501 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
23502 when embedding.
23503
23504 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
23505
23506 * util/grub-mkconfig.in (package_version): New variable.
23507 Use it do display the version.
23508
23509 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23510
23511 * kern/file.c (grub_file_open): Revert to previous check with
23512 grub_errno.
23513
23514 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23515
23516 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
23517 from help line. It's out of sync with code.
23518
23519 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
23520
23521 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
23522 entries on failed boot.
23523
23524 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
23525
23526 * kern/file.c (grub_file_open): Fix an error check.
23527
23528 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
23529
23530 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
23531 partition map couldn't be identified.
23532
23533 2009-07-23 Pavel Roskin <proski@gnu.org>
23534
23535 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
23536 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
23537 case of little endian words becomes just an optimization.
23538 Respect const modifier.
23539 (md5_final): Use code that doesn't depend on endianness.
23540
23541 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
23542 to avoid loss of upper bits if align is unsigned and shorter
23543 than addr.
23544
23545 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23546
23547 UUID support for UFS
23548
23549 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
23550 (grub_ufs_uuid): New function.
23551 (grub_ufs_fs): add .uuid
23552
23553 2009-07-21 Pavel Roskin <proski@gnu.org>
23554
23555 * kern/dl.c (grub_dl_check_header): Make static.
23556
23557 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
23558
23559 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
23560 add drivemap for Vista. It breaks Windows 7.
23561
23562 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
23563
23564 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
23565 128 bytes
23566
23567 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23568
23569 Add BFS support
23570
23571 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
23572 (grub_fstest_SOURCES): Likewise.
23573 (pkglib_MODULES): Add befs.mod.
23574 (befs_mod_SOURCES): New variable.
23575 (befs_mod_CFLAGS): Likewise.
23576 (befs_mod_LDFLAGS): Likewise.
23577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23578 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23579 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23580 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23581 (grub_setup_SOURCES): Likewise.
23582 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23583 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23584 (grub_setup_SOURCES): Likewise.
23585 * fs/befs.c: New file.
23586 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
23587 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
23588 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
23589 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
23590 (B_KEY_INDEX_ALIGN): New declaration.
23591 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
23592 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
23593 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
23594 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
23595 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
23596 (grub_afs_mount) [MODE_BFS]: Likewise.
23597 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
23598 (grub_afs_fs): Use GRUB_AFS_FSNAME
23599 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
23600 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
23601 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
23602 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
23603
23604 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
23605
23606 * util/getroot.c (find_root_device): Add support for MacOSX.
23607 * util/hostdisk.c: Likewise.
23608
23609 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23610
23611 * font/font.c (find_glyph): Check whether a font is present to avoid
23612 segmentation fault.
23613
23614 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
23615
23616 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
23617
23618 2009-07-20 Pavel Roskin <proski@gnu.org>
23619
23620 * configure.ac: Trim excessively wordy excuses.
23621
23622 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23623
23624 Add symlink, mtime and label support to AtheFS.
23625
23626 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
23627 (grub_afs_iterate_dir): Handle symlinks.
23628 (grub_afs_open): Use grub_afs_read_symlink.
23629 (grub_afs_dir): Likewise.
23630 Pass mtime.
23631 (grub_afs_label): New function.
23632 (grub_afs_fs): Add grub_afs_label.
23633 (grub_afs_read_symlink): New function.
23634
23635 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
23636
23637 Fix AtheFS support.
23638
23639 * fs/afs.c: Fix comments style.
23640 (grub_afs_blockrun): Declare as packed.
23641 (grub_afs_datastream): Likewise.
23642 (grub_afs_bnode): Likewise.
23643 (grub_afs_btree): Likewise.
23644 (grub_afs_sblock): Likewise.
23645 Declare `name' as char.
23646 (grub_afs_inode): Declare as packed.
23647 Change void *vnode to grub_uint32_t unused.
23648 (grub_afs_iterate_dir): Check that key_size is positive.
23649 (grub_afs_mount): Don't read superblock twice.
23650 (grub_afs_dir): Don't free node in case of error,
23651 grub_fshelp_find_file already handles this.
23652 (grub_afs_open): Likewise.
23653
23654 2009-07-19 Pavel Roskin <proski@gnu.org>
23655
23656 * Makefile.in: Remove LIBLZO and enable_lzo.
23657 * conf/i386-pc.rmk: Remove lzo support.
23658 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
23659 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
23660 support.
23661 * kern/i386/pc/lzo1x.S: Remove.
23662 * kern/i386/pc/startup.S: Remove lzo support.
23663 * util/i386/pc/grub-mkimage.c: Likewise.
23664
23665 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
23668 * fs/xfs.c (grub_xfs_dir): Likewise.
23669 * fs/afs.c (grub_afs_dir): Likewise.
23670 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
23671 (grub_iso9660_open): Likewise.
23672 * fs/jfs.c (grub_jfs_open): Likewise.
23673 * fs/ext2.c (grub_ext2_dir): Likewise.
23674 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
23675 * script/sh/lexer.c (grub_script_yylex): Likewise.
23676
23677 2009-07-16 Pavel Roskin <proski@gnu.org>
23678
23679 * configure.ac: Never add "-c" to CFLAGS.
23680
23681 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
23682
23683 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
23684 grub_cv_cc_efiemu should be used.
23685
23686 * configure.ac: Typo fixes.
23687
23688 * kern/mm.c (grub_zalloc): New function.
23689 (grub_debug_zalloc): Likewise.
23690 * include/grub/mm.h: Declare grub_zalloc() and
23691 grub_debug_zalloc().
23692 * util/misc.c (grub_zalloc): New function.
23693 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
23694 instead of grub_malloc(), remove unneeded initializations.
23695 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
23696 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
23697 * commands/parttool.c (grub_cmd_parttool): Likewise.
23698 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23699 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
23700 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
23701 * disk/usbms.c (grub_usbms_finddevs): Likewise.
23702 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
23703 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
23704 (grub_cmd_efiemu_pnvram): Likewise.
23705 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
23706 * fs/iso9660.c (grub_iso9660_mount): Likewise.
23707 (grub_iso9660_iterate_dir): Likewise.
23708 * fs/jfs.c (grub_jfs_opendir): Likewise.
23709 * fs/ntfs.c (list_file): Likewise.
23710 (grub_ntfs_mount): Likewise.
23711 * kern/disk.c (grub_disk_open): Likewise.
23712 * kern/dl.c (grub_dl_load_core): Likewise.
23713 * kern/elf.c (grub_elf_file): Likewise.
23714 * kern/env.c (grub_env_context_open): Likewise.
23715 (grub_env_set): Likewise.
23716 (grub_env_set_data_slot): Likewise.
23717 * kern/file.c (grub_file_open): Likewise.
23718 * kern/fs.c (grub_fs_blocklist_open): Likewise.
23719 * loader/i386/multiboot.c (grub_module): Likewise.
23720 * loader/xnu.c (grub_xnu_create_key): Likewise.
23721 (grub_xnu_create_value): Likewise.
23722 * normal/main.c (grub_normal_add_menu_entry): Likewise.
23723 (read_config_file): Likewise.
23724 * normal/menu_entry.c (make_screen): Likewise.
23725 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23726 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
23727 * script/sh/script.c (grub_script_parse): Likewise.
23728 * video/bitmap.c (grub_video_bitmap_create): Likewise.
23729 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
23730 * video/readers/png.c (grub_png_output_byte): Likewise.
23731 (grub_video_reader_png): Likewise.
23732
23733 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23734
23735 Enable all targets that can be built by default
23736
23737 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
23738 grub-mkfont and grub-fstest if they can be built
23739
23740 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23741
23742 Fix hang and segmentation fault in grub-emu-usb
23743
23744 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
23745 * util/usb.c (grub_libusb_devices): likewise
23746 (grub_libusb_init): rename to ...
23747 (GRUB_MOD_INIT (libusb)):...this
23748 (grub_libusb_fini): rename to ..
23749 (GRUB_MOD_FINI (libusb)):...this
23750 * disk/usbms.c (grub_usbms_transfer): fix retry logic
23751 * include/grub/disk.h (grub_raid_init): removed, it's useless
23752 (grub_raid_fini): likewise
23753 (grub_lvm_init): likewise
23754 (grub_lvm_fini): likewise
23755 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
23756 by grub_init_all
23757
23758 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23759
23760 Fix libusb
23761
23762 * Makefile.in (LIBUSB): new macro
23763 * genmk.rb (Utility/print_tail): new method
23764 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
23765 (top level): call util.print_tail at the end.
23766
23767 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23768
23769 Make FreeBSD accept zpool.cache
23770
23771 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
23772 type is /boot/zfs/zpool.cache
23773
23774 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 Fix 64-bit efiemu
23777
23778 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
23779 correct wrong typedef
23780 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
23781
23782 2009-07-15 Pavel Roskin <proski@gnu.org>
23783
23784 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
23785 * kern/disk.c (struct grub_disk_cache): Likewise.
23786
23787 * commands/probe.c (options): Typo fix.
23788
23789 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
23790 Increase to 0x5a to accommodate FAT32. Adjust other offsets
23791 accordingly.
23792 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
23793
23794 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
23795 the end of "Error" to make the message more readable.
23796
23797 * boot/i386/pc/boot.S (kernel_segment): Remove.
23798 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
23799 for destination.
23800
23801 * boot/i386/pc/boot.S (boot_version): Remove.
23802 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
23803 Remove.
23804
23805 * include/grub/i386/pc/boot.h: Sort all offsets.
23806 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
23807 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
23808 * boot/i386/pc/boot.S: Assert location of every offset listed in
23809 include/grub/i386/pc/boot.h.
23810
23811 2009-07-13 Pavel Roskin <proski@gnu.org>
23812
23813 * include/grub/i386/coreboot/machine.h: Rename
23814 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
23815 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
23816 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
23817
23818 * kern/dl.c: Force native word size to suppress warnings when
23819 compiling grub-emu.
23820
23821 * kern/device.c (grub_device_iterate): Change struct part_ent to
23822 hold the name, not a pointer to it. Use one grub_malloc() per
23823 partition, not two. Free partition_name if grub_malloc() fails.
23824 Set ents to NULL only before grub_partition_iterate() is called.
23825
23826 2009-07-11 Bean <bean123ch@gmail.com>
23827
23828 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
23829 childname.
23830
23831 2009-07-10 Bean <bean123ch@gmail.com>
23832 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
23833
23834 * kern/ieee1275/openfw.c (grub_children_iterate)
23835 (grub_devalias_iterate): Fix size evaluation for property or path
23836 strings, which was broken since r2132.
23837
23838 2009-07-07 Pavel Roskin <proski@gnu.org>
23839
23840 * commands/search.c (search_file): Merge into ...
23841 (search_fs): ... this. Accept search type as argument.
23842 (grub_cmd_search): Pass search type to search_fs().
23843
23844 * include/grub/util/console.h: New file.
23845 * util/console.c: Use it instead of grub/machine/console.h.
23846 * util/grub-emu.c: Likewise.
23847
23848 * lib/arg.c (find_long_option): Remove.
23849 (find_long): Add `len' argument, make `s' const char *.
23850 (grub_arg_parse): Parse long options in place, not in a
23851 temporary buffer.
23852
23853 2009-07-06 Pavel Roskin <proski@gnu.org>
23854
23855 * commands/search.c (search_fs): Fix potential NULL pointer
23856 dereference.
23857
23858 * commands/search.c (search_fs): Replace QUID macro with quid_fn
23859 function pointer.
23860
23861 2009-07-06 Daniel Mierswa <impulze@impulze.org>
23862
23863 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
23864 comparison.
23865
23866 2009-07-05 Pavel Roskin <proski@gnu.org>
23867
23868 * include/grub/i386/linux.h (struct linux_kernel_params):
23869 Restore padding3, it's still needed.
23870
23871 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
23872 FreeBSD.
23873 * util/osdetect.lua: Likewise.
23874
23875 2009-07-05 Bean <bean123ch@gmail.com>
23876
23877 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
23878
23879 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
23880 (grub_lua_getenv): Likewise.
23881 (grub_lua_setenv): Likewise.
23882 (save_errno): New function.
23883 (push_result): Likewise.
23884 (grub_lua_enum_device): Likewise.
23885 (grub_lua_enum_file): Likewise.
23886 (grub_lua_file_open): Likewise.
23887 (grub_lua_file_close): Likewise.
23888 (grub_lua_file_seek): Likewise.
23889 (grub_lua_file_read): Likewise.
23890 (grub_lua_file_getline): Likewise.
23891 (grub_lua_file_getsize): Likewise.
23892 (grub_lua_file_getpos): Likewise.
23893 (grub_lua_file_eof): Likewise.
23894 (grub_lua_file_exist): Likewise.
23895 (grub_lua_add_menu): Likewise.
23896
23897 * script/lua/grub_lua.h (isupper): New inline function.
23898 (islower): Likewise.
23899 (ispunct): Likewise.
23900 (isxdigit): Likewise.
23901 (strcspn): Change to normal function.
23902 (strpbkr): New function declaration.
23903 (memchr): Likewise.
23904
23905 * script/lua/grub_main.c (scan_str): New function.
23906 (strcspn): Likewise.
23907 (strpbrk): Likewise.
23908 (memchr): Likewise.
23909
23910 * script/lua/linit.c (lualibs): Enable the string library.
23911
23912 * util/osdetect.lua: New file.
23913
23914 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
23915
23916 * include/grub/i386/linux.h (struct linux_kernel_params): Add
23917 `capabilities' member.
23918
23919 2009-07-02 Pavel Roskin <proski@gnu.org>
23920
23921 * genparttoollist.sh: Add missing newline at the end.
23922
23923 2009-07-01 Pavel Roskin <proski@gnu.org>
23924
23925 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
23926
23927 * util/hostdisk.c (open_device): Remove `const' from
23928 `sysctl_size', as sysctlbyname() can change it (in this case it
23929 doesn't actually happen).
23930
23931 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
23932 using signed long int constants.
23933
23934 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
23935 constant to avoid a warning on FreeBSD.
23936
23937 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
23938 where it's needed.
23939
23940 * Makefile.in: Install include/grub/machine symlink.
23941
23942 * Makefile.in: When installing symlinks, use "cp -fR", which
23943 works on FreeBSD and MacOSX.
23944 From Yves Blusseau <cl7m42e02@sneakemail.com>
23945
23946 * kern/dl.c (grub_dl_resolve_symbol): Make static.
23947 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
23948
23949 * util/misc.c: Move grub_reboot() and grub_halt() ...
23950 * util/grub-emu.c: ... here. Make main_env static.
23951 * include/grub/util/misc.h: Remove main_env.
23952
23953 * kern/mm.c: Use correct format to print size_t.
23954
23955 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
23956 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
23957 * kern/powerpc/dl.c: Likewise.
23958 * kern/sparc64/dl.c: Likewise.
23959 * kern/x86_64/dl.c: Likewise.
23960
23961 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23962
23963 Fix grub-emu build on sparc64-ieee1275.
23964
23965 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
23966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
23967
23968 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23969
23970 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
23971 (grub_reboot, grub_halt): New functions.
23972
23973 * util/i386/pc/misc.c: Delete. Update all users.
23974 * util/sparc64/ieee1275/misc.c: Likewise.
23975 * util/powerpc/ieee1275/misc.c: Likewise.
23976
23977 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
23978
23979 * conf/i386.rmk (setjmp_mod_SOURCES)
23980 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
23981 * conf/common.rmk (setjmp_mod_SOURCES)
23982 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
23983 to use $(target_cpu).
23984 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
23985 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
23986 * conf/powerpc-ieee1275.rmk: Likewise.
23987 * conf/sparc64-ieee1275.rmk: Likewise.
23988
23989 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
23990 $(target_cpu) for kern/$(target_cpu)/dl.c.
23991 * conf/i386-efi.rmk: Likewise.
23992 * conf/i386-ieee1275.rmk: Likewise.
23993 * conf/x86_64-efi.rmk: Likewise.
23994 * conf/i386-coreboot.rmk: Likewise.
23995 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
23996 $(target_cpu) for kern/$(target_cpu)/dl.c and for
23997 kern/$(target_cpu)/cache.S.
23998 * conf/sparc64-ieee1275.rmk: Likewise.
23999
24000 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
24001
24002 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
24003 type to `grub_uint8_t', and adjust `padding9' accordingly.
24004
24005 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24006
24007 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
24008
24009 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
24010 assembly in final jump, using register constraints.
24011
24012 (grub_linux_boot): For text mode, initialize `have_vga' using
24013 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
24014
24015 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
24016 right before the final jump.
24017
24018 Set `video_mode' to 0x3.
24019
24020 Document initialization of `video_page', `video_mode' and
24021 `video_ega_bx'.
24022
24023 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24024
24025 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
24026 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
24027 and set GRUB_LINUX_FLAG_QUIET appropriately.
24028
24029 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
24030
24031 Fix build on Debian / sparc.
24032
24033 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
24034
24035 2009-06-28 Pavel Roskin <proski@gnu.org>
24036
24037 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
24038 fix a warning.
24039
24040 * util/grub.d/10_linux.in: Match SUSE style initrd names.
24041
24042 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24043
24044 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
24045 `err'.
24046
24047 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24048
24049 Revert r2338.
24050
24051 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
24052 file can't be opened. grub_file_open() is already supposed to set
24053 grub_errno / grub_errmsg appropriately.
24054 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24055
24056 2009-06-27 Pavel Roskin <proski@gnu.org>
24057 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
24058
24059 * include/grub/dl.h: Include grub/elf.h.
24060 (struct grub_dl): Add symtab field.
24061 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
24062 GRUB_MODULES_MACHINE_READONLY.
24063 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
24064 of the header for read-only modules.
24065 (grub_dl_unload): Free mod->symtab for read-only modules.
24066 * kern/i386/dl.c: Use mod->symtab.
24067 * kern/powerpc/dl.c: Likewise.
24068 * kern/sparc64/dl.c: Likewise.
24069 * kern/x86_64/dl.c: Likewise.
24070
24071 * conf/i386-qemu.rmk: New file.
24072 * kern/i386/qemu/startup.S: Likewise.
24073 * kern/i386/qemu/mmap.c: Likewise.
24074 * boot/i386/qemu/boot.S: Likewise.
24075 * include/grub/i386/qemu/time.h: Likewise.
24076 * include/grub/i386/qemu/serial.h: Likewise.
24077 * include/grub/i386/qemu/kernel.h: Likewise.
24078 * include/grub/i386/qemu/console.h: Likewise.
24079 * include/grub/i386/qemu/boot.h: Likewise.
24080 * include/grub/i386/qemu/init.h: Likewise.
24081 * include/grub/i386/qemu/machine.h: Likewise.
24082 * include/grub/i386/qemu/loader.h: Likewise.
24083 * include/grub/i386/qemu/memory.h: Likewise.
24084
24085 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
24086 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
24087 [qemu] (pkglib_IMAGES): Add `boot.img'.
24088 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
24089 [qemu] (boot_img_FORMAT): New variables.
24090 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
24091 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
24092 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
24093 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
24094 [qemu] (kernel_img_FORMAT): New variables.
24095
24096 * configure.ac: Recognise `i386-qemu'.
24097
24098 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
24099 (for no compression).
24100 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
24101 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
24102 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
24103 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
24104 ifdefs).
24105
24106 2009-06-27 Pavel Roskin <proski@gnu.org>
24107
24108 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
24109 read.
24110 * efiemu/prepare32.c: Likewise.
24111 * efiemu/prepare64.c: Likewise.
24112
24113 2009-06-26 Pavel Roskin <proski@gnu.org>
24114
24115 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
24116 * include/grub/elf.h: Define symbols without "32" or "64" based
24117 on GRUB_TARGET_WORDSIZE.
24118 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
24119 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
24120 ELF definitions.
24121 * efiemu/loadcore64.c: Likewise.
24122 * loader/i386/bsd32.c: Likewise.
24123 * loader/i386/bsd64.c: Likewise.
24124 * kern/dl.c: Remove own ELF definitions.
24125 * util/i386/efi/grub-mkimage.c: Likewise.
24126
24127 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
24128
24129 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
24130 segment 0x0 unconditionally, because the reference generated by
24131 GAS is an absolute address.
24132
24133 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24134
24135 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
24136 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
24137
24138 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24139
24140 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
24141 indexes. Check for -f explicitly.
24142 (search_file): Improve error message.
24143 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
24144
24145 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24146
24147 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
24148 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
24149
24150 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24151
24152 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
24153 * conf/i386-ieee1275.rmk: Likewise.
24154 * conf/i386-coreboot.rmk: Likewise.
24155
24156 * kern/i386/pc/startup.S (grub_stop): Remove function.
24157 * kern/i386/ieee1275/startup.S: Likewise.
24158 * kern/i386/coreboot/startup.S: Likewise.
24159 * kern/i386/misc.S (grub_stop): New function.
24160
24161 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24162
24163 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
24164 * kern/i386/realmode.S (real_to_prot): ... to here.
24165
24166 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
24167
24168 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
24169 with `kernel.img'.
24170 (kernel_elf_SOURCES): Rename to ...
24171 (kernel_img_SOURCES): ... this.
24172 (kernel_elf_HEADERS): Rename to ...
24173 (kernel_img_HEADERS): ... this. Update all users.
24174 (kernel_elf_ASFLAGS): Rename to ...
24175 (kernel_img_ASFLAGS): ... this.
24176 (kernel_elf_CFLAGS): Rename to ...
24177 (kernel_img_CFLAGS): ... this.
24178 (kernel_elf_LDFLAGS): Rename to ...
24179 (kernel_img_LDFLAGS): ... this.
24180 * conf/i386-coreboot.rmk: Likewise.
24181 * conf/powerpc-ieee1275.rmk: Likewise.
24182
24183 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
24184 with "kernel.img".
24185
24186 2009-06-21 Pavel Roskin <proski@gnu.org>
24187
24188 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
24189 to match nested functions.
24190 * loader/sparc64/ieee1275/linux.c: Likewise.
24191
24192 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
24193
24194 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24195
24196 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
24197 all i386 platforms.
24198
24199 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
24200
24201 Fix asm file handling on ELF, and remove workarounds.
24202
24203 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
24204 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
24205 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
24206 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
24207
24208 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
24209
24210 Load BSD ELF modules
24211
24212 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
24213 and loader/i386/bsd64.c
24214 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
24215 (FREEBSD_MODTYPE_ELF_MODULE): New definition
24216 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
24217 (grub_freebsd_load_elfmodule32): New declaration
24218 (grub_freebsd_load_elfmoduleobj64): Likewise
24219 (grub_freebsd_load_elf_meta32): Likewise
24220 (grub_freebsd_load_elf_meta64): Likewise
24221 (grub_freebsd_add_meta): Likewise
24222 (grub_freebsd_add_meta_module): Likewise
24223 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
24224 (grub_freebsd_add_meta_module): Likewise and move module-specific
24225 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
24226 (grub_cmd_freebsd): Add elf-kernel specific parts
24227 based on grub_freebsd_add_meta_module
24228 (grub_cmd_freebsd_module): Add type parsing moved from
24229 grub_freebsd_add_meta_module
24230 (grub_cmd_freebsd_module_elf): New function
24231 (cmd_freebsd_module_elf): New variable
24232 (GRUB_MOD_INIT): Register freebsd_module_elf
24233 * loader/i386/bsd32.c: New file
24234 * loader/i386/bsd64.c: Likewise
24235 * loader/i386/bsdXX.c: Likewise
24236 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
24237 (grub_elf64_load): Likewise
24238 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
24239 All users updated
24240 (grub_elf64_load_hook_t): Likewise
24241
24242 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
24243
24244 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
24245 variable.
24246 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
24247 don't write a menu entry for recovery mode.
24248
24249 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24250
24251 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
24252 after it's no longer needed.
24253
24254 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
24255
24256 * include/grub/i386/loader.h (grub_linux_prot_size)
24257 (grub_linux_tmp_addr, grub_linux_real_addr)
24258 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
24259 GRUB_MACHINE_PCBIOS.
24260 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
24261 common grub_util_info() call to ...
24262 (generate_image): ... here.
24263 Fix use of uninitialized memory, comparison of signed with
24264 unsigned integers and memory leak.
24265 Remove bogus module address message.
24266
24267 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
24268
24269 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
24270 grub_raid_register
24271 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
24272
24273 2009-06-19 Pavel Roskin <proski@gnu.org>
24274
24275 * configure.ac: Remove stray AC_MSG_CHECKING.
24276
24277 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
24278
24279 * disk/scsi.c (grub_scsi_open): use continue instead of big if
24280
24281 2009-06-18 Pavel Roskin <proski@gnu.org>
24282
24283 * conf/common.rmk: Add fs_file.mod.
24284 * disk/fs_file.c: New file.
24285 * include/grub/disk.h (enum grub_disk_dev_id): Add
24286 GRUB_DISK_DEVICE_FILE_ID.
24287
24288 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24289
24290 Fix build with Apple's toolchain. Part 2
24291
24292 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
24293 a fake start
24294
24295 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24296
24297 Fix build with Apple's toolchain. Part 1
24298
24299 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
24300 for long calls
24301 * configure.ac: remove a leftover AC_MSG_RESULT
24302 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
24303 Apple's toolchain
24304
24305 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
24306
24307 Fix warnings
24308
24309 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
24310 (decomp_block): initialize ch
24311 use grub_memcpy instead of memcpy
24312
24313 2009-06-17 Pavel Roskin <proski@gnu.org>
24314
24315 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
24316 version, use declarations needed to use vga_text as the startup
24317 console.
24318
24319 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
24320 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
24321 the kernel.
24322 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
24323 and grub_at_keyboard_fini(), it's done on module load and
24324 unload.
24325
24326 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
24327
24328 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
24329 file can't be found.
24330 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
24331
24332 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24333
24334 Fix newline handling
24335
24336 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
24337 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
24338 (grub_script_yylex): don't segfault on unterminated script
24339 newline terminates command and variable
24340
24341 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
24342
24343 avoid double grub_adjust_range call. Bug reported by David Simner
24344
24345 * kern/disk.c (grub_disk_write): change to raw disk access before
24346 calling disk_read
24347
24348 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
24349
24350 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
24351 spaces, for the benefit of help2man.
24352 * util/i386/efi/grub-mkimage.c (usage): Likewise.
24353
24354 2009-06-16 Pavel Roskin <proski@gnu.org>
24355
24356 * kern/i386/halt.c: Include grub/machine/init.h.
24357 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
24358
24359 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
24360
24361 * util/grub.d/30_os-prober.in: Use ${root} in the generated
24362 drivemap menuentry.
24363
24364 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
24365
24366 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
24367 `echo' command.
24368
24369 2009-06-16 Pavel Roskin <proski@gnu.org>
24370
24371 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
24372 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
24373 save %dx, we only need %dl and we never change it.
24374 * boot/i386/pc/cdboot.S: Don't set the root drive.
24375 * boot/i386/pc/pxeboot.S: Likewise.
24376 * include/grub/i386/pc/boot.h: Remove
24377 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
24378 GRUB_BOOT_MACHINE_DRIVE_CHECK.
24379 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
24380 * kern/i386/pc/init.c (make_install_device): Remove references
24381 to grub_root_drive.
24382 * kern/i386/pc/startup.S: Likewise.
24383 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
24384
24385 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24386
24387 xnu_uuid command
24388
24389 * commands/xnu_uuid.c: new file
24390 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
24391 (xnu_uuid_mod_SOURCES): new variable
24392 (xnu_uuid_mod_CFLAGS): likewise
24393 (xnu_uuid_mod_LDFLAGS): likewise
24394 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24395 * conf/i386-ieee1275.rmk: likewise
24396 * conf/i386-pc.rmk: likewise
24397 * conf/powerpc-ieee1275.rmk: likewise
24398 * conf/sparc64-ieee1275.rmk: likewise
24399 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
24400
24401 2009-06-16 Pavel Roskin <proski@gnu.org>
24402
24403 * configure.ac: Avoid '==' in test command, it's not portable.
24404
24405 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
24406
24407 Probe command
24408
24409 * commands/probe.c: new file
24410 * conf/common.rmk (pkglib_MODULES): add probe.mod
24411 (probe_mod_SOURCES): new variable
24412 (probe_mod_CFLAGS): likewise
24413 (probe_mod_LDFLAGS): likewise
24414 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
24415 * conf/i386-ieee1275.rmk: likewise
24416 * conf/i386-pc.rmk: likewise
24417 * conf/powerpc-ieee1275.rmk: likewise
24418 * conf/sparc64-ieee1275.rmk: likewise
24419
24420 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
24421
24422 Fix handling of string like \"hello\" and "a
24423 b"
24424
24425 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
24426 (grub_script_yylex): fix parsing of quoting, escaping and newline
24427
24428 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
24429
24430 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
24431 handling
24432
24433 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
24434
24435 * util/grub-mkconfig.in: Fix parsing of --output option.
24436
24437 2009-06-12 Pavel Roskin <proski@gnu.org>
24438
24439 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
24440 genmk.rb don't need to be generated or installed.
24441
24442 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
24443
24444 * commands/i386/pc/drivemap_int13h.S: add more comments
24445
24446 2009-06-11 Pavel Roskin <proski@gnu.org>
24447
24448 * Makefile.in (uninstall): Uninstall manuals.
24449
24450 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
24451 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
24452 and update-grub_lib in two places.
24453 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
24454
24455 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
24456 a compiler warning.
24457
24458 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
24459 `entry_lo' to fix variable shadowing.
24460
24461 2009-06-11 Christian Franke <franke@computer.org>
24462
24463 * kern/misc.c (__enable_execute_stack): Add missing return type
24464 to prevent gcc warning.
24465
24466 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24467
24468 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
24469
24470 2009-06-11 Pavel Roskin <proski@gnu.org>
24471
24472 * Makefile.in: Don't rely on any scripts being executable.
24473 Always use $(SHELL) to run shell scripts.
24474
24475 * configure.ac: Always define ___main if using -nostdlib. This
24476 fixes tests on Cygwin.
24477
24478 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
24479
24480 UDF fix
24481
24482 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
24483 is in bytes and not in blocks
24484
24485 2009-06-11 Pavel Roskin <proski@gnu.org>
24486
24487 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
24488 warning.
24489
24490 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
24491
24492 * util/grub.d/30_os-prober.in: Fix a comment. Source
24493 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
24494 to set the root device. Place drivemap command in the generated
24495 chain entry.
24496
24497 2009-06-11 Pavel Roskin <proski@gnu.org>
24498
24499 * configure.ac: Remove host_m32. Issues with 64-bit utilities
24500 have long been resolved.
24501
24502 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
24503
24504 * util/grub.d/10_linux.in: Capitalise "Linux".
24505
24506 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
24507
24508 2009-06-11 Pavel Roskin <proski@gnu.org>
24509
24510 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
24511 fix a gcc warning and ensure that the function won't ever exit.
24512
24513 * kern/i386/ieee1275/init.c: Add missing prototype for
24514 grub_stop_floppy().
24515
24516 * loader/ieee1275/multiboot2.c [__i386__]: Include
24517 grub/cpu/multiboot.h.
24518
24519 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
24520 casts to short - they are not portable and cause warnings. Fix
24521 use of uninitialized values in input_buf. Use ARRAY_SIZE.
24522
24523 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
24524
24525 Drivemap fixes
24526
24527 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
24528 new function
24529 (grub_get_root_biosnumber_saved): new variable
24530 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
24531 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
24532 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
24533 %dx after the call if necessary
24534 * conf/common.rmk (pkglib_MODULES): remove boot.mod
24535 (boot_mod_SOURCES): remove
24536 (boot_mod_CFLAGS): remove
24537 (boot_mod_LDFLAGS): remove
24538 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
24539 (boot_mod_SOURCES): new variable
24540 (boot_mod_CFLAGS): likewise
24541 (boot_mod_LDFLAGS): likewise
24542 * conf/i386-efi.rmk: likewise
24543 * conf/i386-ieee1275.rmk: likewise
24544 * conf/i386-pc.rmk: likewise
24545 * conf/powerpc-ieee1275.rmk: likewise
24546 * conf/sparc64-ieee1275.rmk: likewise
24547 * conf/x86_64-efi.rmk: likewise
24548 * include/grub/i386/pc/biosnum.h: new file
24549 * lib/i386/pc/biosnum.c: likewise
24550 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
24551 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
24552 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
24553
24554 2009-06-10 Pavel Roskin <proski@gnu.org>
24555
24556 * io/gzio.c (test_header): Don't reuse one buffer for all data.
24557 Use separate variables. Read only the file size at the end, but
24558 not the checksum that we don't use.
24559
24560 * kern/file.c (grub_file_read): Use void pointer for the buffer.
24561 Adjust all callers.
24562
24563 * kern/ieee1275/openfw.c: Remove libc includes.
24564 * kern/ieee1275/cmain.c: Likewise.
24565 * include/grub/ieee1275/ieee1275.h: Likewise.
24566
24567 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
24568 compiler warnings.
24569
24570 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
24571
24572 * Makefile.in: Remove all trailing whitespace.
24573 * conf/i386-pc.rmk: Likewise.
24574 * conf/powerpc-ieee1275.rmk: Likewise.
24575 * conf/sparc64-ieee1275.rmk: Likewise.
24576 * docs/grub.texi: Likewise.
24577 * docs/texinfo.tex: Likewise.
24578 * disk/fs_uuid.c: Likewise.
24579 * disk/lvm.c: Likewise.
24580 * disk/scsi.c: Likewise.
24581 * disk/ata.c: Likewise.
24582 * disk/ieee1275/ofdisk.c: Likewise.
24583 * disk/i386/pc/biosdisk.c: Likewise.
24584 * disk/host.c: Likewise.
24585 * disk/raid.c: Likewise.
24586 * disk/efi/efidisk.c: Likewise.
24587 * disk/usbms.c: Likewise.
24588 * disk/memdisk.c: Likewise.
24589 * disk/loopback.c: Likewise.
24590 * kern/powerpc/dl.c: Likewise.
24591 * kern/device.c: Likewise.
24592 * kern/dl.c: Likewise.
24593 * kern/sparc64/dl.c: Likewise.
24594 * kern/ieee1275/ieee1275.c: Likewise.
24595 * kern/term.c: Likewise.
24596 * kern/fs.c: Likewise.
24597 * kern/i386/dl.c: Likewise.
24598 * kern/i386/pc/startup.S: Likewise.
24599 * kern/i386/pc/init.c: Likewise.
24600 * kern/i386/pc/mmap.c: Likewise.
24601 * kern/i386/pc/lzo1x.S: Likewise.
24602 * kern/i386/ieee1275/init.c: Likewise.
24603 * kern/i386/realmode.S: Likewise.
24604 * kern/i386/tsc.c: Likewise.
24605 * kern/partition.c: Likewise.
24606 * kern/corecmd.c: Likewise.
24607 * kern/file.c: Likewise.
24608 * kern/efi/efi.c: Likewise.
24609 * kern/efi/init.c: Likewise.
24610 * kern/efi/mm.c: Likewise.
24611 * kern/main.c: Likewise.
24612 * kern/err.c: Likewise.
24613 * kern/env.c: Likewise.
24614 * kern/disk.c: Likewise.
24615 * kern/generic/millisleep.c: Likewise.
24616 * kern/generic/rtc_get_time_ms.c: Likewise.
24617 * kern/misc.c: Likewise.
24618 * kern/parser.c: Likewise.
24619 * genmk.rb: Likewise.
24620 * configure.ac: Likewise.
24621 * boot/i386/pc/diskboot.S: Likewise.
24622 * boot/i386/pc/pxeboot.S: Likewise.
24623 * boot/i386/pc/boot.S: Likewise.
24624 * boot/i386/pc/lnxboot.S: Likewise.
24625 * boot/i386/pc/cdboot.S: Likewise.
24626 * parttool/pcpart.c: Likewise.
24627 * video/readers/tga.c: Likewise.
24628 * video/video.c: Likewise.
24629 * video/bitmap.c: Likewise.
24630 * lib/envblk.c: Likewise.
24631 * lib/i386/setjmp.S: Likewise.
24632 * fs/xfs.c: Likewise.
24633 * fs/afs.c: Likewise.
24634 * fs/fat.c: Likewise.
24635 * fs/ntfs.c: Likewise.
24636 * fs/udf.c: Likewise.
24637 * fs/affs.c: Likewise.
24638 * fs/iso9660.c: Likewise.
24639 * fs/hfs.c: Likewise.
24640 * fs/fshelp.c: Likewise.
24641 * fs/ext2.c: Likewise.
24642 * fs/jfs.c: Likewise.
24643 * fs/reiserfs.c: Likewise.
24644 * fs/hfsplus.c: Likewise.
24645 * fs/minix.c: Likewise.
24646 * fs/cpio.c: Likewise.
24647 * fs/sfs.c: Likewise.
24648 * fs/ufs.c: Likewise.
24649 * efiemu/prepare.c: Likewise.
24650 * efiemu/loadcore_common.c: Likewise.
24651 * efiemu/runtime/efiemu.sh: Likewise.
24652 * efiemu/runtime/efiemu.S: Likewise.
24653 * efiemu/runtime/efiemu.c: Likewise.
24654 * efiemu/pnvram.c: Likewise.
24655 * efiemu/main.c: Likewise.
24656 * efiemu/i386/pc/cfgtables.c: Likewise.
24657 * efiemu/i386/loadcore64.c: Likewise.
24658 * efiemu/i386/loadcore32.c: Likewise.
24659 * efiemu/loadcore.c: Likewise.
24660 * efiemu/symbols.c: Likewise.
24661 * efiemu/mm.c: Likewise.
24662 * include/grub/autoefi.h: Likewise.
24663 * include/grub/datetime.h: Likewise.
24664 * include/grub/term.h: Likewise.
24665 * include/grub/hfs.h: Likewise.
24666 * include/grub/lvm.h: Likewise.
24667 * include/grub/i386/tsc.h: Likewise.
24668 * include/grub/i386/linux.h: Likewise.
24669 * include/grub/i386/xnu.h: Likewise.
24670 * include/grub/i386/efiemu.h: Likewise.
24671 * include/grub/i386/pc/biosdisk.h: Likewise.
24672 * include/grub/i386/pc/memory.h: Likewise.
24673 * include/grub/i386/pc/vbe.h: Likewise.
24674 * include/grub/parttool.h: Likewise.
24675 * include/grub/video.h: Likewise.
24676 * include/grub/memory.h: Likewise.
24677 * include/grub/fs.h: Likewise.
24678 * include/grub/partition.h: Likewise.
24679 * include/grub/xnu.h: Likewise.
24680 * include/grub/efi/api.h: Likewise.
24681 * include/grub/efi/pe32.h: Likewise.
24682 * include/grub/efi/memory.h: Likewise.
24683 * include/grub/multiboot.h: Likewise.
24684 * include/grub/usbdesc.h: Likewise.
24685 * include/grub/multiboot2.h: Likewise.
24686 * include/grub/acpi.h: Likewise.
24687 * include/grub/efiemu/efiemu.h: Likewise.
24688 * include/grub/disk.h: Likewise.
24689 * include/grub/ieee1275/ieee1275.h: Likewise.
24690 * include/grub/net.h: Likewise.
24691 * include/grub/machoload.h: Likewise.
24692 * include/grub/macho.h: Likewise.
24693 * include/multiboot.h: Likewise.
24694 * genmoddep.awk: Likewise.
24695 * normal/main.c: Likewise.
24696 * normal/menu_entry.c: Likewise.
24697 * normal/menu_viewer.c: Likewise.
24698 * normal/completion.c: Likewise.
24699 * normal/cmdline.c: Likewise.
24700 * normal/misc.c: Likewise.
24701 * normal/datetime.c: Likewise.
24702 * bus/usb/usbtrans.c: Likewise.
24703 * bus/usb/ohci.c: Likewise.
24704 * bus/usb/uhci.c: Likewise.
24705 * bus/usb/usb.c: Likewise.
24706 * mmap/efi/mmap.c: Likewise.
24707 * mmap/i386/pc/mmap_helper.S: Likewise.
24708 * mmap/i386/pc/mmap.c: Likewise.
24709 * mmap/i386/mmap.c: Likewise.
24710 * mmap/i386/uppermem.c: Likewise.
24711 * mmap/mmap.c: Likewise.
24712 * commands/acpi.c: Likewise.
24713 * commands/echo.c: Likewise.
24714 * commands/blocklist.c: Likewise.
24715 * commands/loadenv.c: Likewise.
24716 * commands/usbtest.c: Likewise.
24717 * commands/boot.c: Likewise.
24718 * commands/parttool.c: Likewise.
24719 * commands/search.c: Likewise.
24720 * commands/cat.c: Likewise.
24721 * commands/i386/pc/play.c: Likewise.
24722 * commands/i386/pc/drivemap.c: Likewise.
24723 * commands/i386/pc/vbeinfo.c: Likewise.
24724 * commands/i386/pc/acpi.c: Likewise.
24725 * commands/i386/pc/vbetest.c: Likewise.
24726 * commands/ls.c: Likewise.
24727 * commands/cmp.c: Likewise.
24728 * commands/test.c: Likewise.
24729 * commands/efi/acpi.c: Likewise.
24730 * commands/gptsync.c: Likewise.
24731 * commands/help.c: Likewise.
24732 * partmap/amiga.c: Likewise.
24733 * partmap/apple.c: Likewise.
24734 * partmap/acorn.c: Likewise.
24735 * partmap/pc.c: Likewise.
24736 * partmap/sun.c: Likewise.
24737 * partmap/gpt.c: Likewise.
24738 * script/sh/lexer.c: Likewise.
24739 * script/sh/function.c: Likewise.
24740 * font/font.c: Likewise.
24741 * font/font_cmd.c: Likewise.
24742 * loader/powerpc/ieee1275/linux.c: Likewise.
24743 * loader/efi/chainloader.c: Likewise.
24744 * loader/multiboot_loader.c: Likewise.
24745 * loader/macho.c: Likewise.
24746 * loader/i386/multiboot.c: Likewise.
24747 * loader/i386/linux.c: Likewise.
24748 * loader/i386/pc/linux.c: Likewise.
24749 * loader/i386/pc/multiboot2.c: Likewise.
24750 * loader/i386/pc/chainloader.c: Likewise.
24751 * loader/i386/pc/xnu.c: Likewise.
24752 * loader/i386/bsd_trampoline.S: Likewise.
24753 * loader/i386/efi/linux.c: Likewise.
24754 * loader/i386/multiboot_elfxx.c: Likewise.
24755 * loader/i386/bsd_helper.S: Likewise.
24756 * loader/i386/bsd.c: Likewise.
24757 * loader/i386/linux_trampoline.S: Likewise.
24758 * loader/i386/xnu_helper.S: Likewise.
24759 * loader/i386/xnu.c: Likewise.
24760 * loader/i386/bsd_pagetable.c: Likewise.
24761 * loader/i386/multiboot_helper.S: Likewise.
24762 * loader/xnu.c: Likewise.
24763 * loader/xnu_resume.c: Likewise.
24764 * io/gzio.c: Likewise.
24765 * term/efi/console.c: Likewise.
24766 * term/terminfo.c: Likewise.
24767 * term/ieee1275/ofconsole.c: Likewise.
24768 * term/i386/pc/serial.c: Likewise.
24769 * term/i386/pc/vesafb.c: Likewise.
24770 * term/i386/pc/vga.c: Likewise.
24771 * term/usb_keyboard.c: Likewise.
24772 * term/gfxterm.c: Likewise.
24773 * aclocal.m4: Likewise.
24774 * util/lvm.c: Likewise.
24775 * util/grub.d/30_os-prober.in: Likewise.
24776 * util/grub.d/10_hurd.in: Likewise.
24777 * util/console.c: Likewise.
24778 * util/grub-macho2img.c: Likewise.
24779 * util/grub-probe.c: Likewise.
24780 * util/hostfs.c: Likewise.
24781 * util/i386/pc/grub-mkimage.c: Likewise.
24782 * util/i386/pc/grub-setup.c: Likewise.
24783 * util/i386/efi/grub-mkimage.c: Likewise.
24784 * util/grub-mkconfig.in: Likewise.
24785 * util/raid.c: Likewise.
24786 * util/resolve.c: Likewise.
24787 * util/grub-mkdevicemap.c: Likewise.
24788 * util/grub-emu.c: Likewise.
24789 * util/getroot.c: Likewise.
24790 * util/hostdisk.c: Likewise.
24791 * util/usb.c: Likewise.
24792 * util/grub-editenv.c: Likewise.
24793 * util/misc.c: Likewise.
24794
24795 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
24796
24797 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
24798 `genparttoollist.sh'.
24799 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
24800 Add `*.sh' to the list find searches for and change `mdate.sh'
24801 to `mdate-sh'.
24802
24803 2009-06-10 Pavel Roskin <proski@gnu.org>
24804
24805 * include/grub/multiboot2.h: Provide compatibility defines for
24806 multiboot2.h.
24807 * include/multiboot2.h: Include stdint.h only if needed, using
24808 angle brackets.
24809 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
24810 grub/multiboot2.h.
24811 * loader/ieee1275/multiboot2.c: Likewise.
24812 * loader/multiboot2.c: Likewise.
24813 * loader/multiboot_loader.c: Likewise.
24814
24815 * configure.ac: Use -nostdlib when probing for the target. It
24816 should not be required to have libc for the target.
24817
24818 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
24819 they fail without libc headers for the target.
24820 * include/grub/powerpc/libgcc.h: Use weak attribute for all
24821 exports.
24822 * include/grub/sparc64/libgcc.h: Likewise. Don't use
24823 preprocessor conditionals.
24824
24825 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
24826 build system doesn't need to be aware of the tar.c internals.
24827
24828 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
24829
24830 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
24831
24832 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
24833
24834 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
24835 disk limit to 26 for IDE, Virtio, Xen and SCSI.
24836
24837 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
24838
24839 * util/i386/pc/grub-install.in: Change the error message if UUIDs
24840 aren't available if ata.mod gets used.
24841
24842 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
24843
24844 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
24845 initialising controller.
24846 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24847
24848 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24849
24850 * util/i386/pc/grub-install.in: Add a parameter --disk-module
24851 to choose between ata and biosdisk module on i386-pc.
24852
24853 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
24854
24855 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
24856 Subclass and Programming Interface fields in terms of the 3 byte
24857 Class Code register.
24858 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24859
24860 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
24861 interface is OHCI. Add grub_dprintf for symmetry with
24862 bus/usb/uhci.c.
24863 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
24864 interface is UHCI. Add interf variable for programming
24865 interface. Print interface with class/subclass.
24866
24867 * bus/usb/ohci.c: Set interf with correct field.
24868
24869 * bus/usb/uhci.c: Remove unneeded doubled lines.
24870 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
24871 Remove whitespace inside comment.
24872
24873 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
24874
24875 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
24876 as fallback an equivalent option without depth.
24877
24878 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24879
24880 Not fail if unable to retrieve C/H/S on LBA disks
24881
24882 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
24883 if unable to retrieve C/H/S on LBA disks
24884
24885 2009-06-08 Pavel Roskin <proski@gnu.org>
24886
24887 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
24888 about aliasing.
24889
24890 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24891
24892 * Makefile.in (uninstall): Remove all $lib_DATA files.
24893
24894 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
24895
24896 Bugfix: install on partitionless device
24897
24898 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
24899 is a whole disk
24900
24901 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24902
24903 * Makefile.in (uninstall): Remove all $include_DATA files.
24904
24905 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
24906
24907 * commands/true.c: New file. Implement the true and false commands.
24908 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
24909 (true_mod_SOURCES): New variable.
24910 (true_mod_CFLAGS): Likewise.
24911 (true_mod_LDFLAGS): Likewise.
24912
24913 2009-06-05 Colin D Bennett <colin@gibibit.com>
24914
24915 Optimized font character lookup using binary search instead of linear
24916 search. Fonts now are required to have the character index ordered by
24917 code point.
24918
24919 * font/font.c (load_font_index): Verify that fonts have ordered
24920 character indices.
24921 (find_glyph): Use binary search instead of linear search to find a
24922 character in a font.
24923
24924 2009-06-05 Michael Scherer <misc@mandriva.org>
24925
24926 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
24927 uses case sensitive btree.
24928 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
24929 only for case insensitive filesystems.
24930
24931 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
24932
24933 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
24934 * conf/common.rmk (search_mod_CFLAGS): likewise
24935
24936 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24937
24938 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
24939 compensate a compiler bug
24940
24941 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24942
24943 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
24944 instead of '\b'
24945
24946 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24947
24948 Definitions for creating asm symbols with Apple's CC
24949
24950 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
24951 [APPLE_CC] (VARIABLE): likewise
24952
24953 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24954
24955 Disable lnxboot.img when compiled
24956 with Apple's CC
24957
24958 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
24959 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
24960 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
24961 [! APPLE_CC] (CODE_LENG): skip
24962 [! APPLE_CC] (setup_sects): likewise
24963 [! APPLE_CC]: skip filling
24964
24965 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24966
24967 Address in trampolines based on 32-bit registers when compiled
24968 with Apple's CC
24969
24970 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
24971 for addresses
24972 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
24973
24974 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 Avoid aliases when compiling with Apple's CC for PCBIOS machine
24977
24978 * kern/misc.c [APPLE_CC] (memcpy): new function
24979 [APPLE_CC] (memmove): likewise
24980 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
24981 (memcpy): define alias conditionally on !APPLE_CC
24982 (memset): likewise
24983 (abort): likewise
24984 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
24985 APPLE_CC are defined
24986 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
24987 (grub_assert_fail): make prototype conditional
24988
24989 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
24990
24991 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
24992
24993 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
24994 grub-macho2img
24995 (CLEANFILES): add grub-macho2img
24996 (grub_macho2img_SOURCES): new variable
24997 * kern/i386/pc/startup.S (bss_start): new variable
24998 (bss_end): likewise
24999 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
25000 * util/grub-macho2img.c: new file
25001
25002 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25003
25004 Use objconv when compiling with Apple's CC
25005
25006 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
25007 (efiemu64.o): likewise
25008 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
25009 when compiling with Apple's CC
25010 (efiemu64_s.o): likewise
25011 * configure.ac: check for objconv when compiling with Apple's CC
25012 * genmk.rb: use objconv for modules when compiled with Apple's CC
25013
25014 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25015
25016 Define segment as well as section when compiling with
25017 Apple's CC
25018
25019 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
25020 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
25021 (efiemu_convert_pointer): likewise
25022 (efiemu_set_virtual_address_map): likewise
25023 (efiemu_convert_pointer): likewise
25024 (efiemu_getcrc32): likewise
25025 (init_crc32_table): likewise
25026 (reflect): likewise
25027 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
25028 (GRUB_MOD_DEP): likewise
25029
25030 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 Allow a compilation without -mcmodel=large
25033
25034 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
25035 when compiled without -mcmodel=large
25036 (filter_memory_map): remove memory post 4 GiB when compiled
25037 without -mcmodel=large
25038 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
25039 TARGET_CFLAGS when -mcmodel=large isn't supported
25040
25041 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25042
25043 Remove nested functions in efiemu core
25044
25045 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
25046
25047 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25048
25049 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
25050
25051 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
25052 temporary storage
25053 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
25054 using Apple's CC
25055 (grub_cpu_is_tsc_supported): likewise
25056 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
25057
25058 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25059
25060 Absolute addressing through constant with Apple's cc
25061
25062 * kern/i386/pc/startup.S: Define necessary constants
25063 and address through it when using ABS with Apple's CC
25064 * boot/i386/pc/diskboot.S: likewise
25065 * boot/i386/pc/boot.S: likewise
25066 * boot/i386/pc/lnxboot.S: likewise
25067 * boot/i386/pc/cdboot.S: likewise
25068 * mmap/i386/pc/mmap_helper.S: likewise
25069 * commands/i386/pc/drivemap_int13h.S: likewise
25070
25071 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25072
25073 Check if compiler is apple cc
25074
25075 * Makefile.in (ASFLAGS): new variable
25076 (TARGET_ASFLAGS): likewise
25077 (TARGET_MODULE_FORMAT): likewise
25078 (TARGET_APPLE_CC): likewise
25079 (OBJCONV): likewise
25080 (TARGET_IMG_CFLAGS): likewise
25081 (TARGET_CPPFLAGS): add includedir
25082 * configure.ac: call grub_apple_cc and grub_apple_target_cc
25083 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
25084 Check for linker script only if compiler isn't Apple's CC
25085 (TARGET_MODULE_FORMAT): set
25086 (TARGET_APPLE_CC): likewise
25087 (TARGET_ASFLAGS): likewise
25088 (ASFLAGS): likewise
25089 Check for objcopy only if compiler isn't Apple's CC
25090 Check for BSS symbol only if compiler isn't Apple's CC
25091 * genmk.rb: adapt nm options if we use Apple's utils
25092 * aclocal.m4 (grub_apple_cc): new test
25093 (grub_apple_target_cc): likewise
25094
25095 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25096
25097 Simplify sed expressions and improve awk
25098
25099 * Makefile.in (install-local): simplify sed expression
25100 * gencmdlist.sh: likewise
25101 * genmoddep.awk: avoid adding module as a dependency of itself
25102
25103 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25104
25105 Add missing start symbols
25106
25107 * boot/i386/pc/boot.S: add start
25108 * boot/i386/pc/pxeboot.S: likewise
25109
25110 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25111
25112 Fix wrong assumptions with grub-mkimage on EFI
25113
25114 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
25115 (relocate_addresses): consider both r_addend and value at offset
25116 (make_mods_section): zerofill modinfo and header
25117 (convert_elf): write prefix here
25118
25119 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25120
25121 Use .asciz instead of .string
25122
25123 * i386/pc/diskboot.S: use .asciz instead of .string
25124 * i386/pc/boot.S: likewise
25125 * include/grub/dl.h (GRUB_MOD_DEP): likewise
25126 (GRUB_MOD_NAME): likewise
25127
25128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25129
25130 gfxpayload support
25131
25132 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
25133 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
25134 (grub_video_setup): remove
25135 (grub_video_set_mode): new prototype
25136 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
25137 (vid_mode): remove
25138 (linux_vesafb_res): compile only on PCBIOS
25139 (grub_linux_boot): support gfxpayload
25140 * loader/i386/pc/xnu.c (video_hook): new function
25141 (grub_xnu_set_video): support gfxpayload
25142 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
25143 (DEFAULT_VIDEO_HEIGHT): likewise
25144 (DEFAULT_VIDEO_FLAGS): likewise
25145 (DEFAULT_VIDEO_MODE): new definition
25146 (video_hook): new function
25147 (grub_gfxterm_init): use grub_video_set_mode
25148 * util/grub.d/30_os-prober.in: remove explicit modesetting before
25149 loading xnu
25150 * video/video.c (grub_video_setup): removed
25151 (grub_video_set_mode): new function based on grub_gfxterm_init and
25152 grub_video_setup
25153
25154 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25155
25156 Avoid calling biosdisk in drivemap
25157
25158 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
25159 (revparse_biosdisk): likewise
25160 (list_mappings): derive name from id directly
25161 (grub_cmd_drivemap): use tryparse_diskstring
25162
25163 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
25164
25165 Script fixes
25166
25167 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
25168 (grub_lexer_param): add tokenonhold
25169 (grub_script_create_cmdline): remove cmdline. All callers updated
25170 (grub_script_function_create): make functionname
25171 grub_script_arg. All callers updated
25172 (grub_script_execute_argument_to_string): new prototype
25173 * kern/parser.c (state_transitions): reorder
25174 (grub_parser_cmdline_state): fix a bug and make more compact
25175 * script/sh/execute.c (grub_script_execute_argument_to_string):
25176 make global
25177 (grub_script_execute_cmdline): use new format
25178 * script/sh/function.c (grub_script_function_create): make functionname
25179 grub_script_arg. All callers updated
25180 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
25181 (grub_script_yylex): remove
25182 (grub_script_yylex2): renamed to ...
25183 (grub_script_yylex): ...renamed
25184 parse the expressions like a${b}c
25185 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
25186 (GRUB_PARSER_TOKEN_VAR): remove
25187 (GRUB_PARSER_TOKEN_NAME): likewise
25188 ("if"): declare as typeless
25189 ("while"): likewise
25190 ("function"): likewise
25191 ("else"): likewise
25192 ("then"): likewise
25193 ("fi"): likewise
25194 (text): remove
25195 (argument): likewise
25196 (script): accept empty scripts and make exit on error
25197 (arguments): use GRUB_PARSER_TOKEN_ARG
25198 (function): likewise
25199 (command): move error handling to script
25200 (menuentry): move grub_script_lexer_ref before
25201 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
25202 argument. All callers updated
25203
25204 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25205
25206 Prevent GRUB from probing floppies during boot.
25207
25208 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
25209 * commands/search.c (options): Add --no-floppy.
25210 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
25211 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
25212 --no-floppy when searching for UUIDs.
25213
25214 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
25215
25216 Simplify the code duplication in commands/search.c.
25217
25218 * commands/search.c (search_label, search_fs_uuid): Merge into ...
25219 (search_fs): ... this. Update all users.
25220
25221 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
25222
25223 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
25224
25225 2009-05-28 Pavel Roskin <proski@gnu.org>
25226
25227 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
25228 Remove the original symlink explicitly.
25229
25230 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
25231 just one slash. That's how grub_fshelp_find_file() does it.
25232
25233 2009-05-26 Pavel Roskin <proski@gnu.org>
25234
25235 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
25236 to `str'.
25237
25238 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
25239 possibly unused.
25240
25241 2009-05-25 Christian Franke <franke@computer.org>
25242
25243 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
25244 register.
25245 (grub_atapi_identify): Add wait after drive select.
25246 (grub_ata_identify): Do more strict status register check before
25247 calling grub_atapi_identify (). Suppress error message if status
25248 register is 0x00 after command failure. Add status register
25249 check after PIO read to avoid bogus identify due to stuck DRQ.
25250 Thanks to Pavel Roskin for testing.
25251 (grub_device_initialize): Remove unsafe status register check.
25252 Thanks to 'phcoder' for problem report and patch.
25253 Prevent sign extension in debug message.
25254
25255 2009-05-23 Colin D Bennett <colin@gibibit.com>
25256
25257 Cleaned up `include/grub/normal.h'. Grouped prototypes by
25258 definition file, and functions defined in `normal/menu.c' have had
25259 their prototypes moved to `include/grub/menu.h' for consistency.
25260
25261 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
25262 from normal.h.
25263 (grub_menu_get_entry): Likewise.
25264 (grub_menu_get_timeout): Likewise.
25265 (grub_menu_set_timeout): Likewise.
25266 (grub_menu_execute_entry): Likewise.
25267 (grub_menu_execute_with_fallback): Likewise.
25268 (grub_menu_entry_run): Likewise.
25269
25270 * include/grub/normal.h: Re-ordered and grouped function
25271 prototypes by file that the function is defined in.
25272 (grub_menu_execute_callback): Removed; moved to menu.h.
25273 (grub_menu_get_entry): Likewise.
25274 (grub_menu_get_timeout): Likewise.
25275 (grub_menu_set_timeout): Likewise.
25276 (grub_menu_execute_entry): Likewise.
25277 (grub_menu_execute_with_fallback): Likewise.
25278 (grub_menu_entry_run): Likewise.
25279 (grub_menu_addentry): Renamed from this ...
25280 (grub_normal_add_menu_entry): ... to this.
25281
25282 * normal/main.c (grub_menu_addentry): Renamed from this ...
25283 (grub_normal_add_menu_entry): ... to this.
25284
25285 * script/sh/execute.c (grub_script_execute_menuentry): Update
25286 reference to renamed grub_menu_addentry function.
25287
25288 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
25289
25290 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
25291
25292 2009-05-22 Pavel Roskin <proski@gnu.org>
25293
25294 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
25295 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
25296 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
25297 compiling for the i386 targets, but not for the utilities.
25298
25299 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
25300 to grub_uint8_t.
25301 (grub_root_drive): Likewise.
25302 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
25303 remove alignment.
25304 (grub_root_drive): Change size to byte.
25305 (grub_start_addr): Remove.
25306 (grub_end_addr): Likewise.
25307 (grub_apm_bios_info): Likewise.
25308
25309 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
25310
25311 * normal/i386: Remove.
25312 * normal/powerpc: Likewise.
25313 * normal/sparc64: Likewise.
25314 * normal/x86_64: Likewise.
25315
25316 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
25317
25318 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
25319 * loader/i386/linux_trampoline.S: Fix indentation
25320 * loader/i386/xnu_helper.S: Likewise
25321
25322 2009-05-18 Colin D Bennett <colin@gibibit.com>
25323
25324 Display error messages when parsing a Lua statement fails.
25325 Previously, executing a syntactically invalid statement like
25326 ")foo" or "bar;" would silently fail.
25327
25328 * script/lua/grub_main.c (handle_lua_error): New function.
25329 (grub_lua_parse_line): Improved reporting of Lua parser and
25330 execution errors.
25331
25332 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 Remove -Werror which causes build to fail on some systems
25335
25336 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
25337 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
25338 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
25339
25340 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
25341
25342 trampoline for linux on 64-bit platform
25343
25344 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
25345 loader/i386/efi/linux_trampoline.S
25346 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
25347 declaration
25348 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
25349 here
25350 * loader/i386/linux_trampoline.S: moved here
25351 * loader/i386/efi/linux.c (allocate_pages): reserve space for
25352 trampoline
25353 (jumpvector): removed
25354 (grub_linux_trampoline_start): new declaration
25355 (grub_linux_trampoline_end): likewise
25356 (grub_linux_boot): use trampoline when on 64-bit platform
25357 * loader/i386/linux.c: likewise
25358
25359 2009-05-16 Pavel Roskin <proski@gnu.org>
25360
25361 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
25362 const to avoid a warning.
25363 (grub_lua_setenv): Likewise.
25364 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
25365 lmsg to fix a warning.
25366
25367 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25368
25369 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
25370 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25371 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
25372 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25373 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25374 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25375 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
25376 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
25377
25378 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
25379
25380 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
25381
25382 2009-05-16 Bean <bean123ch@gmail.com>
25383
25384 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
25385 (lua_mod_SOURCES): New variable.
25386 (lua_mod_CFLAGS): Likewise.
25387 (lua_mod_LDFLAGS): Likewise.
25388
25389 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
25390 (setjmp_mod_SOURCES): New variable.
25391 (setjmp_mod_CFLAGS): Likewise.
25392 (setjmp_LDFLAGS): Likewise.
25393
25394 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
25395 (setjmp_mod_SOURCES): New variable.
25396 (setjmp_mod_CFLAGS): Likewise.
25397 (setjmp_LDFLAGS): Likewise.
25398
25399 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25400 (setjmp_mod_SOURCES): New variable.
25401 (setjmp_mod_CFLAGS): Likewise.
25402 (setjmp_LDFLAGS): Likewise.
25403
25404 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
25405 (setjmp_mod_SOURCES): New variable.
25406 (setjmp_mod_CFLAGS): Likewise.
25407 (setjmp_LDFLAGS): Likewise.
25408
25409 * normal/i386/setjmp.S: Moved from here ...
25410 * lib/i386/setjmp.S: ... Moved here
25411 * normal/x86_64/setjmp.S: Moved from here ...
25412 * lib/x86_64/setjmp.S: ... Moved here
25413 * normal/powerpc/setjmp.S: Moved from here ...
25414 * lib/powerpc/setjmp.S: ... Moved here
25415 * normal/sparc64/setjmp.S: Moved from here ...
25416 * lib/sparc64/setjmp.S: ... Moved here
25417
25418 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
25419 returns_twice in mingw.
25420
25421 * script/lua/grub_lib.c: New file.
25422 * script/lua/grub_lib.h: Likewise.
25423 * script/lua/grub_lua.h: Likewise.
25424 * script/lua/grub_main.c: Likewise.
25425 * script/lua/lapi.c: Likewise.
25426 * script/lua/lapi.h: Likewise.
25427 * script/lua/lauxlib.c: Likewise.
25428 * script/lua/lauxlib.h: Likewise.
25429 * script/lua/lbaselib.c: Likewise.
25430 * script/lua/lcode.c: Likewise.
25431 * script/lua/lcode.h: Likewise.
25432 * script/lua/ldblib.c: Likewise.
25433 * script/lua/ldebug.c: Likewise.
25434 * script/lua/ldebug.h: Likewise.
25435 * script/lua/ldo.c: Likewise.
25436 * script/lua/ldo.h: Likewise.
25437 * script/lua/ldump.c: Likewise.
25438 * script/lua/lfunc.c: Likewise.
25439 * script/lua/lfunc.h: Likewise.
25440 * script/lua/lgc.c: Likewise.
25441 * script/lua/lgc.h: Likewise.
25442 * script/lua/linit.c: Likewise.
25443 * script/lua/liolib.c: Likewise.
25444 * script/lua/llex.c: Likewise.
25445 * script/lua/llex.h: Likewise.
25446 * script/lua/llimits.h: Likewise.
25447 * script/lua/lmathlib.c: Likewise.
25448 * script/lua/lmem.c: Likewise.
25449 * script/lua/lmem.h: Likewise.
25450 * script/lua/loadlib.c: Likewise.
25451 * script/lua/lobject.c: Likewise.
25452 * script/lua/lobject.h: Likewise.
25453 * script/lua/lopcodes.c: Likewise.
25454 * script/lua/lopcodes.h: Likewise.
25455 * script/lua/loslib.c: Likewise.
25456 * script/lua/lparser.c: Likewise.
25457 * script/lua/lparser.h: Likewise.
25458 * script/lua/lstate.c: Likewise.
25459 * script/lua/lstate.h: Likewise.
25460 * script/lua/lstring.c: Likewise.
25461 * script/lua/lstring.h: Likewise.
25462 * script/lua/lstrlib.c: Likewise.
25463 * script/lua/ltable.c: Likewise.
25464 * script/lua/ltable.h: Likewise.
25465 * script/lua/ltablib.c: Likewise.
25466 * script/lua/ltm.c: Likewise.
25467 * script/lua/ltm.h: Likewise.
25468 * script/lua/lua.h: Likewise.
25469 * script/lua/luaconf.h: Likewise.
25470 * script/lua/lualib.h: Likewise.
25471 * script/lua/lundump.c: Likewise.
25472 * script/lua/lundump.h: Likewise.
25473 * script/lua/lvm.c: Likewise.
25474 * script/lua/lvm.h: Likewise.
25475 * script/lua/lzio.c: Likewise.
25476 * script/lua/lzio.h: Likewise.
25477
25478 2009-05-16 Bean <bean123ch@gmail.com>
25479
25480 * include/grub/kernel.h (grub_module_header_types): Add type
25481 OBJ_TYPE_CONFIG.
25482
25483 * kern/main.c (grub_load_config): New function.
25484 (grub_main): Call grub_load_config to read boot config.
25485
25486 * grub-mkimage (generate_image): New parameter config_path.
25487 (options): New option --config.
25488 (main): Parse --config option, and pass it to generate_image.
25489
25490 2009-05-14 Christian Franke <franke@computer.org>
25491
25492 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
25493 This fixes build on Cygwin.
25494
25495 2009-05-14 Pavel Roskin <proski@gnu.org>
25496
25497 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
25498 jump. This saves two bytes, so the typical case of 2 swapped
25499 drives would fit 32 bytes.
25500
25501 2009-05-13 Pavel Roskin <proski@gnu.org>
25502
25503 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
25504 grub_uint32_t to avoid a warning.
25505
25506 * loader/i386/linux.c (allocate_pages): When assigning
25507 real_mode_mem, cast through grub_size_t to fix a warning. The
25508 code already makes sure that the value would fit a pointer.
25509 (grub_linux_setup_video): Cast render_target->data to
25510 grub_size_t to fix a warning.
25511
25512 2009-05-13 Javier Martín <lordhabbit@gmail.com>
25513
25514 * commands/i386/pc/drivemap.c: New file - implement drivemap
25515 command.
25516 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
25517 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
25518
25519 2009-05-13 Pavel Roskin <proski@gnu.org>
25520
25521 * util/i386/pc/grub-setup.c (setup): Remove unused variable
25522 embedding_area_exists.
25523
25524 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
25525
25526 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
25527 it easier to understand / work with.
25528 Improve warning messages for cases where there's no embedding area,
25529 or when it is too small (or core.img too large).
25530
25531 2009-05-13 Pavel Roskin <proski@gnu.org>
25532
25533 * loader/i386/pc/multiboot2.c: Add necessary includes for
25534 grub_multiboot2_real_boot().
25535
25536 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
25537 PX record is always little-endian. We only need the lower 2
25538 bytes of the mode.
25539
25540 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
25541 facilitate code reuse.
25542 (grub_cpio_mount): Use "struct head", not a char buffer. This
25543 fixes a warning reported by gcc 4.4.
25544
25545 * kernel/disk.c (grub_disk_read): Use void pointer for the
25546 buffer.
25547 (grub_disk_write): Use const void pointer for the buffer.
25548 Adjust all callers. Remove unnecessary casts.
25549
25550 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
25551
25552 * util/i386/pc/grub-install.in: Update copyright year.
25553
25554 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25555
25556 gptsync
25557
25558 * commands/gptsync.c: new file
25559 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
25560 (gptsync_mod_SOURCES): new variable
25561 (gptsync_mod_CFLAGS): likewise
25562 (gptsync_mod_LDFLAGS): likewise
25563 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
25564 new definition
25565 (GRUB_PC_PARTITION_TYPE_HFS): likewise
25566 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
25567 * conf/i386-ieee1275.rmk: likewise
25568 * conf/i386-pc.rmk: likewise
25569 * conf/powerpc-ieee1275.rmk: likewise
25570
25571 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
25572
25573 Fixed grub-emu
25574
25575 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
25576 (grub_dl_ref): likewise
25577
25578 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
25579
25580 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
25581 split in two functions (one for msdos and one for gpt).
25582
25583 2009-05-08 Pavel Roskin <proski@gnu.org>
25584
25585 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
25586 not modified.
25587
25588 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
25589 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
25590 Initialize them with -1. Add sanity check for bad1. Eliminate
25591 nerr variable.
25592
25593 2009-05-08 David S. Miller <davem@davemloft.net>
25594
25595 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
25596
25597 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
25598
25599 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
25600 existence.
25601
25602 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
25603
25604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25605 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
25606
25607 2009-05-05 David S. Miller <davem@davemloft.net>
25608
25609 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
25610
25611 2009-05-05 Pavel Roskin <proski@gnu.org>
25612
25613 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
25614 of grub_dl_ref() and grub_dl_unref().
25615 * commands/parttool.c: Remove preprocessor conditionals around
25616 grub_dl_ref() and grub_dl_unref().
25617 * fs/affs.c: Likewise.
25618 * fs/afs.c: Likewise.
25619 * fs/cpio.c: Likewise.
25620 * fs/ext2.c: Likewise.
25621 * fs/fat.c: Likewise.
25622 * fs/hfs.c: Likewise.
25623 * fs/hfsplus.c: Likewise.
25624 * fs/iso9660.c: Likewise.
25625 * fs/jfs.c: Likewise.
25626 * fs/minix.c: Likewise.
25627 * fs/ntfs.c: Likewise.
25628 * fs/reiserfs.c: Likewise.
25629 * fs/sfs.c: Likewise.
25630 * fs/udf.c: Likewise.
25631 * fs/ufs.c: Likewise.
25632 * fs/xfs.c: Likewise.
25633 * include/grub/dl.h: Likewise.
25634 * loader/xnu.c: Likewise.
25635
25636 2009-05-04 Pavel Roskin <proski@gnu.org>
25637
25638 * commands/acpi.c: Remove unused variable my_mod.
25639 * partmap/amiga.c: Likewise.
25640 * partmap/apple.c: Likewise.
25641 * partmap/gpt.c: Likewise.
25642 * partmap/pc.c: Likewise.
25643 * partmap/sun.c: Likewise.
25644 * term/gfxterm.c: Likewise.
25645 * term/i386/pc/vesafb.c: Likewise.
25646 * term/i386/pc/vga.c: Likewise.
25647
25648 2009-05-04 David S. Miller <davem@davemloft.net>
25649
25650 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
25651 pointer args to grub_ieee1275_get_property().
25652
25653 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
25654
25655 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
25656 devices, and do not traverse down under controller nodes.
25657
25658 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
25659 (grub_ofdisk_open): Use it to un-escape "," characters.
25660 * kern/disk.c (find_part_sep): New.
25661 (grub_disk_open): Use it to find the first non-escaped ','
25662 character in the disk name.
25663 * util/ieee1275/devicemap.c (escape_of_path): New.
25664 (grub_util_emit_devicemap_entry): Use it.
25665 * util/sparc64/ieee1275/grub-install.in: Update script to
25666 strip partition specifiers properly by not triggering on
25667 '\' escaped ',' characters.
25668
25669 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25670
25671 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
25672 to 0x300.
25673 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
25674 resolutions.
25675 (linux_vesafb_modes): Add a lot of additional modes to the list (based
25676 on documentation from Wikipedia).
25677
25678 2009-05-04 Pavel Roskin <proski@gnu.org>
25679
25680 * disk/ata.c: Spelling fixes.
25681 * disk/raid.c: Likewise.
25682 * disk/usbms.c: Likewise.
25683 * disk/dmraid_nvidia.c: Likewise.
25684 * kern/ieee1275/openfw.c: Likewise.
25685 * kern/ieee1275/init.c: Likewise.
25686 * kern/ieee1275/cmain.c: Likewise.
25687 * boot/i386/pc/cdboot.S: Likewise.
25688 * video/readers/png.c: Likewise.
25689 * video/i386/pc/vbe.c: Likewise.
25690 * fs/udf.c: Likewise.
25691 * fs/hfs.c: Likewise.
25692 * fs/reiserfs.c: Likewise.
25693 * efiemu/runtime/efiemu.c: Likewise.
25694 * efiemu/main.c: Likewise.
25695 * efiemu/mm.c: Likewise.
25696 * include/grub/elf.h: Likewise.
25697 * include/grub/xnu.h: Likewise.
25698 * include/grub/usbdesc.h: Likewise.
25699 * include/grub/usb.h: Likewise.
25700 * include/grub/script_sh.h: Likewise.
25701 * include/grub/lib/LzmaEnc.h: Likewise.
25702 * include/grub/efiemu/efiemu.h: Likewise.
25703 * include/grub/command.h: Likewise.
25704 * normal/menu.c: Likewise.
25705 * normal/main.c: Likewise.
25706 * normal/datetime.c: Likewise.
25707 * bus/usb/uhci.c: Likewise.
25708 * mmap/i386/uppermem.c: Likewise.
25709 * mmap/mmap.c: Likewise.
25710 * commands/acpi.c: Likewise.
25711 * commands/test.c: Likewise.
25712 * partmap/apple.c: Likewise.
25713 * font/font.c: Likewise.
25714 * loader/sparc64/ieee1275/linux.c: Likewise.
25715 * loader/macho.c: Likewise.
25716 * loader/i386/bsd_trampoline.S: Likewise.
25717 * loader/i386/bsd.c: Likewise.
25718 * loader/xnu.c: Likewise.
25719 * term/i386/pc/vesafb.c: Likewise.
25720 * term/usb_keyboard.c: Likewise.
25721 * util/resolve.c: Likewise.
25722 * util/getroot.c: Likewise.
25723
25724 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
25725
25726 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
25727
25728 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25729
25730 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
25731 build error.
25732
25733 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25734
25735 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
25736 parameter only available on BIOS.
25737
25738 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25739
25740 Removed wrong semicolon in declaration
25741
25742 * grub/misc.h (grub_dprintf): remove semicolon
25743
25744 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25745
25746 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
25747 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
25748 is done by grub_cmd_linux() now).
25749 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
25750 restore video to text mode.
25751 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
25752 indicates lack of "vga=" parameter. "vga=0" is mapped to
25753 `GRUB_LINUX_VID_MODE_NORMAL'.
25754
25755 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
25756
25757 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
25758 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
25759 and `normal/script.c'. Add `kern/rescue_reader.c',
25760 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
25761 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
25762 `grub_script.tab.c'.
25763
25764 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25765 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25767 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25768 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25769
25770 * Makefile.in: Remove duplicated 2008 in Copyright line.
25771
25772 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
25773
25774 * util/misc.c (grub_util_warn): New function. Emits a warning
25775 unconditionally.
25776 * include/grub/util/misc.h (grub_util_warn): New declaration.
25777
25778 * util/i386/pc/grub-install.in: Understand --force and pass it down
25779 to grub-setup.
25780
25781 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
25782 down to setup().
25783 (setup): Improve error messages and add warnings when requested to
25784 install in odd layouts. Refuse to install using blocklists unless
25785 --force was set.
25786
25787 2009-05-04 martin f. krafft <madduck@madduck.net>
25788
25789 * disk/raid.c (grub_raid_scan_device): Improve debug message.
25790
25791 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25792
25793 Updated copyright year
25794
25795 * fs/hfsplus.c: updated copyright year
25796
25797 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
25798
25799 HFS+ UUID
25800
25801 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
25802 in the space previously used by unused3
25803 (grub_hfsplus_uuid): new function
25804 (grub_hfsplus_fs): added uuid field
25805
25806 2009-05-03 Pavel Roskin <proski@gnu.org>
25807
25808 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
25809 suppress warnings. It's no longer needed.
25810 * disk/host.c: Likewise.
25811 * disk/ata_pthru.c: Likewise.
25812 * disk/loopback.c: Likewise.
25813 * hook/datehook.c: Likewise.
25814 * parttool/pcpart.c: Likewise.
25815 * fs/i386/pc/pxe.c: Likewise.
25816 * fs/ntfscomp.c: Likewise.
25817 * efiemu/main.c: Likewise.
25818 * mmap/mmap.c: Likewise.
25819 * commands/crc.c: Likewise.
25820 * commands/hexdump.c: Likewise.
25821 * commands/hdparm.c: Likewise.
25822 * commands/acpi.c: Likewise.
25823 * commands/echo.c: Likewise.
25824 * commands/minicmd.c: Likewise.
25825 * commands/blocklist.c: Likewise.
25826 * commands/memrw.c: Likewise.
25827 * commands/loadenv.c: Likewise.
25828 * commands/usbtest.c: Likewise.
25829 * commands/lsmmap.c: Likewise.
25830 * commands/boot.c: Likewise.
25831 * commands/parttool.c: Likewise.
25832 * commands/configfile.c: Likewise.
25833 * commands/search.c: Likewise.
25834 * commands/ieee1275/suspend.c: Likewise.
25835 * commands/cat.c: Likewise.
25836 * commands/i386/pc/pxecmd.c: Likewise.
25837 * commands/i386/pc/play.c: Likewise.
25838 * commands/i386/pc/halt.c: Likewise.
25839 * commands/i386/pc/vbeinfo.c: Likewise.
25840 * commands/i386/pc/vbetest.c: Likewise.
25841 * commands/lspci.c: Likewise.
25842 * commands/date.c: Likewise.
25843 * commands/handler.c: Likewise.
25844 * commands/ls.c: Likewise.
25845 * commands/test.c: Likewise.
25846 * commands/cmp.c: Likewise.
25847 * commands/efi/loadbios.c: Likewise.
25848 * commands/efi/fixvideo.c: Likewise.
25849 * commands/halt.c: Likewise.
25850 * commands/help.c: Likewise.
25851 * commands/reboot.c: Likewise.
25852 * hello/hello.c: Likewise.
25853 * script/sh/main.c: Likewise.
25854 * loader/xnu.c: Likewise.
25855 * term/terminfo.c: Likewise.
25856 * term/i386/pc/serial.c: Likewise.
25857 * term/usb_keyboard.c: Likewise.
25858
25859 2009-05-03 David S. Miller <davem@davemloft.net>
25860
25861 * normal/menu.c: Include grub/parser.h
25862
25863 2009-05-03 Pavel Roskin <proski@gnu.org>
25864
25865 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
25866 not char*.
25867 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
25868 Suggested by Javier Martín <lordhabbit@gmail.com>
25869
25870 * util/i386/pc/grub-mkrescue.in: Allow for the case when
25871 efiemu??.o doesn't exist.
25872 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
25873 copying.
25874
25875 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
25876
25877 FreeBSD 64-bit support
25878
25879 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
25880 and loader/i386/bsd_trampoline.S
25881 (bsd_mod_ASFLAGS): new variable
25882 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
25883 (FREEBSD_MODTYPE_KERNEL64): likewise
25884 (grub_bsd64_trampoline_start): likewise
25885 (grub_bsd64_trampoline_end): likewise
25886 (grub_bsd64_trampoline_selfjump): likewise
25887 (grub_bsd64_trampoline_gdt): likewise
25888 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
25889 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
25890 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
25891 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
25892 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
25893 of "attrib" member
25894 * loader/i386/bsd_pagetable.c: new file
25895 * loader/i386/bsd_trampoline.S: likewise
25896 * loader/i386/bsd.c (ALIGN_QWORD): new macro
25897 (ALIGN_VAR): likewise
25898 (entry_hi): new variable
25899 (kern_end_mdofs): likewise
25900 (is_64bit): likewise
25901 (grub_freebsd_add_meta): use ALIGN_VAR
25902 (grub_e820_mmap): new declaration
25903 (grub_freebsd_add_mmap): new function
25904 (grub_freebsd_add_meta_module): support 64 bit kernels
25905 (grub_freebsd_list_modules): use ALIGN_VAR
25906 (gdt_descriptor): new declaration
25907 (grub_freebsd_boot): support 64 bit kernels
25908 (grub_bsd_elf64_hook): new function
25909 (grub_bsd_load_elf): support elf64
25910
25911 2009-05-03 Bean <bean123ch@gmail.com>
25912
25913 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
25914 after we get the result of if statement.
25915
25916 2009-05-03 Bean <bean123ch@gmail.com>
25917
25918 * Makefile.in (enable_efiemu): New variable.
25919
25920 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
25921 set.
25922 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
25923 path.
25924 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
25925 path, add -mno-red-zone option.
25926 (efiemu64_s.o): Likewise.
25927 (efiemu64.o): Use macro $^ for source file.
25928
25929 * configure.ac (--enable-efiemu): New option.
25930
25931 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25932
25933 xnu support
25934
25935 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
25936 (pkglib_MODULES): add xnu.mod
25937 (xnu_mod_SOURCES): new variable
25938 (xnu_mod_CFLAGS): likewise
25939 (xnu_mod_LDFLAGS): likewise
25940 (xnu_mod_ASFLAGS): likewise
25941 * conf/i386-pc.rmk: likewise
25942 * conf/x86_64-efi.rmk: likewise
25943 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
25944 new declaration
25945 * include/grub/i386/macho.h: new file
25946 * include/grub/i386/xnu.h: likewise
25947 * include/grub/macho.h: likewise
25948 * include/grub/machoload.h: likewise
25949 * include/grub/x86_64/macho.h: likewise
25950 * include/grub/x86_64/xnu.h: likewise
25951 * include/grub/xnu.h: likewise
25952 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
25953 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
25954 * loader/i386/efi/xnu.c: new file
25955 * loader/i386/pc/xnu.c: likewise
25956 * loader/i386/xnu.c: likewise
25957 * loader/i386/xnu_helper.S: likewise
25958 * loader/macho.c: likewise
25959 * loader/xnu.c: likewise
25960 * loader/xnu_resume.c: likewise
25961 * util/grub-dumpdevtree: likewise
25962 * include/grub/i386/pit.h: include grub/err.h
25963 (grub_pit_wait): export
25964 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
25965
25966 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25967
25968 Efiemu
25969
25970 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
25971 _linux_efi, linux_efi.
25972 new files in grub-emu
25973 new targets efiemu32.o and efiemu64.o
25974 * loader/linux_normal_efiemu.c: likewise
25975 * loader/i386/efi/linux.c: added preliminary efiemu support
25976 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
25977 files to copy
25978 * include/grub/autoefi.h: new file
25979 * include/grub/i386/efiemu.h: likewise
25980 * include/grub/i386/pc/efiemu.h: likewise
25981 * include/grub/efi/api.h: add LL suffix when necessary
25982 new definitions relating to tables
25983 * include/grub/efiemu/efiemu.h: new file
25984 * include/grub/efiemu/runtime.h: likewise
25985 * efiemu/prepare.c: likewise
25986 * efiemu/loadcore_common.c: likewise
25987 * efiemu/loadcore64.c: likewise
25988 * efiemu/runtime/efiemu.sh: likewise
25989 * efiemu/runtime/efiemu.S: likewise
25990 * efiemu/runtime/efiemu.c: likewise
25991 * efiemu/runtime/config.h: likewise
25992 * efiemu/prepare32.c: likewise
25993 * efiemu/main.c: likewise
25994 * efiemu/modules/pnvram.c: likewise
25995 * efiemu/modules/i386: likewise
25996 * efiemu/modules/i386/pc: likewise
25997 * efiemu/modules/acpi.c: likewise
25998 * efiemu/i386/pc/cfgtables.c: likewise
25999 * efiemu/i386/loadcore64.c: likewise
26000 * efiemu/i386/loadcore32.c: likewise
26001 * efiemu/prepare64.c: likewise
26002 * efiemu/loadcore.c: likewise
26003 * efiemu/symbols.c: likewise
26004 * efiemu/mm.c: likewise
26005 * efiemu/loadcore32.c: likewise
26006
26007 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26008
26009 ACPI spoofing
26010
26011 * commands/acpi.c: new file
26012 * commands/i386/pc/acpi.c: likewise
26013 * commands/efi/acpi.c: likewise
26014 * include/grub/acpi.h: likewise
26015 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
26016 (acpi_mod_SOURCES): new variable
26017 (acpi_mod_CFLAGS): likewise
26018 (acpi_mod_LDFLAGS): likewise
26019 * conf/i386-efi.rmk: likewise
26020 * conf/x86_64-efi.rmk: likewise
26021
26022 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26023
26024 Missing part from mmap patch
26025
26026 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
26027 (grub_mmap_unregister)
26028 (grub_mmap_free_and_unregister): use grub_mmap_register
26029
26030 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26031
26032 Mmap services
26033
26034 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
26035 * loader/i386/linux.c (find_mmap_size): likewise
26036 (allocate_pages): likewise
26037 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
26038 (grub_fill_multiboot_mmap): likewise
26039 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
26040 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
26041 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
26042 (OPENBSD_MMAP_RESERVED): likewise
26043 * include/grub/i386/pc/memory.h: include grub/memory.h
26044 (grub_lower_mem): removed
26045 (grub_upper_mem): likewise
26046 (GRUB_MACHINE_MEMORY_ACPI): new definition
26047 (GRUB_MACHINE_MEMORY_NVS): likewise
26048 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
26049 (GRUB_MACHINE_MEMORY_HOLE): likewise
26050 (grub_machine_mmap_register): likewise
26051 (grub_machine_mmap_unregister): likewise
26052 (grub_machine_get_upper): likewise
26053 (grub_machine_get_lower): likewise
26054 (grub_machine_get_post64): likewise
26055 * include/grub/i386/efi/memory.h: new file
26056 * include/grub/x86_64/efi/memory.h: likewise
26057 * include/grub/efi/memory.h: likewise
26058 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
26059 (mmap_mod_SOURCES): new variable
26060 (mmap_mod_LDFLAGS): likewise
26061 (mmap_mod_ASFLAGS): likewise
26062 * conf/i386-coreboot.rmk: likewise
26063 * conf/i386-ieee1275.rmk: likewise
26064 * conf/i386-efi.rmk: likewise
26065 * conf/x86_64-efi.rmk: likewise
26066 * include/grub/types.h (UINT_TO_PTR): new macro
26067 (PTR_TO_UINT32): likewise
26068 (PTR_TO_UINT64): likewise
26069 * include/grub/memory.h: new file
26070 * mmap/i386/pc/mmap.c: likewise
26071 * mmap/i386/pc/mmap_helper.S: likewise
26072 * mmap/i386/uppermem.c: likewise
26073 * mmap/mmap.c: likewise
26074 * mmap/efi/mmap.c: likewise
26075 * kern/i386/coreboot/init.c (grub_machine_init): don't use
26076 grub_upper_mem
26077 * kern/i386/pc/init.c (grub_lower_mem): removed variable
26078 (grub_upper_mem): likewise
26079 (grub_machine_init): don't use grub_upper_mem,
26080 make grub_lower_mem local
26081 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
26082 grub_mmap_iterate and grub_mmap_get_upper
26083 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
26084
26085 2009-05-02 Bean <bean123ch@gmail.com>
26086
26087 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
26088 script/sh/parser.y.
26089 (pkglib_MODULES): Add normal.mod and sh.mod.
26090 (normal_SOURCES): New variable.
26091 (normal_mod_CFLAGS): Likewise.
26092 (normal_mod_LDFLAGS): Likewise.
26093 (sh_mod_SOURCES): Likewise.
26094 (sh_mod_CFLAGS): Likewise.
26095 (sh_mod_LDFLAGS): Likewise.
26096
26097 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
26098 script/sh/lexer.c_DEPENDENCIES.
26099 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
26100 kern/rescue_reader.c and kern/rescue_parser.c.
26101 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
26102 (grub_emu_SOURCES): Change source files.
26103 (pkglib_MODULES): Remove normal.mod.
26104 (normal_SOURCES): Removed.
26105 (normal_mod_CFLAGS): Likewise.
26106 (normal_mod_LDFLAGS): Likewise.
26107 * conf/i386-coreboot.rmk: Likewise.
26108 * conf/i386-efi.rmk: Likewise.
26109 * conf/i386-ieee1276.rmk: Likewise.
26110 * conf/powerpc-ieee1275.rmk: Likewise.
26111 * conf/sparc64-ieee1275.rmk: Likewise.
26112 * conf/x86_64-efi.rmk: Likewise.
26113
26114 * include/grub/command.h (grub_command_execute): New inline function.
26115
26116 * include/grub/menu.h (grub_menu_entry): Removed commands field.
26117
26118 * include/grub/normal.h: Remove <grub/setjmp.h>.
26119 (grub_fs_module_list): Moved to normal/autofs.c.
26120 (grub_exit_env): Removed.
26121 (grub_command_execute): Likewise.
26122 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
26123 parameter script.
26124 (read_command_list): New function declaration.
26125 (read_fs_list): Likewise.
26126
26127 * include/parser.h: Include <grub/reader.h>.
26128 (grub_parser_split_cmdline): Change type of getline parameter.
26129 (grub_parser): New structure.
26130 (grub_parser_class): New variable.
26131 (grub_parser_execute): New function declaration.
26132 (grub_register_rescue_parser): Likewise.
26133 (grub_parser_register): New inline function.
26134 (grub_parser_unregister): Likewise.
26135 (grub_parser_get_current): Likewise.
26136 (grub_parser_set_current): Likewise.
26137
26138 * include/grub/reader.h: New file.
26139 * kern/reader.c: Likewise.
26140 * kern/rescue_parser.c: Likewise.
26141 * kern/rescue_reader.c: Likewise.
26142 * normal/autofs.c: Likewise.
26143 * normal/dyncmd.c: Likewise.
26144
26145 * include/grub/rescue.h: Removed.
26146 * normal/command.h: Likewise.
26147
26148 * include/grub/script.h: Moved to ...
26149 * include/grub/script_sh.h: ... Moved here.
26150 * normal/execute.c: Moved to ...
26151 * script/sh/execute.c: ... Moved here.
26152 * normal/function.c: Moved to ...
26153 * script/sh/function.c: ... Moved here.
26154 * normal/lexer.c: Moved to ...
26155 * script/sh/lexer.c: ... Moved here.
26156 * normal/parser.y: Moved to ...
26157 * script/sh/parser.y: ... Moved here.
26158 * normal/script.c: Moved to ...
26159 * script/sh/script.c: ... Moved here.
26160
26161 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
26162 <grub/reader.h>.
26163 (grub_exit_env): Removed.
26164 (fs_module_list): Moved to normal/autofs.c.
26165 (grub_file_getline): Don't handle comment here.
26166 (free_menu): Skip removed field entry->commands.
26167 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
26168 script parameter.
26169 (read_config_file): Removed nested parameter, change getline function.
26170 (grub_enter_normal_mode): Removed.
26171 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
26172 (read_command_list): Likewise.
26173 (autoload_fs_module): Moved to normal/autofs.c.
26174 (read_fs_list): Likewise.
26175 (reader_nested): New variable.
26176 (grub_normal_execute): Run parser.sh to switch to sh parser.
26177 (grub_cmd_rescue): Removed.
26178 (cmd_normal): Removed.
26179 (grub_cmd_normal): Unregister itself at the beginning. Don't register
26180 rescue command.
26181 (grub_cmdline_run): New function.
26182 (grub_normal_reader_init): Likewise.
26183 (grub_normal_read_line): Likewise.
26184 (grub_env_write_pager): Likewise.
26185 (cmdline): New variable.
26186 (grub_normal_reader): Likewise.
26187 (GRUB_MOD_INIT): Register normal reader and set as current, register
26188 pager hook, register normal command with grub_register_command_prio,
26189 so that it won't show up in command.lst.
26190 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
26191 grub_fs_autoload_hook.
26192
26193 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
26194 (grub_menu_execute_entry): Replace grub_script_execute with
26195 grub_parser_execute, change parameter to grub_command_execute.
26196
26197 * normal/menu_text.c: Remove <grub/script.h>.
26198
26199 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
26200 and <grub/parser.h>.
26201 (run): Change editor_getline to use new parser interface. Change
26202 parameter to grub_command_execute.
26203
26204 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
26205 <grub/reader.h> and <grub/parser.h>.
26206 (grub_load_normal_mode): Execute normal command.
26207 (grub_main): Call grub_register_core_commands,
26208 grub_register_rescue_parser and grub_register_rescue_reader, use
26209 grub_reader_loop to enter input loop.
26210
26211 * kern/parser.c (grub_parser_split_cmdline): Change type of
26212 getline parameter.
26213 (grub_parser_class): New variable.
26214 (grub_parser_execute): New function.
26215
26216 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
26217 * loader/multiboot2.c: Likewise.
26218 * loader/sparc64/ieee1275/linux.c: Likewise.
26219
26220 * util/grub-emu.c (read_command_list): New dummy function.
26221
26222 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26223
26224 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
26225 count to 16 for CCISS and IDA.
26226
26227 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
26228
26229 * normal/menu_text.c (grub_wait_after_message): Print a newline
26230 after waiting for user input.
26231
26232 * loader/i386/linux.c: Include `<grub/normal.h>'.
26233 (grub_cmd_linux): Improve the error message about `ask' mode, by
26234 waiting for user input so it's not missed (we can do this, since
26235 user requested interaction).
26236
26237 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
26238
26239 Added missing lst to grub-mkrescue
26240
26241 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
26242 and ${input_dir}/parttool.lst
26243
26244 2009-04-30 David S. Miller <davem@davemloft.net>
26245
26246 * util/hostdisk.c (device_is_wholedisk): New function.
26247 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
26248 zero only if device_is_wholedisk() returns true.
26249
26250 * util/hostdisk.c (convert_system_partition_to_system_disk):
26251 Handle virtual disk devices named /dev/vdiskX as found on sparc
26252 and powerpc.
26253
26254 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
26255 lettered partition specifier is found, convert to numbered.
26256
26257 2009-04-29 David S. Miller <davem@davemloft.net>
26258
26259 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
26260 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26261
26262 * normal/command.c: Add missing newline at end of file.
26263
26264 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
26265 warnings.
26266 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
26267 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
26268 grub_ofdisk_read): Likewise, and deal similarly with the fact that
26269 ihandles have a 32-bit type but need to be stored in a "void *".
26270
26271 2009-04-28 Pavel Roskin <proski@gnu.org>
26272
26273 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
26274 not disk. Adjust all dependencies.
26275 (grub_fs_uuid_close): Use grub_device_close(), not
26276 grub_disk_close().
26277
26278 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
26279 parent's partition, don't copy it by reference, as it gets freed
26280 on close.
26281
26282 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26283
26284 Preboot hooks support
26285
26286 * commands/boot.c (struct grub_preboot_t): new declaration
26287 (preboots_head): new variable
26288 (preboots_tail): likewise
26289 (grub_loader_register_preboot_hook): new function
26290 (grub_loader_unregister_preboot_hook): likewise
26291 (grub_loader_set): launch preboot hooks
26292 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
26293 (grub_loader_register_preboot_hook): new declaration
26294 (grub_loader_unregister_preboot_hook): likewise
26295
26296 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26297
26298 Warning fix
26299
26300 * disk/scsi.c (grub_scsi_open): added missing cast when
26301 calling grub_dprintf
26302
26303 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
26304
26305 Bug and warning fixes
26306
26307 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
26308 declaration
26309 * commands/test.c (test_parse): fixed bug with file tests and corrected
26310 declaration of find_file
26311
26312 2009-04-26 Pavel Roskin <proski@gnu.org>
26313
26314 * Makefile.in: Don't install empty manual pages if help2man is
26315 missing. Use help2man option for output, not shell redirection.
26316
26317 2009-04-26 David S. Miller <davem@davemloft.net>
26318
26319 * util/grub-mkdevicemap.c (make_device_map): Add missing
26320 NESTED_FUNC_ATTR to process_device().
26321
26322 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26323
26324 Test command
26325
26326 * commands/test.c: rewritten to use bash-like test
26327
26328 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
26329
26330 Parttool autoloading and improvements
26331
26332 * Makefile.in (pkglib_DATA): add parttool.lst
26333 (parttool.lst): new target
26334 * genmk.rb: generate parttool-*
26335 (CLEANFILES): add #{parttool}
26336 (PARTTOOLFILES): new variable
26337 * genparttoollist.sh: new file
26338 * parttool/pcpart.c (grub_pcpart_boot): more feedback
26339 (grub_pcpart_type): likewise
26340 * commands/parttool.c (helpmsg): new variable
26341 (grub_cmd_parttool): output help if not enough arguments are supplied
26342 autoload modules
26343 (GRUB_MOD_INIT(parttool)): use helpmsg
26344
26345 2009-04-24 David S. Miller <davem@davemloft.net>
26346
26347 Avoiding opening same device multiple times in device iterator.
26348
26349 * kern/device.c: (grub_device_iterate): Define struct part_ent,
26350 and use it to build a list of partitions in iterate_disk() and
26351 iterate_partition().
26352
26353 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
26354 on disk->data.
26355
26356 * disk/ieee1275/nand.c (grub_nand_iterate): Return
26357 grub_devalias_iterate() result instead of unconditional 0.
26358 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
26359 Also, capture hook return value, either directly or via
26360 grub_children_iterate(), and propagate to caller.
26361 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
26362 grub_children_iterate): Return value is now 'int' instead of
26363 'grub_err_t'.
26364 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
26365 like a proper iterator, stopping when hooks return non-zero.
26366 (grub_devalias_iterate): Likewise.
26367
26368 2009-04-23 David S. Miller <davem@davemloft.net>
26369
26370 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
26371
26372 2009-04-22 David S. Miller <davem@davemloft.net>
26373
26374 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
26375 is larger than address_cells, use that value for address_cells too.
26376
26377 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
26378 IEEE1275_MAX_PATH_LEN): Define.
26379 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
26380 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
26381 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
26382 'devtype'. Explicitly NULL terminate devalias expansion.
26383
26384 * util/sparc64/ieee1275/misc.c: New file.
26385 * util/sparc64/ieee1275/grub-setup.c: New file.
26386 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
26387 * util/sparc64/ieee1275/grub-mkimage.c: New file.
26388 * util/sparc64/ieee1275/grub-install.in: New file.
26389 * util/ieee1275/ofpath.c: New file.
26390 * util/ieee1275/devicemap.c: New file.
26391 * util/devicemap.c: New file.
26392 * util/deviceiter.c: New file.
26393 * kern/sparc64/ieee1275/init.c: New file.
26394 * include/grub/util/ofpath.h: New file.
26395 * include/grub/util/deviceiter.h: New file.
26396 * util/grub-mkdevicemap.c: Include deviceiter.h.
26397 Implement using grub_util_emit_devicemap_entry and
26398 grub_util_iterate_devices.
26399 * conf/i386-corebook.rmk: Build util/deviceiter.c and
26400 util/devicemap.c into grub-mkdevicemap
26401 * conf/i386-efi.rmk: Likewise.
26402 * conf/i386-ieee1275.rmk: Likewise.
26403 * conf/i386-pc.rmk: Likewise.
26404 * conf/powerpc-ieee1275.rmk: Likewise.
26405 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
26406 images and installation utilities. Build kernel as image
26407 instead of as elf binary. Use common rules as much as possible.
26408
26409 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
26410
26411 Correct GPT definition
26412
26413 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
26414 of "attrib" member
26415
26416 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
26417
26418 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
26419
26420 2009-04-19 David S. Miller <davem@davemloft.net>
26421
26422 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
26423 (grub_rescue_cmd_linux): Rename to...
26424 (grub_cmd_linux): and fix prototype.
26425 (grub_rescue_cmd_initrd): Rename to...
26426 (grub_cmd_initrd): and fix prototype.
26427 (cmd_linux, cmd_initrd): New.
26428 (GRUB_MOD_INIT(linux)): Use grub_register_command().
26429 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
26430
26431 2009-04-17 Pavel Roskin <proski@gnu.org>
26432
26433 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
26434 format.
26435 (grub_ohci_transfer): Likewise.
26436
26437 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
26438
26439 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
26440 return without a value. Fix inconsistent indentation.
26441
26442 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
26443 match struct grub_fs.
26444
26445 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
26446 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
26447 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
26448 * commands/lspci.c (grub_lspci_iter): Likewise.
26449
26450 2009-04-16 Bean <bean123ch@gmail.com>
26451
26452 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
26453 value.
26454
26455 2009-04-15 Pavel Roskin <proski@gnu.org>
26456
26457 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
26458 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
26459 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
26460 definitions.
26461
26462 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26463
26464 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
26465 that no multiple data or metadata areas are supported and `Unknown
26466 metadata header'.
26467
26468 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26469
26470 Move loader out of the kernel
26471
26472 * kern/loader.c: moved to ...
26473 * commands/boot.c: ... moved here
26474 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
26475 * commands/boot.c (grub_cmd_boot): moved here. All users updated
26476 * include/grub/kernel.h (grub_machine_fini): export
26477 * include/grub/loader.h (grub_loader_is_loaded): update declaration
26478 (grub_loader_set): likewise
26479 (grub_loader_unset): likewise
26480 (grub_loader_boot): likewise
26481 * conf/common.rmk: new module boot.mod
26482 (pkglib_MODULES): add boot.mod
26483 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
26484 (grub_emu_SOURCES): likewise
26485 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
26486 (grub_emu_SOURCES): likewise
26487 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
26488 (grub_emu_SOURCES): likewise
26489 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
26490 (grub_emu_SOURCES): likewise
26491 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
26492 (grub_emu_SOURCES): likewise
26493 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
26494 (grub_emu_SOURCES): likewise
26495 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
26496 (grub_emu_SOURCES): likewise
26497
26498 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26499
26500 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
26501
26502 * kern/misc.c (grub_itoa): Removed function
26503 (grub_ltoa): likewise
26504 (grub_vsprintf): use grub_lltoa
26505
26506 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
26507
26508 Restore grub-emu
26509
26510 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
26511 * conf/i386-coreboot.rmk: likewise
26512 * conf/i386-ieee1275.rmk: likewise
26513 * conf/powerpc-ieee1275.rmk: likewise
26514
26515 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
26516
26517 * INSTALL: Add that `./autogen.sh' needs to be run before
26518 `./configure.'.
26519
26520 2009-04-14 Bean <bean123ch@gmail.com>
26521
26522 * Makefile.in (pkglib_DATA): Add handler.lst.
26523 (handler.lst): New rule.
26524
26525 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
26526 * conf/i386-coreboot.rmk: Likewise.
26527 * conf/i386-ieee1275.rmk: Likewise.
26528 * conf/i386-efi.rmk: Likewise.
26529 * conf/x86_64-efi.rmk: Likewise.
26530 * conf/powerpc-ieee1275.rmk: Likewise.
26531 * conf/sparc64-ieee1275.rmk: Likewise.
26532
26533 * genhandlerlist.sh: New file.
26534
26535 * genmk.rb: Add rules to generate handler.lst.
26536
26537 * include/grub/normal.h (grub_file_getline): New function definition.
26538 (read_handler_list): Likewise.
26539 (free_handler_list): Likewise.
26540
26541 * include/grub/term.h (grub_term_register_input): Add name parameter
26542 for auto generation of handler.lst.
26543 (grub_term_register_output): Likewise.
26544
26545 * normal/handler.c: New file.
26546
26547 * normal/main.c (get_line): Renamed to grub_file_getline.
26548 (read_config_file): Use the newly renamed grub_file_getline.
26549 (read_command_list): Likewise.
26550 (read_fs_list): Likewise.
26551 (grub_normal_execute): Call read_handler_list to parse handler.lst.
26552 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
26553
26554 * term/efi/console.c (grub_console_init): Add name parameter for auto
26555 generation of handler.lst.
26556 * term/gfxterm.c: Likewise.
26557 * term/i386/pc/at_keyboard.c: Likewise.
26558 * term/i386/pc/console.c: Likewise.
26559 * term/i386/pc/serial.c: Likewise.
26560 * term/i386/pc/vesafb.c: Likewise.
26561 * term/i386/pc/vga.c: Likewise.
26562 * term/i386/pc/vga_text.c: Likewise.
26563 * term/ieee1275/ofconsole.c: Likewise.
26564 * term/usb_keyboard.c: Likewise.
26565
26566 2009-04-14 Bean <bean123ch@gmail.com>
26567
26568 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
26569 properly with null character.
26570
26571 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26572
26573 * configure: Remove.
26574 * config.h.in: Likewise.
26575 * stamp-h.in: Likewise.
26576 * DISTLIST: Likewise.
26577 * conf/common.mk: Likewise.
26578 * conf/i386-coreboot.mk: Likewise.
26579 * conf/i386-efi.mk: Likewise.
26580 * conf/i386-ieee1275.mk: Likewise.
26581 * conf/i386.mk: Likewise.
26582 * conf/i386-pc.mk: Likewise.
26583 * conf/powerpc-ieee1275.mk: Likewise.
26584 * conf/sparc64-ieee1275.mk: Likewise.
26585 * conf/x86_64-efi.mk: Likewise.
26586
26587 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
26588 develop on GRUB.
26589
26590 2009-04-14 John Stanley <jpsinthemix@verizon.net>
26591 David S. Miller <davem@davemloft.net>
26592
26593 * util/hostdisk.c (make_device_name): Fix buffer length
26594 calculations.
26595
26596 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
26597
26598 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
26599 <sys/param.h> and <sys/sysctl.h>.
26600 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
26601 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
26602 opening the device and reset them afterwards.
26603
26604 2009-04-13 Pavel Roskin <proski@gnu.org>
26605
26606 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
26607 Reported by John Stanley <jpsinthemix@verizon.net>
26608
26609 2009-04-13 Robert Millan <rmh@aybabtu.com>
26610
26611 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
26612 that name for menuentries when appropriate.
26613
26614 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26615
26616 * util/grub.d/10_freebsd.in: Add a missing `fi'.
26617
26618 2009-04-13 Robert Millan <rmh@aybabtu.com>
26619
26620 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
26621 to Linux, simply abort telling the user it's no longer supported.
26622
26623 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26624
26625 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
26626 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
26627 `freebsd_loadenv' only when devices.hints exist.
26628
26629 2009-04-13 Pavel Roskin <proski@gnu.org>
26630
26631 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
26632
26633 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
26634
26635 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
26636 partition number.
26637 (grub_drive): Likewise.
26638
26639 2009-04-13 David S. Miller <davem@davemloft.net>
26640
26641 * kern/sparc64/ieee1275/ieee1275.c: New file.
26642 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
26643 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
26644 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
26645 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
26646 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
26647 grub_ieee1275_alloc_physmem): Declare new exported functions.
26648
26649 * include/grub/sparc64/ieee1275/loader.h: New file.
26650 * include/grub/sparc64/ieee1275/memory.h: Likewise.
26651 * include/grub/sparc64/kernel.h: Likewise.
26652 * loader/sparc64/ieee1275/linux.c: Likewise.
26653
26654 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
26655 (grub_fstest_SOURCES): Likewise.
26656
26657 * util/hostdisk.c (make_device_name): Do not make any assumptions
26658 about the length of drive names.
26659
26660 * kern/dl.c (grub_dl_load_file): Close file immediately when
26661 we are done using it.
26662
26663 2009-04-12 David S. Miller <davem@davemloft.net>
26664
26665 * kern/misc.c (grub_ltoa): Fix cast when handling negative
26666 values. Noticed by Pavel Roskin.
26667
26668 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
26669 target compiler.
26670
26671 * genmk.rb: Add more flexible image type specification, also
26672 pass --strip-unneeded to objcopy.
26673 * conf/i386-pc.rmk: Use *_FORMAT.
26674 * conf/i386-pc.mk: Rebuilt.
26675
26676 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
26677 (OFDISK_HASH_SZ): Define.
26678 (ofdisk_hash): New hash table.
26679 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
26680 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
26681 instead of device phandle which is not unique.
26682
26683 * kern/sparc64/ieee1275/init.c: Delete, replace with...
26684 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
26685 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
26686 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
26687 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
26688 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
26689 GRUB_KERNEL_MACHINE_DATA_END): Define.
26690 (grub_kernel_image_size, grub_total_module_size): Declare.
26691
26692 2009-04-12 Pavel Roskin <proski@gnu.org>
26693
26694 * configure.ac: Change the logic when we check for target tools.
26695 Do it when the target is specified and it's different from the
26696 specified value of the host.
26697
26698 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
26699
26700 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
26701 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
26702 GNU/kFreeBSD. Check if a device is a character device. Use
26703 DIOCGMEDIASIZE to get the size.
26704 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
26705 support for GNU/kFreeBSD.
26706 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
26707 is a character device instead of a block device. Add support for
26708 FreeBSD device names.
26709
26710 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
26711 is a character device instead of a block device.
26712
26713 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
26714 is a character device instead of a block device.
26715
26716 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
26717
26718 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
26719 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
26720 FreeBSD. Check if a device is a character device. Use
26721 DIOCGMEDIASIZE to get the size.
26722 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
26723 support for FreeBSD.
26724 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
26725 is a character device instead of a block device. Add support for
26726 FreeBSD device names.
26727
26728 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
26729 a character device instead of a block device.
26730 (grub_util_check_char_device): New function.
26731
26732 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
26733 a character device instead of a block device.
26734
26735 * include/grub/util/getroot.h (grub_util_check_char_device): New
26736 prototype.
26737
26738 2009-04-11 David S. Miller <davem@davemloft.net>
26739
26740 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
26741 static libgcc.
26742 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
26743 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
26744 function, if present.
26745 (__bswapdi2): Likewise.
26746
26747 * include/grub/sparc64/ieee1275/boot.h: New file.
26748 * boot/sparc64/ieee1275/boot.S: Likewise.
26749 * boot/sparc64/ieee1275/diskboot.S: Likewise.
26750
26751 * kern/misc.c (grub_ltoa): New function.
26752 (grub_vsprintf): Use it to format 'long' integers.
26753
26754 2009-04-10 David S. Miller <davem@davemloft.net>
26755
26756 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
26757 slots are of type grub_ieee1275_cell_t.
26758 (grub_nand_read): Likewise.
26759 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
26760 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
26761 macros are used to compare values in arg/ret block of the call.
26762 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
26763 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
26764 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
26765 grub_ieee1275_instance_to_path, grub_ieee1275_write,
26766 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
26767 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
26768 grub_ieee1275_close, grub_ieee1275_set_property,
26769 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
26770 grub_ieee1275_cell_t.
26771 * kern/ieee1275/openfw.c (grub_map): Likewise.
26772 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
26773 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
26774
26775 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
26776 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
26777 (grub_devalias_iterate): Likewise.
26778
26779 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
26780
26781 UFS improvements
26782
26783 * fs/ufs.c (INODE_NBLOCKS): new definition
26784 (struct grub_ufs_dirent): added fields for non-BSD dirents
26785 (grub_ufs_get_file_block): fixed double indirect handling
26786 (grub_ufs_lookup_symlink): use more robust way to determine whether
26787 symlink is inline
26788 (grub_ufs_find_file): support for non-BSD dirents
26789 (grub_ufs_dir): support for non-BSD dirents
26790
26791 2009-04-10 Bean <bean123ch@gnail.com>
26792
26793 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
26794 attribute, otherwise the size would be wrong for i386 platform.
26795
26796 * include/grub/pci.h (grub_pci_read_word): New inline function.
26797 (grub_pci_read_byte): Likewise.
26798 (grub_pci_write): Likewise.
26799 (grub_pci_write_word): Likewise.
26800 (grub_pci_write_byte): Likewise.
26801
26802 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
26803
26804 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
26805 (find_framebuf): Scan pci to locate the frame buffer address.
26806
26807 * commands/efi/fixvideo.c: New file.
26808
26809 * commands/efi/loadbios.c: Likewise.
26810
26811 * commands/memrw.c: Likewise.
26812
26813 * util/grub-dumpbios.in: Likewise.
26814
26815 * conf/common.rmk (grub-dumpbios): New utility.
26816 (pkglib_MODULES): New module memrw.mod.
26817 (memrw_mod_SOURCE): New macro.
26818 (memrw_mod_CFLAGS): Likewise.
26819 (memrw_mod_LDFLAGS): Likewise.
26820
26821 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
26822 fixvideo.mod.
26823 (loadbios_mod_SOURCE): New macro.
26824 (loadbios_mod_CFLAGS): Likewise.
26825 (loadbios_mod_LDFLAGS): Likewise.
26826 (fixvideo_mod_SOURCE): Likewise.
26827 (fixvideo_mod_CFLAGS): Likewise.
26828 (fixvideo_mod_LDFLAGS): Likewise.
26829
26830 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
26831 fixvideo.mod.
26832 (loadbios_mod_SOURCE): New macro.
26833 (loadbios_mod_CFLAGS): Likewise.
26834 (loadbios_mod_LDFLAGS): Likewise.
26835 (fixvideo_mod_SOURCE): Likewise.
26836 (fixvideo_mod_CFLAGS): Likewise.
26837 (fixvideo_mod_LDFLAGS): Likewise.
26838
26839 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
26840
26841 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
26842
26843 2009-04-07 David S. Miller <davem@davemloft.net>
26844
26845 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
26846 support for R_SPARC_OLO10 relocations. Fix compile warning for
26847 R_SPARC_WDISP30 case.
26848 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
26849
26850 2009-04-06 Pavel Roskin <proski@gnu.org>
26851
26852 * include/grub/misc.h (ARRAY_SIZE): New macro.
26853 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
26854 New macro.
26855 * loader/i386/linux.c (allocate_pages): Use free_pages().
26856 (grub_linux_unload): Don't use free_pages().
26857 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
26858 wrong index. Treat all other modes as text modes.
26859 (grub_cmd_linux): Initialize vid_mode unconditionally to
26860 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
26861
26862 * commands/help.c (print_command_help): Use cmd->prio, not
26863 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
26864
26865 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
26866
26867 Parttool
26868
26869 * parttool/pcpart.c: new file
26870 * commands/parttool.c: likewise
26871 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
26872 (parttool_mod_SOURCES): new variable
26873 (parttool_mod_CFLAGS): likewise
26874 (parttool_mod_LDFLAGS): likewise
26875 (pcpart_mod_SOURCES): likewise
26876 (pcpart_mod_CFLAGS): likewise
26877 (pcpart_mod_LDFLAGS): likewise
26878 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
26879 and parttool/pcpart.c
26880 * conf/i386-efi.rmk: likewise
26881 * conf/i386-ieee1275.rmk: likewise
26882 * conf/i386-pc.rmk: likewise
26883 * conf/powerpc-ieee1275.rmk: likewise
26884 * conf/sparc64-ieee1275.rmk: likewise
26885 * conf/x86_64-ieee1275.rmk: likewise
26886
26887 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26888
26889 Support for mtime and further expandability of dir command
26890
26891 * include/grub/lib/datetime.h: moved to ...
26892 * include/grub/datetime.h: ... moved here and added
26893 declaration of grub_unixtime2datetime. All users updated
26894 * include/grub/fs.h: new syntax for dir and mtime functions in
26895 struct grub_fs
26896 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
26897 and GRUB_FSHELP_FLAGS_MASK
26898 * commands/ls.c (grub_ls_list_files): Write mtime in long format
26899 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
26900 (grub_ext2_mtime): new function
26901 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
26902 (grub_hfsplus_mtime): new function
26903 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
26904 (GRUB_UFS_ATTR_FILE): likewise
26905 (GRUB_UFS_ATTR_LNK): likewise
26906 (struct grub_ufs_sblock): new fields mtime
26907 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
26908 all users updated
26909 (grub_ufs_dir): mtime support
26910 (grub_ufs_mtime): new function
26911 * fs/affs.c (grub_affs_dir): use new dir syntax
26912 * fs/afs.c (grub_afs_dir): likewise
26913 * fs/cpio.c (grub_cpio_dir): likewise
26914 * fs/fat.c (grub_fat_find_dir): likewise
26915 * fs/hfs.c (grub_hfs_dir): likewise
26916 * fs/iso9660.c (grub_iso9660_dir): likewise
26917 * fs/jfs.c (grub_jfs_dir): likewise
26918 * fs/minix.c (grub_minix_dir): likewise
26919 * fs/ntfs.c (grub_ntfs_dir): likewise
26920 * fs/reiserfs.c (grub_reiserfs_dir): likewise
26921 * fs/sfs.c (grub_sfs_dir): likewise
26922 * fs/xfs.c (grub_xfs_dir): likewise
26923 * util/hostfs.c (grub_hostfs_dir): likewise
26924 * lib/datetime.c: moved to ...
26925 * normal/datetime.c: ... moved here
26926 (grub_unixtime2datetime): new function
26927 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
26928 * normal/completion.c (iterate_dir): use new dir syntax
26929 * normal/misc.c (grub_normal_print_device_info): tell the
26930 last modification time of a volume
26931 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
26932 * conf/common.rmk: added lib/datetime.c to ls.mod
26933 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
26934 (normal_mod_SOURCES): likewise
26935 (datetime_mod_SOURCES): Removed lib/datetime.c
26936 * conf/i386-efi.rmk: likewise
26937 * conf/i386-ieee1275.rmk: likewise
26938 * conf/i386-pc.rmk: likewise
26939 * conf/powerpc-ieee1275.rmk: likewise
26940 * conf/sparc64-ieee1275.rmk: likewise
26941 * conf/x86_64-efi.rmk: likewise
26942
26943 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
26944
26945 Trim trailing spaces in FAT label and support mtools-like labels
26946
26947 * fs/fat.c (grub_fat_iterate_dir): New function based
26948 on grub_fat_find_dir
26949 (grub_fat_find_dir): use grub_fat_iterate_dir
26950 (grub_fat_label): likewise
26951
26952 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
26953
26954 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
26955 and command.h
26956 remove extraneous kernel_elf_HEADERS
26957
26958 2009-04-04 Bean <bean123ch@gnail.com>
26959
26960 * include/grub/util/misc.h: Add dummy function fsync for mingw.
26961
26962 * util/misc.c: Likewise.
26963
26964 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26965
26966 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
26967 instead of grub_printf.
26968
26969 2009-04-03 Robert Millan <rmh@aybabtu.com>
26970
26971 * loader/i386/linux.c (grub_linux_setup_video): Fill
26972 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
26973 values from `mode info' structure instead of hardcoded
26974 values.
26975
26976 2009-04-01 Pavel Roskin <proski@gnu.org>
26977
26978 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
26979 unused now.
26980 * genmk.rb: Likewise.
26981 * configure.ac: Likewise.
26982
26983 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
26984
26985 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
26986 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
26987
26988 2009-04-01 David S. Miller <davem@davemloft.net>
26989
26990 * normal/sparc64/setjmp.S: Fix setjmp implementation.
26991 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
26992 (grub_setjmp): Mark with 'returns_twice' attribute.
26993 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
26994 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
26995 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
26996
26997 2009-04-01 Robert Millan <rmh@aybabtu.com>
26998
26999 Reapply fix from 2008-07-28 which was accidentally reverted; also
27000 perform the same fix to a similar check in same function.
27001
27002 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27003 with the same number are found, just use issue a warning with
27004 grub_dprintf(), as this error has been reported to be non-fatal.
27005
27006 2009-03-31 Pavel Roskin <proski@gnu.org>
27007
27008 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
27009 for cross-compilation.
27010
27011 2009-03-30 Robert Millan <rmh@aybabtu.com>
27012
27013 Fix i386-ieee1275 build.
27014
27015 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
27016 Remove declaration.
27017
27018 2009-03-30 Pavel Roskin <proski@gnu.org>
27019
27020 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
27021 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
27022 zero-terminated, rely only on the strlen value. Fix comparison
27023 of strings differing in length.
27024
27025 2009-03-30 Robert Millan <rmh@aybabtu.com>
27026
27027 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
27028 checking for abi version. Improve error messages on BIOS to notify
27029 user about `linux16' command.
27030
27031 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
27032
27033 Leak fixes
27034
27035 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
27036 in case of collision
27037 * disk/scsi.c (grub_scsi_open): free scsi in case of error
27038
27039 2009-03-29 Robert Millan <rmh@aybabtu.com>
27040
27041 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
27042 set `vid_mode' accordingly.
27043 (grub_linux_boot): Process `vid_mode' and set video mode.
27044
27045 2009-03-29 Robert Millan <rmh@aybabtu.com>
27046
27047 * util/grub.d/10_linux.in (linux_entry): New function.
27048 Factorize generation of Linux boot entries.
27049
27050 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
27051
27052 Make the format of Environment Block plain text. The boot loader
27053 part is not tested well yet.
27054
27055 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
27056 (buffer): Removed.
27057 (envblk): Likewise.
27058 (usage): Remove "info" and "clear". Add "unset". Update the
27059 description of "set", as this does not delete variables any
27060 longer.
27061 (create_envblk_file): Complete rewrite.
27062 (open_envblk_file): Likewise.
27063 (cmd_info): Removed.
27064 (cmd_list): Likewise.
27065 (cmd_set): Likewise.
27066 (cmd_clear): Likewise.
27067 (list_variables): New function.
27068 (write_envblk): Likewise.
27069 (set_variables): Likewise.
27070 (unset_variables): Likewise.
27071 (main): Complete rewrite.
27072
27073 * commands/loadenv.c (buffer): Removed.
27074 (envblk): Likewise.
27075 (open_envblk_file): New function.
27076 (read_envblk_file): Complete rewrite.
27077 (grub_cmd_load_env): Likewise.
27078 (grub_cmd_list_env): Likewise.
27079 (struct blocklist): New struct.
27080 (free_blocklists): New function.
27081 (check_blocklists): Likewise.
27082 (write_blocklists): Likewise.
27083 (grub_cmd_save_env): Complete rewrite.
27084
27085 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
27086 a plain text signature.
27087 (GRUB_ENVBLK_MAXLEN): Removed.
27088 (struct grub_envblk): Complete rewrite.
27089 (grub_envblk_find): Removed.
27090 (grub_envblk_insert): Likewise.
27091 (grub_envblk_open): New prototype.
27092 (grub_envblk_set): Likewise.
27093 (grub_envblk_delete): Put const to VALUE.
27094 (grub_envblk_iterate): Put const to NAME and VALUE.
27095 (grub_envblk_close): New prototype.
27096 (grub_envblk_buffer): New inline function.
27097 (grub_envblk_size): Likewise.
27098
27099 * lib/envblk.c: Include grub/mm.h.
27100 (grub_env_find): Removed.
27101 (grub_envblk_open): New function.
27102 (grub_envblk_close): Likewise.
27103 (escaped_value_len): Likewise.
27104 (find_next_line): Likewise.
27105 (grub_envblk_insert): Removed.
27106 (grub_envblk_set): New function.
27107 (grub_envblk_delete): Complete rewrite.
27108 (grub_envblk_iterate): Likewise.
27109
27110 2009-03-28 Robert Millan <rmh@aybabtu.com>
27111
27112 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
27113 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
27114 variables. Use 16-bit loader.
27115 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
27116 loader.
27117 * kern/i386/loader.S (grub_linux_boot): Rename to ...
27118 (grub_linux16_boot): ... this. Update all users.
27119 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
27120 (grub_linux_boot): ... this. Update all users.
27121
27122 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
27123 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
27124 commands to `linux16' and `initrd16'.
27125 (GRUB_MOD_FINI(linux)): Rename to ...
27126 (GRUB_MOD_FINI(linux16)): ... this.
27127
27128 2009-03-24 Pavel Roskin <proski@gnu.org>
27129
27130 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
27131 not just for compilation.
27132
27133 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
27134
27135 Move multiboot helper out of kernel
27136
27137 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
27138 `loader/i386/multiboot_helper.S'.
27139 * conf/i386-coreboot.rmk: Likewise
27140 * conf/i386-ieee1275.rmk: Likewise
27141
27142 * kern/i386/loader.S: Move multiboot helpers from here...
27143 * loader/i386/multiboot_helper.S: ...moved here
27144 * include/grub/i386/loader.h: Move declarations of multiboot
27145 helpers from here...
27146 * include/grub/i386/multiboot.h: ...moved here
27147 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
27148
27149 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27150
27151 * kern/env.c (grub_env_context_open): Added an argument to specify
27152 whether a new context inherits exported variables from current
27153 one. This is useful when making a sandbox to interpret a config
27154 file.
27155 All callers updated.
27156
27157 * include/grub/env.h (grub_env_context_open): Updated the prototype.
27158
27159 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27160
27161 * kern/env.c (grub_env_context_close): Fix memory leaks.
27162
27163 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
27164
27165 * normal/main.c (grub_normal_execute): Added an argument
27166 BATCH to specify if an interactive interface should be provided
27167 after reading a config file.
27168 All callers updated.
27169 (read_command_list): Prevent being executed twice.
27170 (read_fs_list): Likewise.
27171
27172 * include/grub/normal.h (grub_normal_execute): Updated the
27173 prototype.
27174
27175 2009-03-22 Pavel Roskin <proski@gno.org>
27176
27177 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
27178 _start.
27179 * kern/i386/pc/startup.S: Likewise.
27180 * kern/i386/efi/startup.S: Likewise.
27181 * kern/i386/ieee1275/startup.S: Likewise.
27182 * kern/i386/coreboot/startup.S: Likewise.
27183 * kern/x86_64/efi/startup.S: Likewise.
27184
27185 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
27186 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
27187 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
27188
27189 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
27190
27191 Bugfixes in multiboot for bugs uncovered by solaris kernel.
27192
27193 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
27194 limit detection.
27195 Use vaddr of correct segment for entry_point.
27196
27197 2009-03-21 Bean <bean123ch@gmail.com>
27198
27199 * commands/blocklist.c: Add include file <grub/command.h>, remove
27200 <grub/normal.h> and <grub/arg.h>.
27201 (grub_cmd_blocklist): Use the new command interface.
27202 (GRUB_MOD_INIT): Likewise.
27203 (GRUB_MOD_FINI): Likewise.
27204 * commands/boot.c: Likewise.
27205 * commands/cat.c: Likewise.
27206 * commands/cmp.c: Likewise.
27207 * commands/configfile.c: Likewise.
27208 * commands/crc.c: Likewise.
27209 * commands/echo.c: Likewise.
27210 * commands/halt.c: Likewise.
27211 * commands/handler.c: Likewise.
27212 * commands/hdparm.c: Likewise.
27213 * commands/help.c: Likewise.
27214 * commands/hexdump.c: Likewise.
27215 * commands/loadenv.c: Likewise.
27216 * commands/ls.c: Likewise.
27217 * commands/lsmmap.c: Likewise.
27218 * commands/lspci.c: Likewise.
27219 * commands/loadenv.c: Likewise.
27220 * commands/read.c: Likewise.
27221 * commands/reboot.c: Likewise.
27222 * commands/search.c: Likewise.
27223 * commands/sleep.c: Likewise.
27224 * commands/test.c: Likewise.
27225 * commands/usbtest.c: Likewise.
27226 * commands/videotest.c: Likewise.
27227 * commands/i386/cpuid.c: Likewise.
27228 * commands/i386/pc/halt.c: Likewise.
27229 * commands/i386/pc/play.c: Likewise.
27230 * commands/i386/pc/pxecmd.c: Likewise.
27231 * commands/i386/pc/vbeinfo.c: Likewise.
27232 * commands/i386/pc/vbetest.c: Likewise.
27233 * commands/ieee1275/suspend.c: Likewise.
27234 * disk/loopback.c: Likewise.
27235 * font/font_cmd.c: Likewise.
27236 * hello/hello.c: Likewise.
27237 * loader/efi/appleloader.c: Likewise.
27238 * loader/efi/chainloader.c: Likewise.
27239 * loader/i386/bsd.c: Likewise.
27240 * loader/i386/efi/linux.c: Likewise.
27241 * loader/i386/ieee1275/linux.c: Likewise.
27242 * loader/i386/linux.c: Likewise.
27243 * loader/i386/pc/chainloader.c: Likewise.
27244 * loader/i386/pc/linux.c: Likewise.
27245 * loader/powerpc/ieee1275/linux.c: Likewise.
27246 * loader/multiboot_loader.c: Likewise.
27247 * term/gfxterm.c: Likewise.
27248 * term/i386/pc/serial.c: Likewise.
27249 * term/terminfo.c: Likewise.
27250
27251 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
27252 * term/i386/pc/vga.c: Likewise.
27253 * video/readers/jpeg.c: Likewise.
27254 * video/readers/png.c: Likewise.
27255 * video/readers/tga.c: Likewise.
27256
27257 * util/grub-fstest (cmd_loopback): Removed.
27258 (cmd_blocklist): Likewise.
27259 (cmd_ls): Likewise.
27260 (grub_register_command): Likewise.
27261 (grub_unregister_command): Likewise.
27262 (execute_command): Use grub_command_find to locate command and execute
27263 it.
27264
27265 * include/grub/efi/chainloader.h: Removed.
27266 * loader/efi/chainloader_normal.c: Likewise.
27267 * loader/i386/bsd_normal.c: Likewise.
27268 * loader/i386/pc/chainloader_normal.c: Likewise.
27269 * loader/i386/pc/multiboot_normal.c: Likewise.
27270 * loader/linux_normal.c: Likewise.
27271 * loader/multiboot_loader_normal.c: Likewise.
27272 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27273
27274 * gencmdlist.sh: Scan new registration command grub_register_extcmd
27275 and grub_register_command_p1.
27276
27277 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
27278 kern/command.c, lib/arg.c and commands/extcmd.c.
27279 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
27280 (minicmd_mod_SOURCES): New variable.
27281 (minicmd_mod_CFLAGS): Likewise.
27282 (minicmd_mod_LDFLAGS): Likewise.
27283 (extcmd_mod_SOURCES): Likewise.
27284 (extcmd_mod_CFLAGS): Likewise.
27285 (extcmd_mod_LDFLAGS): Likewise.
27286 (boot_mod_SOURCES): Removed.
27287 (boot_mod_CFLAGS): Likewise.
27288 (boot_mod_LDFLAGS): Likewise.
27289
27290 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
27291 kern/corecmd.c.
27292 (kernel_img_HEADERS): Add command.h.
27293 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
27294 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
27295 and lib/arg.c.
27296 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
27297 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
27298 remove the corresponding normal mode command.
27299 (normal_mod_SOURCES): Remove normal/arg.c.
27300 * conf/i386-coreboot.rmk: Likewise.
27301 * conf/i386-efi.rmk: Likewise.
27302 * conf/i386-ieee1275.rmk: Likewise.
27303 * conf/powerpc-ieee1275.rmk: Likewise.
27304 * conf/x86_64-efi.rmk: Likewise.
27305
27306 * include/grub/arg.h: Move from here ...
27307 * include/grub/lib/arg.h: ... to here.
27308
27309 * normal/arg.c: Move from here ...
27310 * lib/arg.c: ... to here.
27311
27312 * commands/extcmd.c: New file.
27313 * commands/minicmd.c: Likewise.
27314 * include/grub/command.h: Likewise.
27315 * include/grub/extcmd.h: Likewise.
27316 * kern/command.c: Likewise.
27317 * kern/corecmd.c: Likewise.
27318
27319 * kern/list.c (grub_list_iterate): Return int instead of void.
27320 (grub_list_insert): New function.
27321 (grub_prio_list_insert): Likewise.
27322
27323 * kern/rescue.c (grub_rescue_command): Removed.
27324 (grub_rescue_command_list): Likewise.
27325 (grub_rescue_register_command): Likewise.
27326 (grub_rescue_unregister_command): Likewise.
27327 (grub_rescue_cmd_boot): Move to minicmd.c
27328 (grub_rescue_cmd_help): Likewise.
27329 (grub_rescue_cmd_info): Likewise.
27330 (grub_rescue_cmd_boot): Likewise.
27331 (grub_rescue_cmd_testload): Likewise.
27332 (grub_rescue_cmd_dump): Likewise.
27333 (grub_rescue_cmd_rmmod): Likewise.
27334 (grub_rescue_cmd_lsmod): Likewise.
27335 (grub_rescue_cmd_exit): Likewise.
27336 (grub_rescue_print_devices): Moved to corecmd.c.
27337 (grub_rescue_print_files): Likewise.
27338 (grub_rescue_cmd_ls): Likewise.
27339 (grub_rescue_cmd_insmod): Likewise.
27340 (grub_rescue_cmd_set): Likewise.
27341 (grub_rescue_cmd_unset): Likewise.
27342 (attempt_normal_mode): Use grub_command_find to get normal module.
27343 (grub_enter_rescue_mode): Use grub_register_core_commands to register
27344 commands, remove grub_rescue_register_command calls.
27345
27346 * normal/command.c (grub_register_command): Removed.
27347 (grub_unregister_command): Likewise.
27348 (grub_command_find): Likewise.
27349 (grub_iterate_commands): Likewise.
27350 (rescue_command): Likewise.
27351 (export_command): Moved to corecmd.c.
27352 (set_command): Removed.
27353 (unset_command): Likewise.
27354 (insmod_command): Likewise.
27355 (rmmod_command): Likewise.
27356 (lsmod_command): Likewise.
27357 (grub_command_init): Likewise.
27358
27359 * normal/completion.c (iterate_command): Use cmd->prio to check for
27360 active command.
27361 (complete_arguments): Use grub_extcmd_t structure to find options.
27362 (grub_normal_do_completion): Change function grub_iterate_commands to
27363 grub_command_iterate.
27364
27365 * normal/execute.c (grub_script_execute_cmd): No need to parse
27366 argument here.
27367
27368 * normal/main.c (grub_dyncmd_dispatcher): New function.
27369 (read_command_list): Register unload commands as dyncmd.
27370 (grub_cmd_normal): Use new command interface, register rescue,
27371 unregister normal at entry, register normal, unregister rescue at exit.
27372
27373 * include/grub/list.h (grub_list_test_t): New type.
27374 (grub_list_iterate): Return int instead of void.
27375 (grub_list_insert): New function.
27376 (GRUB_AS_NAMED_LIST_P): New macro.
27377 (GRUB_AS_PRIO_LIST): Likewise.
27378 (GRUB_AS_PRIO_LIST_P): Likewise.
27379 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
27380 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
27381 (grub_prio_list): New structure.
27382 (grub_prio_list_insert): New function.
27383 (grub_prio_list_remove): New inline function.
27384
27385 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
27386 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
27387 (GRUB_COMMAND_FLAG_MENU): Likewise.
27388 (GRUB_COMMAND_FLAG_BOTH): Likewise.
27389 (GRUB_COMMAND_FLAG_TITLE): Likewise.
27390 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
27391 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
27392 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
27393 (grub_command): Likewise.
27394 (grub_register_command): Likewise.
27395 (grub_command_find): Likewise.
27396 (grub_iterate_commands): Likewise.
27397 (grub_command_init): Likewise.
27398 (grub_arg_parse): Likewise.
27399 (grub_arg_show_help): Likewise.
27400
27401 * include/grub/rescue.h (grub_rescue_register_command): Removed.
27402 (grub_rescue_unregister_command): Likewise.
27403
27404 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
27405 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
27406 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
27407
27408 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
27409 grub_rescue_cmd_initrd.
27410 * include/grub/i386/loader.h: Likewise.
27411 * include/grub/x86_64/loader.h: Likewise.
27412
27413 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
27414
27415 2009-03-21 Bean <bean123ch@gmail.com>
27416
27417 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
27418 instead of stat in mingw environment.
27419
27420 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
27421
27422 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
27423
27424 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
27425 AC_CONFIG_LINKS.
27426
27427 2009-03-21 Bean <bean123ch@gmail.com>
27428
27429 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
27430 out of range error.
27431
27432 2009-03-18 Michel Dänzer <michel@daenzer.net>
27433
27434 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
27435 checking inode flags for EXT4_EXTENTS_FLAG.
27436
27437 2009-03-18 Robert Millan <rmh@aybabtu.com>
27438
27439 * loader/i386/linux.c: Include `<grub/video.h>' and
27440 `<grub/i386/pc/vbe.h>'..
27441 (grub_linux_setup_video): New function. Loosely based on the EFI one.
27442 (grub_linux32_boot): Attempt to configure video settings with
27443 grub_linux_setup_video().
27444 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
27445 to avoid grub_console_fini() which would step out of graphical mode
27446 unconditionally.
27447
27448 2009-03-14 Robert Millan <rmh@aybabtu.com>
27449
27450 Fix build on powerpc.
27451 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
27452
27453 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
27454
27455 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
27456 background image command.
27457
27458 2009-03-12 Colin D Bennett <colin@gibibit.com>
27459
27460 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
27461 (grub_gfxterm_putchar): Extract pairs of identical calls to
27462 draw_cursor out of conditional blocks.
27463
27464 2009-03-11 Pavel Roskin <proski@gnu.org>
27465
27466 * fs/hfs.c (grub_hfs_strncasecmp): New function.
27467 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
27468
27469 2009-03-11 Robert Millan <rmh@aybabtu.com>
27470
27471 * loader/i386/multiboot_elfxx.c
27472 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
27473
27474 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
27475
27476 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
27477 `kern/handler.c'.
27478
27479 2009-03-11 Robert Millan <rmh@aybabtu.com>
27480
27481 * loader/i386/multiboot.c (code_size): New variable.
27482 (grub_multiboot): Define offsets by adding to `code_size' rather
27483 than subtracting from `grub_multiboot_payload_size'. Provide
27484 4-byte alignment to MBI and others by increasing
27485 `boot_loader_name_length' appropriately.
27486
27487 * loader/i386/multiboot_elfxx.c
27488 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
27489
27490 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
27491
27492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
27493 `fs/ext2.c'.
27494
27495 2009-03-08 Robert Millan <rmh@aybabtu.com>
27496
27497 Make loader/i386/linux.c usable on i386-pc again.
27498
27499 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
27500 memory to heap.
27501 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
27502 `#error' stanza.
27503
27504 2009-03-07 Bean <bean123ch@gmail.com>
27505
27506 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
27507 allocation.
27508
27509 2009-03-06 Robert Millan <rmh@aybabtu.com>
27510
27511 Fix display issue on terminals with screen size other than 80x25
27512 (e.g. gfxterm with resolution higher than 640x480).
27513
27514 * normal/main.c (grub_normal_init_page): Display title text in a
27515 position relative to the center of the terminal instead of relying
27516 on a hardcoded offset.
27517
27518 2009-03-04 Robert Millan <rmh@aybabtu.com>
27519
27520 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
27521 installed.
27522
27523 * Makefile.in (host_kernel): New variable.
27524 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
27525 scripts instead of just the windows one.
27526 * configure.ac: Initialize and AC_SUBST `host_kernel'.
27527
27528 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27529
27530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
27531 `kern/handler.c'.
27532 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27533 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27534 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27535 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27536 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27538
27539 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27540
27541 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
27542 or if there's no space for the disk label and print the partition number on a
27543 invalid magic.
27544
27545 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
27546
27547 * util/misc.c: Include <time.h>.
27548 (grub_millisleep): New function.
27549
27550 2009-03-04 Bean <bean123ch@gmail.com>
27551
27552 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
27553 another option -mno-red-zone.
27554
27555 * commands/handler.c: Change module description.
27556
27557 * kern/handler.c: Add missing space at the end of description line.
27558
27559 * kern/list.c: Likewise.
27560
27561 2009-03-03 Robert Millan <rmh@aybabtu.com>
27562
27563 Move more components to the relocation area, and fix mbi pointer
27564 handling to use the destination rather than the origin (thanks to
27565 Vladimir Serbinenko for spotting).
27566
27567 * loader/i386/multiboot.c (mbi_dest): New variable.
27568 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
27569 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
27570 relocation area.
27571
27572 2009-03-01 Bean <bean123ch@gmail.com>
27573
27574 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
27575 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
27576 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
27577 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
27578
27579 * loader/i386/efi/linux.c (acpi_guid): New variable.
27580 (acpi_guid): Likewise.
27581 (EBDA_SEG_ADDR): New constant.
27582 (LOW_MEM_ADDR): Likewise.
27583 (FAKE_EBDA_SEG): Likewise.
27584 (fake_bios_data): New function.
27585 (grub_linux_boot): Call fake_bios_data.
27586
27587 2009-03-01 Bean <bean123ch@gmail.com>
27588
27589 * commands/terminal.c: Removed.
27590
27591 * commands/handler.c: New file.
27592
27593 * include/grub/list.h: Likewise.
27594
27595 * include/grub/handler.h: Likewise.
27596
27597 * kern/list.c: Likewise.
27598
27599 * kern/handler.c: Likewise.
27600
27601 * kern/term.h: Include header file <grub/handler.h>.
27602 (grub_term_input): Move next field to the beginning.
27603 (grub_term_output): Likewise.
27604 (grub_term_input_class): New variable.
27605 (grub_term_output_class): Likewise.
27606 (grub_term_register_input): Changed to inline function.
27607 (grub_term_register_output): Likewise.
27608 (grub_term_unregister_input): Likewise.
27609 (grub_term_unregister_output): Likewise.
27610 (grub_term_set_current_input): Likewise.
27611 (grub_term_set_current_output): Likewise.
27612 (grub_term_get_current_input): Likewise.
27613 (grub_term_get_current_output): Likewise.
27614 (grub_term_iterate_input): Removed.
27615 (grub_term_iterate_output): Likewise.
27616
27617 * kern/term.c (grub_term_list_input): Removed.
27618 (grub_term_list_output): Likewise.
27619 (grub_term_input_class): New variable.
27620 (grub_term_output_class): Likewise.
27621 (grub_cur_term_input): Change variable as macro.
27622 (grub_cur_term_output): Likewise.
27623 (grub_term_register_input): Removed.
27624 (grub_term_register_output): Likewise.
27625 (grub_term_unregister_input): Likewise.
27626 (grub_term_unregister_output): Likewise.
27627 (grub_term_set_current_input): Likewise.
27628 (grub_term_set_current_output): Likewise.
27629 (grub_term_iterate_input): Likewise.
27630 (grub_term_iterate_output): Likewise.
27631 (grub_term_get_current_input): Likewise.
27632 (grub_term_get_current_output): Likewise.
27633
27634 * util/grub-editenv.c: Include header file <grub/handler.h>.
27635 (grub_term_get_current_input): Removed.
27636 (grub_term_get_current_output): Likewise.
27637 (grub_term_input_class): New variable.
27638 (grub_term_output_class): Likewise.
27639
27640 * util/grub-fstest.c (grub_term_get_current_input): Removed.
27641 (grub_term_get_current_output): Likewise.
27642 (grub_term_input_class): New variable.
27643 (grub_term_output_class): Likewise.
27644
27645 * util/grub-probe.c (grub_term_get_current_input): Removed.
27646 (grub_term_get_current_output): Likewise.
27647 (grub_term_input_class): New variable.
27648 (grub_term_output_class): Likewise.
27649
27650 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
27651 (grub_term_get_current_output): Likewise.
27652 (grub_term_input_class): New variable.
27653 (grub_term_output_class): Likewise.
27654
27655 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
27656 (terminal_mod_SOURCES): Likewise.
27657 (terminal_mod_CFLAGS): Likewise.
27658 (terminal_mod_LDFLAGS): Likewise.
27659
27660 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
27661 handler.c.
27662 (kernel_img_SOURCES): Add list.c and handler.c.
27663 (kernel_img_HEADERS): Add list.h and handler.h.
27664
27665 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27666 handler.c.
27667 (kernel_mod_SOURCES): Add list.c and handler.c.
27668 (kernel_mod_HEADERS): Add list.h and handler.h.
27669
27670 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
27671 handler.c.
27672 (kernel_elf_SOURCES): Add list.c and handler.c.
27673 (kernel_elf_HEADERS): Add list.h and handler.h.
27674
27675 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27676 handler.c.
27677 (kernel_elf_SOURCES): Add list.c and handler.c.
27678 (kernel_elf_HEADERS): Add list.h and handler.h.
27679
27680 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
27681 handler.c.
27682 (kernel_mod_SOURCES): Add list.c and handler.c.
27683 (kernel_mod_HEADERS): Add list.h and handler.h.
27684
27685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
27686 handler.c.
27687 (kernel_elf_SOURCES): Add list.c and handler.c.
27688 (kernel_elf_HEADERS): Add list.h and handler.h.
27689
27690 2009-02-27 Robert Millan <rmh@aybabtu.com>
27691
27692 Factorize elf32 / elf64 code in Multiboot loader. This will
27693 prevent it from getting out of sync again.
27694
27695 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
27696 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
27697 grub_multiboot_load_elf64): Move from here ...
27698 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
27699 grub_multiboot_load_elf): ... to here (new file).
27700
27701 2009-02-27 Robert Millan <rmh@aybabtu.com>
27702
27703 * util/grub.d/10_linux.in: Rename "single-user mode" to
27704 "recovery mode".
27705
27706 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
27707
27708 Don't leak in SCSI code.
27709 * disk/scsi.c (grub_scsi_close): free `scsi'.
27710
27711 2009-02-27 Robert Millan <rmh@aybabtu.com>
27712
27713 * loader/i386/pc/multiboot.c: Move from here ...
27714 * loader/i386/multiboot.c: ... to here. Update all users.
27715
27716 2009-02-27 Robert Millan <rmh@aybabtu.com>
27717
27718 Patch from Alexandre Bique <bique.alexandre@gmail.com>
27719 * util/i386/pc/grub-setup.c (setup): Fix directory path.
27720
27721 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
27722
27723 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
27724 b-tree.
27725
27726 2009-02-27 Robert Millan <rmh@aybabtu.com>
27727
27728 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
27729 `0x' qualifier as 0 when base is specified as parameter).
27730
27731 2009-02-24 Bean <bean123ch@gmail.com>
27732
27733 * configure.ac: Check for -mcmodel=large in x86_64 target.
27734
27735 * include/grub/efi/api.h (efi_call_10): New macro.
27736 (efi_wrap_10): New function.
27737
27738 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
27739 (GRUB_PE32_REL_BASED_HIGH): Likewise.
27740 (GRUB_PE32_REL_BASED_LOW): Likewise.
27741 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
27742 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
27743 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
27744 (GRUB_PE32_REL_BASED_SECTION): Likewise.
27745 (GRUB_PE32_REL_BASED_REL): Likewise.
27746 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
27747 (GRUB_PE32_REL_BASED_DIR64): Likewise.
27748 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
27749
27750 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
27751 issue.
27752
27753 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
27754 (efi_wrap_10): New function.
27755
27756 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
27757
27758 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
27759 MB/MBP model (NV chipset).
27760 (devdata_devs): Add devpath_5 to the list.
27761
27762 * load/i386/efi/linux.c (video_base): Remove variable.
27763 (RGB_MASK): New macro.
27764 (RGB_MAGIC): Likewise.
27765 (LINE_MIN): Likewise.
27766 (LINE_MAX): Likewise.
27767 (FBTEST_STEP): Likewise.
27768 (FBTEST_COUNT): Likewise.
27769 (fb_list): New variable.
27770 (grub_find_video_card): Remove function.
27771 (find_framebuf): New function.
27772 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
27773 line length.
27774
27775 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
27776 problem for x86_64.
27777
27778 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
27779
27780 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
27781
27782 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
27783 coding tool name.
27784
27785 2009-02-22 Robert Millan <rmh@aybabtu.com>
27786
27787 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
27788 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
27789 in our relocation, instead of using it directly from heap. Also
27790 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
27791
27792 2009-02-21 Robert Millan <rmh@aybabtu.com>
27793
27794 Implement USB keyboard support (based on patch by Marco Gerards)
27795
27796 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
27797 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
27798 (usb_keyboard_mod_LDFLAGS): New variables.
27799
27800 * term/usb_keyboard.c: New file.
27801
27802 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
27803
27804 Corrected wrong declaration
27805
27806 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
27807
27808 2009-02-14 Christian Franke <franke@computer.org>
27809
27810 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
27811 (grub_lspci_iter): Print class code and programming interface byte.
27812
27813 2009-02-14 Christian Franke <franke@computer.org>
27814
27815 * gendistlist.sh: Ignore `.svn' directories.
27816
27817 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
27818
27819 * fs/fat.c: Add 2009 to Copyright line.
27820
27821 2009-02-14 Christian Franke <franke@computer.org>
27822
27823 * commands/hdparm.c: New file. Provides `hdparm' command
27824 which sends ATA commands via grub_disk_ata_pass_through ().
27825
27826 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
27827
27828 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
27829 and <grub/cpu/io.h> to include/grub/ata.h.
27830 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
27831 (GRUB_CDROM_SECTOR_SIZE): Remove.
27832 (GRUB_ATA_*): Move to include/grub/ata.h.
27833 (GRUB_ATAPI_*): Likewise.
27834 (enum grub_ata_commands): Likewise.
27835 (enum grub_ata_timeout_milliseconds): Likewise.
27836 (struct grub_ata_device): Likewise.
27837 (grub_ata_regset): Likewise.
27838 (grub_ata_regget): Likewise.
27839 (grub_ata_regset2): Likewise.
27840 (grub_ata_regget2): Likewise.
27841 (grub_ata_check_ready): Likewise.
27842 (grub_ata_wait_not_busy): Remove static, exported in
27843 include/grub/ata.h.
27844 (grub_ata_wait_drq): Likewise.
27845 (grub_ata_pio_read): Likewise.
27846
27847 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
27848 function for hdparm.mod.
27849
27850 * include/grub/ata.h: New file, contains declarations from
27851 disk/ata.c.
27852 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
27853
27854 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
27855 (grub_disk_ata_pass_through): New exported variable.
27856
27857 * kern/disk.c (grub_disk_ata_pass_through): New variable.
27858
27859 2009-02-13 Colin D Bennett <colin@gibibit.com>
27860
27861 Support multiple fallback entries, and provide an API to support
27862 executing default+fallback menu entries. Renamed the `terminal' menu
27863 viewer to `text'.
27864
27865 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
27866 variable declaration.
27867 (grub_menu_execute_callback): New structure declaration.
27868 (grub_menu_execute_callback_t): New typedef.
27869 (grub_menu_execute_with_fallback): New function declaration.
27870 (grub_menu_get_entry): Likewise.
27871 (grub_menu_get_timeout): Likewise.
27872 (grub_menu_set_timeout): Likewise.
27873
27874 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
27875
27876 * normal/menu.c (grub_wait_after_message): Moved to
27877 `normal/menu_text.c'.
27878 (draw_border): Likewise.
27879 (print_message): Likewise.
27880 (print_entry): Likewise.
27881 (print_entries): Likewise.
27882 (grub_menu_init_page): Likewise.
27883 (get_entry_number): Likewise.
27884 (print_timeout): Likewise.
27885 (run_menu): Likewise.
27886 (grub_menu_execute_entry): Likewise.
27887 (show_text_menu): Likewise.
27888 (get_and_remove_first_entry_number): New function.
27889 (grub_menu_execute_with_fallback): Likewise.
27890 (get_entry): Renamed to ...
27891 (grub_menu_get_entry): .. this and made it global.
27892 (get_timeout): Renamed to ...
27893 (grub_menu_get_timeout): ... this and made it global.
27894 (set_timeout): Renamed to ...
27895 (grub_menu_set_timeout): ... this and made it global.
27896 (grub_normal_terminal_menu_viewer): Renamed to ...
27897 (grub_normal_text_menu_viewer): ... this.
27898
27899 * normal/menu_text.c: New file. Extracted text-menu-specific code
27900 from normal/menu.c.
27901
27902 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
27903 (normal_mod_SOURCES): Likewise.
27904
27905 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27906 (normal_mod_SOURCES): Likewise.
27907
27908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27909 (normal_mod_SOURCES): Likewise.
27910
27911 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
27912 (normal_mod_SOURCES): Likewise.
27913
27914 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27915 (normal_mod_SOURCES): Likewise.
27916
27917 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27918 (normal_mod_SOURCES): Likewise.
27919
27920 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27921 (normal_mod_SOURCES): Likewise.
27922
27923 2009-02-11 Robert Millan <rmh@aybabtu.com>
27924
27925 * util/grub.d/00_header.in: Update old reference to `font' command.
27926
27927 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
27928
27929 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
27930
27931 Based on patch from Javier Martín.
27932
27933 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
27934
27935 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
27936 to avoid false positives with FAT.
27937 (grub_fstest_SOURCES): Likewise.
27938 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27939 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27940 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27941 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
27942 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27943 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27944
27945 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
27946
27947 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
27948 bpb.version_specific.fat12_or_fat16.fstype and
27949 bpb.version_specific.fat32.fstype.
27950
27951 2009-02-08 Robert Millan <rmh@aybabtu.com>
27952
27953 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
27954
27955 2009-02-08 Robert Millan <rmh@aybabtu.com>
27956
27957 * Makefile.in (host_os, host_cpu): New variables.
27958 (target_os): Remove. Update all users.
27959
27960 2009-02-08 Marco Gerards <marco@gnu.org>
27961
27962 * Makefile.in (enable_grub_emu_usb): New variable.
27963 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
27964 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
27965 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
27966 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
27967 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
27968 `usbtest.mod' and `usbms.mod'.
27969 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
27970 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
27971 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
27972 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
27973 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
27974 variables.
27975
27976 * disk/usbms.c: New file.
27977
27978 * include/grub/usb.h: Likewise.
27979
27980 * include/grub/usbtrans.h: Likewise.
27981
27982 * include/grub/usbdesc.h: Likewise.
27983
27984 * bus/usb/usbtrans.c: Likewise.
27985
27986 * bus/usb/ohci.c: Likewise.
27987
27988 * bus/usb/uhci.c: Likewise.
27989
27990 * bus/usb/usbhub.c: Likewise.
27991
27992 * bus/usb/usb.c: Likewise.
27993
27994 * commands/usbtest.c: Likewise.
27995
27996 * util/usb.c: Likewise.
27997
27998 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
27999
28000 * configure.ac: Test for libusb presence.
28001
28002 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
28003
28004 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
28005
28006 * kern/mm.c: Add more comments.
28007
28008 2009-02-08 Robert Millan <rmh@aybabtu.com>
28009
28010 Patch from Javier Martín.
28011 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
28012 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
28013
28014 2009-02-08 Robert Millan <rmh@aybabtu.com>
28015
28016 * fs/cpio.c: Split tar functionality to ...
28017 * fs/tar.c: ... here (new file). Update all users.
28018
28019 2009-02-07 Robert Millan <rmh@aybabtu.com>
28020
28021 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
28022 backward-incompatible features.
28023
28024 Based on patch from Javier Martín, with some adjustments.
28025
28026 2009-02-07 Michael Scherer <misc@mandriva.org>
28027
28028 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
28029
28030 2009-02-07 Robert Millan <rmh@aybabtu.com>
28031
28032 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
28033 position of `disk/lvm.c' to ensure grub_init_all() always picks it
28034 after the RAID stuff.
28035
28036 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
28037
28038 Fixes problem when running vbetest command as reported by
28039 Vladimir Serbinenko <phcoder@gmail.com>.
28040
28041 * (grub_vbe_set_video_mode): Fixed problem with text modes.
28042
28043 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
28044
28045 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
28046 /dev/md/NpN style mdraid devices.
28047
28048 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28049
28050 * util/unifont2pff.rb: Remove.
28051
28052 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28053
28054 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
28055 `#'.
28056
28057 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
28058
28059 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
28060 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28061 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28062 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28066
28067 2009-02-02 Christian Franke <franke@computer.org>
28068
28069 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
28070
28071 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
28072
28073 * INSTALL: Note that we now require at least autoconf 2.59 and
28074 that LZO is optional.
28075
28076 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28077
28078 Base on patch on bug #24154 created by Tomas Tintera
28079 <trosos@seznam.cz>.
28080
28081 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
28082
28083 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
28084
28085 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
28086 <bero@arklinux.org>.
28087
28088 * normal/parser.y (script_init): Add missing semicolon.
28089
28090 2009-01-31 Colin D Bennett <colin@gibibit.com>
28091
28092 * normal/main.c: Add include to grub/menu_viewer.h.
28093 (free_menu_entry_classes): Added.
28094 (grub_normal_menu_addentry): Added class property handling.
28095 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
28096 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
28097
28098 * normal/menu_viewer.c: New file.
28099
28100 * normal/menu.c (run_menu_entry): Renamed to ...
28101 (grub_menu_execute_entry): ... this and made it as global.
28102 (grub_menu_run): Renamed to ...
28103 (show_text_menu): ... this and made it local.
28104 (show_text_menu): Adapt to new function names.
28105 (grub_normal_terminal_menu_viewer): New global variable.
28106
28107 * include/grub/menu.h: New file.
28108
28109 * include/grub/menu_viewer.h: New file.
28110
28111 * include/grub/normal.h: Added include to grub/menu.h.
28112 (grub_menu_entry): Moved to include/grub/menu.h.
28113 (grub_menu_entry_t): Likewise.
28114 (grub_menu): Likewise.
28115 (grub_menu_t): Likewise.
28116 (grub_normal_terminal_menu_viewer): Added.
28117 (grub_menu_execute_entry): Likewise.
28118 (grub_menu_run): Removed.
28119
28120 * DISTLIST: Added include/grub/menu.h.
28121 Added include/grub/menu_viewer.h.
28122 Added normal/menu_viewer.c.
28123
28124 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
28125
28126 * normal/execute.c (grub_script_execute_menuentry): Changed to use
28127 arglist for menutitle arguments.
28128
28129 * normal/main.c (grub_normal_menu_addentry): Likewise.
28130
28131 * normal/parser.y (menuentry): Likewise.
28132
28133 * normal/script.c (grub_script_create_cmdmenu): Likewise.
28134
28135 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
28136 (grub_script_create_cmdmenu): Likewise.
28137
28138 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
28139
28140 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
28141 changes.
28142
28143 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
28144
28145 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
28146
28147 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
28148
28149 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28150
28151 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28152
28153 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
28154
28155 2009-01-30 Christian Franke <franke@computer.org>
28156
28157 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
28158 in option help text.
28159
28160 2009-01-27 Pavel Roskin <proski@gnu.org>
28161
28162 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
28163
28164 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28165
28166 * commands/lsmmap.c: Add include to grub/machine/memory.h.
28167
28168 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
28169
28170 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
28171 unregister function.
28172
28173 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
28174
28175 * disk/scsi.c (grub_scsi_read): Fix sign problem.
28176
28177 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
28178
28179 * util/grub-mkfont.c (usage): Fix typo.
28180
28181 * util/elf/grub-mkimage.c (load_modules): Fix warning.
28182
28183 2009-01-26 Daniel Mierswa <impulze@impulze.org>
28184
28185 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
28186
28187 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
28188
28189 * kern/misc.c (grub_strcasecmp): New function.
28190 (grub_strcasecmp): Use grub_size_t instead of int for length.
28191 Fix return value.
28192 * include/grub/misc.h: Update function prototypes.
28193
28194 2009-01-26 Robert Millan <rmh@aybabtu.com>
28195
28196 * configure.ac: Fix cross-compilation check.
28197
28198 2009-01-22 Christian Franke <franke@computer.org>
28199
28200 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
28201 (precision) digit string. Allow `.format2' without `format1' (width).
28202 Limit input chars for `%s' output to `format2' if specified. This is
28203 compatible with standard printf ().
28204
28205 2009-01-22 Christian Franke <franke@computer.org>
28206
28207 * disk/ata.c (grub_ata_wait_status): Replace by ...
28208 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
28209 other status bits may be invalid while BSY is asserted.
28210 (grub_ata_check_ready): New function.
28211 (grub_ata_cmd): Removed.
28212 (grub_ata_wait_drq): New function.
28213 (grub_ata_strncpy): Remove inline.
28214 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
28215 and error check now done by grub_ata_wait_drq ().
28216 (grub_ata_pio_write): Likewise.
28217 (grub_atapi_identify): Set DEV before check for !BSY. Use
28218 grub_ata_wait_drq () to wait for data.
28219 (grub_ata_device_initialize): Add status register check to
28220 detect missing SATA slave devices. Add debug messages.
28221 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
28222 (grub_atapi_packet): Set DEV before check for !BSY. Replace
28223 transfer loop by grub_ata_pio_write ().
28224 (grub_ata_identify): Set DEV before check for !BSY. Use
28225 grub_ata_wait_drq () to wait for data.
28226 (grub_ata_setaddress): Set DEV before check for !BSY.
28227 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
28228 read/write in one loop. Fix invalid command on write. Fix incomplete
28229 command on (size % batch) == 0. Add missing error check after write of
28230 last block. Add debug messages.
28231 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
28232
28233 2009-01-19 Christian Franke <franke@computer.org>
28234
28235 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
28236 (GRUB_ATAPI_IREASON_*): Likewise.
28237 (grub_ata_pio_write): Fix timeout error return.
28238 (grub_atapi_identify): Add grub_ata_wait () after cmd.
28239 (grub_atapi_wait_drq): New function.
28240 (grub_atapi_packet): New parameter `size'.
28241 Use grub_atapi_wait_drq () and direct write instead of
28242 grub_ata_pio_write ().
28243 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
28244 reads the number of bytes requested by the device for each DRQ
28245 assertion.
28246 (grub_atapi_write): Remove old implementation, return not
28247 implemented instead.
28248
28249 2009-01-19 Christian Franke <franke@computer.org>
28250
28251 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
28252 of 512 to calculate data size.
28253 (grub_scsi_read12): Likewise.
28254 (grub_scsi_write10): Likewise.
28255 (grub_scsi_write12): Likewise.
28256 (grub_scsi_read): Adjust size according to blocksize.
28257 Add checks for invalid blocksize and unaligned transfer.
28258
28259 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
28260
28261 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
28262
28263 * term/gfxterm.c (write_char): Fix background rendering for wide
28264 width glyphs.
28265
28266 2009-01-19 Robert Millan <rmh@aybabtu.com>
28267
28268 * config.guess: Update to latest version from config git.
28269 * config.sub: Likewise.
28270
28271 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
28272
28273 * Makefile.in: Change font compilation to use new grub-mkfont instead
28274 of java version.
28275
28276 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
28277 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28278 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28279 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28280 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28281 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28282 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28283 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28284 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28285
28286 2009-01-16 Christian Franke <franke@computer.org>
28287
28288 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
28289 (enum grub_ata_timeout_milliseconds): New enum.
28290 (grub_ata_wait_status): Add parameter milliseconds.
28291 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
28292 recovery from timed-out commands.
28293 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
28294 return grub_errno instead of REG_ERROR.
28295 (grub_ata_pio_write): Add parameter milliseconds.
28296 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
28297 Pass milliseconds to grub_ata_wait_status () and
28298 grub_ata_pio_read ().
28299 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
28300 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
28301 grub_ata_wait_status (). Fix IDENTIFY timeout check.
28302 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
28303 It is not suitable for device detection, because DEV bit is ignored,
28304 the command may run too long, and not all devices set the signature
28305 properly.
28306 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
28307 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
28308 Fix device selection, DEV bit must be set first to address the registers
28309 of the correct device.
28310 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
28311 grub_ata_pio_read/write ().
28312 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
28313 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
28314
28315 2009-01-13 Carles Pina i Estany <carles@pina.cat>
28316
28317 * util/grub-editenv.c (main): Use fseeko(), not fseek().
28318
28319 2009-01-13 Bean <bean123ch@gmail.com>
28320
28321 * util/grub-mkfont.c (write_font): forget to remove some debug code.
28322
28323 2009-01-13 Bean <bean123ch@gmail.com>
28324
28325 * Makefile.in: (enable_grub_mkfont): New variable.
28326 (freetype_cflags): Likewise.
28327 (freetype_libs): Likewise.
28328
28329 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
28330 (grub_mkfont_SOURCES): New variable.
28331 (grub_mkfont_CFLAGS): Likewise.
28332 (grub_mkfont_LDFLAGS): Likewise.
28333
28334 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
28335 library if `--enable-grub-mkfont' is requested.
28336 (enable_grub_mkfont): New variable.
28337 (freetype_cflags): Likewise.
28338 (freetype_libs): Likewise.
28339
28340 * util/grub-mkfont.c: New file.
28341
28342 2009-01-12 Christian Franke <franke@computer.org>
28343
28344 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
28345 mode check. Fix setting of compat_use[].
28346
28347 2009-01-10 Robert Millan <rmh@aybabtu.com>
28348
28349 Update a few copyright years which we forgot to do in 2008 (only for
28350 files whose changes made in 2008 were copyright-significant)
28351
28352 * Makefile.in: Add 2008 to Copyright line.
28353 * disk/ieee1275/ofdisk.c: Likewise.
28354 * disk/efi/efidisk.c: Likewise.
28355 * kern/dl.c: Likewise.
28356 * kern/sparc64/ieee1275/init.c: Likewise.
28357 * kern/mm.c: Likewise.
28358 * kern/efi/mm.c: Likewise.
28359 * boot/i386/pc/boot.S: Likewise.
28360 * genfslist.sh: Likewise.
28361 * fs/iso9660.c: Likewise.
28362 * fs/hfs.c: Likewise.
28363 * fs/jfs.c: Likewise.
28364 * fs/minix.c: Likewise.
28365 * fs/ufs.c: Likewise.
28366 * gensymlist.sh.in: Likewise.
28367 * genkernsyms.sh.in: Likewise.
28368 * include/grub/misc.h: Likewise.
28369 * include/grub/types.h: Likewise.
28370 * include/grub/symbol.h: Likewise.
28371 * include/grub/elf.h: Likewise.
28372 * include/grub/kernel.h: Likewise.
28373 * include/grub/disk.h: Likewise.
28374 * include/grub/dl.h: Likewise.
28375 * include/grub/i386/linux.h: Likewise.
28376 * include/grub/i386/pc/biosdisk.h: Likewise.
28377 * include/grub/efi/api.h: Likewise.
28378 * include/grub/efi/pe32.h: Likewise.
28379 * include/grub/util/misc.h: Likewise.
28380 * normal/execute.c: Likewise.
28381 * normal/arg.c: Likewise.
28382 * normal/completion.c: Likewise.
28383 * normal/lexer.c: Likewise.
28384 * normal/parser.y: Likewise.
28385 * normal/misc.c: Likewise.
28386 * commands/i386/pc/vbeinfo.c: Likewise.
28387 * commands/hexdump.c: Likewise.
28388 * commands/terminal.c: Likewise.
28389 * commands/ls.c: Likewise.
28390 * commands/help.c: Likewise.
28391 * partmap/pc.c: Likewise.
28392 * loader/efi/chainloader.c: Likewise.
28393 * loader/multiboot_loader.c: Likewise.
28394 * loader/i386/pc/multiboot2.c: Likewise.
28395 * term/efi/console.c: Likewise.
28396 * term/i386/pc/serial.c: Likewise.
28397 * util/lvm.c: Likewise.
28398 * util/console.c: Likewise.
28399 * util/i386/efi/grub-mkimage.c: Likewise.
28400 * util/raid.c: Likewise.
28401
28402 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
28403
28404 * commands/videotest.c: Removed include to grub/machine/memory.h.
28405
28406 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
28407 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
28408 (video_mod_SOURCES): Removed.
28409 (video_mod_CFLAGS): Likewise.
28410 (video_mod_LDFLAGS): Likewise.
28411 (gfxterm_mod_SOURCES): Likewise.
28412 (gfxterm_mod_CFLAGS): Likewise.
28413 (gfxterm_mod_LDFLAGS): Likewise.
28414 (videotest_mod_SOURCES): Likewise.
28415 (videotest_mod_CFLAGS): Likewise.
28416 (videotest_mod_LDFLAGS): Likewise.
28417 (bitmap_mod_SOURCES): Likewise.
28418 (bitmap_mod_CFLAGS): Likewise.
28419 (bitmap_mod_LDFLAGS): Likewise.
28420 (tga_mod_SOURCES): Likewise.
28421 (tga_mod_CFLAGS): Likewise.
28422 (tga_mod_LDFLAGS): Likewise.
28423 (jpeg_mod_SOURCES): Likewise.
28424 (jpeg_mod_CFLAGS): Likewise.
28425 (jpeg_mod_LDFLAGS): Likewise.
28426 (png_mod_SOURCES): Likewise.
28427 (png_mod_CFLAGS): Likewise.
28428 (png_mod_LDFLAGS): Likewise.
28429
28430 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
28431 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
28432 (video_mod_SOURCES): Added.
28433 (video_mod_CFLAGS): Likewise.
28434 (video_mod_LDFLAGS): Likewise.
28435 (videotest_mod_SOURCES): Likewise.
28436 (videotest_mod_CFLAGS): Likewise.
28437 (videotest_mod_LDFLAGS): Likewise.
28438 (bitmap_mod_SOURCES): Likewise.
28439 (bitmap_mod_CFLAGS): Likewise.
28440 (bitmap_mod_LDFLAGS): Likewise.
28441 (tga_mod_SOURCES): Likewise.
28442 (tga_mod_CFLAGS): Likewise.
28443 (tga_mod_LDFLAGS): Likewise.
28444 (jpeg_mod_SOURCES): Likewise.
28445 (jpeg_mod_CFLAGS): Likewise.
28446 (jpeg_mod_LDFLAGS): Likewise.
28447 (png_mod_SOURCES): Likewise.
28448 (png_mod_CFLAGS): Likewise.
28449 (png_mod_LDFLAGS): Likewise.
28450 (gfxterm_mod_SOURCES): Likewise.
28451 (gfxterm_mod_CFLAGS): Likewise.
28452 (gfxterm_mod_LDFLAGS): Likewise.
28453
28454 * term/gfxterm.c: Removed include to grub/machine/memory.h,
28455 grub/machine/console.h.
28456
28457 2009-01-04 Jerone Young <jerone@gmail.com>
28458
28459 Make on screen instructions clearer
28460
28461 Based on patch created by Jidanni <jidanni@jidanni.org>
28462
28463 * normal/menu.c: print clearer instructions on the screen
28464
28465 2009-01-02 Colin D Bennett <colin@gibibit.com>
28466
28467 New font engine.
28468
28469 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
28470 build system and fixed gfxterm.c to work with different sized fonts.
28471
28472 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
28473
28474 * configure: Re-generated.
28475
28476 * DISTLIST: Removed font/manager.c.
28477 Added font/font.c.
28478 Added font/font_cmd.c.
28479
28480 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
28481 compilation.
28482
28483 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
28484
28485 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
28486
28487 * kern/term.c: Changed users of grub_utf8_to_ucs4.
28488
28489 * normal/menu.c: Likewise.
28490
28491 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
28492 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
28493
28494 * include/grub/font.h: Replaced with new file.
28495
28496 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
28497 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
28498 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
28499 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
28500 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
28501 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
28502 fg_red, fg_green, fg_blue, fg_alpha.
28503 (grub_video_adapter): Removed blit_glyph.
28504 (grub_video_blit_glyph): Removed.
28505
28506 * font/manager.c: Removed file.
28507
28508 * font/font.c: New file.
28509
28510 * font/font_cmd.c: Likewise.
28511
28512 * video/video.c (grub_video_blit_glyph): Removed.
28513
28514 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
28515 (grub_video_vbe_map_rgba): Likewise.
28516 (grub_video_vbe_unmap_color_int): Likewise.
28517 (grub_video_vbe_blit_glyph): Removed.
28518 (grub_video_vbe_adapter): Removed blit_glyph.
28519
28520 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
28521 (get_pixel): Likewise.
28522 (set_pixel): Likewise.
28523
28524 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
28525
28526 * term/gfxterm.c: Adapted to new font engine.
28527
28528 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
28529
28530 * term/i386/pc/vga.c: Likewise.
28531
28532 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
28533
28534 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
28535
28536 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28537
28538 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
28539
28540 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
28541
28542 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
28543
28544 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
28545
28546 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
28547
28548 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
28549
28550 * util/grub.d/00_header.in: Changed to use new loadfont command.
28551
28552 * util/grub-mkconfig_lib.in: Changed font extension.
28553
28554 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
28555
28556 * util/getroot.c (grub_util_get_grub_dev): Add support for
28557 /dev/md/dNNpNN style partitionable mdraid devices.
28558
28559 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
28560
28561 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
28562 at a time limit of the PXE TFTP API correctly.
28563 (grub_pxefs_close): Likewise.
28564
28565 2008-11-29 Robert Millan <rmh@aybabtu.com>
28566
28567 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
28568 grub_ata_device_initialize() calls.
28569
28570 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
28571
28572 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
28573 iteration failed.
28574 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
28575
28576 2008-11-28 Robert Millan <rmh@aybabtu.com>
28577
28578 Fix build on powerpc-ieee1275. Based on patch created by
28579 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
28580 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28581 `kern/ieee1275/mmap.c'.
28582 * include/grub/powerpc/ieee1275/memory.h: New file.
28583
28584 Provide grub-install on coreboot.
28585 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
28586 (grub_install_SOURCES): New variable.
28587 * util/i386/pc/grub-install.in: Add a few condition checks to make it
28588 usable on coreboot.
28589
28590 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
28591
28592 * util/grub-fstest.c (grub_term_get_current_input): Change return type
28593 to `grub_term_input_t'.
28594 (grub_term_get_current_output): Change return type to
28595 `grub_term_output_t'.
28596
28597 2008-11-22 Robert Millan <rmh@aybabtu.com>
28598
28599 Fix breakage on coreboot due to declaration mismatch.
28600 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
28601 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
28602 grub_vga_text_cls().
28603
28604 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
28605 comments. Avoid copying one more byte than necessary (just in case).
28606
28607 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
28608 to 0x200000 (avoids trouble with some OFW implementations, and matches
28609 with the one in Yaboot).
28610 Reported by Manoel Abranches
28611
28612 2008-11-20 Robert Millan <rmh@aybabtu.com>
28613
28614 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
28615 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
28616
28617 * util/grub-mkconfig_lib.in (grub_warn): New function.
28618 (convert_system_path_to_grub_path): Use grub_warn() when issuing
28619 warnings, to obtain consistent formatting.
28620 * util/grub.d/00_header.in: Likewise.
28621 * util/update-grub_lib.in: Likewise.
28622
28623 * loader/i386/linux.c (allocate_pages): Fix a warning.
28624 Move comment text to `#error' stanza.
28625
28626 Harmonize ieee1275's grub_available_iterate() with the generic
28627 grub_machine_mmap_iterate() interface (fixes a recently-introduced
28628 build problem on i386-ieee1275):
28629 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
28630 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
28631 parameter `type'. Update all users of this function.
28632 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28633 `kern/ieee1275/mmap.c'.
28634 * kern/ieee1275/init.c
28635 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
28636 with ...
28637 (grub_machine_mmap_iterate): ... this.
28638 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
28639 return type to `grub_err_t'. Update all implementations of this
28640 function prototype.
28641 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
28642 Likewise.
28643
28644 Add `lsmmap' command (lists firmware-provided memory map):
28645 * commands/lsmmap.c: New file.
28646 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
28647 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
28648 variables.
28649 * conf/powerpc-ieee1275.rmk: Likewise.
28650 * conf/i386-coreboot.rmk: Likewise.
28651 * conf/i386-ieee1275.rmk: Likewise.
28652
28653 2008-11-19 Robert Millan <rmh@aybabtu.com>
28654
28655 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
28656 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
28657 constraints to initrd allocation (based on code from
28658 loader/i386/pc/linux.c). Without them, initrd was allocated too high
28659 for Linux to find it.
28660
28661 2008-11-14 Robert Millan <rmh@aybabtu.com>
28662
28663 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
28664 order to cope with duplicate slashes.
28665
28666 2008-11-14 Robert Millan <rmh@aybabtu.com>
28667
28668 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
28669 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
28670 don't want to mess with lower memory, because it is used in the Linux
28671 loader.
28672
28673 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
28674 an appropriate place in lower memory, between 0x10000 and 0x90000,
28675 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
28676 is in our heap (probably as a result of it being corrupted during
28677 decompression). Add #error instance with comment to explain why this
28678 loader isn't currently usable on PC/BIOS.
28679
28680 2008-11-14 Robert Millan <rmh@aybabtu.com>
28681
28682 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
28683 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
28684
28685 2008-11-12 Robert Millan <rmh@aybabtu.com>
28686
28687 Make loader/i386/linux.c buildable on i386-pc (although disabled).
28688
28689 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
28690 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
28691 from here ...
28692 * include/grub/i386/pc/memory.h: ... to here.
28693
28694 2008-11-12 Robert Millan <rmh@aybabtu.com>
28695
28696 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
28697 split).
28698
28699 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
28700 (grub_console_cur_color, grub_console_real_putchar)
28701 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28702 (grub_console_setcolorstate, grub_console_setcolor)
28703 (grub_console_getcolor): Move from here ...
28704 * include/grub/i386/vga_common.h: ... to here (new file).
28705
28706 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
28707 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
28708 `<grub/i386/io.h>'.
28709 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
28710 `<grub/i386/vga_common.h>'.
28711
28712 2008-11-12 Robert Millan <rmh@aybabtu.com>
28713
28714 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
28715 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
28716 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
28717 variables.
28718 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28719 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
28720
28721 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
28722 grub_console_init() with call to grub_vga_text_init().
28723 (grub_machine_fini): Replace call to
28724 grub_console_fini() with call to grub_vga_text_fini() and
28725 grub_at_keyboard_fini().
28726
28727 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
28728 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
28729 (grub_console_setcolorstate, grub_console_setcolor)
28730 (grub_console_getcolor): New function prototypes.
28731
28732 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
28733 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
28734 (grub_vga_text_setcursor): Static-ize.
28735 (grub_vga_text_term): New structure.
28736 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
28737
28738 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
28739 (grub_console_cur_color, grub_console_standard_color)
28740 (grub_console_normal_color, grub_console_highlight_color)
28741 (map_char, grub_console_putchar, grub_console_getcharwidth)
28742 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
28743 (grub_console_getcolor): Move from here ...
28744 * term/i386/vga_common.c: ... to here (same function names).
28745
28746 2008-11-12 Robert Millan <rmh@aybabtu.com>
28747
28748 Use newly-added Multiboot support in coreboot.
28749
28750 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
28751 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
28752
28753 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
28754 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
28755 (codestart): Store the MBI in `startup_multiboot_info' when we're
28756 being loaded using Multiboot.
28757
28758 * kern/i386/coreboot/init.c (grub_machine_init): Move
28759 grub_at_keyboard_init() call to beginning of function (useful for
28760 debugging). Call grub_machine_mmap_init() before attempting to use
28761 grub_machine_mmap_iterate().
28762 (grub_lower_mem, grub_upper_mem): Move from here ...
28763 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
28764 here (new file).
28765
28766 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
28767 function prototype.
28768
28769 2008-11-12 Robert Millan <rmh@aybabtu.com>
28770
28771 Fix a regression introduced by the at_keyboard.mod split. Because
28772 some terminals are default on some platforms and non-default on
28773 others, the first terminal being registered determines which is
28774 going to be default.
28775
28776 * kern/term.c (grub_term_register_input): If this is the first
28777 terminal being registered, set it as the current one.
28778 (grub_term_register_output): Likewise.
28779
28780 * term/efi/console.c (grub_console_init): Do not call
28781 grub_term_set_current_output() or grub_term_set_current_input().
28782 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
28783 * term/i386/pc/console.c (grub_console_init): Likewise.
28784 (grub_console_fini): Do not call grub_term_set_current_input()
28785 (but leave grub_term_set_current_output() to restore text mode).
28786
28787 2008-11-10 Robert Millan <rmh@aybabtu.com>
28788
28789 * util/grub.d/00_header.in: Add backward compatibility check for
28790 versions of terminal.mod that don't understand `terminal_input' or
28791 `terminal_output'.
28792
28793 2008-11-09 Robert Millan <rmh@aybabtu.com>
28794
28795 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
28796 `terminal_input' / `terminal_output', not `terminal'.
28797
28798 2008-11-08 Robert Millan <rmh@aybabtu.com>
28799
28800 * Makefile.in (include_DATA): Fix srcdir=. assumption.
28801 (DISTCLEANFILES): Add `build_env.mk'.
28802
28803 2008-11-08 Robert Millan <rmh@aybabtu.com>
28804
28805 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
28806 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28807 members. Update all users.
28808 * util/console.c (grub_ncurses_term): Split in ...
28809 (grub_ncurses_term_input): ... this, and ...
28810 (grub_ncurses_term_output): ... this. Update all users.
28811 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
28812
28813 2008-11-08 Robert Millan <rmh@aybabtu.com>
28814
28815 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
28816 (PKGDATA): Add $(pkgdata_SRCDIR).
28817 (pkglib_BUILDDIR): New variable.
28818 (pkgdata_SRCDIR): New variable.
28819 (build_env.mk): New target.
28820 (include_DATA): New variable.
28821 (install-local): Install $(include_DATA) files in $(includedir).
28822
28823 2008-11-07 Pavel Roskin <proski@gnu.org>
28824
28825 * gendistlist.sh: Use C locale for sorting to ensure consistent
28826 output on all systems.
28827
28828 * util/grub.d/00_header.in: Remove incorrect space before
28829 "serial".
28830
28831 2008-11-07 Robert Millan <rmh@aybabtu.com>
28832
28833 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
28834 per specification.
28835 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
28836 * loader/multiboot_loader.c (find_multi_boot2_header): New function
28837 (based on find_multi_boot1_header).
28838 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
28839 using find_multi_boot2_header(), and abort if neither Multiboot or
28840 Multiboot headers were found.
28841
28842 2008-11-07 Robert Millan <rmh@aybabtu.com>
28843
28844 Modularize at_keyboard.mod:
28845
28846 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
28847 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
28848 (at_keyboard_mod_LDFLAGS): New variables.
28849
28850 Actual terminal split:
28851
28852 * include/grub/term.h (struct grub_term): Split in ...
28853 (struct grub_term_input): ... this, and ...
28854 (struct grub_term_output): ... this. Update all users.
28855 (grub_term_set_current): Split in ...
28856 (grub_term_set_current_input): ... this, and ...
28857 (grub_term_set_current_output): ... this.
28858 (grub_term_get_current): Split in ...
28859 (grub_term_get_current_input): ... this, and ...
28860 (grub_term_get_current_output): ... this.
28861 (grub_term_register): Split in ...
28862 (grub_term_register_input): ... this, and ...
28863 (grub_term_register_output): ... this.
28864 (grub_term_unregister): Split in ...
28865 (grub_term_unregister_input): ... this, and ...
28866 (grub_term_unregister_output): ... this.
28867 (grub_term_iterate): Split in ...
28868 (grub_term_iterate_input): ... this, and ...
28869 (grub_term_iterate_output): ... this.
28870
28871 * kern/term.c (grub_term_list): Split in ...
28872 (grub_term_list_input): ... this, and ...
28873 (grub_term_list_output): ... this. Update all users.
28874 (grub_cur_term): Split in ...
28875 (grub_cur_term_input): ... this, and ...
28876 (grub_cur_term_output): ... this. Update all users.
28877 (grub_term_set_current): Split in ...
28878 (grub_term_set_current_input): ... this, and ...
28879 (grub_term_set_current_output): ... this.
28880 (grub_term_get_current): Split in ...
28881 (grub_term_get_current_input): ... this, and ...
28882 (grub_term_get_current_output): ... this.
28883 (grub_term_register): Split in ...
28884 (grub_term_register_input): ... this, and ...
28885 (grub_term_register_output): ... this.
28886 (grub_term_unregister): Split in ...
28887 (grub_term_unregister_input): ... this, and ...
28888 (grub_term_unregister_output): ... this.
28889 (grub_term_iterate): Split in ...
28890 (grub_term_iterate_input): ... this, and ...
28891 (grub_term_iterate_output): ... this.
28892
28893 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
28894 a check for input and one for output (and only attempt to get keys
28895 from user when input works).
28896
28897 * util/grub-probe.c (grub_term_get_current): Split in ...
28898 (grub_term_get_current_input): ... this, and ...
28899 (grub_term_get_current_output): ... this.
28900 * util/grub-fstest.c: Likewise.
28901 * util/i386/pc/grub-setup.c: Likewise.
28902 * util/grub-editenv.c: Likewise.
28903
28904 Portability adjustments:
28905
28906 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
28907 `term/i386/pc/at_keyboard.c'.
28908 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
28909 grub_keyboard_controller_init() (now handled by terminal .init).
28910 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
28911 grub_at_keyboard_init().
28912 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
28913 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
28914 at_keyboard.mod via input terminal interface).
28915 * include/grub/i386/coreboot/console.h: Convert into a stub for
28916 `<grub/i386/pc/console.h>'.
28917
28918 Migrate full terminals to new API:
28919
28920 * term/efi/console.c (grub_console_term): Split into ...
28921 (grub_console_term_input): ... this, and ...
28922 (grub_console_term_output): ... this. Update all users.
28923 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
28924 (grub_ofconsole_init): Split into ...
28925 (grub_ofconsole_init_input): ... this, and ...
28926 (grub_ofconsole_init_output): ... this.
28927 (grub_ofconsole_term): Split into ...
28928 (grub_ofconsole_term_input): ... this, and ...
28929 (grub_ofconsole_term_output): ... this. Update all users.
28930 * term/i386/pc/serial.c (grub_serial_term): Split into ...
28931 (grub_serial_term_input): ... this, and ...
28932 (grub_serial_term_output): ... this. Update all users.
28933 * term/i386/pc/console.c (grub_console_term): Split into ...
28934 (grub_console_term_input): ... this, and ...
28935 (grub_console_term_output): ... this. Update all users.
28936 (grub_console_term_input): Only enable it on PC/BIOS platform.
28937 (grub_console_init): Remove grub_keyboard_controller_init() call.
28938
28939 Migrate input terminals to new API:
28940
28941 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
28942 `i386' and `i386/pc' to enable build on x86_64 (this driver is
28943 i386-specific anyway).
28944 (grub_console_checkkey): Rename to ...
28945 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
28946 users.
28947 (grub_keyboard_controller_orig): New variable.
28948 (grub_console_getkey): Rename to ...
28949 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
28950 users.
28951 (grub_keyboard_controller_init): Static-ize. Save original
28952 controller value so that it can be restored ...
28953 (grub_keyboard_controller_fini): ... here (new function).
28954 (grub_at_keyboard_term): New structure.
28955 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
28956 functions.
28957
28958 Migrate output terminals to new API:
28959
28960 * term/i386/pc/vga.c (grub_vga_term): Change type to
28961 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28962 members. Update all users.
28963 * term/gfxterm.c (grub_video_term): Change type to
28964 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
28965 members. Update all users.
28966 * include/grub/i386/pc/console.h (grub_console_checkkey)
28967 (grub_console_getkey): Do not export (no longer needed by gfxterm,
28968 etc).
28969
28970 Migrate `terminal' command and userland tools to new API:
28971
28972 * commands/terminal.c (grub_cmd_terminal): Split into ...
28973 (grub_cmd_terminal_input): ... this, and ...
28974 (grub_cmd_terminal_output): ... this.
28975 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
28976 `terminal_input' and `terminal_output'.
28977 * util/grub.d/00_header.in: Adjust `terminal' calls to new
28978 `terminal_input' / `terminal_output' API.
28979 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
28980 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
28981 provided ${GRUB_TERMINAL}, convert it).
28982
28983 2008-11-04 Robert Millan <rmh@aybabtu.com>
28984
28985 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
28986 for FreeBSD.
28987 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
28988
28989 2008-11-03 Bean <bean123ch@gmail.com>
28990
28991 * kern/elf.c (grub_elf32_load): Revert to previous code.
28992 (grub_elf64_load): Likewise.
28993
28994 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
28995
28996 2008-11-01 Robert Millan <rmh@aybabtu.com>
28997
28998 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
28999 (TARGET_CPPFLAGS): Likewise.
29000 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
29001
29002 2008-11-01 Carles Pina i Estany <carles@pina.cat>
29003
29004 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
29005
29006 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29007
29008 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
29009 addition of objects until the code is not going to be able to fail.
29010
29011 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
29012
29013 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
29014 (add a missing NULL check, and correct them by moving the pointer
29015 operations after the actual check).
29016
29017 2008-10-29 Robert Millan <rmh@aybabtu.com>
29018
29019 * util/i386/pc/grub-install.in: Handle empty string as output from
29020 make_system_path_relative_to_its_root().
29021
29022 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
29023
29024 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
29025 circular metadata worst case scenario. If the metadata is circular
29026 then copy the wrap in place.
29027 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
29028 project lib/format_text/layout.h
29029 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
29030
29031 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29032
29033 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
29034
29035 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
29036
29037 * util/update-grub_lib.in: Mention filename in warning message.
29038
29039 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29040
29041 * NEWS: Update for rename of update-grub to grub-mkconfig.
29042
29043 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
29044
29045 * util/update-grub_lib.in: Copy to ...
29046 * util/grub-mkconfig_lib.in: ... this. Update all users.
29047 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
29048 * util/update-grub.in: Rename to ...
29049 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
29050 option. Add `--output' option to allow users to specify the generated
29051 configuration file. Default to stdout.
29052 (update_grub_dir): Rename to ...
29053 (grub_mkconfig_dir): ... this.
29054 (grub_cfg): Default to an empty string.
29055 * conf/common.rmk (update-grub): Rename to ...
29056 (grub-mkconfig): ... this.
29057 (update-grub_lib): Copy to ...
29058 (grub-mkconfig_lib): ... this.
29059 (update-grub_SCRIPTS): Copy to ...
29060 (grub-mkconfig_SCRIPTS): ... this. Update all users.
29061 (update-grub_DATA): Rename to ...
29062 (grub-mkconfig_DATA): ... this.
29063
29064 2008-09-28 Robert Millan <rmh@aybabtu.com>
29065
29066 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
29067 to `modified'. Add the real `created' field.
29068 (grub_iso9660_uuid): Use `modified' rather than `created' for
29069 constructing the UUID.
29070
29071 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
29072
29073 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
29074 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
29075
29076 2008-09-28 Bean <bean123ch@gmail.com>
29077
29078 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
29079 Thanks to Christian Franke for finding this bug.
29080
29081 2008-09-25 Robert Millan <rmh@aybabtu.com>
29082
29083 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
29084 instances of grub_util_get_disk_name() (see previous commit).
29085
29086 2008-09-25 Robert Millan <rmh@aybabtu.com>
29087
29088 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
29089 `util/i386/get_disk_name.c'.
29090 * conf/i386-efi.rmk: Likewise.
29091 * conf/x86_64-efi.rmk: Likewise.
29092 * conf/i386-coreboot.rmk: Likewise.
29093 * conf/i386-ieee1275.rmk: Likewise.
29094 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
29095 `util/ieee1275/get_disk_name.c'.
29096 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
29097 * util/ieee1275/get_disk_name.c: Remove file.
29098 * util/i386/get_disk_name.c: Remove file.
29099 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
29100 "hd%d" for device.map entries, rather than using
29101 grub_util_get_disk_name().
29102
29103 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29104
29105 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
29106 warning.
29107 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
29108
29109 2008-09-24 Carles Pina i Estany <carles@pina.cat>
29110
29111 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
29112 Changed to 0x5100.
29113 (GRUB_TERM_PPAGE): Changed to 0x4900.
29114
29115 2008-09-24 Robert Millan <rmh@aybabtu.com>
29116
29117 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
29118 macros (they were i386-pc specific).
29119 * include/grub/sparc64/ieee1275/console.h: Likewise.
29120 * include/grub/efi/console.h: Likewise.
29121
29122 2008-09-22 Bean <bean123ch@gmail.com>
29123
29124 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
29125 resident and in attribute list.
29126
29127 * include/grub/ntfs.h (BMP_LEN): Removed.
29128
29129 2008-09-22 Bean <bean123ch@gmail.com>
29130
29131 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
29132 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
29133
29134 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
29135 error occurs, as grub_disk_open will call grub_disk_close, which will
29136 call p->close (scsi).
29137
29138 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29139
29140 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
29141 (AC_PREREQ): Bumped to 2.59.
29142 (AC_TRY_COMPILE): Replace obsolete macro with ...
29143 (AC_COMPILE_IFELSE): ... this.
29144 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
29145 (AC_LINK_IFELSE): ... this.
29146
29147 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
29148
29149 * autogen.sh: Add a call to `gendistlist.sh'.
29150
29151 2008-09-19 Christian Franke <franke@computer.org>
29152
29153 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
29154 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
29155 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
29156 Export __enable_execute_stack() to modules.
29157 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
29158 New function.
29159
29160 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29161
29162 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
29163 Sort the list.
29164
29165 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
29166
29167 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
29168 #include <grub/util/hostdisk.h>.
29169
29170 2008-09-08 Robert Millan <rmh@aybabtu.com>
29171
29172 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
29173 segments when their filesz is zero (grub_file_read() interprets
29174 zero-size as "read until EOF", which results in memory corruption).
29175 Use `lowest_segment' rather than 0 for calculating the current
29176 segment load address.
29177
29178 2008-09-08 Robert Millan <rmh@aybabtu.com>
29179
29180 * util/hostdisk.c (open_device): Replace a grub_util_info() call
29181 with grub_dprintf("hostdisk", ...), as it was so verbose that it
29182 clobbered useful information.
29183
29184 2008-09-08 Robert Millan <rmh@aybabtu.com>
29185
29186 * include/grub/util/biosdisk.h: Move to ...
29187 * include/grub/util/hostdisk.h: ... here. Update all users.
29188 * util/biosdisk.c: Move to ...
29189 * util/hostdisk.c: ... here. Update all users.
29190
29191 2008-09-07 Robert Millan <rmh@aybabtu.com>
29192
29193 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
29194 variables.
29195 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
29196 and length can be stored directly in the `mbi->mmap_addr' and
29197 `mbi->mmap_length' struct fields.
29198
29199 2008-09-07 Robert Millan <rmh@aybabtu.com>
29200
29201 * conf/i386.rmk: New file. Provides declaration for building
29202 `cpuid.mod'.
29203 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
29204 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
29205 variables.
29206 Include `conf/i386.mk'.
29207 * conf/i386-efi.rmk: Likewise.
29208 * conf/x86_64-efi.rmk: Likewise.
29209 * conf/i386-coreboot.rmk: Likewise.
29210 * conf/i386-ieee1275.rmk: Likewise.
29211
29212 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
29213
29214 Based on patch created by Colin D Bennett <colin@gibibit.com>.
29215 Adds optimization support for BGR based modes.
29216
29217 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
29218 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29219 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29220 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29221 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29222 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29223 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29224 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29225 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29226 (grub_video_i386_vbeblit_index_index): Likewise.
29227 (grub_video_i386_vbeblit_replace_directN): Added.
29228 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29229 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29230 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29231 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29232 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29233 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29234 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29235 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29236 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29237 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29238 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29239 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29240 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29241
29242 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
29243 (grub_video_i386_vbefill_R8G8B8): Likewise.
29244 (grub_video_i386_vbefill_index): Likewise.
29245 (grub_video_i386_vbefill_direct32): Added.
29246 (grub_video_i386_vbefill_direct24): Likewise.
29247 (grub_video_i386_vbefill_direct16): Likewise.
29248 (grub_video_i386_vbefill_direct8): Likewise.
29249
29250 * include/grub/video.h (grub_video_blit_format): Removed
29251 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
29252 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
29253 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
29254 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
29255 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
29256
29257 * video/video.c (grub_video_get_blit_format): Updated to use new
29258 blit formats. Added handling for 16 bit color modes.
29259
29260 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
29261 fillers.
29262 (common_blitter): Updated to use new blitters.
29263
29264 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
29265 Removed.
29266 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
29267 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
29268 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
29269 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
29270 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
29271 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
29272 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
29273 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
29274 (grub_video_i386_vbeblit_index_index): Likewise.
29275 (grub_video_i386_vbeblit_replace_directN): Added.
29276 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
29277 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
29278 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
29279 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
29280 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
29281 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
29282 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
29283 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
29284 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
29285 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
29286 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
29287 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
29288 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
29289
29290 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
29291 (grub_video_i386_vbefill_R8G8B8): Likewise.
29292 (grub_video_i386_vbefill_index): Likewise.
29293 (grub_video_i386_vbefill_direct32): Added.
29294 (grub_video_i386_vbefill_direct24): Likewise.
29295 (grub_video_i386_vbefill_direct16): Likewise.
29296 (grub_video_i386_vbefill_direct8): Likewise.
29297
29298 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
29299 types.
29300
29301 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
29302 types.
29303
29304 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
29305 blitter types.
29306
29307 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
29308 types.
29309
29310 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29311
29312 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
29313 RAID level 1.
29314
29315 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
29316
29317 * fs/iso9660.c (grub_iso9660_date): New structure.
29318 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
29319 (grub_iso9660_uuid): New function.
29320
29321 2008-09-05 Bean <bean123ch@gmail.com>
29322
29323 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
29324
29325 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
29326 insensitive bit for names in Win32 and Win32 & DOS namespace.
29327
29328 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
29329
29330 * include/grub/types.h (LONG_MAX): Likewise.
29331
29332 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29333
29334 * util/getroot.c: Include <config.h>.
29335 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
29336 add support for /dev/md/N devices and handle LVM double dash escaping.
29337
29338 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
29339
29340 * config.guess: Update to latest version from config git.
29341 * config.sub: Likewise.
29342
29343 2008-09-03 Robert Millan <rmh@aybabtu.com>
29344
29345 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
29346 `disk->total_sectors'.
29347
29348 2008-09-01 Colin D Bennett <colin@gibibit.com>
29349
29350 * include/grub/normal.h: Fixed incorrect comment for
29351 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
29352
29353 2008-09-01 Colin D Bennett <colin@gibibit.com>
29354
29355 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
29356 values with defines.
29357
29358 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
29359 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
29360 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
29361 (GRUB_VBE_MODEATTR_COLOR): Likewise.
29362 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
29363 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
29364 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
29365 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
29366 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
29367 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
29368 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
29369 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
29370 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
29371 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
29372 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
29373 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
29374 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
29375 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
29376 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
29377
29378 2008-08-31 Robert Millan <rmh@aybabtu.com>
29379
29380 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
29381 declaration.
29382 (grub_multiboot): Fix a few warnings.
29383
29384 2008-08-31 Robert Millan <rmh@aybabtu.com>
29385
29386 * loader/i386/pc/multiboot.c: Update comment not to say that
29387 boot_device support is unimplemented.
29388
29389 2008-08-31 Robert Millan <rmh@aybabtu.com>
29390
29391 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
29392 or memory map support are unimplemented.
29393
29394 2008-08-31 Colin D Bennett <colin@gibibit.com>
29395
29396 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
29397
29398 2008-08-31 Colin D Bennett <colin@gibibit.com>
29399
29400 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
29401 total video memory in 'vbeinfo' output; show color format details for
29402 each video mode.
29403
29404 2008-08-30 Pavel Roskin <proski@gnu.org>
29405
29406 * util/genmoddep.c: Remove for real this time.
29407 * DISTLIST: Remove util/genmoddep.c.
29408
29409 2008-08-30 Robert Millan <rmh@aybabtu.com>
29410
29411 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
29412 as required by Multiboot spec (it was already 4-byte aligned, but
29413 only by chance).
29414
29415 2008-08-29 Pavel Roskin <proski@gnu.org>
29416
29417 * kern/powerpc/ieee1275/crt0.S: Rename to ...
29418 * kern/powerpc/ieee1275/startup.S: ... this.
29419 * conf/powerpc-ieee1275.rmk: Adjust for the above.
29420 * DISTLIST: Likewise.
29421
29422 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
29423 grub/cpu/kernel.h. Add start label for consistency with other
29424 platforms. Add grub_prefix immediately after start. Add jump
29425 to the code after grub_prefix.
29426 * include/grub/powerpc/kernel.h: Provide valid values for
29427 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
29428
29429 2008-08-29 Bean <bean123ch@gmail.com>
29430
29431 * configure.ac: Change host_os to cygwin for mingw.
29432 (asprintf): New check for function.
29433
29434 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
29435 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
29436
29437 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
29438 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
29439 sync, sleep and grub_util_get_disk_size for mingw.
29440
29441 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
29442 to get size in mingw.
29443 (open_device): Use flag O_BINARY if it's defined.
29444 (find_root_device): Add dummy code for mingw.
29445
29446 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
29447 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
29448 (get_scsi_disk_name): Return 0 for mingw.
29449
29450 * util/hostfs.c: #include <grub/util/misc.h>.
29451 (grub_hostfs_open): Use "rb" flag to open file, use
29452 grub_util_get_disk_size to get disk size for mingw.
29453
29454 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
29455 (asprintf): New function if HAVE_ASPRINTF is not set.
29456 (sync): New function for mingw.
29457 (sleep): Likewise.
29458 (grub_util_get_disk_size): Likewise.
29459
29460 2008-08-28 Pavel Roskin <proski@gnu.org>
29461
29462 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
29463 kern/time.c.
29464
29465 2008-08-28 Robert Millan <rmh@aybabtu.com>
29466
29467 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
29468
29469 2008-08-28 Robert Millan <rmh@aybabtu.com>
29470
29471 Change find_grub_drive() syntax so it doesn't prevent it from
29472 detecting NULL names as errors.
29473
29474 * util/biosdisk.c (find_grub_drive): Move free slot search code
29475 from here ...
29476 (find_free_slot): ... to here.
29477 (read_device_map): Use find_free_slot() to search for free slots.
29478
29479 2008-08-27 Marco Gerards <marco@gnu.org>
29480
29481 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
29482 (scsi_mod_SOURCES): New variable.
29483 (scsi_mod_CFLAGS): Likewise
29484 (scsi_mod_LDFLAGS): Likewise.
29485
29486 * disk/scsi.c: New file.
29487
29488 * include/grub/scsi.h: Likewise.
29489
29490 * include/grub/scsicmd.h: Likewise.
29491
29492 * disk/ata.c: Include <grub/scsi.h>.
29493 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
29494 instead.
29495 (grub_ata_iterate): Skip ATAPI devices.
29496 (grub_ata_open): Only handle ATAPI devices.
29497 (struct grub_atapi_read): Removed.
29498 (grub_atapi_readsector): Likewise.
29499 (grub_ata_read): No longer handle ATAPI devices.
29500 (grub_ata_write): Likewise.
29501 (grub_atapi_iterate): New function.
29502 (grub_atapi_read): Likewise.
29503 (grub_atapi_write): Likewise.
29504 (grub_atapi_open): Likewise.
29505 (grub_atapi_close): Likewise.
29506 (grub_atapi_dev): New variable.
29507 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
29508 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
29509
29510 * include/grub/disk.h (enum grub_disk_dev_id): Add
29511 `GRUB_DISK_DEVICE_SCSI_ID'.
29512
29513 2008-08-26 Robert Millan <rmh@aybabtu.com>
29514
29515 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
29516 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
29517 descriptive.
29518
29519 2008-08-23 Bean <bean123ch@gmail.com>
29520
29521 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
29522 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29523 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
29524 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
29525 dm_nv.mod.
29526 (raid5rec_mod_SOURCES): New macro.
29527 (raid5rec_mod_CFLAGS): Likewise.
29528 (raid5rec_mod_LDFLAGS): Likewise.
29529 (raid6rec_mod_SOURCES): Likewise.
29530 (raid6rec_mod_CFLAGS): Likewise.
29531 (raid6rec_mod_LDFLAGS): Likewise.
29532 (mdraid_mod_SOURCES): Likewise.
29533 (mdraid_mod_CFLAGS): Likewise.
29534 (mdraid_mod_LDFLAGS): Likewise.
29535 (dm_nv_mod_SOURCES): Likewise.
29536 (dm_nv_mod_CFLAGS): Likewise.
29537 (dm_nv_mod_LDFLAGS): Likewise.
29538
29539 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
29540 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
29541 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29542
29543 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
29544 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
29545
29546 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29547
29548 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29549
29550 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29551
29552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29553
29554 * disk/raid5_recover.c: New file.
29555
29556 * disk/raid6_recover.c: Likewise.
29557
29558 * disk/mdraid_linux.c: Likewise.
29559
29560 * disk/dmraid_nvidia.c: Likewise.
29561
29562 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
29563 ULONG_MAX.
29564
29565 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
29566 calculate the size of raid device.
29567 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
29568 different layout of raid5.
29569 (grub_raid_scan_device): Remove code specific to mdraid.
29570 (grub_raid_list): New variable.
29571 (free_array): New function.
29572 (grub_raid_register): Likewise.
29573 (grub_raid_unregister): Likewise.
29574 (grub_raid_rescan): Likewise.
29575 (GRUB_MOD_INIT): Don't iterate device here.
29576 (GRUB_MOD_FINI): Use free_array to release resource.
29577
29578 * include/grub/raid.h: Remove macro and structure specific to mdraid.
29579 (grub_raid5_recover_func_t): New function variable type.
29580 (grub_raid6_recover_func_t): Likewise.
29581 (grub_raid5_recover_func): New variable.
29582 (grub_raid6_recover_func): Likewise.
29583 (grub_raid_register): New function.
29584 (grub_raid_unregister): Likewise.
29585 (grub_raid_rescan): Likewise.
29586 (grub_raid_block_xor): Likewise.
29587
29588 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
29589 (CMD_CRC): New macro.
29590 (part): Removed.
29591 (read_file): Handle device as well as file.
29592 (cmd_crc): New function.
29593 (fstest): Handle multiple disks.
29594 (options): Remove part, raw and long, add root and diskcount.
29595 (usage): Add crc, remove -p, -r, -l, add -r and -c.
29596 (main): Find the first non option entry and ignore subsequent options,
29597 add handling for the new options, support multiple disks.
29598
29599 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
29600
29601 2008-08-23 Bean <bean123ch@gmail.com>
29602
29603 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
29604
29605 * genfslist.sh: Ignore kernel.mod.
29606
29607 * genpartmaplist.sh: Likewise.
29608
29609 2008-08-23 Robert Millan <rmh@aybabtu.com>
29610
29611 * util/getroot.c (find_root_device): Skip anything that starts with
29612 a dot, not just directories. This avoids things like /dev/.tmp.md0.
29613
29614 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
29615
29616 * util/update-grub.in (GRUB_GFXMODE): Export variable.
29617 * util/grub.d/00_header.in: Allow the administrator to change default
29618 gfxmode via ${GRUB_GFXMODE}.
29619
29620 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
29621
29622 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
29623
29624 2008-08-21 Robert Millan <rmh@aybabtu.com>
29625
29626 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
29627 loader.
29628 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
29629 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
29630
29631 2008-08-20 Carles Pina i Estany <carles@pina.cat>
29632
29633 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
29634 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
29635
29636 2008-08-19 Robert Millan <rmh@aybabtu.com>
29637
29638 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
29639 (struct grub_virtual_screen): Remove `cursor_color'.
29640 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
29641 initialization.
29642 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
29643
29644 2008-08-18 Robert Millan <rmh@aybabtu.com>
29645
29646 Unify (identical) linux_normal.c files.
29647 * loader/i386/efi/linux_normal.c: Move from here ...
29648 * loader/linux_normal.c: ... to here. Update all users.
29649 * loader/i386/pc/linux_normal.c: Delete. Update all users.
29650 * loader/i386/ieee1275/linux_normal.c: Likewise.
29651
29652 2008-08-18 Robert Millan <rmh@aybabtu.com>
29653
29654 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
29655 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
29656 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
29657 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
29658 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
29659 New macros.
29660 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
29661 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
29662 (GRUB_LINUX_CL_END_OFFSET): ... to here.
29663 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
29664 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
29665 (GRUB_EFI_CL_END_OFFSET): Rename to ...
29666 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
29667 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
29668 Initialize `params->video_cursor_x' and `params->video_cursor_y'
29669 portably using grub_getxy().
29670 Replace `-EFI' with `-bzImage' in boot message.
29671
29672 2008-08-17 Robert Millan <rmh@aybabtu.com>
29673
29674 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
29675
29676 2008-08-17 Robert Millan <rmh@aybabtu.com>
29677
29678 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
29679
29680 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
29681 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
29682 (grub_machine_mmap_iterate): New function declaration.
29683 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
29684 structure.
29685 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
29686 macros.
29687
29688 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
29689 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
29690 Move e820 parsing from here ...
29691 * kern/i386/pc/mmap.c: New file.
29692 (grub_machine_mmap_iterate): ... to here.
29693
29694 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
29695 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
29696 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
29697 (grub_available_iterate): Redeclare to return `void', and redeclare
29698 its hook to use grub_uint64_t as addr and size parameters, and rename
29699 to ...
29700 (grub_machine_mmap_iterate): ... this. Update all users.
29701
29702 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
29703 to make it more readable. Rename to ...
29704 (grub_machine_mmap_iterate): ... this.
29705
29706 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
29707 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
29708 (grub_multiboot): Allocate an extra region after the payload, and fill
29709 it with a Multiboot memory map. Adjust a.out loader to calculate size
29710 with the extra space.
29711 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
29712 with the extra space.
29713
29714 2008-08-17 Carles Pina i Estany <carles@pina.cat>
29715
29716 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
29717
29718 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
29719
29720 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
29721 mdate-sh to the list `find' searches for.
29722 * DISTLIST: Regenerated.
29723
29724 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
29725
29726 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
29727 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
29728 genmoddep.awk, gensymlist.sh.in.
29729 (DISTDIRS): Add bus, docs, hook, lib.
29730 * DISTLIST: Regenerated.
29731 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
29732
29733 2008-08-16 Robert Millan <rmh@aybabtu.com>
29734
29735 * disk/raid.c (grub_raid_init): Handle/report errors set by
29736 grub_device_iterate().
29737 * disk/lvm.c (grub_lvm_init): Likewise.
29738
29739 2008-08-15 Bean <bean123ch@gmail.com>
29740
29741 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29742 and datehook.mod.
29743 (datetime_mod_SOURCES): New macro.
29744 (datetime_mod_CFLAGS): Likewise.
29745 (datetime_mod_LDFLAGS): Likewise.
29746 (date_mod_SOURCES): Likewise.
29747 (date_mod_CFLAGS): Likewise.
29748 (date_mod_LDFLAGS): Likewise.
29749 (datehook_mod_SOURCES): Likewise.
29750 (datehook_mod_CFLAGS): Likewise.
29751 (datehook_mod_LDFLAGS): Likewise.
29752
29753 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
29754 and datehook.mod.
29755 (datetime_mod_SOURCES): New macro.
29756 (datetime_mod_CFLAGS): Likewise.
29757 (datetime_mod_LDFLAGS): Likewise.
29758 (date_mod_SOURCES): Likewise.
29759 (date_mod_CFLAGS): Likewise.
29760 (date_mod_LDFLAGS): Likewise.
29761 (datehook_mod_SOURCES): Likewise.
29762 (datehook_mod_CFLAGS): Likewise.
29763 (datehook_mod_LDFLAGS): Likewise.
29764
29765 * conf/i386-ieee1275.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-efi.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/x86_64-efi.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 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
29802
29803 * commands/date.c: New file.
29804
29805 * hook/datehook.c: Likewise.
29806
29807 * include/grub/lib/datetime.h: Likewise.
29808
29809 * include/grub/i386/cmos.h: Likewise.
29810
29811 * lib/datetime.c: Likewise.
29812
29813 * lib/i386/datetime.c: Likewise.
29814
29815 * lib/efi/datetime.c: Likewise.
29816
29817 2008-08-14 Robert Millan <rmh@aybabtu.com>
29818
29819 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
29820 (grub_mkelfimage_SOURCES): New variable.
29821 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
29822
29823 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
29824 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
29825 * conf/powerpc-ieee1275.rmk: Likewise.
29826 * conf/i386-ieee1275.rmk: Likewise.
29827
29828 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
29829 * kern/i386/coreboot/init.c: Likewise.
29830
29831 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
29832 with `<grub/cpu/kernel.h>'.
29833 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
29834 to ...
29835 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
29836 * kern/i386/coreboot/startup.S: Likewise.
29837
29838 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
29839 (GRUB_MOD_GAP): Remove.
29840 * include/grub/powerpc/kernel.h: New file.
29841 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
29842 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29843 * include/grub/i386/kernel.h: New file.
29844 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
29845 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
29846 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
29847
29848 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
29849 `grub-mkelfimage'.
29850 Use --directory when invoking grub_mkimage.
29851
29852 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
29853 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
29854 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
29855 and GRUB_KERNEL_CPU_PREFIX.
29856
29857 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
29858
29859 * include/grub/err.h (grub_err_printf): New function prototype.
29860 * util/misc.c (grub_err_printf): New function.
29861 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
29862 grub_printf.
29863 * kern/err.c (grub_print_error): Use grub_err_printf.
29864
29865 2008-08-13 Robert Millan <rmh@aybabtu.com>
29866
29867 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
29868
29869 2008-08-13 Robert Millan <rmh@aybabtu.com>
29870
29871 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
29872 boot entry.
29873
29874 2008-08-12 Robert Millan <rmh@aybabtu.com>
29875
29876 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
29877 of the relocation code from here ...
29878 (grub_multiboot): ... to here.
29879 (forward_relocator, backward_relocator): Move from here ...
29880 * kern/i386/loader.S (grub_multiboot_forward_relocator)
29881 (grub_multiboot_backward_relocator): ... to here.
29882 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
29883 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
29884 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
29885 (grub_multiboot_forward_relocator_end)
29886 (grub_multiboot_backward_relocator)
29887 (grub_multiboot_backward_relocator_end): New variables.
29888
29889 2008-08-12 Bean <bean123ch@gmail.com>
29890
29891 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
29892
29893 2008-08-11 Robert Millan <rmh@aybabtu.com>
29894
29895 * kern/i386/linuxbios/startup.S: Move from here ...
29896 * kern/i386/coreboot/startup.S: ... to here.
29897
29898 * kern/i386/linuxbios/init.c: Move from here ...
29899 * kern/i386/coreboot/init.c: ... to here.
29900
29901 * kern/i386/linuxbios/table.c: Move from here ...
29902 * kern/i386/coreboot/mmap.c: ... to here.
29903
29904 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
29905
29906 2008-08-11 Robert Millan <rmh@aybabtu.com>
29907
29908 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
29909 errors. Leave it to the upper layer to handle them.
29910
29911 2008-08-09 Christian Franke <franke@computer.org>
29912
29913 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
29914 * conf/common.rmk: Install `grub-pe2elf' only if requested.
29915 Install `grub.d/10_windows' only on Cygwin.
29916 * configure.ac: Add subst of `target_os'.
29917 Check `target_os' also before setting TARGET_OBJ2ELF.
29918 Add `--enable-grub-pe2elf'.
29919
29920 2008-08-08 Robert Millan <rmh@aybabtu.com>
29921
29922 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29923 (grub_last_time): Change type to grub_uint64_t.
29924 (grub_disk_open): Migrate code from to using grub_get_time_ms().
29925 (grub_disk_close): Likewise.
29926
29927 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
29928 (run_menu): Migrate code from to using grub_get_time_ms().
29929
29930 * util/misc.c (grub_get_time_ms): New function.
29931
29932 2008-08-08 Marco Gerards <marco@gnu.org>
29933
29934 * disk/ata.c (grub_ata_regget): Change return type to
29935 `grub_uint8_t'.
29936 (grub_ata_regget2): Likewise.
29937 (grub_ata_wait_status): New function.
29938 (grub_ata_wait_busy): Removed function, updated all users to use
29939 `grub_ata_wait_status'.
29940 (grub_ata_wait_drq): Likewise.
29941 (grub_ata_cmd): New function.
29942 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
29943 error handling.
29944 (grub_ata_pio_write): Add error handling.
29945 (grub_atapi_identify): Likewise.
29946 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
29947 handling.
29948 (grub_ata_identify): Use `grub_ata_cmd' and improve error
29949 handling. Actually use the detected registers. Reorder the
29950 detection logic such that it is easier to read.
29951 (grub_ata_pciinit): Do not assign the same ID to each controller.
29952 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
29953 handling.
29954 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
29955
29956 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
29957
29958 2008-08-08 Marco Gerards <marco@gnu.org>
29959
29960 * NEWS: Update.
29961
29962 2008-08-07 Bean <bean123ch@gmail.com>
29963
29964 * include/grub/x86_64/pci.h: New file.
29965
29966 2008-08-07 Christian Franke <franke@computer.org>
29967
29968 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
29969 (TIMER2_GATE): Likewise.
29970 (grub_pit_wait): Add enable/disable of the timer2 gate
29971 bit of port 0x61. This fixes a possible infinite loop.
29972
29973 2008-08-07 Bean <bean123ch@gmail.com>
29974
29975 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
29976 kern/i386/tsc.c and kern/i386/pit.c.
29977
29978 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
29979 x86_64 platform.
29980
29981 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
29982 <grub/i386/tsc.h>.
29983
29984 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
29985
29986 2008-08-07 Bean <bean123ch@gmail.com>
29987
29988 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
29989
29990 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
29991
29992 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
29993 multiple inclusion. Add #include <grub/types.h>.
29994
29995 2008-08-06 Christian Franke <franke@computer.org>
29996
29997 * conf/common.rmk: Build and install `10_windows'.
29998 * util/grub.d/10_windows.in: New script.
29999
30000 2008-08-06 Pavel Roskin <proski@gnu.org>
30001
30002 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
30003
30004 2008-08-06 Robert Millan <rmh@aybabtu.com>
30005
30006 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
30007 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
30008
30009 2008-08-06 Bean <bean123ch@gmail.com>
30010
30011 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
30012 (grub_pxefs_fs_int): Remove dummy definition.
30013 (grub_pxefs_open): Use data->block_size to store the current block
30014 size setting.
30015 (grub_pxefs_read): Use block size stored in data->block_size. As the
30016 value of grub_pxe_blksize can be changed after the file is opened.
30017
30018 2008-08-06 Bean <bean123ch@gmail.com>
30019
30020 * fs/i386/pc/pxe.c (curr_file): new variable.
30021 (grub_pxefs_open): Simply the handling of pxe file system. Don't
30022 require the dummy internal file system anymore.
30023 (grub_pxefs_read): Removed.
30024 (grub_pxefs_close): Likewise.
30025 (grub_pxefs_fs_int): Likewise.
30026 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
30027 connection when we switch file.
30028 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
30029
30030 2008-08-06 Robert Millan <rmh@aybabtu.com>
30031
30032 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
30033 `halt.mod'.
30034 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
30035 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
30036
30037 * kern/i386/halt.c: New file.
30038 * kern/i386/reboot.c: Likewise.
30039 * include/grub/i386/reboot.h: Likewise.
30040 * include/grub/i386/halt.h: Likewise.
30041
30042 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
30043 Include `<grub/cpu/halt.h>'.
30044 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
30045 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
30046
30047 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
30048 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
30049 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
30050 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
30051 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
30052 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
30053 from here ...
30054 * include/grub/i386/at_keyboard.h: ... to here.
30055
30056 2008-08-05 Robert Millan <rmh@aybabtu.com>
30057
30058 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
30059 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
30060 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
30061 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30062 `kern/generic/millisleep.c'.
30063
30064 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
30065 instead of grub_get_rtc().
30066 (grub_tsc_init): Initialize `tsc_boot_time'.
30067
30068 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
30069 (grub_machine_init): Use grub_tsc_init() rather than
30070 installing an RTC-based handler via grub_install_get_time_ms().
30071
30072 * kern/i386/pit.c: New file.
30073 * include/grub/i386/pit.h: Likewise.
30074
30075 2008-08-05 Bean <bean123ch@gmail.com>
30076
30077 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
30078
30079 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
30080 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
30081 (pxe_mod_SOURCES): New macro.
30082 (pxe_mod_CFLAGS): Likewise.
30083 (pxe_mod_LDFLAGS): Likewise.
30084 (pxecmd_mod_SOURCES): Likewise.
30085 (pxecmd_mod_CFLAGS): Likewise.
30086 (pxecmd_mod_LDFLAGS): Likewise.
30087
30088 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
30089 (grub_pxe_call): Likewise.
30090
30091 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
30092
30093 * commands/i386/pc/pxecmd.c: New file.
30094
30095 * fs/i386/pc/pxe.c: Likewise.
30096
30097 * include/grub/i386/pc/pxe.h: Likewise.
30098
30099 2008-08-05 Bean <bean123ch@gmail.com>
30100
30101 * util/console.c (grub_console_cur_color): New variable.
30102 (grub_console_standard_color): Likewise.
30103 (grub_console_normal_color): Likewise.
30104 (grub_console_highlight_color): Likewise.
30105 (color_map): Likewise.
30106 (use_color): Likewise.
30107 (NUM_COLORS): New macro.
30108 (grub_ncurses_setcolorstate): Handle color properly.
30109 (grub_ncurses_setcolor): Don't change color here, just remember the
30110 settings, color will be set in grub_ncurses_setcolorstate.
30111 (grub_ncurses_getcolor): New function.
30112 (grub_ncurses_init): Initialize color pairs.
30113 (grub_ncurses_term): New member grub_ncurses_getcolor.
30114
30115 2008-08-05 Colin D Bennett <colin@gibibit.com>
30116
30117 High resolution timer support. Implemented for x86 CPUs using TSC.
30118 Extracted generic grub_millisleep() so it's linked in only as needed.
30119 This requires a Pentium compatible CPU; if the RDTSC instruction is
30120 not supported, then it falls back on the generic grub_get_time_ms()
30121 implementation that uses the machine's RTC.
30122
30123 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
30124 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
30125 `kern/generic/millisleep.c'.
30126
30127 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
30128 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
30129
30130 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
30131 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
30132
30133 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30134
30135 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
30136 `kern/generic/millisleep.c'.
30137
30138 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30139
30140 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
30141
30142 * kern/generic/rtc_get_time_ms.c: New file.
30143
30144 * kern/generic/millisleep.c: New file.
30145
30146 * kern/misc.c: Don't include
30147 <kern/time.h> anymore.
30148 (grub_millisleep_generic): Removed.
30149
30150 * commands/sleep.c (grub_interruptible_millisleep): Uses
30151 grub_get_time_ms() instead of grub_get_rtc().
30152
30153 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
30154 function.
30155 (grub_cpu_is_cpuid_supported): New inline function.
30156 (grub_cpu_is_tsc_supported): New inline function.
30157 (grub_tsc_init): New function prototype.
30158 (grub_tsc_get_time_ms): New function prototype.
30159
30160 * kern/i386/tsc.c (grub_get_time_ms): New file.
30161
30162 * include/grub/time.h: Include <grub/types.h.
30163 (grub_millisleep_generic): Removed.
30164 (grub_get_time_ms): New prototype.
30165 (grub_install_get_time_ms): New prototype.
30166 (grub_rtc_get_time_ms): New prototype.
30167
30168 * kern/time.c (grub_get_time_ms): New function.
30169 (grub_install_get_time_ms): New function.
30170
30171 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
30172 <grub/time.h> anymore.
30173 (grub_millisleep): Removed.
30174 (grub_machine_init): Call grub_tsc_init.
30175
30176 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
30177 get_time_ms() implementation.
30178
30179 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
30180 (ieee1275_get_time_ms): New function.
30181 (grub_machine_init): Install get_time_ms() implementation.
30182
30183 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
30184 (grub_machine_init): Call grub_tsc_init().
30185 (grub_millisleep): Removed.
30186
30187 * kern/ieee1275/init.c (grub_millisleep): Removed.
30188 (grub_machine_init): Install ieee1275_get_time_ms()
30189 implementation.
30190 (ieee1275_get_time_ms): New function.
30191 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
30192 real work.
30193
30194 2008-08-05 Marco Gerards <marco@gnu.org>
30195
30196 * disk/ata.c: Include <grub/pci.h>.
30197 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
30198 (grub_ata_initialize): Rewritten.
30199 (grub_ata_device_initialize): New function.
30200
30201 2008-08-04 Pavel Roskin <proski@gnu.org>
30202
30203 * kern/main.c: Include grub/mm.h.
30204
30205 2008-08-04 Robert Millan <rmh@aybabtu.com>
30206
30207 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
30208 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
30209 corruption problem).
30210
30211 2008-08-04 Robert Millan <rmh@aybabtu.com>
30212
30213 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
30214 warnings introduced in my last commit.
30215
30216 2008-08-03 Robert Millan <rmh@aybabtu.com>
30217
30218 Make PCI available on all i386 architectures.
30219
30220 * include/grub/i386/pc/pci.h: Move from here ...
30221 * include/grub/i386/pci.h: ... to here.
30222
30223 * include/grub/i386/pc/pci.h: Remove.
30224 * include/grub/i386/efi/pci.h: Remove.
30225 * include/grub/x86_64/efi/pci.h: Remove.
30226
30227 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
30228 `<grub/cpu/pci.h>'.
30229
30230 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
30231 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
30232 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
30233
30234 * conf/i386-ieee1275.rmk: Likewise.
30235
30236 2008-08-03 Robert Millan <rmh@aybabtu.com>
30237
30238 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
30239 (grub_console_setcursor): Make it possible to set cursor off.
30240
30241 2008-08-03 Robert Millan <rmh@aybabtu.com>
30242
30243 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
30244 of modules instead of assuming which platform provides what.
30245 * util/update-grub.in: Likewise.
30246
30247 2008-08-03 Robert Millan <rmh@aybabtu.com>
30248
30249 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
30250 instead of `grub_install_dos_part' to determine whether a drive needs
30251 to be prepended to prefix (`grub_install_dos_part' is not reliable,
30252 because it can be overridden when loading GRUB via Multiboot).
30253
30254 2008-08-02 Robert Millan <rmh@aybabtu.com>
30255
30256 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
30257
30258 2008-08-02 Robert Millan <rmh@aybabtu.com>
30259
30260 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
30261 of informational grub_dprintf() calls.
30262
30263 2008-08-02 Robert Millan <rmh@aybabtu.com>
30264
30265 * disk/memdisk.c (memdisk_size): Don't initialize.
30266 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
30267
30268 * include/grub/i386/pc/kernel.h
30269 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
30270 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
30271 (grub_memdisk_image_size, grub_arch_memdisk_addr)
30272 (grub_arch_memdisk_size): Remove.
30273
30274 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
30275 field (was only used to transfer a constant). Add `type' field to
30276 support multiple module types.
30277 (grub_module_iterate): New function.
30278
30279 * kern/device.c (grub_device_open): Do not hide error messages
30280 when grub_disk_open() fails. Use grub_print_error() instead.
30281
30282 * kern/i386/pc/init.c (grub_arch_modules_addr)
30283 (grub_arch_memdisk_size): Remove functions.
30284 (grub_arch_modules_addr): Return the module address in high memory
30285 (now that it isn't copied anymore).
30286
30287 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
30288 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
30289 decompression routine (grub_total_module_size already includes that
30290 now). Don't copy modules back to low memory.
30291
30292 * kern/main.c: Include `<grub/mm.h>'.
30293 (grub_load_modules): Split out (and use) ...
30294 (grub_module_iterate): ... this function, which iterates through
30295 module objects and runs a hook.
30296 Comment out grub_mm_init_region() call, as it would cause non-ELF
30297 modules to be overwritten.
30298
30299 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
30300 the memdisk image in its own region, make it part of the module list.
30301 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
30302 (main): Parse --memdisk|-m option, and pass user-provided path as
30303 parameter to generate_image().
30304 (add_segments): Pass `memdisk_path' down to load_modules().
30305 (load_modules): Embed memdisk image in module section when requested.
30306 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
30307 `header.type' instead of `header.offset'.
30308
30309 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
30310 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
30311 (memdisk_mod_LDFLAGS): New variables.
30312 * conf/i386-coreboot.rmk: Likewise.
30313 * conf/i386-ieee1275.rmk: Likewise.
30314
30315 2008-08-02 Robert Millan <rmh@aybabtu.com>
30316
30317 * loader/i386/pc/multiboot.c (playground, forward_relocator)
30318 (backward_relocator): New variables. Used to allocate and relocate
30319 the payload, respectively.
30320 (grub_multiboot_load_elf32): Load into heap instead of requested
30321 address, install the appropriate relocator code in each bound of
30322 the payload, and set the entry point such that
30323 grub_multiboot_real_boot() will jump to one of them.
30324
30325 * kern/i386/loader.S (grub_multiboot_payload_size)
30326 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30327 (grub_multiboot_payload_entry_offset): New variables.
30328 (grub_multiboot_real_boot): Set cpu context to what the relocator
30329 expects, and jump to the relocator instead of the payload.
30330
30331 * include/grub/i386/loader.h (grub_multiboot_payload_size)
30332 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
30333 (grub_multiboot_payload_entry_offset): Export.
30334
30335 2008-08-01 Bean <bean123ch@gmail.com>
30336
30337 * normal/menu_entry.c (editor_getline): Don't return the original
30338 string as result, as it will be released by lexer once it has done
30339 using it.
30340
30341 2008-08-01 Robert Millan <rmh@aybabtu.com>
30342
30343 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
30344 within menuentries, not before them.
30345 util/grub.d/10_hurd.in: Likewise.
30346
30347 2008-08-01 Bean <bean123ch@gmail.com>
30348
30349 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
30350 (bufio_mod_SOURCES): New macro.
30351 (bufio_mod_CFLAGS): Likewise.
30352 (bufio_mod_LDFLAGS): Likewise.
30353
30354 * include/grub/bufio.h: New file.
30355
30356 * io/bufio.c: Likewise.
30357
30358 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
30359 (grub_video_reader_png): Use grub_buffile_open to open file.
30360
30361 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
30362 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
30363
30364 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
30365 (grub_video_reader_tga): Use grub_buffile_open to open file.
30366
30367 * font/manager.c: Include <grub/bufio.h>.
30368 (add_font): Use grub_buffile_open to open file.
30369
30370 2008-07-31 Robert Millan <rmh@aybabtu.com>
30371
30372 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
30373 ELF segments, use a macro for arbitrarily accessing any of them instead
30374 of preparing a pointer that allows access to one at a time.
30375 (grub_multiboot_load_elf64): Likewise.
30376
30377 2008-07-31 Bean <bean123ch@gmail.com>
30378
30379 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
30380 GRUB_KERNEL_MACHINE_DATA_END.
30381
30382 2008-07-30 Robert Millan <rmh@aybabtu.com>
30383
30384 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
30385 Increase from 0x50 to 0x60.
30386 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
30387 use UUIDs to identify the root drive for them. If that's not
30388 possible, abort.
30389 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
30390 check, for cross-disk installs.
30391
30392 2008-07-30 Robert Millan <rmh@aybabtu.com>
30393
30394 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
30395 is non-empty, use it to set the `prefix' environment variable instead
30396 of the usual approach.
30397 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
30398 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
30399 environment variable instead of dummy make_install_device().
30400
30401 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
30402 (start): Insert a data section, with `grub_prefix' variable.
30403 * kern/i386/linuxbios/startup.S: Likewise.
30404
30405 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
30406 New variable reference.
30407 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
30408 New macro. Defines offset of `grub_prefix' within startup.S (relative
30409 to `start').
30410 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
30411 section within startup.S (relative to `start').
30412 * include/grub/i386/coreboot/kernel.h: Likewise.
30413
30414 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
30415 Overwrite grub_prefix with its contents, at the beginning of the
30416 first segment.
30417 (main): Understand -p|--prefix.
30418
30419 2008-07-30 Robert Millan <rmh@aybabtu.com>
30420
30421 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
30422
30423 2008-07-30 Robert Millan <rmh@aybabtu.com>
30424
30425 * term/i386/pc/vga_text.c (grub_console_cls): Use
30426 grub_console_gotoxy() to go back to beginning of the screen.
30427 Found by Patrick Georgi <patrick.georgi@coresystems.de>
30428
30429 2008-07-29 Christian Franke <franke@computer.org>
30430
30431 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30432 Add conversion of emulated mount points on Cygwin.
30433
30434 2008-07-29 Christian Franke <franke@computer.org>
30435
30436 * util/update-grub.in: Add a check for admin
30437 group on Cygwin.
30438 Remove old `grub.cfg.new' before creation.
30439 Add `-f' to `mv' to handle the different filesystem
30440 semantics of Windows.
30441
30442 2008-07-29 Bean <bean123ch@gmail.com>
30443
30444 * normal/main.c (get_line): Fix buffer overflow bug.
30445
30446 2008-07-28 Robert Millan <rmh@aybabtu.com>
30447
30448 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
30449 (struct grub_apple_header): New struct. Describes the layout of
30450 the partmap header.
30451 (apple_partition_map_iterate): Check the header magic as well as the
30452 partition magic (which was already being checked).
30453
30454 2008-07-28 Pavel Roskin <proski@gnu.org>
30455
30456 * genmk.rb: Add a warning to the beginning of the output that
30457 it's a generated file and should not be edited.
30458
30459 2008-07-28 Robert Millan <rmh@aybabtu.com>
30460
30461 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
30462 with the same number are found, just use issue a warning with
30463 grub_dprintf(), as this error has been reported to be non-fatal.
30464
30465 2008-07-27 Robert Millan <rmh@aybabtu.com>
30466
30467 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
30468 information.
30469
30470 2008-07-27 Bean <bean123ch@gmail.com>
30471
30472 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
30473 (grub_fat_find_dir): Ignore case when comparing filename.
30474
30475 2008-07-27 Bean <bean123ch@gmail.com>
30476
30477 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
30478 smallino, as it's more descriptive, and i8count can be confused with
30479 the other field count.
30480 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
30481 inode type.
30482
30483 2008-07-27 Bean <bean123ch@gmail.com>
30484
30485 * commands/crc.c: New file.
30486
30487 * lib/crc.c: Likewise.
30488
30489 * include/grub/lib/crc.h: Likewise.
30490
30491 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
30492
30493 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
30494 (hexdump): Move this function to ...
30495
30496 * lib/hexdump.c: ... here.
30497
30498 * include/grub/hexdump.h: Renamed to ...
30499
30500 * include/grub/lib/hexdump.h: ... this.
30501
30502 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
30503
30504 * util/grub-editenv.c: Likewise.
30505
30506 * include/envblk.h: Renamed to ...
30507
30508 * include/lib/envblk.h: ... this.
30509
30510 * util/envblk.c: Renamed to ...
30511
30512 * lib/envblk.c: ... this.
30513
30514 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
30515 lib/hexdump.c.
30516 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
30517 (pkglib_MODULES): Add crc.mod.
30518 (hexdump_mod_SOURCES): Add lib/hexdump.c.
30519 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
30520 (crc_mod_SOURCES): New macro.
30521 (crc_mod_CFLAGS): Likewise.
30522 (crc_mod_LDFLAGS): Likewise.
30523
30524 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
30525
30526 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30527
30528 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30529
30530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30531
30532 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30533
30534 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
30535
30536 * commands/help.c: Include <grub/term.h>.
30537 (TERM_WIDTH): Removed. Updated all users.
30538
30539 2008-07-27 Pavel Roskin <proski@gnu.org>
30540
30541 * util/getroot.c (find_root_device): Rephrase a comment to avoid
30542 spurious warnings about a comment within a comment.
30543
30544 2008-07-25 Robert Millan <rmh@aybabtu.com>
30545
30546 * util/getroot.c (find_root_device): Skip devices that match
30547 /dev/dm-[0-9]. This lets the real device be found for any type of
30548 abstraction (LVM, EVMS, RAID..).
30549 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
30550 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
30551 device is found first, find_root_device() will now skip it.
30552
30553 2008-07-24 Pavel Roskin <proski@gnu.org>
30554
30555 * include/grub/types.h: Use __builtin_bswap32() and
30556 __builtin_bswap64() with gcc 4.3 and newer.
30557
30558 2008-07-24 Christian Franke <franke@computer.org>
30559
30560 * util/i386/pc/grub-install.in: If `--debug' is specified,
30561 pass `--verbose' to grub-setup.
30562 Abort script if make_system_path_relative_to_its_root() fails.
30563
30564 2008-07-24 Bean <bean123ch@gmail.com>
30565
30566 * configure.ac: Fixed a bug caused by the previous cygwin patch,
30567 variable `target_platform' should be `platform'.
30568
30569 2008-07-24 Bean <bean123ch@gmail.com>
30570
30571 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
30572 (grub_png_init_fixed_block): New function.
30573 (grub_png_decode_image_data): Handle fixed huffman code compression.
30574
30575 2008-07-24 Bean <bean123ch@gmail.com>
30576
30577 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
30578 (grub_pe2elf_SOURCES): New macro.
30579 (CLEANFILES): Add grub-pe2elf.
30580
30581 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
30582 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
30583 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
30584 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
30585 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
30586 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
30587 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
30588 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
30589 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
30590 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
30591 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
30592 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
30593 (GRUB_PE32_DT_FUNCTION): Likewise.
30594 (GRUB_PE32_REL_I386_DIR32): Likewise.
30595 (GRUB_PE32_REL_I386_REL32): Likewise.
30596 (grub_pe32_symbol): New structure.
30597 (grub_pe32_reloc): Likewise.
30598
30599 * util/grub-pe2elf.c: New file.
30600
30601 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
30602 start symbol in non pc platform.
30603
30604 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
30605
30606 The following patches are from Christian Franke.
30607
30608 * include/grub/dl.h: Remove .previous, gas supports this only
30609 for ELF format.
30610
30611 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
30612 Remove .type, gas supports this only for ELF format.
30613
30614 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
30615 nullbytes in symbol table. This fixes an infinite loop if table is
30616 zero filled.
30617
30618 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
30619 TARGET_IMG_LDFLAGS and EXEEXT.
30620
30621 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
30622 TARGET_IMG_LDFLAGS_AC.
30623 (grub_CHECK_STACK_ARG_PROBE): New function.
30624
30625 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
30626
30627 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
30628
30629 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
30630 to set TARGET_IMG_LD* accordingly.
30631 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
30632 Add call to grub_CHECK_STACK_ARG_PROBE.
30633 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
30634
30635 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
30636
30637 * genmk.rb: Add EXEEXT to CLEANFILES.
30638
30639 2008-07-23 Robert Millan <rmh@aybabtu.com>
30640
30641 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
30642 define the codes for arrows and lines used for the menu).
30643 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
30644 as well.
30645
30646 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
30647 fonts, because the latter are too slow.
30648
30649 2008-07-21 Bean <bean123ch@gmail.com>
30650
30651 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
30652 a20. Run keyboard test last, as it will cause macbook to halt.
30653
30654 2008-07-18 Pavel Roskin <proski@gnu.org>
30655
30656 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
30657 load foreign architecture modules correctly anyway. Keep
30658 support for loading host architecture modules, whether we
30659 compile them or not.
30660
30661 2008-07-17 Pavel Roskin <proski@gnu.org>
30662
30663 * configure.ac: Use -m32 or -m64 regardless of whether we had to
30664 change target_cpu. The compiler default can mismatch target_cpu
30665 in any case.
30666
30667 * disk/efi/efidisk.c: Fix format warnings on x86_64.
30668 * kern/efi/efi.c: Likewise.
30669
30670 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
30671 target compiler is functional.
30672 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
30673 are set up.
30674
30675 * configure.ac: Default to efi platform for x86_64-apple. Allow
30676 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
30677 adjustments from the rest, only do them if target is not
30678 explicitly given. Merge other adjustments with the final sanity
30679 check. Remove an extraneous check for supported CPU. Be
30680 specific which CPU and which platform is not supported.
30681
30682 * configure.ac: Default to pc platform for x86_64.
30683
30684 2008-07-17 Robert Millan <rmh@aybabtu.com>
30685
30686 Partial LinuxBIOS -> Coreboot rename.
30687
30688 * conf/i386-linuxbios.rmk: Renamed to ...
30689 * conf/i386-coreboot.rmk: ... this.
30690 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
30691 * configure.ac: Accept "coreboot" as input platform (but maintain
30692 compatibility with "linuxbios").
30693 * include/grub/i386/linuxbios: Renamed to ...
30694 * include/grub/i386/coreboot: ... this.
30695
30696 2008-07-17 Bean <bean123ch@gmail.com>
30697
30698 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
30699 (appleldr_mod_SOURCE): New variable.
30700 (appleldr_mod_CFLAGS): Likewise.
30701 (appleldr_mod_LDFLAGS): Likewise.
30702 (pci_mod_SOURCES): Likewise.
30703 (pci_mod_CFLAGS): Likewise.
30704 (pci_mod_LDFLAGS): Likewise.
30705 (lspci_mod_SOURCES): Likewise.
30706 (lspci_mod_CFLAGS): Likewise.
30707 (lspci_mod_LDFLAGS): Likewise.
30708
30709 * conf/x86_64-efi.rmk: New file.
30710
30711 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
30712 macro.
30713 (grub_efidisk_write): Likewise.
30714
30715 * include/efi/api.h (efi_call_0): New macro.
30716 (efi_call_1): Likewise.
30717 (efi_call_2): Likewise.
30718 (efi_call_3): Likewise.
30719 (efi_call_4): Likewise.
30720 (efi_call_5): Likewise.
30721 (efi_call_6): Likewise.
30722
30723 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
30724 grub_rescue_cmd_chainloader.
30725
30726 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
30727 (grub_pe32_optional_header): Change some fields based on i386 or
30728 x86_64 platform.
30729 (GRUB_PE32_PE32_MAGIC): Likewise.
30730
30731 * include/grub/efi/uga_draw.h: New file.
30732
30733 * include/grub/elf.h (STN_ABS): New constant.
30734 (R_X86_64_NONE): Relocation constant for x86_64.
30735 (R_X86_64_64): Likewise.
30736 (R_X86_64_PC32): Likewise.
30737 (R_X86_64_GOT32): Likewise.
30738 (R_X86_64_PLT32): Likewise.
30739 (R_X86_64_COPY): Likewise.
30740 (R_X86_64_GLOB_DAT): Likewise.
30741 (R_X86_64_JUMP_SLOT): Likewise.
30742 (R_X86_64_RELATIVE): Likewise.
30743 (R_X86_64_GOTPCREL): Likewise.
30744 (R_X86_64_32): Likewise.
30745 (R_X86_64_32S): Likewise.
30746 (R_X86_64_16): Likewise.
30747 (R_X86_64_PC16): Likewise.
30748 (R_X86_64_8): Likewise.
30749 (R_X86_64_PC8): Likewise.
30750
30751 * include/grub/i386/efi/pci.h: New file.
30752
30753 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
30754 Change it value based on platform.
30755 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
30756 (GRUB_E820_RAM): Likewise.
30757 (GRUB_E820_RESERVED): Likewise.
30758 (GRUB_E820_ACPI): Likewise.
30759 (GRUB_E820_NVS): Likewise.
30760 (GRUB_E820_EXEC_CODE): Likewise.
30761 (GRUB_E820_MAX_ENTRY): Likewise.
30762 (grub_e820_mmap): New structure.
30763 (linux_kernel_header): Change the efi field according to different
30764 kernel version, also field from linux_kernel_header.
30765
30766 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
30767
30768 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
30769 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
30770 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
30771 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
30772 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
30773 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
30774 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
30775 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
30776 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
30777 (GRUB_PCI_ADDR_IO_MASK): Likewise.
30778
30779 * include/grub/x86_64/efi/kernel.h: New file.
30780
30781 * include/grub/x86_64/efi/loader.h: Likewise.
30782
30783 * include/grub/x86_64/efi/machine.h: Likewise.
30784
30785 * include/grub/x86_64/efi/pci.h: Likewise.
30786
30787 * include/grub/x86_64/efi/time.h: Likewise.
30788
30789 * include/grub/x86_64/linux.h: Likewise.
30790
30791 * include/grub/x86_64/setjmp.h: Likewise.
30792
30793 * include/grub/x86_64/time.h: Likewise.
30794
30795 * include/grub/x86_64/types.h: Likewise.
30796
30797 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
30798 GRUB_TARGET_SIZEOF_VOID_P.
30799
30800 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
30801 (grub_efi_locate_handle): Likewise.
30802 (grub_efi_open_protocol): Likewise.
30803 (grub_efi_set_text_mode): Likewise.
30804 (grub_efi_stall): Likewise.
30805 (grub_exit): Likewise.
30806 (grub_reboot): Likewise.
30807 (grub_halt): Likewise.
30808 (grub_efi_exit_boot_services): Likewise.
30809 (grub_get_rtc): Likewise.
30810
30811 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
30812 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
30813 (grub_efi_allocate_pages): Wrap efi calls.
30814 (grub_efi_free_pages): Wrap efi calls.
30815 (grub_efi_get_memory_map): Wrap efi calls.
30816
30817 * kern/x86_64/dl.c: New file.
30818
30819 * kern/x86_64/efi/callwrap.S: Likewise.
30820
30821 * kern/x86_64/efi/startup.S: Likewise.
30822
30823 * loader/efi/appleloader.c: Likewise.
30824
30825 * loader/efi/chainloader.c (cmdline): New variable.
30826 (grub_chainloader_unload): Wrap efi calls.
30827 (grub_chainloader_boot): Likewise.
30828 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
30829 command line.
30830
30831 * loader/efi/chainloader_normal.c (chainloader_command):
30832 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
30833 command line.
30834
30835 * loader/i386/efi/linux.c (allocate_pages): Change allocation
30836 method.
30837 (grub_e820_add_region): New function.
30838 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
30839 booting.
30840 (grub_find_video_card): New function.
30841 (grub_linux_setup_video): New function.
30842 (grub_rescue_cmd_linux): Probe for video information.
30843
30844 * normal/x86_64/setjmp.S: New file.
30845
30846 * term/efi/console.c (map_char): New function.
30847 (grub_console_putchar): Map unicode char.
30848 (grub_console_checkkey): Wrap efi calls.
30849 (grub_console_getkey): Likewise.
30850 (grub_console_getwh): Likewise.
30851 (grub_console_gotoxy): Likewise.
30852 (grub_console_cls): Likewise.
30853 (grub_console_setcolorstate): Likewise.
30854 (grub_console_setcursor): Likewise.
30855
30856 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
30857
30858 2008-07-16 Pavel Roskin <proski@gnu.org>
30859
30860 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
30861 format strings.
30862
30863 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
30864 pointer, not an integer. This fixes a warning and prevents
30865 precision loss on 64-bit systems.
30866 (relocate_addresses): Remove unneeded cast.
30867
30868 2008-07-15 Pavel Roskin <proski@gnu.org>
30869
30870 * kern/i386/ieee1275/init.c: Include grub/cache.h.
30871
30872 * term/ieee1275/ofconsole.c: Disable code unused on i386.
30873
30874 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
30875 Fix comparison between signed and unsigned.
30876
30877 * include/grub/i386/ieee1275/console.h: Declare
30878 grub_console_init() and grub_console_fini().
30879
30880 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
30881 It's empty and unused.
30882
30883 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
30884 beginning to avoid warnings with some compilers.
30885
30886 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
30887 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
30888
30889 2008-07-14 Pavel Roskin <proski@gnu.org>
30890
30891 * kern/env.c (grub_register_variable_hook): Don't copy empty
30892 string, it leaks memory. Pass "" to grub_env_set(), it should
30893 handle constant strings.
30894
30895 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
30896 * commands/cmp.c (grub_cmd_cmp): Likewise.
30897 * kern/dl.c (grub_dl_flush_cache): Likewise.
30898 (grub_dl_load_core): Likewise.
30899 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
30900 (grub_elf64_load_phdrs): Likewise.
30901
30902 2008-07-13 Pavel Roskin <proski@gnu.org>
30903
30904 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
30905 between signed and unsigned.
30906 (LzmaEnc_Finish): Fix warning about an unused parameter.
30907
30908 2008-07-13 Bean <bean123ch@gmail.com>
30909
30910 * Makefile.in (enable_lzo): New rule.
30911
30912 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
30913
30914 * configure.ac (ENABLE_LZO): New option --enable-lzo.
30915
30916 * boot/i386/pc/lnxboot.S: #include <config.h>.
30917
30918 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
30919 its value according to the compression algorithm used, lzo or lzma.
30920
30921 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
30922 compression algorithm according to configure macro.
30923
30924 * kern/i386/pc/startup.S (codestart): Likewise.
30925
30926 * kern/i386/pc/lzma_decode.S: New file.
30927
30928 * include/grub/lib/LzFind.h: Likewise.
30929
30930 * include/grub/lib/LzHash.h: Likewise.
30931
30932 * include/grub/lib/LzmaDec.h: Likewise.
30933
30934 * include/grub/lib/LzmaEnc.h: Likewise.
30935
30936 * include/grub/lib/LzmaTypes.h: Likewise.
30937
30938 * lib/LzFind.c: Likewise.
30939
30940 * lib/LzmaDec.c: Likewise.
30941
30942 * lib/LzmaEnc.c: Likewise.
30943
30944 2008-07-13 Bean <bean123ch@gmail.com>
30945
30946 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
30947 (grub_ext4_extent_header): New structure.
30948 (grub_ext4_extent): Likewise.
30949 (grub_ext4_extent_idx): Likewise.
30950 (grub_ext4_find_leaf): New function.
30951 (grub_ext2_read_block): Handle extents.
30952
30953 2008-07-12 Robert Millan <rmh@aybabtu.com>
30954
30955 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
30956
30957 2008-07-11 Robert Millan <rmh@aybabtu.com>
30958
30959 * util/grub.d/40_custom.in: New file. Example on how to add custom
30960 entries to /etc/grub.d.
30961 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
30962 40_custom (implicitly, by merging all the grub.d rules).
30963
30964 2008-07-11 Pavel Roskin <proski@gnu.org>
30965
30966 * commands/read.c (grub_getline): Fix invalid memory access.
30967 Don't add newline to the variable value.
30968
30969 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
30970 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
30971 (serial_hw_get_port): Check validity of the port number.
30972 (grub_cmd_serial): Check return value of serial_hw_get_port().
30973
30974 2008-07-07 Pavel Roskin <proski@gnu.org>
30975
30976 * boot/i386/pc/diskboot.S (notification_string): Replace
30977 "Loading kernel" with just "loading". This is shorter, less
30978 confusing and saves a few bytes for possible future changes.
30979
30980 2008-07-05 Pavel Roskin <proski@gnu.org>
30981
30982 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
30983 size for ATAPI devices, they are undefined. Output sector
30984 number in decimal form.
30985
30986 * disk/ata.c: Use named constants for status bits.
30987
30988 2008-07-04 Pavel Roskin <proski@gnu.org>
30989
30990 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
30991 grub_addr_t before casting it to the void pointer to fix a
30992 warning. Non-addressable regions are discarded earlier.
30993 (grub_arch_modules_addr): Cast _end to grub_addr_t.
30994 * kern/i386/linuxbios/table.c: Include grub/misc.h.
30995 (check_signature): Don't shadow table_header.
30996 (grub_linuxbios_table_iterate): Cast numeric constants to
30997 grub_linuxbios_table_header_t.
30998 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
30999 grub_stop().
31000
31001 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
31002 prevent warnings.
31003
31004 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
31005 pointer, which can cause warnings. Support 64-bit addresses.
31006
31007 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
31008 of sizeof(long). This fixes PowerPC image generation on x86_64.
31009
31010 2008-07-04 Robert Millan <rmh@aybabtu.com>
31011
31012 This fixes a performance issue when pc & gpt partmap iterators
31013 didn't abort iteration even after our hook found what it was
31014 looking for (often causing expensive probes of non-existent drives).
31015
31016 Some callers relied on previous buggy behaviour, since they would
31017 raise an error when their own hooks caused early abortion of its
31018 iteration.
31019
31020 * kern/device.c (grub_device_open): Improve error message.
31021 * disk/lvm.c (grub_lvm_open): Likewise.
31022 * disk/raid.c (grub_raid_open): Likewise.
31023
31024 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
31025 when hook requests it, independently of grub_errno.
31026 (pc_partition_map_probe): Do not fail when find_func() caused
31027 early abortion of pc_partition_map_iterate().
31028
31029 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
31030 when hook requests it, independently of grub_errno.
31031 (gpt_partition_map_probe): Do not fail when find_func() caused
31032 early abortion of gpt_partition_map_iterate().
31033
31034 * kern/partition.c (grub_partition_iterate): Abort parent iteration
31035 when hook requests it, independently of grub_errno. Do not fail when
31036 part_map_iterate_hook() caused early abortion of p->iterate().
31037
31038 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
31039 when grub_partition_iterate() returned with non-zero.
31040
31041 2008-07-03 Pavel Roskin <proski@gnu.org>
31042
31043 * disk/ata.c (grub_ata_pio_write): Check status before writing,
31044 like we do in grub_ata_pio_read().
31045 (grub_ata_readwrite): Always write individual sectors. Fix the
31046 sector count for the remainder.
31047 (grub_ata_write): Enable writing to ATA devices. Correctly
31048 report error for ATAPI devices.
31049
31050 2008-07-02 Pavel Roskin <proski@gnu.org>
31051
31052 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
31053 warning.
31054
31055 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
31056 for every read sector, we already increment it for the whole
31057 batch. This fixes reading more than 256 sectors at once.
31058
31059 * util/grub-editenv.c (cmd_info): Cast argument to long
31060 explicitly. ptrdiff_t reduces to int on i386.
31061
31062 * util/grub-editenv.c (main): Be specific which parameter is
31063 missing.
31064
31065 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
31066 (memdisk): Make memdisk_orig_addr a pointer.
31067
31068 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
31069 for file offsets, use grub_off_t instead. Fix printf format
31070 warnings.
31071
31072 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
31073 there. Real unexpected warnings should not drown in the noise
31074 about known problems.
31075
31076 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
31077 grub_disk_addr_t for memory addresses.
31078
31079 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
31080 explicitly to fix a warning.
31081
31082 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
31083
31084 * Makefile.in (MODULE_LDFLAGS): New variable.
31085 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
31086 the linker accepts --build-id=none.
31087 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
31088 MODULE_LDFLAGS.
31089 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
31090
31091 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
31092 those in Linux XFS code. Provide a way to access 64-bit parent
31093 inode.
31094 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
31095 the end of struct grub_xfs_dir_header.
31096
31097 2008-07-02 Bean <bean123ch@gmail.com>
31098
31099 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
31100 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31101 and GRUB_IEEE1275_FLAG_NO_ANSI.
31102
31103 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
31104 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
31105 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
31106
31107 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
31108 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
31109
31110 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
31111 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
31112
31113 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
31114 esc sequence on non ANSI terminal.
31115 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
31116
31117 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
31118 beginning of file.
31119
31120 2008-07-02 Bean <bean123ch@gmail.com>
31121
31122 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
31123 (grub_editenv_SOURCES): New variable.
31124 (pkglib_MODULES): Add loadenv.mod.
31125 (loadenv_mod_SOURCES): New variable.
31126 (loadenv_mod_CFLAGS): Likewise.
31127 (loadenv_mod_LDFLAGS): Likewise.
31128
31129 * include/grub/envblk.h: New file.
31130
31131 * util/envblk.c: New file.
31132
31133 * util/grub-editenv.c: New file.
31134
31135 * commands/loadenv.c: New file.
31136
31137 2008-07-01 Pavel Roskin <proski@gnu.org>
31138
31139 * include/multiboot2.h (struct multiboot_tag_module): Use char,
31140 not unsigned char. This fixes warnings and is consistent with
31141 other tags.
31142
31143 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
31144
31145 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
31146
31147 * term/tparm.c (analyze): Always set *popcount.
31148
31149 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
31150 cast to fix a warning.
31151
31152 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
31153 cast to suppress a warning.
31154
31155 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
31156 grub_fshelp_read_file() expects.
31157
31158 * fs/fat.c: Fix UUID calculation on big-endian systems. We
31159 write uuid as a 32-bit value in CPU byte order, so declare and
31160 use it as such.
31161
31162 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
31163 long if the format specifier expects it.
31164 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
31165 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31166 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
31167 long to fix a warning.
31168 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
31169 grub_dprintf() arguments to fix warnings.
31170
31171 2008-06-30 Pavel Roskin <proski@gnu.org>
31172
31173 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
31174 install_bsd_part immediately before core.img is embedded or
31175 modified on disk. This fixes core.img verification if core.img
31176 cannot be embedded.
31177
31178 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
31179 core_path to calculate the blocklist.
31180 Patch from Javier Martín <lordhabbit@gmail.com>
31181
31182 2008-06-29 Robert Millan <rmh@aybabtu.com>
31183
31184 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
31185 block to disk block.
31186 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
31187 Patch from Niels Böhm <bitbucket@arcor.de>
31188
31189 2008-06-29 Robert Millan <rmh@aybabtu.com>
31190
31191 * util/update-grub_lib.in (font_path): Search for fonts in
31192 /boot/grub first, which is more likely to be readable (we aren't
31193 deciding where fonts live, just looking for them).
31194
31195 2008-06-26 Pavel Roskin <proski@gnu.org>
31196
31197 * util/biosdisk.c (read_device_map): Don't leave dead map
31198 entries for devices failing stat() check.
31199
31200 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
31201 core_path_dev for the core.img path on the target device.
31202
31203 2008-06-26 Robert Millan <rmh@aybabtu.com>
31204
31205 * disk/fs_uuid.c: New file.
31206 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
31207 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
31208 (fs_uuid_mod_LDFLAGS): New variables.
31209 * include/grub/disk.h (grub_disk_dev_id): Add
31210 `GRUB_DISK_DEVICE_UUID_ID'.
31211 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
31212 implement iterate().
31213
31214 2008-06-26 Robert Millan <rmh@aybabtu.com>
31215
31216 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
31217 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
31218 Linux image includes no initrd.
31219
31220 2008-06-21 Javier Martín <lordhabbit@gmail.com>
31221
31222 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
31223 call to resolve the core image location that effectively appended the
31224 name twice.
31225
31226 2008-06-21 Robert Millan <rmh@aybabtu.com>
31227
31228 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
31229 call from here ...
31230
31231 * util/grub.d/10_hurd.in: ... to here ...
31232 * util/grub.d/10_linux.in: ... and here.
31233
31234 2008-06-19 Robert Millan <rmh@aybabtu.com>
31235
31236 * kern/main.c (grub_main): Export `prefix' variable immediately
31237 after it has been set by grub_machine_set_prefix().
31238
31239 2008-06-19 Robert Millan <rmh@aybabtu.com>
31240
31241 * commands/search.c (search_label, search_fs_uuid, search_file): Print
31242 search result when not saving to variable, not the other way around.
31243 When saving to variable, abort iteration as soon as a match is found.
31244
31245 2008-06-19 Robert Millan <rmh@aybabtu.com>
31246
31247 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
31248 check for partition that provides /boot/grub. Its logic is flawed,
31249 as it prevents prepare_grub_to_access_device() from being called
31250 multiple times.
31251
31252 2008-06-19 Robert Millan <rmh@aybabtu.com>
31253
31254 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
31255 "insmod" command directly when abstraction modules are needed,
31256 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
31257 since it had already been processed).
31258
31259 2008-06-19 Pavel Roskin <proski@gnu.org>
31260
31261 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
31262 changed. This is needed in case GRUB_LIBDIR changes.
31263 * conf/i386-ieee1275.rmk: Likewise.
31264 * conf/i386-linuxbios.rmk: Likewise.
31265 * conf/i386-pc.rmk: Likewise.
31266 * conf/powerpc-ieee1275.rmk: Likewise.
31267
31268 2008-06-18 Pavel Roskin <proski@gnu.org>
31269
31270 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
31271 kernel_elf_symlist.c to symlist.c for consistency with other
31272 architectures. Update all users.
31273 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
31274
31275 2008-06-18 Robert Millan <rmh@aybabtu.com>
31276
31277 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
31278 it in prefix.
31279
31280 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
31281 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
31282 a RAID device, run setup() for all members independently on whether
31283 LVM abstraction is being used.
31284 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
31285 If grub-mkimage has set `*install_dos_part == -2', don't override this
31286 value.
31287 Perform *install_dos_part adjustments independently on whether
31288 we're embedding or not.
31289 Clarify error message when image is too big for embedding.
31290 Remove duplicate *install_dos_part stanza.
31291
31292 2008-06-17 Robert Millan <rmh@aybabtu.com>
31293
31294 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
31295 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
31296 variables.
31297 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
31298 values in grub_ofconsole_normal_color and
31299 grub_ofconsole_highlight_color (they're not directly related to
31300 background and foreground).
31301 (grub_ofconsole_setcolorstate): Extract background and foreground
31302 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
31303
31304 2008-06-17 Robert Millan <rmh@aybabtu.com>
31305
31306 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
31307 /boot/grub for the check in last commit, not /boot (they could be
31308 different partitions).
31309
31310 2008-06-16 Robert Millan <rmh@aybabtu.com>
31311
31312 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
31313 asked to setup access for the same partition that provides /boot,
31314 don't bother using UUIDs since our root already has the value we
31315 want.
31316
31317 2008-06-16 Robert Millan <rmh@aybabtu.com>
31318
31319 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
31320 I2O devices.
31321 Patch from Sven Mueller <sven@debian.org>.
31322
31323 2008-06-16 Robert Millan <rmh@aybabtu.com>
31324
31325 * util/update-grub.in: Check for $EUID instead of $UID.
31326 Reported by Vincent Zweije.
31327
31328 2008-06-16 Bean <bean123ch@gmail.com>
31329
31330 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
31331 (grub_ext2_read_block): Likewise.
31332 (grub_ext2_read_inode): Likewise.
31333 (grub_ext2_mount): Likewise.
31334 (grub_ext2_close): Likewise.
31335 (grub_ext3_get_journal): Removed.
31336
31337 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
31338 (grub_reiserfs_read_symlink): Likewise.
31339 (grub_reiserfs_mount): Likewise.
31340 (grub_reiserfs_open): Likewise.
31341 (grub_reiserfs_read): Likewise.
31342 (grub_reiserfs_close): Likewise.
31343 (grub_reiserfs_get_journal): Removed.
31344
31345 * fs/fshelp.c (grub_fshelp_read): Removed.
31346 (grub_fshelp_map_block): Likewise.
31347
31348 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
31349 (grub_fshelp_journal): Likewise.
31350 (grub_fshelp_read): Likewise.
31351 (grub_fshelp_map_block): Likewise.
31352
31353 2008-06-16 Pavel Roskin <proski@gnu.org>
31354
31355 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
31356 floating point anymore.
31357 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
31358
31359 2008-06-15 Pavel Roskin <proski@gnu.org>
31360
31361 * commands/ls.c (grub_ls_list_files): Use integer calculations
31362 for human readable format, avoid floating point use.
31363 * kern/misc.c (grub_ftoa): Remove.
31364 (grub_vsprintf): Remove floating point support.
31365
31366 2008-06-15 Robert Millan <rmh@aybabtu.com>
31367
31368 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
31369 devices.
31370 Reported by Max Vozeler.
31371
31372 2008-06-15 Robert Millan <rmh@aybabtu.com>
31373
31374 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
31375 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
31376 skipped later.
31377 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
31378 the beginning of the prefix.
31379
31380 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
31381 It is assumed that if we have a memdisk, grub-mkimage has set
31382 grub_prefix to include the "(memdisk)" drive in it.
31383
31384 2008-06-15 Robert Millan <rmh@aybabtu.com>
31385
31386 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
31387 Initialize keyboard controller after registering the terminal, so that
31388 grub_printf() can be called from grub_keyboard_controller_init().
31389
31390 2008-06-15 Robert Millan <rmh@aybabtu.com>
31391
31392 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
31393 extent-btree which is written as big endian on disk.
31394 Reported by Alain Greppin <al@chilibi.org>.
31395
31396 2008-06-14 Robert Millan <rmh@aybabtu.com>
31397
31398 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
31399 * util/i386/pc/grub-install.in (modules): Likewise.
31400
31401 2008-06-13 Pavel Roskin <proski@gnu.org>
31402
31403 * commands/ls.c (grub_ls_list_files): Fix format warnings.
31404
31405 2008-06-13 Bean <bean123ch@gmail.com>
31406
31407 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
31408
31409 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
31410
31411 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
31412 to indicate sparse block.
31413
31414 2008-06-12 Pavel Roskin <proski@gnu.org>
31415
31416 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
31417 number, grub_fshelp_read() does it for us.
31418
31419 * fs/fshelp.c (grub_fshelp_read): New function. Implement
31420 linear disk read with journal translation.
31421 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
31422 * include/grub/fshelp.h: Declare grub_fshelp_read().
31423
31424 2008-06-09 Pavel Roskin <proski@gnu.org>
31425
31426 * fs/minix.c (grub_minix_mount): Handle error reading
31427 superblock.
31428
31429 2008-06-08 Robert Millan <rmh@aybabtu.com>
31430
31431 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
31432 don't append the RAID prefix afterwards.
31433 Reported by Clint Adams.
31434
31435 2008-06-08 Robert Millan <rmh@aybabtu.com>
31436
31437 Based on description from Pavel:
31438 * kern/disk.c (grub_disk_check_range): Rename to ...
31439 (grub_disk_adjust_range): ... this. Add a comment explaining the
31440 tasks performed by this function.
31441
31442 2008-06-08 Robert Millan <rmh@aybabtu.com>
31443
31444 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
31445 `num_serial' (for consistency with other variables).
31446 (struct grub_ntfs_data): Add `uuid' member.
31447 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
31448 (grub_ntfs_uuid): New function.
31449 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
31450
31451 2008-06-07 Pavel Roskin <proski@gnu.org>
31452
31453 * util/biosdisk.c (open_device): Revert last change to the
31454 function, it broke installation. The sector needs to be
31455 different dependent on which device is opened.
31456
31457 2008-06-06 Robert Millan <rmh@aybabtu.com>
31458
31459 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
31460 rest of GRUB, and breakage doesn't happen if its value were modified.
31461
31462 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31463 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
31464 a constant (same value).
31465 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
31466 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
31467
31468 2008-06-06 Robert Millan <rmh@aybabtu.com>
31469
31470 * util/biosdisk.c (open_device): Do not modify sector offset when
31471 accessing a partition. kern/disk.c already handles this for us.
31472
31473 2008-06-06 Robert Millan <rmh@aybabtu.com>
31474
31475 * util/grub-emu.c (grub_machine_init): Move code in this function from
31476 here ...
31477 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
31478 segfault in case grub_printf() is called).
31479
31480 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
31481 grub_probe. Update all users not to explicitly add it again.
31482 (grub_device): New variable; contains corresponding device for grubdir.
31483 (fs_module, partmap_module, devabstraction_module): Pass
31484 `--device ${grub_device}' to grub_probe to avoid traversing /dev
31485 every time.
31486
31487 2008-06-05 Robert Millan <rmh@aybabtu.com>
31488
31489 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
31490 is found, print it (same layout as with labels).
31491
31492 2008-06-04 Robert Millan <rmh@aybabtu.com>
31493
31494 * util/biosdisk.c (get_drive): Rename to ...
31495 (find_grub_drive): ... this. Update all users.
31496
31497 (get_os_disk): Rename to ...
31498 (convert_system_partition_to_system_disk): ... this. Update all users.
31499
31500 (find_drive): Rename to ...
31501 (find_system_device): ... this. Update all users.
31502
31503 2008-06-04 Robert Millan <rmh@aybabtu.com>
31504
31505 * util/biosdisk.c (get_os_disk): Handle IDA devices.
31506 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31507 (make_device_map): Likewise.
31508
31509 2008-06-01 Robert Millan <rmh@aybabtu.com>
31510
31511 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
31512 before dereferencing it.
31513
31514 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
31515 union with fat12/fat16-specific ones. Add some new fields, including
31516 `num_serial' for both versions.
31517 (struct grub_fat_data): Add `uuid' member.
31518 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
31519 names. Initialize `data->uuid' using `num_serial'.
31520 (grub_fat_uuid): New function.
31521 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
31522
31523 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
31524 (grub_reiserfs_uuid): New function.
31525 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
31526 member.
31527
31528 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
31529 (grub_xfs_uuid): New function.
31530 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
31531
31532 2008-06-01 Robert Millan <rmh@aybabtu.com>
31533
31534 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
31535 code that is backward compatible with pre-uuid search command.
31536
31537 2008-05-31 Robert Millan <rmh@aybabtu.com>
31538
31539 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
31540 floppies after everything else, to ensure floppy drive isn't accessed
31541 unnecessarily (patch from Bean).
31542
31543 2008-05-31 Robert Millan <rmh@aybabtu.com>
31544
31545 * commands/search.c (search_label, search_fs_uuid, search_file): Do
31546 not print device names when we were asked to set a variable.
31547
31548 2008-05-31 Robert Millan <rmh@aybabtu.com>
31549
31550 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
31551 using "cursor-on" and "cursor-off" commands (understood at least by
31552 the Open Firmware flavour on OLPC).
31553
31554 2008-05-31 Michael Gorven <michael@gorven.za.net>
31555
31556 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
31557 on and off sequences.
31558
31559 2008-05-31 Robert Millan <rmh@aybabtu.com>
31560
31561 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
31562 * util/update-grub.in: Likewise.
31563
31564 2008-05-30 Pavel Roskin <proski@gnu.org>
31565
31566 * util/biosdisk.c (linux_find_partition): Simplify logic and
31567 make the code more universal. Keep special processing for
31568 devfs, but use a simple rule for all other devices. If the
31569 device ends with a number, append 'p' and the partition number.
31570 Otherwise, append only the partition number.
31571
31572 2008-05-30 Robert Millan <rmh@aybabtu.com>
31573
31574 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
31575 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
31576 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
31577 the `root' parameter to Linux.
31578
31579 2008-05-30 Robert Millan <rmh@aybabtu.com>
31580
31581 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
31582 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
31583 --fs_uuid with --fs-uuid.
31584 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
31585 all filesystems support them).
31586
31587 2008-05-30 Robert Millan <rmh@aybabtu.com>
31588
31589 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
31590 grub_printf() flags, since we're printing in units of 2 bytes.
31591
31592 2008-05-30 Robert Millan <rmh@aybabtu.com>
31593
31594 * util/grub.d/00_header.in: Remove obsolete comment referencing
31595 convert_system_path_to_grub_path().
31596 * util/update-grub.in: Likewise.
31597 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
31598 (convert_system_path_to_grub_path): Add a warning message explaining
31599 that this function is deprecated. Rely on is_path_readable_by_grub()
31600 for the readability checks.
31601 (font_path): Use is_path_readable_by_grub() for the readability
31602 check rather than convert_system_path_to_grub_path().
31603
31604 2008-05-30 Robert Millan <rmh@aybabtu.com>
31605
31606 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
31607 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
31608 converting it first.
31609 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
31610 grub.cfg for access to font file, and afterwards call it again to set
31611 the root device.
31612
31613 2008-05-30 Robert Millan <rmh@aybabtu.com>
31614
31615 * commands/search.c (options): Add --fs_uuid option.
31616 (search_fs_uuid): New function.
31617 (grub_cmd_search): Fix --set argument passing.
31618 Use search_fs_uuid() when requested via --fs_uuid.
31619 (grub_search_init): Update help message.
31620 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
31621 and redeclare it as an array of 16-bit words.
31622 (grub_ext2_uuid): New function.
31623 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
31624 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
31625 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
31626 (GRUB_DEVICE_BOOT_UUID): New variables.
31627 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
31628 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
31629 whenever possible.
31630 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
31631 just assume `root' variable has the right value.
31632 * util/grub.d/10_linux.in: Likewise.
31633 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
31634 via PRINT_FS_UUID.
31635 (main): Recognise `-t fs_uuid' argument.
31636
31637 2008-05-30 Robert Millan <rmh@aybabtu.com>
31638
31639 * util/biosdisk.c (map): Redefine structure to hold information
31640 about GRUB drive name.
31641 (get_drive): Reimplement without assuming (and verifying) BIOS-like
31642 drive names.
31643 (call_hook): Remove.
31644 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
31645 member. Assume drive has partitions.
31646 (grub_util_biosdisk_open): Access device names via `.device' struct
31647 member.
31648 (open_device): Likewise.
31649 (find_drive): Likewise.
31650 (read_device_map): Adjust map[] usage to match the new struct
31651 definition. Don't check for duplicates (still possible, but not cheap
31652 anymore).
31653 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
31654 (make_device_name): Remove assumption of BIOS-like drive names.
31655
31656 2008-05-30 Pavel Roskin <proski@gnu.org>
31657
31658 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
31659 compiling execute.c doesn't need grub_script.tab.h anymore.
31660 (normal/command.c_DEPENDENCIES): Likewise.
31661 (normal/function.c_DEPENDENCIES): Likewise.
31662 * conf/i386-ieee1275.rmk: Likewise.
31663 * conf/i386-linuxbios.rmk: Likewise.
31664 * conf/i386-pc.rmk: Likewise.
31665 * conf/powerpc-ieee1275.rmk: Likewise.
31666 * conf/sparc64-ieee1275.rmk: Likewise.
31667
31668 2008-05-29 Pavel Roskin <proski@gnu.org>
31669
31670 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
31671 when scanning metadata for volume group name.
31672
31673 * include/grub/script.h: Don't include grub_script.tab.h. It's
31674 a generated file, which may only be included from the files with
31675 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
31676 use union YYSTYPE, as the later allows forward declaration.
31677 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
31678
31679 2008-05-29 Robert Millan <rmh@aybabtu.com>
31680
31681 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
31682 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
31683 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
31684 (grub_console_checkkey): Add grub_dprintf() call to report unknown
31685 scan codes.
31686
31687 2008-05-29 Robert Millan <rmh@aybabtu.com>
31688
31689 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
31690 control key combinations.
31691
31692 2008-05-29 Robert Millan <rmh@aybabtu.com>
31693
31694 * util/powerpc/ieee1275/grub-install.in: Move from here ...
31695 * util/ieee1275/grub-install.in: ... to here.
31696 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
31697 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
31698 (grub_install_SOURCES): Likewise.
31699
31700 2008-05-29 Robert Millan <rmh@aybabtu.com>
31701
31702 * fs/affs.c: Update copyright year.
31703 * fs/ext2.c: Likewise.
31704 * fs/fshelp.c: Likewise.
31705 * fs/hfsplus.c: Likewise.
31706 * fs/ntfs.c: Likewise.
31707 * fs/xfs.c: Likewise.
31708 * include/grub/fshelp.h: Likewise.
31709 * util/grub-mkdevicemap.c: Likewise.
31710
31711 2008-05-28 Robert Millan <rmh@aybabtu.com>
31712
31713 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
31714 might need to be fatfs to support some firmware implementations
31715 (e.g. OFW or EFI).
31716
31717 2008-05-28 Robert Millan <rmh@aybabtu.com>
31718
31719 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
31720 devices.
31721 * util/grub-mkdevicemap.c (get_mmc_disk_name)
31722 (make_device_map): Likewise.
31723
31724 2008-05-20 Bean <bean123ch@gmail.com>
31725
31726 * fs/fshelp.c (grub_fshelp_map_block): New function.
31727 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
31728 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
31729
31730 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
31731 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
31732 (grub_fshelp_journal): New structure.
31733 (grub_fshelp_map_block): New function prototype.
31734 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
31735 (grub_fshelp_map_block): Likewise.
31736
31737 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
31738 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
31739 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
31740 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
31741 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
31742 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
31743 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
31744 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
31745 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
31746 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
31747 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
31748 (grub_ext2_sblock): New members for journal support.
31749 (grub_ext3_journal_header): New structure.
31750 (grub_ext3_journal_revoke_header): Likewise.
31751 (grub_ext3_journal_block_tag): Likewise.
31752 (grub_ext3_journal_sblock): Likewise.
31753 (grub_fshelp_node): New members logfile and journal.
31754 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
31755 grub_fshelp_map_block to get real block number.
31756 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
31757 number.
31758 (grub_ext2_read_inode): Likewise.
31759 (grub_ext3_get_journal): New function.
31760 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
31761 (grub_ext2_close): Release memory used by journal.
31762
31763 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
31764 (REISERFS_MAGIC_DESC_BLOCK): New macro.
31765 (grub_reiserfs_transaction_header): Renamed to
31766 grub_reiserfs_description_block, replace field data with real_blocks.
31767 (grub_reiserfs_commit_block): New structure.
31768 (grub_reiserfs_data): New member journal.
31769 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
31770 number.
31771 (grub_reiserfs_read_symlink): Likewise.
31772 (grub_reiserfs_iterate_dir): Likewise.
31773 (grub_reiserfs_open): Likewise.
31774 (grub_reiserfs_read): Likewise.
31775 (grub_reiserfs_get_journal): New function.
31776 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
31777 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
31778 using grub_reiserfs_get_journal.
31779 (grub_reiserfs_close): Release memory used by journal.
31780
31781 * fs/affs.c (grub_affs_read_block): Change block type to
31782 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
31783
31784 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
31785
31786 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
31787
31788 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
31789
31790 * fs/udf.c (grub_udf_read_block): Change block type to
31791 grub_disk_addr_t. Use type cast to avoid warning.
31792
31793 * fs/xfs.c (grub_xfs_read_block): Likewise.
31794
31795 2008-05-16 Christian Franke <franke@computer.org>
31796
31797 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
31798 to ensure that break with ESC will always work.
31799 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
31800 Remove ESC from keyboard queue.
31801
31802 2008-05-16 Christian Franke <franke@computer.org>
31803
31804 * util/biosdisk.c: [__CYGWIN__] Add includes.
31805 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
31806 (get_os_disk): Move variable declarations to OS specific
31807 parts to avoid warning.
31808 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
31809 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
31810 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
31811 Cygwin.
31812 * util/getroot.c: [__CYGWIN__] Add includes.
31813 (strip_extra_slashes): Fix "/" case.
31814 [__CYGWIN__] (get_win32_path): New function.
31815 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
31816 [__CYGWIN__] (find_root_device): Disable.
31817 [__CYGWIN__] (get_bootsec_serial): New function.
31818 [__CYGWIN__] (find_cygwin_root_device): Likewise.
31819 [__linux__] (grub_guess_root_device): Add early returns to simplify
31820 structure.
31821 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
31822 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
31823 check for Linux only.
31824
31825 2008-05-15 Bean <bean123ch@gmail.com>
31826
31827 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
31828 keyboard hang problem in apple's intel mac.
31829
31830 2008-05-09 Robert Millan <rmh@aybabtu.com>
31831
31832 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
31833 devices.
31834 * util/grub-mkdevicemap.c (get_virtio_disk_name)
31835 (make_device_map): Likewise.
31836 Reported by Aurelien Jarno <aurel32@debian.org>
31837
31838 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
31839
31840 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
31841 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
31842 (make_device_map): Output entries for xvd type disks.
31843
31844 2008-05-07 Robert Millan <rmh@aybabtu.com>
31845
31846 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
31847 devices.
31848 * util/grub-mkdevicemap.c (get_cciss_disk_name)
31849 (make_device_map): Likewise.
31850 Reported by Roland Dreier <rdreier@cisco.com>
31851
31852 2008-05-07 Robert Millan <rmh@aybabtu.com>
31853
31854 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
31855 grub_strstr() call. Correct a few mistakes in failure path handling.
31856
31857 2008-05-06 Robert Millan <rmh@aybabtu.com>
31858
31859 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
31860 Do not print a trailing slash (therefore, the root directory is an
31861 empty string).
31862 (convert_system_path_to_grub_path): Do not remove trailing slash
31863 from make_system_path_relative_to_its_root() output.
31864
31865 * util/i386/pc/grub-install.in: Add trailing slash to output from
31866 make_system_path_relative_to_its_root().
31867
31868 2008-05-06 Robert Millan <rmh@aybabtu.com>
31869
31870 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
31871 ensures that output lines aren't intermangled with those sent to
31872 stderr (via grub_util_info()).
31873 * util/grub-probe.c (grub_refresh): Likewise.
31874 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
31875
31876 2008-05-05 Christian Franke <franke@computer.org>
31877
31878 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
31879 Add Cygwin device names.
31880 (get_ide_disk_name) [__CYGWIN__]: Likewise.
31881 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
31882 (check_device): Return error instead of success on empty name.
31883 (make_device_map): Move label inside linux specific code to
31884 prevent compiler warning.
31885
31886 2008-04-30 Robert Millan <rmh@aybabtu.com>
31887
31888 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
31889 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
31890 first boot option.
31891 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
31892
31893 2008-04-29 Robert Millan <rmh@aybabtu.com>
31894
31895 * docs/grub.cfg: New file (example GRUB configuration).
31896
31897 2008-04-26 Robert Millan <rmh@aybabtu.com>
31898
31899 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
31900 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
31901 and `disk/ieee1275/nand.c'.
31902
31903 2008-04-25 Bean <bean123ch@gmail.com>
31904
31905 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
31906 i386-linuxbios.
31907
31908 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
31909 change the buffer size to 4096 for cdrom device.
31910
31911 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
31912 and nand.mod.
31913 (_linux_mod_SOURCES): New variable.
31914 (_linux_mod_CFLAGS): Likewise.
31915 (_linux_mod_LDFLAGS): Likewise.
31916 (linux_mod_SOURCES): Likewise.
31917 (linux_mod_CFLAGS): Likewise.
31918 (linux_mod_LDFLAGS): Likewise.
31919 (nand_mod_SOURCES): Likewise.
31920 (nand_mod_CFLAGS): Likewise.
31921 (nand_mod_LDFLAGS): Likewise.
31922
31923 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
31924 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
31925 type property. (nand device in olpc don't have this property)
31926
31927 * include/grub/disk.h (grub_disk_dev_id): New macro
31928 GRUB_DISK_DEVICE_NAND_ID.
31929
31930 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
31931 function prototype.
31932 (grub_rescue_cmd_initrd): Likewise.
31933
31934 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
31935 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
31936 ofw_cif_handler and ofw_idt, adjust padding number.
31937
31938 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
31939 GRUB_MACHINE_IEEE1275 is defined.
31940
31941 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
31942 Use NESTED_FUNC_ATTR attribute on the hook parameter.
31943
31944 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
31945 on nested function heap_init.
31946 (grub_upper_mem): New variable for i386-ieee1275.
31947 (grub_get_extended_memory): New function for i386-ieee1275.
31948 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
31949
31950 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
31951 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
31952 property.
31953
31954 * loader/i386/ieee1275/linux.c: New file.
31955
31956 * loader/i386/ieee1275/linux_normal.c: New file.
31957
31958 * disk/ieee1275/nand.c: New file.
31959
31960 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
31961
31962 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
31963 value.
31964 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
31965
31966 2008-04-18 Robert Millan <rmh@aybabtu.com>
31967
31968 Restructures early code path on ieee1275 to unify grub_main() as
31969 the first C function that is executed in every platform.
31970
31971 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
31972 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
31973 cmain().
31974 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
31975 * kern/ieee1275/cmain.c (cmain): Rename to ...
31976 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
31977 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
31978 at the beginning.
31979
31980 2008-04-18 Robert Millan <rmh@aybabtu.com>
31981
31982 * util/update-grub.in: Fix syntax error when setting
31983 `GRUB_PRELOAD_MODULES'.
31984 Reported by Stephane Chazelas <stephane@artesyncp.com>
31985
31986 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
31987
31988 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
31989 section into account, newer toolchains generate unique build ids
31990 * configure.ac: remove the test for --build-id=none acceptance,
31991 we want build ids to be preserved
31992 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
31993 far from other sections don't cause the raw binary images grow
31994 size
31995
31996 2008-04-15 Robert Millan <rmh@aybabtu.com>
31997
31998 * disk/lvm.c: Update copyright year.
31999 * kern/misc.c: Likewise.
32000
32001 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32002
32003 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
32004 there is no memory left for physical volume name.
32005
32006 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
32007
32008 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
32009 volume name mapping to support bigger than 9 character names properly.
32010
32011 2008-04-13 Robert Millan <rmh@aybabtu.com>
32012
32013 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
32014 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
32015
32016 2008-04-13 Christian Franke <franke@computer.org>
32017
32018 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
32019 to create a floppy emulation boot CD when non emulation mode
32020 does not work.
32021 Enable Joliet CD filesystem extension.
32022
32023 2008-04-13 Robert Millan <rmh@aybabtu.com>
32024
32025 * kern/misc.c (grub_strncat): Fix off-by-one error.
32026 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
32027
32028 * kern/env.c (grub_env_context_close): Clear current context, not
32029 previous one.
32030 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
32031
32032 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
32033
32034 2008-04-13 Robert Millan <rmh@aybabtu.com>
32035
32036 Improve robustness when handling LVM.
32037
32038 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
32039 (and leave `*p' unmodified).
32040 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
32041 through it.
32042 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
32043 iterating through it.
32044 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
32045 through it.
32046 (grub_lvm_scan_device): Check the return value (and fail gracefully
32047 when due) on each grub_lvm_getvalue() or grub_strstr() call.
32048 Don't assume `vg->pvs != NULL' when iterating through it.
32049
32050 2008-04-13 Robert Millan <rmh@aybabtu.com>
32051
32052 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
32053 * genmk.rb (partmap): New variable.
32054 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
32055 (#{partmap}): New target rule.
32056 * genpartmaplist.sh: New file.
32057 * Makefile.in (pkglib_DATA): Add partmap.lst.
32058 (partmap.lst): New target rule.
32059 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
32060 modules (including all partition maps), instead of preloading them.
32061
32062 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
32063
32064 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
32065 `linux-boot-prober' (if installed) to detect other operating
32066 systems which are installed on the computer and add them to
32067 the boot menu.
32068 * conf/common.rmk: Build and install 30_os-prober.
32069
32070 2008-04-12 Robert Millan <rmh@aybabtu.com>
32071
32072 * kern/powerpc/ieee1275/init.c: Move from here ...
32073 * kern/ieee1275/init.c: ... to here. Update all users.
32074
32075 * kern/powerpc/ieee1275/cmain.c: Move from here ...
32076 * kern/ieee1275/cmain.c: ... to here. Update all users.
32077
32078 * kern/powerpc/ieee1275/openfw.c: Move from here ...
32079 * kern/ieee1275/openfw.c: ... to here. Update all users.
32080
32081 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
32082 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
32083
32084 2008-04-10 Pavel Roskin <proski@gnu.org>
32085
32086 * configure.ac: Always use "_cv_" in cache variables for
32087 compatibility with Autoconf 2.62.
32088
32089 2008-04-07 Robert Millan <rmh@aybabtu.com>
32090
32091 Revert grub/machine/init.h addition by Pavel (since it breaks on
32092 i386-ieee1275 and others):
32093 * util/i386/pc/misc.c: Remove grub/machine/init.h.
32094 * util/powerpc/ieee1275/misc.c: Likewise.
32095
32096 2008-04-07 Robert Millan <rmh@aybabtu.com>
32097
32098 * util/grub-probe.c (probe): Improve error message.
32099
32100 2008-04-07 Robert Millan <rmh@aybabtu.com>
32101
32102 * util/biosdisk.c (read_device_map): Skip devices that don't exist
32103 (this prevents the presence of a bogus entry from ruining the whole
32104 thing).
32105
32106 2008-04-06 Pavel Roskin <proski@gnu.org>
32107
32108 * util/biosdisk.c: Include grub/util/biosdisk.h.
32109 * util/grub-fstest.c (execute_command): Make static.
32110 * util/grub-mkdevicemap.c (check_device): Likewise.
32111 * util/i386/pc/misc.c: Include grub/machine/init.h.
32112 * util/powerpc/ieee1275/misc.c: Likewise.
32113 * util/lvm.c: Include grub/util/lvm.h.
32114 * util/misc.c: Include grub/kernel.h, grub/misc.h and
32115 grub/cache.h.
32116 * util/raid.c: Include grub/util/raid.h.
32117 (grub_util_getdiskname): Make static.
32118
32119 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
32120 grub_hostfs_fini(), as they are called from grub_init_all() and
32121 grub_fini_all() respectively. This fixes an infinite loop in
32122 grub-fstest due to double registration of hostfs.
32123 Reported by Christian Franke <Christian.Franke@t-online.de>
32124
32125 2008-04-05 Pavel Roskin <proski@gnu.org>
32126
32127 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
32128 all 8 functions. Otherwise, probe function 0 only.
32129
32130 2008-04-04 Pavel Roskin <proski@gnu.org>
32131
32132 * commands/lspci.c (grub_lspci_iter): Print the bus number
32133 correctly.
32134
32135 * commands/lspci.c (grub_pci_classes): Fix typos.
32136 (grub_lspci_iter): Don't print func twice. Print vendor ID
32137 before device ID, as it's normally done.
32138
32139 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32140 Fix signedness warnings.
32141 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
32142 Likewise.
32143 * util/ieee1275/get_disk_name.c: Include config.h so that
32144 _GNU_SOURCE is defined and getline() is declared. Mark an
32145 unused argument as such. Fix a signedness warning.
32146
32147 2008-04-02 Pavel Roskin <proski@gnu.org>
32148
32149 * genkernsyms.sh.in: Use more robust assignments for CC and
32150 srcdir. Quote srcdir.
32151 * gensymlist.sh.in: Likewise. Assert at the compile time that
32152 the symbol table is not empty.
32153
32154 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
32155 * fs/cpio.c (grub_cpio_read): Likewise.
32156
32157 2008-04-01 Pavel Roskin <proski@gnu.org>
32158
32159 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
32160 * disk/host.c (grub_host_open): Likewise.
32161 * disk/loopback.c (grub_loopback_open): Likewise.
32162 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
32163 disk->id as in disk/host.c, not a multi-character constant.
32164
32165 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
32166 later is obsolete, potentially dangerous and sets a bad example.
32167 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
32168 * util/misc.c (grub_util_get_image_size): Likewise.
32169
32170 * disk/loopback.c (options): Improve help for "--partitions".
32171
32172 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
32173 options to align them with the short options, e.g. "echo -e".
32174
32175 2008-03-31 Bean <bean123ch@gmail.com>
32176
32177 * video/reader/png.c (grub_png_data): New member is_16bit and
32178 image_data.
32179 (grub_png_decode_image_header): Detect 16 bit png image.
32180 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
32181 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
32182 (grub_video_reader_png): Release memory occupied by image_data.
32183
32184 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
32185 4096 bytes.
32186 (grub_nfs_mount): Skip the test for sector per cluster.
32187
32188 * include/grub/ntfs.h (MAX_SPC): Removed.
32189
32190 2008-03-31 Bean <bean123ch@gmail.com>
32191
32192 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
32193 (grub_probe_SOURCES): Add fs/afs.c.
32194 (grub_fstest_SOURCES): Likewise.
32195 (afs_mod_SOURCES): New variable.
32196 (afs_mod_CFLAGS): Likewise.
32197 (afs_mod_LDFLAGS): Likewise.
32198
32199 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
32200 (grub_emu_SOURCES): Likewise.
32201
32202 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32203
32204 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32205
32206 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32207
32208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32209
32210 * fs/afs.c: New file.
32211
32212 2008-03-30 Pavel Roskin <proski@gnu.org>
32213
32214 * disk/host.c: Include grub/misc.h to fix a warning.
32215 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
32216 warnings about implicit declarations.
32217
32218 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
32219 variable.
32220 * include/grub/i386/loader.h: Change declaration of
32221 grub_linux_boot() to match what grub_loader_set() expects.
32222 * util/getroot.c (grub_guess_root_device): Return const char* to
32223 fix a warning.
32224 * util/grub-probe.c (probe): Fix a warning about uninitialized
32225 abstraction_name variable.
32226 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
32227 second argument as unused to fix a warning.
32228
32229 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
32230 missing grub_error() call.
32231
32232 * util/update-grub_lib.in: Define datarootdir, since Autoconf
32233 2.60 and newer uses it to define datadir.
32234
32235 * commands/sleep.c: Fix warning about implicit declaration.
32236 * disk/memdisk.c: Likewise.
32237 * loader/aout.c: Likewise.
32238 * loader/i386/bsd_normal.c: Likewise.
32239 * util/grub-probe.c: Likewise.
32240
32241 * commands/i386/cpuid.c (has_longmode): Make static.
32242 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
32243 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
32244
32245 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
32246 GDT. This is more robust, as %ds can change.
32247 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
32248 calling real_to_prot().
32249 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
32250
32251 2008-03-28 Pavel Roskin <proski@gnu.org>
32252
32253 * kern/i386/pc/startup.S: Assert that uncompressed functions
32254 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
32255 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
32256 code, as they push parts of the code (error handlers) beyond
32257 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
32258 code as correctness and size.
32259
32260 2008-03-28 Pavel Roskin <proski@gnu.org>
32261
32262 * kern/i386/pc/startup.S
32263 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
32264 data block address to the real mode, keep offset minimal. This
32265 works around a bug in AWARD BIOS on old Athlon systems, which
32266 makes CD detection hang.
32267
32268 2008-03-26 Pavel Roskin <proski@gnu.org>
32269
32270 * normal/color.c (grub_parse_color_name_pair): Make `name' a
32271 const.
32272 * include/grub/normal.h: Add grub_parse_color_name_pair()
32273 declaration.
32274
32275 2008-03-24 Bean <bean123ch@gmail.com>
32276
32277 * disk/i386/pc/biosdisk.c (cd_start): Removed.
32278 (cd_count): Removed.
32279 (cd_drive): New variable.
32280 (grub_biosdisk_get_drive): Don't check for (cdN) device.
32281 (grub_biosdisk_call_hook): Likewise.
32282 (grub_biosdisk_iterate): Change cdrom detection method.
32283 (grub_biosdisk_open): Replace cd_start with cd_drive.
32284 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
32285 detect cdrom device.
32286
32287 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
32288 Removed.
32289 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
32290 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
32291 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
32292 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
32293 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
32294 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
32295 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
32296 (grub_biosdisk_cdrp): New structure.
32297 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
32298
32299 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
32300
32301 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
32302 device.
32303
32304 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
32305 New function.
32306
32307 2008-03-20 Robert Millan <rmh@aybabtu.com>
32308
32309 Remove 2 TiB limit in ata.mod.
32310 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
32311 (grub_ata_dumpinfo): Print sector count with 0x%llx.
32312 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
32313 grub_uint64_t instead of grub_uint32_t.
32314
32315 2008-03-05 Bean <bean123ch@gmail.com>
32316
32317 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
32318 (grub_multiboot): Set boot device.
32319
32320 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
32321
32322 2008-03-02 Bean <bean123ch@gmail.com>
32323
32324 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
32325 symlink_buffer.
32326
32327 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
32328
32329 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
32330 texinfo.tex.
32331
32332 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
32333 modified.
32334
32335 * docs/fdl.texi: New file.
32336
32337 * docs/mdate-sh: New file. Copied from gnulib.
32338 * docs/texinfo.tex: Likewise.
32339
32340 * config.guess: Updated from gnulib.
32341 * install-sh: Likewise.
32342
32343 2008-02-28 Robert Millan <rmh@aybabtu.com>
32344
32345 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
32346 (aout_mod_SOURCES): New variable.
32347 (aout_mod_CFLAGS): Likewise.
32348 (aout_mod_LDFLAGS): Likewise.
32349
32350 * conf/i386-ieee1275.rmk: Likewise.
32351
32352 2008-02-28 Robert Millan <rmh@aybabtu.com>
32353
32354 * util/update-grub.in: Reorganise terminal validity check. Accept
32355 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
32356 Based on suggestion by Franklin PIAT.
32357
32358 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
32359
32360 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
32361 function.
32362 * util/getroot.c (grub_util_check_block_device): New function that
32363 returns the given argument if it is a block device and returns NULL else.
32364 * util/grub-probe.c (argument_is_device): New variable.
32365 (probe): Promote device_name from a variable to an argument. Receive
32366 device_name from grub_util_check_block_device() if path is NULL and from
32367 grub_guess_root_device() else. Do not free() device_name anymore.
32368 (options): Introduce new parameter '-d, --device'.
32369 (main): Add description of the new parameter to the help screen.
32370 Rename path variable to argument. Set argument_is_device if the '-d'
32371 option is given. Pass argument to probe() depending on
32372 argument_is_device.
32373
32374 2008-02-24 Bean <bean123ch@gmail.com>
32375
32376 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
32377 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
32378 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
32379 (GRUB_ISO9660_VOLDESC_PART): Likewise.
32380 (GRUB_ISO9660_VOLDESC_END): Likewise.
32381 (grub_iso9660_primary_voldesc): New member escape.
32382 (grub_iso9660_data): New member joliet.
32383 (grub_iso9660_convert_string): New function.
32384 (grub_iso9660_mount): Detect joliet extension.
32385 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
32386 (grub_iso9660_iso9660_label): Likewise.
32387
32388 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
32389 (grub_setup_SOURCES): Add fs/udf.c.
32390 (grub_fstest_SOURCES): Likewise.
32391 (udf_mod_SOURCES): New variable.
32392 (udf_mod_CFLAGS): Likewise.
32393 (udf_mod_LDFLAGS): Likewise.
32394
32395 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
32396 (grub_emu_SOURCES): Likewise.
32397
32398 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32399
32400 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32401
32402 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32403
32404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32405
32406 * fs/udf.c: New file.
32407
32408 2008-02-24 Robert Millan <rmh@aybabtu.com>
32409
32410 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
32411 (normal/lexer.c_DEPENDENCIES): New variables.
32412 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32413 (normal/lexer.c_DEPENDENCIES): Likewise.
32414 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
32415 (normal/lexer.c_DEPENDENCIES): Likewise.
32416 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
32417 (normal/lexer.c_DEPENDENCIES): Likewise.
32418 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32419 (normal/lexer.c_DEPENDENCIES): Likewise.
32420 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
32421 (normal/lexer.c_DEPENDENCIES): Likewise.
32422
32423 2008-02-23 Robert Millan <rmh@aybabtu.com>
32424
32425 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
32426 since they were intended to be in hex. This didn't break previously
32427 because of a bug in gpt_partition_map_iterate() (see below).
32428
32429 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
32430 when checking the validity of GPT header.
32431 Remove `partno', since it always provides the same information as `i'.
32432
32433 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
32434
32435 * include/grub/efi/time.h: Fix a wrong comment.
32436
32437 2008-02-19 Pavel Roskin <proski@gnu.org>
32438
32439 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
32440 message.
32441
32442 2008-02-19 Bean <bean123ch@gmail.com>
32443
32444 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
32445 (aout_mod_SOURCES): New variable.
32446 (aout_mod_CFLAGS): Likewise.
32447 (aout_mod_LDFLAGS): Likewise.
32448 (_bsd_mod_SOURCES): New variable.
32449 (_bsd_mod_CFLAGS): Likewise.
32450 (_bsd_mod_LDFLAGS): Likewise.
32451 (bsd_mod_SOURCES): New variable.
32452 (bsd_mod_CFLAGS): Likewise.
32453 (bsd_mod_LDFLAGS): Likewise.
32454
32455 * include/grub/aout.h: New file.
32456
32457 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
32458
32459 * include/grub/i386/bsd.h: New file.
32460
32461 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
32462 to make it public.
32463
32464 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
32465 function is called, so that it's possible to change it inside the hook.
32466 (grub_elf64_load): Likewise.
32467 (grub_elf_file): Don't close the file if elf header is not found.
32468 (grub_elf_close): Close the file if grub_elf_file fails (The new
32469 grub_elf_file won't close it).
32470 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
32471 (grub_elf64_size): Likewise.
32472
32473 * kern/i386/loader.S (grub_unix_real_boot): New function.
32474
32475 * loader/aout.c: New file.
32476
32477 * loader/i386/bsd.c: New file.
32478
32479 * loader/i386/bsd_normal.c: New file.
32480
32481 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
32482
32483 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
32484 can test other formats.
32485
32486 2008-02-19 Robert Millan <rmh@aybabtu.com>
32487
32488 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
32489 (grub_gpt_partition_type_empty): Redefine with macro from
32490 `<grub/gpt_partition.h>'.
32491 (gpt_partition_map_iterate): Adjust partition type comparison.
32492
32493 Export `entry' as partmap-specific `part.data' struct.
32494 (grub_gpt_header, grub_gpt_partentry): Move from here ...
32495
32496 * include/grub/gpt_partition.h (grub_gpt_header)
32497 (grub_gpt_partentry): ... to here (new file).
32498
32499 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
32500
32501 (grub_gpt_partition_type_bios_boot): New const variable, defined
32502 with macro from `<grub/gpt_partition.h>'.
32503
32504 (setup): Replace `first_start' with `embed_region', which keeps
32505 track of the embed region (and is partmap-agnostic).
32506
32507 Replace find_first_partition_start() with find_usable_region(),
32508 which finds a usable region for embedding using partmap-specific
32509 knowledge (supports PC/MSDOS and GPT).
32510
32511 Fix all assumptions that the embed region start at sector 1, using
32512 `embed_region.start' from now on. Similarly, use `embed_region.end'
32513 rather than `first_start' to calculate available size.
32514
32515 In grub_util_info() message, replace "into after the MBR" with an
32516 indication of the specific sector our embed region starts at.
32517
32518 2008-02-19 Robert Millan <rmh@aybabtu.com>
32519
32520 * DISTLIST: Replace `commands/ieee1275/halt.c' and
32521 `commands/ieee1275/reboot.c' with `commands/halt.c' and
32522 `commands/reboot.c'.
32523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32524 (halt_mod_SOURCES): Likewise.
32525 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
32526 (halt_mod_SOURCES): Likewise.
32527
32528 2008-02-17 Christian Franke <franke@computer.org>
32529
32530 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
32531
32532 2008-02-17 Robert Millan <rmh@aybabtu.com>
32533
32534 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32535 set `first_start' to 0 for non-PC/MSDOS partition maps.
32536
32537 2008-02-16 Robert Millan <rmh@aybabtu.com>
32538
32539 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
32540 do not assume partition map is PC/MSDOS before performing checks that
32541 are specific to that layout.
32542
32543 2008-02-13 Robert Millan <rmh@aybabtu.com>
32544
32545 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
32546 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
32547 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
32548
32549 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
32550
32551 * configure.ac: Only a cosmetic change on the handling of
32552 -fno-stack-protector.
32553
32554 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
32555
32556 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
32557 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
32558 reboot.c.
32559 (grub_install_SOURCES): Add halt.mod and reboot.mod.
32560 (halt_mod_SOURCES): New variable.
32561 (halt_mod_CFLAGS): Likewise.
32562 (halt_mod_LDFLAGS): Likewise.
32563 (reboot_mod_SOURCES): Likewise.
32564 (reboot_mod_CFLAGS): Likewise.
32565 (reboot_mod_LDFLAGS): Likewise.
32566
32567 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
32568 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
32569 reboot.c.
32570 (halt_mod_SOURCES): Likewise.
32571 (reboot_mod_SOURCES): Likewise.
32572
32573 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
32574 commands/i386/pc/reboot.c by commands/reboot.c.
32575 (reboot_mod_SOURCES): Likewise.
32576
32577 * commands/i386/pc/reboot.c: merge this file ...
32578
32579 * commands/ieee1275/reboot.c: ... and this file ...
32580
32581 * commands/reboot.c: ... to this file.
32582 Add some precompiler directive to include the correct header for
32583 each machine.
32584
32585 * commands/ieee1275/halt.c: move this file ...
32586
32587 * commands/halt.c: ... to here.
32588 Add some precompiler directive to include the correct header for
32589 each machine.
32590
32591 * include/grub/efi/efi.h (grub_reboot): New function declaration.
32592 (grub_halt): Likewise.
32593
32594 * kern/efi/efi.c (grub_reboot): New function.
32595 (grub_halt): Likewise.
32596
32597 2008-02-12 Robert Millan <rmh@aybabtu.com>
32598
32599 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
32600 /dev (like it is done for /dev/mapper). This doesn't provide support
32601 for EVMS, but at least it is now easy to identify the problem when it
32602 arises.
32603
32604 2008-02-11 Robert Millan <rmh@aybabtu.com>
32605
32606 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
32607 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
32608 comparing it with -1, not 0.
32609
32610 2008-02-10 Robert Millan <rmh@aybabtu.com>
32611
32612 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
32613 `disk/lvm.c'.
32614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32615 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
32616
32617 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
32618 `disk/lvm.c' to the end of the list.
32619 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32620 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32621
32622 2008-02-10 Robert Millan <rmh@aybabtu.com>
32623
32624 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
32625 grub_print_error() instead. This will let user know why we're entering
32626 rescue mode.
32627 Based on suggestions from Sam Morris.
32628
32629 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
32630
32631 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
32632 on remaining N args, instead of "--" arg N times.
32633
32634 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
32635
32636 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
32637 (fill_with_default_glyph): Changed to use unknown_glyph for fill
32638 pattern for unknown glyphs.
32639
32640 2008-02-09 Robert Millan <rmh@aybabtu.com>
32641
32642 * configure.ac: Probe for `help2man'.
32643 * Makefile.in (builddir): New variable.
32644 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
32645 or otherwise add a few flags/options to it.
32646 (install-local): For every executable utility or script that is
32647 installed, invoke $(HELP2MAN) to install a manpage based on --help
32648 output.
32649
32650 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
32651 that it doesn't prevent --help from working in build tree.
32652
32653 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
32654 with `bug-grub@gnu.org'.
32655 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
32656 * util/update-grub.in (usage): New function.
32657 Implement proper argument check, with support for --help and --version
32658 (as well as existing -y).
32659
32660 2008-02-09 Christian Franke <franke@computer.org>
32661
32662 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
32663 avoid overwriting previous output.
32664 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
32665
32666 2008-02-09 Robert Millan <rmh@aybabtu.com>
32667
32668 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
32669 drawing the menu.
32670
32671 2008-02-09 Robert Millan <rmh@aybabtu.com>
32672
32673 * commands/sleep.c: New file.
32674 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
32675 (sleep_mod_SOURCES): New variable.
32676 (sleep_mod_CFLAGS): Likewise.
32677 (sleep_mod_LDFLAGS): Likewise.
32678
32679 2008-02-09 Robert Millan <rmh@aybabtu.com>
32680
32681 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
32682 situations in which we can deduce the RAID size and the superblock
32683 doesn't match it.
32684
32685 2008-02-09 Robert Millan <rmh@aybabtu.com>
32686
32687 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
32688 and return a grub_diskmemberlist_t composed of LVM physical volumes.
32689 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
32690
32691 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
32692 and return a grub_diskmemberlist_t composed of physical array members.
32693 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
32694
32695 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
32696 prototype.
32697 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
32698 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
32699 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
32700
32701 * util/grub-probe.c (probe): Move partmap probing code from here ...
32702 (probe_partmap): ... to here.
32703 (probe): Use probe_partmap() once for the disk we're probing, and
32704 additionally, when such disk contains a memberlist() struct member,
32705 once for each disk that is contained in the structure returned by
32706 memberlist().
32707
32708 2008-02-09 Robert Millan <rmh@aybabtu.com>
32709
32710 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
32711 environment variable to 'all' in order to obtain debug output from
32712 non-util/ code.
32713 * util/i386/pc/grub-setup.c (main): Likewise.
32714
32715 2008-02-08 Robert Millan <rmh@aybabtu.com>
32716
32717 * disk/raid.c (grub_raid_scan_device): Check for
32718 `array->device[sb.this_disk.number]' rather than for
32719 `array->device[sb.this_disk.number]->name', since the latter is not
32720 guaranteed to be accessible.
32721
32722 2008-02-08 Robert Millan <rmh@aybabtu.com>
32723
32724 * disk/raid.c: Update copyright.
32725 * fs/cpio.c: Likewise.
32726 * include/grub/raid.h: Likewise.
32727 * loader/i386/pc/multiboot.c: Likewise.
32728 * util/hostfs.c: Likewise.
32729
32730 2008-02-08 Robert Millan <rmh@aybabtu.com>
32731
32732 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
32733 to a grub_disk_t array.
32734 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
32735 `device[x]'.
32736 (grub_raid_scan_device): Replace `device[x].name' accesses with
32737 `device[x]->name'. Simplify initialization of `array->device[x]'.
32738
32739 2008-02-08 Robert Millan <rmh@aybabtu.com>
32740
32741 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
32742 grub_dprintf() calls.
32743 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
32744 error message.
32745
32746 2008-02-07 Christian Franke <franke@computer.org>
32747
32748 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
32749 instead of fseek and ftell to support large files.
32750 (grub_hostfs_read): Likewise.
32751
32752 2008-02-07 Robert Millan <rmh@aybabtu.com>
32753
32754 Patch from Jeroen Dekkers.
32755 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
32756 failure, since successfully reading all array members might not be
32757 required.
32758
32759 2008-02-06 Robert Millan <rmh@aybabtu.com>
32760
32761 * util/grub-probe.c (probe): Simplify partmap probing (with the
32762 assumption that the first word up to the underscore equals to
32763 the module name).
32764
32765 2008-02-06 Christian Franke <franke@computer.org>
32766
32767 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
32768 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
32769 last block of a cpio or tar stream.
32770 Check for "TRAILER!!!" instead of any empty data
32771 block to detect last block of a cpio stream.
32772 (grub_cpio_dir): Fix constness of variable np.
32773 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
32774 cpio or tar trailer is detected. This fixes a crash
32775 on open of a non existing file.
32776
32777 2008-02-05 Bean <bean123ch@gmail.com>
32778
32779 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
32780 address of entry.
32781 (grub_multiboot_load_elf64): Likewise.
32782 (grub_multiboot): Initialize mbi structure.
32783
32784 * util/grub-fstest.c: Don't include unused header file script.h.
32785
32786 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
32787 of file.
32788 (grub_fstest_SOURCES): Likewise.
32789
32790 2008-02-05 Robert Millan <rmh@aybabtu.com>
32791
32792 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
32793 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
32794 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
32795 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
32796
32797 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
32798 (translation_table): Replace hardcoded values with macros
32799 provided by `<grub/term.h>'.
32800
32801 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
32802 (keyboard_map): Correct/add a few values, with macros provided
32803 by `<grub/term.h>'.
32804 (keyboard_map_shift): Zero values that don't differ from their
32805 `keyboard_map' equivalents.
32806 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
32807 Discard the second scan code that is always sent by Caps lock.
32808 Only use `keyboard_map_shift' when it provides a non-zero value,
32809 otherwise fallback to `keyboard_map'.
32810
32811 2008-02-04 Bean <bean123ch@gmail.com>
32812
32813 * Makefile.in (enable_grub_fstest): New variable.
32814
32815 * conf/common.rmk (grub_fstest_init.lst): New rule.
32816 (grub_fstest_init.h): Likewise.
32817 (grub_fstest_init.c): Likewise.
32818 (util/grub-fstest.c_DEPENDENCIES): New variable.
32819 (grub_fstest_SOURCES): Likewise.
32820
32821 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
32822
32823 * util/grub-fstest.c: New file.
32824
32825 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32826
32827 Make grub-setup handle a separate root device.
32828
32829 * util/i386/pc/grub-setup.c (setup): Always open the root device,
32830 so that the root device can be compared with the destination
32831 device.
32832 When embedding the core image, if the root and destination devices
32833 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
32834 0xFF.
32835 When not embedding, set ROOT_DRIVE to 0xFF.
32836
32837 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32838
32839 Add support for having a grub directory in a different drive. This
32840 is still only the data handling part.
32841
32842 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
32843 (codestart): Save %dh in GRUB_ROOT_DRIVE.
32844 (grub_root_drive): New variable.
32845
32846 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
32847 instead of GRUB_BOOT_DRIVE to construct a device name. Set
32848 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
32849 as it was.
32850
32851 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
32852
32853 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
32854 macro.
32855 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
32856
32857 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
32858 is bogus, because PXE booting does not specify any drive
32859 correctly.
32860
32861 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
32862 am not sure if this is really correct.
32863
32864 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
32865 is always identical to the boot drive when booting from a CD.
32866
32867 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
32868 longer.
32869 (root_drive): New variable.
32870 (real_start): Unconditionally set %dh to ROOT_DRIVE.
32871 (setup_sectors): Push %dx right after popping it, because %dh will
32872 be modified later.
32873 (copy_buffer): Restore %dx.
32874
32875 2008-02-03 Robert Millan <rmh@aybabtu.com>
32876
32877 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
32878 use `cdboot.img' for cdrom images.
32879
32880 2008-02-03 Robert Millan <rmh@aybabtu.com>
32881
32882 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
32883 only setup gfxterm when `font' command has succeeded.
32884
32885 2008-02-03 Robert Millan <rmh@aybabtu.com>
32886
32887 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
32888 (grub_rescue_cmd_multiboot_loader)
32889 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
32890
32891 2008-02-03 Pavel Roskin <proski@gnu.org>
32892
32893 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
32894 %edx and %esi from stack only after grub_gate_a20() is called.
32895 grub_gate_a20() clobbers %edx.
32896
32897 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
32898
32899 * configure.ac (AC_INIT): Bumped to 1.96.
32900
32901 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
32902 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
32903 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
32904 video/readers/png.c.
32905
32906 2008-02-03 Bean <bean123ch@gmail.com>
32907
32908 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
32909 (cdboot_img_SOURCES): New variable.
32910 (cdboot_img_ASFLAGS): New variable.
32911 (cdboot_img_LDFLAGS): New variable.
32912
32913 * boot/i386/pc/cdboot.S: New file.
32914
32915 * disk/i386/pc/biosdisk.c (cd_start): New variable.
32916 (cd_count): Likewise.
32917 (grub_biosdisk_get_drive): Add support for cd device.
32918 (grub_biosdisk_call_hook): Likewise.
32919 (grub_biosdisk_iterate): Likewise.
32920 (grub_biosdisk_open): Likewise.
32921 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
32922 (grub_biosdisk_rw): Support reading from cd device.
32923 (GRUB_MOD_INIT): Iterate cd devices.
32924
32925 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
32926 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
32927 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
32928
32929 * kern/i386/pc/init.c (make_install_device): Check for cd device.
32930
32931 2008-02-02 Robert Millan <rmh@aybabtu.com>
32932
32933 * commands/read.c: New file.
32934 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
32935 (read_mod_SOURCES): New variable.
32936 (read_mod_CFLAGS): Likewise.
32937 (read_mod_LDFLAGS): Likewise.
32938
32939 2008-02-02 Robert Millan <rmh@aybabtu.com>
32940
32941 * normal/main.c (grub_normal_execute): Check for `menu->size' when
32942 determining whether menu has to be displayed.
32943
32944 2008-02-02 Marco Gerards <marco@gnu.org>
32945
32946 * bus/pci.c: New file.
32947
32948 * include/grub/pci.h: Likewise.
32949
32950 * include/grub/i386/pc/pci.h: Likewise.
32951
32952 * commands/lspci.c: Likewise.
32953
32954 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
32955 `lspci.mod'.
32956 (pci_mod_SOURCES): New variable.
32957 (pci_mod_CFLAGS): Likewise.
32958 (pci_mod_LDFLAGS): Likewise.
32959 (lspci_mod_SOURCES): Likewise.
32960 (lspci_mod_CFLAGS): Likewise.
32961 (lspci_mod_LDFLAGS): Likewise.
32962
32963 2008-02-02 Bean <bean123ch@gmail.com>
32964
32965 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
32966 (grub_ufs_get_file_block): Fix indirect block calculation problem.
32967
32968 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
32969 (grub_xfs_btree_node): New structure.
32970 (grub_xfs_btree_root): New structure.
32971 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
32972 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
32973 (GRUB_XFS_EXTENT_BLOCK): Likewise.
32974 (GRUB_XFS_EXTENT_SIZE): Likewise.
32975 (grub_xfs_read_block): Support btree format type.
32976 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
32977 Use directory block as basic unit.
32978
32979 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
32980
32981 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
32982 __attribute__ ((__regparm__ (1))).
32983
32984 2008-02-01 Robert Millan <rmh@aybabtu.com>
32985
32986 Correct a mistake in previous commit.
32987
32988 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
32989 top.
32990 (normal/command.c_DEPENDENCIES): New variable.
32991
32992 2008-02-01 Robert Millan <rmh@aybabtu.com>
32993
32994 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
32995 top.
32996 (normal/command.c_DEPENDENCIES): New variable.
32997 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
32998 * conf/i386-ieee1275.rmk: Likewise.
32999 * conf/i386-linuxbios.rmk: Likewise.
33000 * conf/i386-pc.rmk: Likewise.
33001 * conf/sparc64-ieee1275.rmk: Likewise.
33002 * conf/powerpc-ieee1275.rmk: Likewise.
33003 (grub_emu_SOURCES): Add `fs/fshelp.c'.
33004
33005 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
33006
33007 2008-02-01 Robert Millan <rmh@aybabtu.com>
33008
33009 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
33010 call at beginning of function.
33011
33012 2008-01-31 Pavel Roskin <proski@gnu.org>
33013
33014 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
33015 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
33016 (grub_mkrescue_SOURCES): Likewise.
33017 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
33018
33019 2008-01-30 Robert Millan <rmh@aybabtu.com>
33020
33021 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
33022 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
33023 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
33024 (grub_probe_SOURCES): ... to here.
33025
33026 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
33027 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
33028 * conf/i386-ieee1275.rmk: Likewise.
33029 * conf/i386-linuxbios.rmk: Likewise.
33030 * conf/powerpc-ieee1275.rmk: Likewise.
33031
33032 2008-01-30 Tristan Gingold <gingold@free.fr>
33033
33034 * kern/rescue.c: Silently accept empty lines.
33035
33036 2008-01-29 Bean <bean123ch@gmail.com>
33037
33038 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
33039 (real_code_2): Code cleanup and change comment style.
33040 (move_memory): Avoid using 32-bit address mode.
33041
33042 2008-01-29 Bean <bean123ch@gmail.com>
33043
33044 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
33045 (png_mod_SOURCES): New variable.
33046 (png_mod_CFLAGS): Likewise.
33047 (png_mod_LDFLAGS): Likewise.
33048
33049 * video/readers/png.c: New file.
33050
33051 2008-01-28 Robert Millan <rmh@aybabtu.com>
33052
33053 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
33054 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
33055 `ifndef GRUB_MOD_GAP' hack.
33056 * util/elf/grub-mkimage.c (add_segments): Likewise.
33057
33058 2008-01-27 Robert Millan <rmh@aybabtu.com>
33059
33060 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
33061 `GRUB_MOD_GAP' for platforms in which it's not defined.
33062 * util/elf/grub-mkimage.c (add_segments): Likewise.
33063
33064 2008-01-27 Robert Millan <rmh@aybabtu.com>
33065
33066 Get grub-emu to build again (including parallel builds).
33067
33068 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
33069 Split into ...
33070 (util/grub-emu.c_DEPENDENCIES): ... this, ...
33071 (normal/execute.c_DEPENDENCIES): ... this, ...
33072 (grub-emu_DEPENDENCIES): ... and this.
33073
33074 * conf/i386-efi.rmk: Likewise.
33075 * conf/i386-linuxbios.rmk: Likewise.
33076 * conf/i386-ieee1275.rmk: Likewise.
33077 * conf/powerpc-ieee1275.rmk: Likewise.
33078 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
33079
33080 2008-01-27 Robert Millan <rmh@aybabtu.com>
33081
33082 * NEWS: Add a few items.
33083
33084 2008-01-27 Robert Millan <rmh@aybabtu.com>
33085
33086 Fix parallel builds with grub-emu. Based on earlier commit for
33087 grub-probe and grub-setup.
33088
33089 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33090 (util/grub-emu.c_DEPENDENCIES): ... this.
33091 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33092 (util/grub-emu.c_DEPENDENCIES): ... this.
33093 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33094 (util/grub-emu.c_DEPENDENCIES): ... this.
33095 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33096 (util/grub-emu.c_DEPENDENCIES): ... this.
33097 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
33098 (util/grub-emu.c_DEPENDENCIES): ... this.
33099
33100 2008-01-27 Pavel Roskin <proski@gnu.org>
33101
33102 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
33103 to create a gap between _end and the modules added to the image
33104 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
33105 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
33106 * util/elf/grub-mkimage.c (add_segments): Likewise.
33107
33108 2008-01-26 Pavel Roskin <proski@gnu.org>
33109
33110 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
33111 just return an error.
33112
33113 2008-01-26 Bean <bean123ch@gmail.com>
33114
33115 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
33116 (grub_reiserfs_get_item): Save offset of the next item.
33117 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
33118
33119 2008-01-25 Robert Millan <rmh@aybabtu.com>
33120
33121 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
33122 make all filesystem sources appear together (possibly fixing omissions
33123 while at it).
33124 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33126 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33128
33129 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
33130 add `kern/file.c'.
33131 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
33132 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33133 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
33134 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
33135
33136 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
33137 (probe): Add a sanity check to make sure of our ability to read
33138 requested files when probing for filesystem type.
33139
33140 * genmk.rb: Update copyright year (2007).
33141
33142 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
33143 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
33144 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
33145 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
33146 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
33147 : Remove function prototypes.
33148
33149 2008-01-25 Robert Millan <rmh@aybabtu.com>
33150
33151 Revert my previous commits (based on wrong assumption of how grub_errno
33152 works).
33153
33154 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
33155 * kern/file.c (grub_file_open): Likewise.
33156
33157 2008-01-24 Pavel Roskin <proski@gnu.org>
33158
33159 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
33160 that hang if GRUB tries to setup colors.
33161 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
33162 colors for firmwares that don't support it.
33163 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
33164 Recognize Open Hack'Ware, set flags to work around its
33165 limitations.
33166
33167 2008-01-24 Robert Millan <rmh@aybabtu.com>
33168
33169 * kern/file.c (grub_file_open): Do not account previous failures of
33170 unrelated functions when grub_errno is checked for.
33171 Reported by Oleg Strikov.
33172
33173 2008-01-24 Bean <bean123ch@gmail.com>
33174
33175 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
33176 (grub_ufs_sblock): New member volume name.
33177 (grub_ufs_find_file): Fix string copy bug.
33178 (grub_ufs_label): Implement this function properly.
33179
33180 * fs/hfs.c (grub_hfs_cnid_type): New enum.
33181 (grub_hfs_iterate_records): Use the correct file number for extents
33182 and catalog file. Fix problem in next index calculation.
33183 (grub_hfs_find_node): Replace recursive function call with loop.
33184 (grub_hfs_iterate_dir): Replace recursive function call with loop.
33185
33186 2008-01-23 Robert Millan <rmh@aybabtu.com>
33187
33188 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
33189 `<grub/symbol.h>' and `<grub/multiboot.h>'.
33190 (grub_multiboot2_real_boot): New function prototype.
33191
33192 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
33193 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
33194
33195 * kern/i386/ieee1275/init.c (grub_os_area_addr)
33196 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
33197
33198 2008-01-23 Robert Millan <rmh@aybabtu.com>
33199
33200 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
33201 #ifdef'ed out grub_printf().
33202
33203 2008-01-23 Robert Millan <rmh@aybabtu.com>
33204
33205 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
33206 grub_dprintf calls, since they make "debug=all" mode unusable.
33207 (grub_console_checkkey): Likewise.
33208
33209 2008-01-23 Robert Millan <rmh@aybabtu.com>
33210
33211 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33212 `term/i386/pc/at_keyboard.c'.
33213 (pkglib_MODULES): Add `serial.mod'.
33214 (serial_mod_SOURCES): New variable.
33215 (serial_mod_CFLAGS): Likewise.
33216 (serial_mod_LDFLAGS): Likewise.
33217
33218 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
33219 `<grub/powerpc/ieee1275/console.h>'.
33220 (grub_keyboard_controller_init): New function prototype.
33221 (grub_console_checkkey): Likewise.
33222 (grub_console_getkey): Likewise.
33223
33224 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
33225 keyboard on i386.
33226
33227 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
33228 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
33229
33230 2008-01-23 Robert Millan <rmh@aybabtu.com>
33231
33232 * kern/i386/pc/init.c (make_install_device): When memdisk image is
33233 present, "(memdisk)/boot/grub" becomes the default prefix.
33234
33235 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
33236 a memdisk tarball with all the modules. Add --overlay=DIR option that
33237 allows users to overlay additional files into the image.
33238
33239 2008-01-23 Robert Millan <rmh@aybabtu.com>
33240
33241 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
33242 and `machine/memory.h'.
33243 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
33244 (_multiboot_mod_SOURCES): New variable.
33245 (_multiboot_mod_CFLAGS): Likewise.
33246 (_multiboot_mod_LDFLAGS): Likewise.
33247 (multiboot_mod_SOURCES): Likewise.
33248 (multiboot_mod_CFLAGS): Likewise.
33249 (multiboot_mod_LDFLAGS): Likewise.
33250
33251 * include/grub/i386/ieee1275/loader.h: New file.
33252
33253 * include/grub/i386/ieee1275/machine.h: Likewise.
33254
33255 * include/grub/i386/ieee1275/memory.h: Likewise.
33256
33257 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
33258 variable declaration.
33259 (grub_os_area_size): Likewise.
33260
33261 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
33262 (grub_lower_mem, grub_upper_mem): New variables.
33263 (grub_stop_floppy): New function (just to make
33264 grub_multiboot2_real_boot() happy).
33265
33266 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
33267 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
33268 (grub_stop): New function.
33269 Include `"../realmode.S"' and `"../loader.S"'.
33270
33271 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
33272 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
33273
33274 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
33275 rely on grub_multiboot2_real_boot() for final boot.
33276
33277 2008-01-22 Robert Millan <rmh@aybabtu.com>
33278
33279 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
33280 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
33281 device that doesn't look like an SD card.
33282 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33283 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
33284 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
33285 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
33286 found.
33287
33288 2008-01-22 Robert Millan <rmh@aybabtu.com>
33289
33290 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
33291 avoid claiming over our own code.
33292
33293 2008-01-22 Bean <bean123ch@gmail.com>
33294
33295 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
33296 (jpeg_mod_SOURCES): New variable.
33297 (jpeg_mod_CFLAGS): Likewise.
33298 (jpeg_mod_LDFLAGS): Likewise.
33299
33300 * video/readers/jpeg.c : New file.
33301
33302 2008-01-22 Bean <bean123ch@gmail.com>
33303
33304 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
33305 there are no more items.
33306
33307 2008-01-21 Robert Millan <rmh@aybabtu.com>
33308
33309 * kern/mm.c (grub_mm_init_region): Improve debug message.
33310
33311 2008-01-21 Robert Millan <rmh@aybabtu.com>
33312
33313 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
33314 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
33315 address.
33316 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
33317 a C macro.
33318 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
33319 Indicates start of upper memory.
33320 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
33321 (generate_image): Abort when image size is big enough to corrupt
33322 upper memory.
33323
33324 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
33325 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
33326 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33327 instead of hardcoding 0xA0000.
33328 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
33329 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
33330 instead of hardcoding 0xA0000.
33331
33332 2008-01-21 Robert Millan <rmh@aybabtu.com>
33333
33334 * disk/memdisk.c (memdisk_size): New variable.
33335 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
33336 `memdisk_size'.
33337 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
33338 image to dynamic memory.
33339 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
33340 `memdisk_size'. Free memdisk block.
33341
33342 2008-01-21 Robert Millan <rmh@aybabtu.com>
33343
33344 Fix detection of very small filesystems (like tar).
33345
33346 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
33347 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
33348 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
33349 a problem with this disk).
33350
33351 2008-01-21 Robert Millan <rmh@aybabtu.com>
33352
33353 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
33354 on grub_biosdisk_rw_standard() error.
33355
33356 2008-01-21 Robert Millan <rmh@aybabtu.com>
33357
33358 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
33359 recent changes.
33360 * kern/elf.c: Likewise.
33361 * kern/ieee1275/ieee1275.c: Likewise.
33362 * kern/powerpc/ieee1275/openfw.c: Likewise.
33363 * term/ieee1275/ofconsole.c: Likewise.
33364
33365 2008-01-21 Robert Millan <rmh@aybabtu.com>
33366
33367 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
33368
33369 * include/grub/kernel.h (grub_arch_memdisk_addr)
33370 (grub_arch_memdisk_size): Moved from here ...
33371
33372 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
33373 (grub_arch_memdisk_size): ... to here.
33374
33375 2008-01-21 Robert Millan <rmh@aybabtu.com>
33376
33377 Mostly based on bugfix from Bean.
33378
33379 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
33380 attribute with hook() parameter.
33381 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
33382 declaration.
33383 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
33384 attribute with hook() parameter.
33385 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
33386 declaration.
33387
33388 2008-01-21 Robert Millan <rmh@aybabtu.com>
33389
33390 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
33391 (pkglib_MODULES): Add `memdisk.mod'.
33392 (memdisk_mod_SOURCES): New variable.
33393 (memdisk_mod_CFLAGS): Likewise.
33394 (memdisk_mod_LDFLAGS): Likewise.
33395
33396 * disk/memdisk.c: New file.
33397
33398 * include/grub/disk.h (grub_disk_dev_id): Add
33399 `GRUB_DISK_DEVICE_MEMDISK_ID'.
33400
33401 * include/grub/i386/pc/kernel.h
33402 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
33403 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
33404 (grub_kernel_image_size): New variable declaration.
33405 (grub_total_module_size): Likewise.
33406 (grub_memdisk_image_size): Likewise.
33407
33408 * include/grub/i386/pc/memory.h
33409 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
33410
33411 * include/grub/kernel.h: Include `<grub/symbol.h>'.
33412 (grub_arch_memdisk_addr): New variable declaration.
33413 (grub_arch_memdisk_size): Likewise.
33414
33415 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
33416 (grub_arch_memdisk_size): Likewise.
33417
33418 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
33419 (codestart): Replace hardcoded `0x100000' with
33420 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
33421
33422 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
33423 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
33424 not NULL, append the contents of the file it refers to, at the end of
33425 the compressed kernel image. Initialize `grub_memdisk_image_size'
33426 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
33427 (options): Add "memdisk"|'m' option.
33428 (main): Parse --memdisk|-m option, and pass user-provided path as
33429 parameter to generate_image().
33430
33431 2008-01-20 Robert Millan <rmh@aybabtu.com>
33432
33433 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
33434 grub_dprintf() calls from here ...
33435 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
33436
33437 2008-01-20 Robert Millan <rmh@aybabtu.com>
33438
33439 Fix detection of "real mode" when /options/real-mode? doesn't exist.
33440
33441 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
33442 declaration.
33443 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
33444 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
33445 `GRUB_IEEE1275_FLAG_REAL_MODE'.
33446 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
33447 property).
33448 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
33449 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
33450
33451 2008-01-19 Robert Millan <rmh@aybabtu.com>
33452
33453 Get rid of confusing function (superseded by
33454 `grub_ieee1275_get_integer_property')
33455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
33456 prototype.
33457 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
33458 function.
33459 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
33460 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
33461 in native endianness from grub_ieee1275_get_integer_property().
33462
33463 2008-01-19 Robert Millan <rmh@aybabtu.com>
33464
33465 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
33466 command after "shut-down", since implementations differ on which
33467 the command for halt is.
33468
33469 2008-01-19 Robert Millan <rmh@aybabtu.com>
33470
33471 * include/grub/i386/linuxbios/console.h: Add header protection.
33472 (grub_keyboard_controller_init): New function prototype.
33473 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
33474 (KEYBOARD_COMMAND_READ): Likewise.
33475 (KEYBOARD_COMMAND_WRITE): Likewise.
33476 (KEYBOARD_SCANCODE_SET1): Likewise.
33477 (grub_keyboard_controller_write): New function.
33478 (grub_keyboard_controller_read): Likewise.
33479 (grub_keyboard_controller_init): Likewise.
33480
33481 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
33482 (grub_console_init): On coreboot/LinuxBIOS, call
33483 grub_keyboard_controller_init().
33484
33485 2008-01-19 Robert Millan <rmh@aybabtu.com>
33486
33487 PowerPC changes provided by Pavel Roskin.
33488
33489 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
33490 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
33491 don't rely on cmain() doing it.
33492 * kern/i386/ieee1275/startup.S (_start): Store %eax in
33493 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
33494
33495 2008-01-16 Robert Millan <rmh@aybabtu.com>
33496
33497 * include/grub/i386/linuxbios/memory.h
33498 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
33499 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
33500 receive `table_header' as argument. Instead, probe for it in the
33501 known memory ranges where it can be present.
33502 (grub_available_iterate): Do not pass a fixed `table_header' address
33503 to grub_linuxbios_table_iterate().
33504
33505 2008-01-15 Robert Millan <rmh@aybabtu.com>
33506
33507 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
33508 * conf/i386-ieee1275.rmk: New file.
33509 * include/grub/i386/ieee1275/console.h: Likewise.
33510 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
33511 * include/grub/i386/ieee1275/kernel.h: Likewise.
33512 * include/grub/i386/ieee1275/time.h: Likewise.
33513 * kern/i386/ieee1275/init.c: Likewise.
33514 * kern/i386/ieee1275/startup.S: Likewise.
33515
33516 2008-01-15 Robert Millan <rmh@aybabtu.com>
33517
33518 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
33519 when pointers are 32-bit (but still do set it to one when they are
33520 64-bit).
33521
33522 2008-01-15 Robert Millan <rmh@aybabtu.com>
33523
33524 * include/grub/ieee1275/ieee1275.h
33525 (grub_ieee1275_get_integer_property): New function prototype.
33526
33527 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
33528 (grub_ieee1275_get_integer_property): New function. Wraps around
33529 grub_ieee1275_get_property() to handle endianness.
33530
33531 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
33532 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
33533 where appropriate.
33534 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
33535 (grub_map): Likewise.
33536 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
33537
33538 2008-01-15 Bean <bean123ch@gmail.com>
33539
33540 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
33541 (grub_script_execute_cmdline): Reset grub_errno.
33542
33543 * normal/main.c (read_config_file): Reset grub_errno.
33544
33545 * normal/parse.y (script_init): New.
33546 (script): Move function and menuentry here.
33547 (delimiter): New.
33548 (command): Add delimiter at the end of command.
33549 (commands): Adjust to match the new command.
33550 (commandblock): Remove grub_script_lexer_record_start.
33551 (menuentry): Add grub_script_lexer_record_start, use the new commands.
33552 (if): Use the new commands.
33553
33554 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
33555
33556 2008-01-15 Robert Millan <rmh@aybabtu.com>
33557
33558 * normal/menu.c (run_menu): Move timeout message from here ...
33559 (print_timeout): ... to here.
33560 (run_menu): Use print_timeout() once during initial draw to print
33561 the whole message, and again in every clock tick to update only
33562 the number of seconds.
33563
33564 2008-01-15 Robert Millan <rmh@aybabtu.com>
33565
33566 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
33567 actual size of `available' from grub_ieee1275_get_property(), and
33568 restrict parsing to that bound.
33569
33570 2008-01-15 Christian Franke <franke@computer.org>
33571
33572 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
33573 (argp_program_version): Remove variable.
33574 (argp_program_bug_address): Likewise.
33575 (options): Convert from struct argp_option to struct option.
33576 (struct arguments): Remove.
33577 (parse_opt): Remove.
33578 (usage): New function.
33579 (main): Replace struct args members by simple variables.
33580 Replace argp_parse() by getopt_long().
33581 Add switch to evaluate options.
33582 Add missing "(...)" around root_dev in prefix string.
33583
33584 2008-01-14 Robert Millan <rmh@aybabtu.com>
33585
33586 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
33587 for grub_ieee1275_exit(), in order to improve portability.
33588
33589 2008-01-14 Robert Millan <rmh@aybabtu.com>
33590
33591 * util/grub.d/10_linux.in (prefix): Define.
33592 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
33593
33594 2008-01-13 Pavel Roskin <proski@gnu.org>
33595
33596 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
33597 grub_errno if no errors have been detected.
33598
33599 2008-01-12 Robert Millan <rmh@aybabtu.com>
33600
33601 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
33602 (grub_util_get_dev_abstraction): New function prototype.
33603
33604 * util/getroot.c: Include `<grub/util/getroot.h>'
33605 (grub_util_get_grub_dev): Move detection of abstraction type to ...
33606 (grub_util_get_dev_abstraction): ... here (new function).
33607
33608 * util/grub-probe.c: Convert PRINT_* to an enum. Add
33609 `PRINT_ABSTRACTION'.
33610 (probe): Probe for abstraction type when requested.
33611 (main): Understand `--target=abstraction'.
33612
33613 * util/i386/efi/grub-install.in: Add abstraction module to core
33614 image when it is found to be necessary.
33615 * util/i386/pc/grub-install.in: Likewise.
33616 * util/powerpc/ieee1275/grub-install.in: Likewise.
33617
33618 * util/update-grub_lib.in (font_path): Return system path without
33619 converting to GRUB path.
33620 * util/update-grub.in: Convert system path returned by font_path()
33621 to a GRUB path. Use `grub-probe -t abstraction' to determine what
33622 abstraction module is needed for loading fonts (if any). Export
33623 that as `GRUB_PRELOAD_MODULES'.
33624 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
33625 insmod commands).
33626
33627 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
33628
33629 Remove some unused code from reiserfs.
33630
33631 * fs/reiserfs.c (struct grub_reiserfs_key)
33632 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
33633 (struct grub_reiserfs_node_body): Removed.
33634 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33635 Likewise.
33636 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33637 Likewise.
33638 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33639 Likewise.
33640 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
33641 Likewise.
33642 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
33643 Likewise.
33644 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
33645 Likewise.
33646 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33647 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33648 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
33649
33650 2008-01-10 Robert Millan <rmh@aybabtu.com>
33651
33652 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
33653 Determines if a file is garbage left by packaging systems, etc.
33654 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
33655 for processing /etc/grub.d scripts.
33656 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
33657 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
33658 as a condition for processing Linux images.
33659
33660 2008-01-10 Pavel Roskin <proski@gnu.org>
33661
33662 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
33663 to compile reiserfs.c on PowerPC.
33664
33665 2008-01-10 Robert Millan <rmh@aybabtu.com>
33666
33667 * kern/device.c (grub_device_iterate): Do not abort device iteration
33668 when one of the devices cannot be opened.
33669 * kern/disk.c (grub_disk_open): Do not account previous failures of
33670 unrelated functions when grub_errno is checked for.
33671
33672 2008-01-08 Robert Millan <rmh@aybabtu.com>
33673
33674 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
33675 `! grub_linux_is_bzimage', change order of address comparison to make
33676 it more intuitive, and improve "too big zImage" error message.
33677
33678 2008-01-08 Robert Millan <rmh@aybabtu.com>
33679
33680 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
33681 `$(update-grub_DATA)'.
33682 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
33683 targets.
33684
33685 2008-01-07 Robert Millan <rmh@aybabtu.com>
33686
33687 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
33688 which instruction is modified by grub-setup during installation
33689 (since it wasn't obvious by only looking at this file).
33690
33691 2008-01-07 Robert Millan <rmh@aybabtu.com>
33692
33693 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
33694 listing actual TODO items.
33695
33696 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33697
33698 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
33699 correctly.
33700 (grub_reiserfs_get_key_offset): Likewise.
33701 (grub_reiserfs_set_key_offset): Likewise.
33702 (grub_reiserfs_set_key_type): Likewise.
33703 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
33704
33705 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
33706 better to remove the bitfield version completely.
33707
33708 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33709
33710 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
33711 allocated from the heap, due to the fshelp implementation.
33712 (grub_reiserfs_dir): Free NODE, due to the same reason.
33713
33714 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
33715
33716 Mostly from Vincent Pelletier:
33717
33718 * fs/reiserfs.c: New file.
33719
33720 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
33721 (reiserfs_mod_SOURCES): New variable.
33722 (reiserfs_mod_CFLAGS): Likewise.
33723 (reiserfs_mod_LDFLAGS): Likewise.
33724
33725 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
33726 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
33727 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
33728 normal/color.c.
33729
33730 2008-01-06 Robert Millan <rmh@aybabtu.com>
33731
33732 * normal/color.c: Remove `<grub/env.h>'.
33733
33734 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
33735
33736 * include/grub/normal.h: Include <grub/env.h>.
33737
33738 2008-01-05 Robert Millan <rmh@aybabtu.com>
33739
33740 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
33741 usage example with `(hd0,1)'.
33742 Reported by Samuel Thibault.
33743
33744 2008-01-05 Robert Millan <rmh@aybabtu.com>
33745
33746 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
33747 (grub_linux_boot_zimage): Rename to ...
33748 (grub_linux_boot): ... this.
33749 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
33750 (grub_linux_boot_zimage): Conditionalize zImage copy.
33751
33752 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
33753 (grub_linux_boot_bzimage): Remove prototype.
33754 (grub_linux_boot_zimage): Rename to ...
33755 (grub_linux_boot): ... this.
33756
33757 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
33758 (grub_linux_boot): Remove function.
33759
33760 2008-01-05 Robert Millan <rmh@aybabtu.com>
33761
33762 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
33763 (grub_env_write_color_highlight): Likewise.
33764 (grub_wait_after_message): Likewise.
33765
33766 * normal/color.c: New file.
33767
33768 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33769 (normal_mod_DEPENDENCIES): Likewise.
33770
33771 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33772 (normal_mod_DEPENDENCIES): Likewise.
33773
33774 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33775 (normal_mod_DEPENDENCIES): Likewise.
33776
33777 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
33778 (normal_mod_DEPENDENCIES): Likewise.
33779
33780 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
33781 for waiting after a message is printed.
33782 * normal/main.c (read_config_file): Likewise.
33783 (grub_normal_init): Register grub_env_write_color_normal() and
33784 grub_env_write_color_highlight() hooks. Mark `color_normal' and
33785 `color_highlight' variables as global.
33786
33787 * normal/menu.c (grub_wait_after_message): New function.
33788 (grub_color_menu_normal): New variable. Replaces ...
33789 (GRUB_COLOR_MENU_NORMAL): ... this macro.
33790 (grub_color_menu_highlight): New variable. Replaces ...
33791 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
33792 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
33793 `GRUB_TERM_COLOR_STANDARD'.
33794 (print_message): Use `grub_setcolorstate' to reload colors. Rename
33795 `normal_code' and `highlight_code' to `old_color_normal' and
33796 `old_color_highlight', respectively.
33797 (grub_menu_init_page): Update colors when drawing the menu, based on
33798 `menu_color_normal' and `menu_color_highlight' variables.
33799 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
33800 a message is printed.
33801
33802 2008-01-05 Robert Millan <rmh@aybabtu.com>
33803
33804 * kern/env.c (grub_env_context_open): Propagate hooks for global
33805 variables to new context.
33806
33807 * kern/main.c (grub_set_root_dev): Export `root' variable.
33808
33809 2008-01-05 Robert Millan <rmh@aybabtu.com>
33810
33811 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
33812 discs unconditionally, since udev and others have options to provide
33813 them.
33814
33815 2008-01-05 Robert Millan <rmh@aybabtu.com>
33816
33817 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
33818
33819 2008-01-04 Christian Franke <franke@computer.org>
33820
33821 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
33822 of eisa_mmap.
33823
33824 2008-01-03 Pavel Roskin <proski@gnu.org>
33825
33826 * kern/i386/linuxbios/init.c: Put "void" to all function
33827 declarations with no arguments.
33828 * kern/powerpc/ieee1275/init.c: Likewise.
33829 * term/i386/pc/at_keyboard.c: Likewise.
33830 * term/i386/pc/vga_text.c: Likewise.
33831 * util/grub-mkdevicemap.c: Likewise.
33832
33833 2008-01-02 Robert Millan <rmh@aybabtu.com>
33834
33835 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
33836 message when loaded image is out of bounds.
33837 (grub_multiboot_load_elf64): Likewise.
33838
33839 2008-01-02 Pavel Roskin <proski@gnu.org>
33840
33841 * util/grub.d/10_linux.in: Try version without ".old" when
33842 looking for initrd. It's better to use initrd from the newer
33843 kernel of the same version than no initrd at all.
33844
33845 2008-01-01 Robert Millan <rmh@aybabtu.com>
33846
33847 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
33848
33849 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
33850
33851 * include/grub/video.h: Added grub_video_unmap_color and
33852 grub_video_get_active_render_target.
33853 (grub_video_adapter): Added unmap_color and get_active_render_target.
33854
33855 * video/video.c: Added grub_video_unmap_color and
33856 grub_video_get_active_render_target.
33857 (grub_video_get_info): Changed method to accept NULL pointer as an
33858 argument to allow detection of active video adapter.
33859
33860 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
33861 grub_video_vbe_unmap_color_int.
33862 Added grub_video_vbe_unmap_color and
33863 grub_video_vbe_get_active_render_target.
33864 (grub_video_vbe_adapter): Added unmap_color and
33865 get_active_render_target.
33866
33867 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
33868 with grub_video_vbe_unmap_color_int.
33869
33870 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
33871 (DEFAULT_NORMAL_COLOR): Likewise.
33872 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
33873 (DEFAULT_FG_COLOR): Removed.
33874 (DEFAULT_BG_COLOR): Likewise.
33875 (DEFAULT_CURSOR_COLOR): Changed value.
33876 (grub_virtual_screen): Added standard_color_setting,
33877 normal_color_setting, highlight_color_setting and term_color.
33878 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
33879 (bitmap_width): Added.
33880 (bitmap_height): Likewise.
33881 (bitmap): Likewise.
33882 (set_term_color): Likewise.
33883 (grub_virtual_screen_setup): Changed to use new terminal coloring
33884 settings.
33885 (grub_gfxterm_init): Added init for bitmap.
33886 (grub_gfxterm_fini): Added destroy for bitmap.
33887 (redraw_screen_rect): Updated to use background bitmap and new
33888 terminal coloring.
33889 (scroll_up): Added optimization for case when there is no bitmap.
33890 (grub_gfxterm_cls): Fixed to use correct background color.
33891 (grub_virtual_screen_setcolorstate): Changed to use new terminal
33892 coloring.
33893 (grub_virtual_screen_setcolor): Likewise.
33894 (grub_virtual_screen_getcolor): Added.
33895 (grub_gfxterm_background_image_cmd): Likewise.
33896 (grub_video_term): Added setcolor and getcolor.
33897 (MOD_INIT): Added registration of background_image command.
33898 (MOD_TERM): Added unregistration for background_image command.
33899
33900 2007-12-30 Pavel Roskin <proski@gnu.org>
33901
33902 * loader/multiboot_loader.c: Fix multiboot command
33903 unregistration. Fix all typos in the word "multiboot".
33904
33905 2007-12-29 Pavel Roskin <proski@gnu.org>
33906
33907 * util/grub.d/10_linux.in: Refactor search for initrd. Add
33908 support for initrd names used in Fedora.
33909
33910 2007-12-26 Bean <bean123ch@gmail.com>
33911
33912 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
33913 (cpio_mod_SOURCES): New variable.
33914 (cpio_mod_CFLAGS): Likewise.
33915 (cpio_mod_LDFLAGS): Likewise.
33916
33917 * fs/cpio.c: New file.
33918
33919 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
33920
33921 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33922
33923 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
33924
33925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33926
33927 2007-12-25 Robert Millan <rmh@aybabtu.com>
33928
33929 * include/grub/term.h (struct grub_term): Add `getcolor' function.
33930 (grub_getcolor): New function.
33931
33932 * kern/term.c (grub_getcolor): New function.
33933 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
33934 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
33935 (print_entry): Set normal and highlight colors to
33936 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
33937 respectively, before printing and restore them to old
33938 values afterwards.
33939 (grub_menu_init_page): Likewise. Fill an additional colored space
33940 that would otherwise be left blank.
33941
33942 * term/efi/console.c (grub_console_getcolor): New function.
33943 (struct grub_console_term.getcolor): New variable.
33944 * term/i386/pc/console.c (grub_console_getcolor): New function.
33945 (struct grub_console_term.getcolor): New variable.
33946 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
33947 (struct grub_console_term.getcolor): New variable.
33948
33949 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
33950 (struct grub_console_term.setcolor): Remove variable.
33951 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
33952 (struct grub_console_term.setcolor): Remove variable.
33953 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
33954 (struct grub_console_term.setcolor): Remove variable.
33955 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
33956 (struct grub_console_term.setcolor): Remove variable.
33957
33958 2007-12-25 Robert Millan <rmh@aybabtu.com>
33959
33960 * configure.ac: Search for possible unifont.hex locations, and
33961 define UNIFONT_HEX if found.
33962
33963 * Makefile.in (UNIFONT_HEX): Define variable.
33964 (DATA): Rename to ...
33965 (PKGLIB): ... this. Update all users.
33966 (PKGDATA): New variable.
33967 (pkgdata_IMAGES): Rename to ...
33968 (pkglib_IMAGES): ... this. Update all users.
33969 (pkgdata_MODULES): Rename to ...
33970 (pkglib_MODULES): ... this. Update all users.
33971 (pkgdata_PROGRAMS): Rename to ...
33972 (pkglib_PROGRAMS): ... this. Update all users.
33973 (pkgdata_DATA): Rename to ...
33974 (pkglib_DATA): ... this. Update all users.
33975 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
33976 (unicode.pff, ascii.pff): New rules.
33977 (all-local): Add `$(PKGDATA)' dependency.
33978 (install-local): Process `$(PKGDATA)'.
33979
33980 * util/update-grub_lib.in (font_path): Search for *.pff files in
33981 a few more locations, including `${pkgdata}'.
33982
33983 2007-12-23 Robert Millan <rmh@aybabtu.com>
33984
33985 Patch from Bean <bean123ch@gmail.com>:
33986 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
33987 `size'.
33988
33989 2007-12-21 Bean <bean123ch@gmail.com>
33990
33991 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
33992 (ntfscomp_mod_SOURCES): New variable.
33993 (ntfscomp_mod_CFLAGS): Likewise.
33994 (ntfscomp_mod_LDFLAGS): Likewise.
33995
33996 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
33997 (grub_probe_SOURCES): Likewise.
33998 (grub_emu_SOURCES): Likewise.
33999
34000 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34001 (grub_emu_SOURCES): Likewise.
34002
34003 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34004 (grub_emu_SOURCES): Likewise.
34005
34006 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
34007 (grub_emu_SOURCES): Likewise.
34008
34009 * fs/ntfs.c (grub_ntfscomp_func): New variable.
34010 (read_run_list): Renamed to grub_ntfs_read_run_list.
34011 (decomp_nextvcn): Moved to ntfscomp.c.
34012 (decomp_getch): Likewise.
34013 (decomp_get16): Likewise.
34014 (decomp_block): Likewise.
34015 (read_block): Likewise.
34016 (read_data): Partially moved to ntfscomp.c.
34017 (fixup): Change unsigned to grub_uint16_t.
34018 (read_mft): Change unsigned long to grub_uint32_t.
34019 (read_attr): Likewise.
34020 (read_data): Likewise.
34021 (read_run_data): Likewise.
34022 (read_run_list): Likewise.
34023 (read_mft): Likewise.
34024
34025 * fs/ntfscomp.c: New file.
34026
34027 * include/grub/ntfs.h: New file.
34028
34029 2007-12-16 Robert Millan <rmh@aybabtu.com>
34030
34031 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
34032 IDE disk check, since Linux is known to support 20 IDE disks.
34033 Reported by Colin Watson.
34034
34035 2007-12-15 Bean <bean123ch@gmail.com>
34036
34037 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
34038 (lnxboot_img_SOURCES): New variable.
34039 (lnxboot_img_ASFLAGS): Likewise.
34040 (lnxboot_img_LDFLAGS): Likewise.
34041
34042 * boot/i386/pc/lnxboot.S: New file.
34043
34044 2007-11-24 Pavel Roskin <proski@gnu.org>
34045
34046 * configure.ac: Test if '--build-id=none' is supported by the
34047 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
34048 objcopy to generate incorrect binary files (binutils
34049 2.17.50.0.18-1 as shipped by Fedora 8).
34050 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
34051 linking, so that build ID doesn't break the test.
34052
34053 2007-11-24 Pavel Roskin <proski@gnu.org>
34054
34055 * include/grub/i386/time.h: use "void" in the argument list
34056 of grub_cpu_idle().
34057 * include/grub/powerpc/time.h: Likewise.
34058 * include/grub/sparc64/time.h: Likewise.
34059
34060 2007-11-18 Christian Franke <franke@computer.org>
34061
34062 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
34063 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
34064 This fixes the problem that function keys did not work in grub-emu.
34065
34066 2007-11-18 Christian Franke <franke@computer.org>
34067
34068 * disk/host.c (grub_host_open): Remove attribute unused from
34069 name parameter. Add check for "host". This fixes the problem
34070 that grub-emu does not find partitions.
34071
34072 2007-11-18 Christian Franke <franke@computer.org>
34073
34074 * util/hostfs.c (is_dir): New function.
34075 (grub_hostfs_dir): Handle missing dirent.d_type case.
34076 (grub_hostfs_read): Add missing fseek().
34077 (grub_hostfs_label): Clear label pointer. This fixes a crash
34078 of grub-emu on "ls (host)".
34079
34080 2007-11-18 Christian Franke <franke@computer.org>
34081
34082 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
34083 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
34084 to 64 bit boundary by default.
34085
34086 2007-11-18 Bean <bean123ch@gmail.com>
34087
34088 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
34089 (hexdump_mod_SOURCES): New variable.
34090 (hexdump_mod_CFLAGS): Likewise.
34091 (hexdump_mod_LDFLAGS): Likewise.
34092
34093 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34094
34095 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34096
34097 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34098
34099 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
34100
34101 * include/grub/hexdump.h: New file.
34102
34103 * commands/hexdump.c: New file.
34104
34105 2007-11-10 Robert Millan <rmh@aybabtu.com>
34106
34107 * commands/i386/pc/play.c (beep_off): Switch order of arguments
34108 in grub_outb() calls.
34109 (beep_on): Likewise.
34110
34111 2007-11-10 Christian Franke <franke@computer.org>
34112
34113 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
34114 (grub_menu_run): Likewise.
34115
34116 2007-11-10 Robert Millan <rmh@aybabtu.com>
34117
34118 * include/grub/i386/efi/machine.h: New file.
34119 * include/grub/i386/linuxbios/machine.h: Likewise.
34120 * include/grub/i386/pc/machine.h: Likewise.
34121 * include/grub/powerpc/ieee1275/machine.h: Likewise.
34122 * include/grub/sparc64/ieee1275/machine.h: Likewise.
34123
34124 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
34125 (serial_hw_io_addr): New variable.
34126 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
34127 instead of `(unsigned short *) 0x400'.
34128
34129 2007-11-10 Bean <bean123ch@gmail.com>
34130
34131 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
34132
34133 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34134
34135 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
34136 (vga_mod_SOURCES): Added.
34137 (vga_mod_CFLAGS): Likewise.
34138 (vga_mod_LDFLAGS): Likewise.
34139
34140 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
34141 grub_outb() calls.
34142 (set_map_mask): Likewise.
34143 (set_read_map): Likewise.
34144 (set_read_address): Likewise.
34145 (vga_font): Removed variable.
34146 (get_vga_glyph): Removed function.
34147 (invalidate_char): Likewise.
34148 (write_char): Changed to use grub_font_get_glyph() for font
34149 information.
34150 (grub_vga_putchar): Likewise.
34151 (grub_vga_getcharwidth): Likewise.
34152
34153 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
34154
34155 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
34156 flags.
34157 (pxeboot_img_LDFLAGS): Likewise.
34158 (diskboot_img_LDFLAGS): Likewise.
34159 (kernel_img_LDFLAGS): Likewise.
34160
34161 2007-11-06 Robert Millan <rmh@aybabtu.com>
34162
34163 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
34164 in grub_outb() calls.
34165 (serial_hw_init): Likewise.
34166
34167 2007-11-05 Robert Millan <rmh@aybabtu.com>
34168
34169 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
34170 spaces. Skip non-regular files.
34171
34172 2007-11-05 Robert Millan <rmh@aybabtu.com>
34173
34174 * kern/disk.c (grub_disk_firmware_fini)
34175 (grub_disk_firmware_is_tainted): New variables.
34176
34177 * include/grub/disk.h (grub_disk_firmware_fini)
34178 (grub_disk_firmware_is_tainted): Likewise.
34179
34180 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
34181 (grub_disk_biosdisk_fini): ... to here.
34182 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
34183 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
34184 is set. Register grub_disk_biosdisk_fini() in
34185 `grub_disk_firmware_fini'.
34186
34187 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
34188 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
34189 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
34190 to finish existing firmware disk interface.
34191
34192 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
34193 (ata_mod_SOURCES): New variable.
34194 (ata_mod_CFLAGS): Likewise.
34195 (ata_mod_LDFLAGS): Likewise.
34196
34197 2007-11-05 Robert Millan <rmh@aybabtu.com>
34198
34199 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
34200 (grub_ata_wait): Reimplement using grub_millisleep().
34201
34202 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
34203 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
34204
34205 2007-11-03 Marco Gerards <marco@gnu.org>
34206
34207 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
34208 (CRTC_ADDR_PORT): New macro.
34209 (CRTC_DATA_PORT): Likewise.
34210 (CRTC_CURSOR): Likewise.
34211 (CRTC_CURSOR_ADDR_HIGH): Likewise.
34212 (CRTC_CURSOR_ADDR_LOW): Likewise.
34213 (update_cursor): New function.
34214 (grub_console_real_putchar): Call `update_cursor'.
34215 (grub_console_gotoxy): Likewise.
34216 (grub_console_cls): Set the default color when clearing the
34217 screen.
34218 (grub_console_setcursor): Implemented.
34219
34220 2007-11-03 Marco Gerards <marco@gnu.org>
34221
34222 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
34223 become activate.
34224 (grub_ata_pio_write): Likewise.
34225
34226 (grub_atapi_identify): Wait after issuing an ATA command.
34227 (grub_atapi_packet): Likewise.
34228 (grub_ata_identify): Likewise.
34229 (grub_ata_readwrite): Likewise.
34230
34231 2007-11-03 Marco Gerards <marco@gnu.org>
34232
34233 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
34234 (grub_ata_pio_write): Likewise.
34235 (grub_ata_readwrite): Use `grub_error', instead of
34236 returning `grub_errno'.
34237
34238 2007-11-03 Marco Gerards <marco@gnu.org>
34239
34240 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
34241 grub_ata_pio_write once for every single sector, instead of for
34242 multiple sectors.
34243
34244 2007-10-31 Robert Millan <rmh@aybabtu.com>
34245
34246 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
34247
34248 * conf/i386-linuxbios.rmk: New file.
34249
34250 * kern/i386/pc/hardware.c: Likewise.
34251 * term/i386/pc/at_keyboard.c: Likewise.
34252 * term/i386/pc/vga_text.c: Likewise.
34253
34254 * include/grub/i386/linuxbios/boot.h: Likewise.
34255 * include/grub/i386/linuxbios/console.h: Likewise.
34256 * include/grub/i386/linuxbios/init.h: Likewise.
34257 * include/grub/i386/linuxbios/kernel.h: Likewise.
34258 * include/grub/i386/linuxbios/loader.h: Likewise.
34259 * include/grub/i386/linuxbios/memory.h: Likewise.
34260 * include/grub/i386/linuxbios/serial.h: Likewise.
34261 * include/grub/i386/linuxbios/time.h: Likewise.
34262
34263 * kern/i386/linuxbios/init.c: Likewise.
34264 * kern/i386/linuxbios/startup.S: Likewise.
34265 * kern/i386/linuxbios/table.c: Likewise.
34266
34267 2007-10-31 Marco Gerards <marco@gnu.org>
34268
34269 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
34270 (ata_mod_SOURCES): New variable.
34271 (ata_mod_CFLAGS): Likewise.
34272 (ata_mod_LDFLAGS): Likewise.
34273
34274 * disk/ata.c: New file.
34275
34276 * include/grub/disk.h (grub_disk_dev_id): Add
34277 `GRUB_DISK_DEV_ATA_ID'.
34278
34279 2007-10-31 Robert Millan <rmh@aybabtu.com>
34280
34281 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
34282 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
34283
34284 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
34285 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
34286
34287 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
34288 `<grub/types.h>'.
34289
34290 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
34291
34292 2007-10-27 Robert Millan <rmh@aybabtu.com>
34293
34294 * include/grub/types.h (ULONG_MAX): Define macro.
34295
34296 2007-10-22 Robert Millan <rmh@aybabtu.com>
34297
34298 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
34299 `"../realmode.S"'.
34300 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
34301
34302 2007-10-22 Robert Millan <rmh@aybabtu.com>
34303
34304 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
34305 (pkgdata_MODULES): Add `biosdisk.mod'.
34306 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
34307 variables.
34308
34309 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
34310 (grub_biosdisk_init): Replace with ...
34311 (GRUB_MOD_INIT(biosdisk)): ... this.
34312 (grub_biosdisk_fini): Replace with ...
34313 (GRUB_MOD_FINI(biosdisk)): ... this.
34314
34315 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
34316 (grub_machine_init): Remove call to grub_biosdisk_init().
34317 (grub_machine_fini): Remove call to grub_machine_fini().
34318
34319 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
34320
34321 2007-10-22 Robert Millan <rmh@aybabtu.com>
34322
34323 * include/grub/time.h: New file.
34324 * include/grub/i386/time.h: Likewise.
34325 * include/grub/powerpc/time.h: Likewise.
34326 * include/grub/sparc64/time.h: Likewise.
34327
34328 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
34329 instances to ...
34330 (KERNEL_MACHINE_TIME_HEADER): ... this.
34331 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34332 instances to ...
34333 (KERNEL_MACHINE_TIME_HEADER): ... this.
34334 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
34335 instances to ...
34336 (KERNEL_MACHINE_TIME_HEADER): ... this.
34337
34338 * kern/i386/efi/init.c: Include `<grub/time.h>'.
34339 (grub_millisleep): New function.
34340 * kern/i386/pc/init.c: Include `<grub/time.h>'.
34341 (grub_millisleep): New function.
34342 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
34343 Remove `grub/machine/time.h' include.
34344 (grub_millisleep): New function.
34345 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
34346 Remove `grub/machine/time.h' include.
34347 (grub_millisleep): New function.
34348
34349 * include/grub/misc.h (grub_div_roundup): New function.
34350
34351 * kern/misc.c: Include `<grub/time.h>'.
34352 (grub_millisleep_generic): New function.
34353
34354 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
34355 Add `time.h'.
34356 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
34357 Add `time.h'.
34358 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
34359 `machine/time.h'. Add `time.h'.
34360 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34361
34362 2007-10-21 Robert Millan <rmh@aybabtu.com>
34363
34364 * include/grub/misc.h (grub_max): New function.
34365
34366 2007-10-21 Robert Millan <rmh@aybabtu.com>
34367
34368 * util/misc.c (grub_util_info): Call fflush() before returning.
34369
34370 2007-10-20 Robert Millan <rmh@aybabtu.com>
34371
34372 * genmk.rb (Image): Copy `extra_flags' from here ...
34373 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
34374
34375 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
34376 to `argc' and `args' arguments.
34377
34378 2007-10-17 Robert Millan <rmh@aybabtu.com>
34379
34380 * kern/i386/loader.S: New file.
34381
34382 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
34383 * kern/i386/loader.S (grub_linux_prot_size)... to here.
34384 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
34385 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
34386 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
34387 * kern/i386/loader.S (grub_linux_real_addr)... to here.
34388 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
34389 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
34390 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
34391 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
34392 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
34393 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
34394 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
34395 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
34396
34397 * kern/i386/realmode.S: New file.
34398
34399 * kern/i386/pc/startup.S (protstack): Moved from here ...
34400 * kern/i386/realmode.S (protstack)... to here.
34401 * kern/i386/pc/startup.S (gdt): Moved from here ...
34402 * kern/i386/realmode.S (gdt)... to here.
34403 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
34404 * kern/i386/realmode.S (prot_to_real)... to here.
34405
34406 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
34407 `kern/i386/realmode.S'.
34408
34409 2007-10-17 Robert Millan <rmh@aybabtu.com>
34410
34411 * include/grub/i386/loader.h: New file.
34412
34413 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
34414 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34415 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34416 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34417 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
34418 * include/grub/i386/loader.h (grub_linux_prot_size)
34419 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
34420 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
34421 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
34422 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
34423
34424 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
34425
34426 2007-10-15 Robert Millan <rmh@aybabtu.com>
34427
34428 * normal/misc.c (grub_normal_print_device_info): Do not probe for
34429 filesystem when dev->disk is unset.
34430 Do probe for filesystem even when dev->disk->has_partitions is set.
34431 In case a filesystem is found, always report it.
34432 In case it isn't, if dev->disk->has_partitions is set, report that
34433 a partition table was found instead of reporting that no filesystem
34434 could be identified.
34435
34436 2007-10-12 Robert Millan <rmh@aybabtu.com>
34437
34438 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
34439 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
34440
34441 * include/grub/types.h (grub_host_to_target16): New macro.
34442 (grub_host_to_target32): Likewise.
34443 (grub_host_to_target64): Likewise.
34444 (grub_target_to_host16): Likewise.
34445 (grub_target_to_host32): Likewise.
34446 (grub_target_to_host64): Likewise.
34447
34448 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34449 Renamed from to ...
34450 (GRUB_MOD_ALIGN): ...this. Update all users.
34451
34452 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
34453 grub_host_to_target32.
34454 Replace grub_be_to_cpu32 with grub_target_to_host32.
34455 (load_modules): Likewise.
34456 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
34457 Replace grub_be_to_cpu32 with grub_target_to_host32.
34458 Replace grub_cpu_to_be16 with grub_host_to_target16.
34459 Replace grub_cpu_to_be32 grub_host_to_target32.
34460
34461 2007-10-12 Robert Millan <rmh@aybabtu.com>
34462
34463 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
34464 * util/elf/grub-mkimage.c: ... here.
34465
34466 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
34467 `util/powerpc/ieee1275/grub-mkimage.c'.
34468
34469 2007-10-07 Robert Millan <rmh@aybabtu.com>
34470
34471 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
34472 and make it easier to figure out.
34473 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
34474 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
34475 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
34476 leave us with less than HEAP_MIN_SIZE total heap.
34477 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
34478
34479 2007-10-03 Robert Millan <rmh@aybabtu.com>
34480
34481 * include/grub/i386/io.h: New file.
34482 * commands/i386/pc/play.c (inb): Removed.
34483 (outb): Removed.
34484 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34485 with grub_outb().
34486 * term/i386/pc/serial.c (inb): Removed.
34487 (outb): Removed.
34488 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34489 with grub_outb().
34490 * term/i386/pc/vga.c (inb): Removed.
34491 (outb): Removed.
34492 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
34493 with grub_outb().
34494
34495 2007-10-02 Robert Millan <rmh@aybabtu.com>
34496
34497 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
34498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34499 Reported by Marcin Kurek.
34500
34501 2007-09-07 Robert Millan <rmh@aybabtu.com>
34502
34503 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
34504 SmartFirmware version updates (as released by Sven Luther), and avoid
34505 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
34506 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
34507 known broken.
34508
34509 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34510
34511 From Hitoshi Ozeki:
34512 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
34513 when merging two regions.
34514
34515 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34516
34517 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
34518 * normal/completion.c (grub_normal_do_completion): Likewise.
34519 Reported by Hitoshi Ozeki.
34520
34521 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34522
34523 Do not use devices at boot in chainloading.
34524
34525 * loader/i386/pc/chainloader.c (boot_drive): New variable.
34526 (boot_part_addr): Likewise.
34527 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
34528 with BOOT_DRIVE and BOOT_PART_ADDR.
34529 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
34530 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
34531
34532 2007-08-29 Robert Millan <rmh@aybabtu.com>
34533
34534 Patch from Simon Peter <dn.tlp@gmx.net>:
34535 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
34536 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
34537 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
34538 util/i386/pc/grub-setup.c_DEPENDENCIES.
34539 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
34540 util/grub-probe.c_DEPENDENCIES.
34541 * conf/powerpc-ieee1275.rmk: Likewise.
34542
34543 2007-08-28 Robert Millan <rmh@aybabtu.com>
34544
34545 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
34546 to tell grub-mkdevicemap how to name devices.
34547 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
34548 feature).
34549
34550 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
34551 util/i386/get_disk_name.c.
34552 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
34553 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
34554 util/ieee1275/get_disk_name.c.
34555
34556 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
34557
34558 * DISTLIST: Add util/i386/get_disk_name.c and
34559 util/ieee1275/get_disk_name.c.
34560
34561 * util/grub-mkdevicemap.c: Replace device naming logic with
34562 grub_util_get_disk_name() calls.
34563
34564 2007-08-20 Robert Millan <rmh@aybabtu.com>
34565
34566 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
34567 (so that it works for both plural and singular quantities).
34568
34569 2007-08-05 Robert Millan <rmh@aybabtu.com>
34570
34571 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
34572 so that [xz] isn't taken into account when determining order.
34573
34574 2007-08-02 Marco Gerards <marco@gnu.org>
34575
34576 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
34577 `include/multiboot2.h', `include/grub/elfload.h',
34578 `include/multiboot.h', `include/grub/multiboot.h',
34579 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
34580 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
34581 `kern/elf.c', `loader/multiboot_loader.c',
34582 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
34583 `loader/i386/pc/multiboot2.c',
34584 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
34585 `util/i386/pc/grub-mkrescue.in'. Remove
34586 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
34587 `include/grub/i386/pc/util/biosdisk.h' and
34588 `include/grub/powerpc/ieee1275/multiboot.h'.
34589
34590 2007-08-02 Bean <bean123ch@gmail.com>
34591
34592 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
34593 (ntfs_mod_SOURCES): New variable.
34594 (ntfs_mod_CFLAGS): Likewise.
34595 (ntfs_mod_LDFLAGS): Likewise.
34596
34597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
34598 (grub_probe_SOURCES): Likewise.
34599 (grub_emu_SOURCES): Likewise.
34600
34601 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34602 (grub_emu_SOURCES): Likewise.
34603
34604 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
34605 (grub_emu_SOURCES): Likewise.
34606
34607 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
34608
34609 * fs/ntfs.c: New file.
34610
34611 2007-08-02 Bean <bean123ch@gmail.com>
34612
34613 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
34614
34615 * file.h (grub_file): Likewise.
34616
34617 * fshelp.h (grub_fshelp_read_file): Likewise.
34618
34619 * util/i386/pc/grub-setup.c (setup): Likewise.
34620 (save_first_sector): Likewise.
34621 (save_blocklists): Likewise.
34622
34623 * fs/affs.c (grub_affs_read_file): Likewise.
34624
34625 * fs/ext2.c (grub_ext2_read_file): Likewise.
34626
34627 * fs/fat.c (grub_fat_read_data): Likewise.
34628
34629 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
34630
34631 * fs/hfs.c (grub_hfs_read_file): Likewise.
34632
34633 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34634
34635 * fs/jfs.c (grub_jfs_read_file): Likewise.
34636
34637 * fs/minix.c (grub_minix_read_file): Likewise.
34638
34639 * fs/sfs.c (grub_sfs_read_file): Likewise.
34640
34641 * fs/ufs.c (grub_ufs_read_file): Likewise.
34642
34643 * fs/xfs.c (grub_xfs_read_file): Likewise.
34644
34645 * command/blocklist.c (read_blocklist): Likewise.
34646 (print_blocklist): Likewise.
34647
34648 2007-08-02 Marco Gerards <marco@gnu.org>
34649
34650 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
34651 `util/hostfs.c'.
34652
34653 * disk/host.c: New file.
34654
34655 * util/hostfs.c: Likewise.
34656
34657 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
34658 return `GRUB_ERR_BAD_FS'.
34659 * fs/sfs.c (grub_sfs_mount): Likewise.
34660 * fs/xfs.c (grub_xfs_mount): Likewise.
34661
34662 * include/grub/disk.h (enum grub_disk_dev_id): Add
34663 `GRUB_DISK_DEVICE_HOST_ID'.
34664
34665 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
34666
34667 2007-07-24 Jerone Young <jerone@gmail.com>
34668
34669 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
34670 modules for compilation.
34671 * conf/powerpc-ieee1275.rmk: Likewise.
34672
34673 * include/multiboot.h: Move multiboot definitions to one file. Rename
34674 many definitions to not get grub specific.
34675 * include/multiboot2.h: Create header with multiboot 2 definitions.
34676 * include/grub/multiboot.h: Header for grub specific function
34677 prototypes and definitions.
34678 * include/grub/multiboot2.h: Likewise.
34679 * include/grub/multiboot_loader.h: Likewise.
34680 * include/grub/i386/pc/multiboot.h: Removed.
34681 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
34682
34683 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
34684 and 2 to allow for one multiboot and module commands.
34685 * loader/multiboot2.c: Add multiboot2 functionality.
34686 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
34687 and definition names.
34688 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
34689 2 functions.
34690 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
34691 ieee1275 specific multiboot2 code.
34692
34693 * kern/i386/pc/startup.S: Change headers and definition names for
34694 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
34695
34696 2007-07-22 Robert Millan <rmh@aybabtu.com>
34697
34698 * geninitheader.sh: Process file specified in first parameter rather
34699 than hardcoding grub_modules_init.lst.
34700 * geninit.sh: Likewise. Also, construct header name dynamically rather
34701 than hardcoding grub_modules_init.h.
34702
34703 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
34704 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
34705 grub_probe_init.[ch] and grub_setup_init.[ch].
34706
34707 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
34708 grub_modules_init.h with grub_emu_init.h.
34709 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
34710 grub_probe_init.[ch] files.
34711 * conf/i386-efi.rmk: Likewise.
34712 * conf/i386-pc.rmk: Likewise.
34713 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
34714 grub_setup_init.[ch] files.
34715
34716 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
34717 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
34718 to initialize modules rather than a list of hardcoded functions.
34719 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
34720 grub_init_all() to initialize modules rather than a list of hardcoded
34721 functions.
34722
34723 2007-07-22 Robert Millan <rmh@aybabtu.com>
34724
34725 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
34726 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
34727
34728 2007-07-22 Robert Millan <rmh@aybabtu.com>
34729
34730 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
34731 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
34732 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
34733 flag when running on SmartFirmware.
34734 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
34735 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
34736 was set.
34737
34738 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34739 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
34740 rather than decreasing it.
34741
34742 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
34743 there's not enough space to do it, fail in the same way as when it
34744 can't be done because there are no partitions.
34745
34746 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
34747 when nvsetenv failed.
34748
34749 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34750
34751 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
34752 because this rule is automatically generated.
34753 (grub-mkrescue): Removed for the same reason as above.
34754
34755 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
34756
34757 Migrate to GNU General Public License Version 3.
34758
34759 * COPYING: Replaced with the plain text version of GPLv3.
34760
34761 * config.guess: Updated from gnulib.
34762 * config.sub: Likewise.
34763
34764 * geninit.sh: Output a GPLv3 copyright notice.
34765 * geninitheader.sh: Likewise.
34766 * genmodsrc.sh: Likewise.
34767 * gensymlist.sh.in: Likewise.
34768
34769 * boot/i386/pc/boot.S: Upgraded to GPLv3.
34770 * boot/i386/pc/diskboot.S: Likewise.
34771 * boot/i386/pc/pxeboot.S: Likewise.
34772 * commands/blocklist.c: Likewise.
34773 * commands/boot.c: Likewise.
34774 * commands/cat.c: Likewise.
34775 * commands/cmp.c: Likewise.
34776 * commands/configfile.c: Likewise.
34777 * commands/echo.c: Likewise.
34778 * commands/help.c: Likewise.
34779 * commands/ls.c: Likewise.
34780 * commands/search.c: Likewise.
34781 * commands/terminal.c: Likewise.
34782 * commands/test.c: Likewise.
34783 * commands/videotest.c: Likewise.
34784 * commands/i386/cpuid.c: Likewise.
34785 * commands/i386/pc/halt.c: Likewise.
34786 * commands/i386/pc/play.c: Likewise.
34787 * commands/i386/pc/reboot.c: Likewise.
34788 * commands/i386/pc/vbeinfo.c: Likewise.
34789 * commands/i386/pc/vbetest.c: Likewise.
34790 * commands/ieee1275/halt.c: Likewise.
34791 * commands/ieee1275/reboot.c: Likewise.
34792 * commands/ieee1275/suspend.c: Likewise.
34793 * disk/loopback.c: Likewise.
34794 * disk/lvm.c: Likewise.
34795 * disk/raid.c: Likewise.
34796 * disk/efi/efidisk.c: Likewise.
34797 * disk/i386/pc/biosdisk.c: Likewise.
34798 * disk/ieee1275/ofdisk.c: Likewise.
34799 * font/manager.c: Likewise.
34800 * fs/affs.c: Likewise.
34801 * fs/ext2.c: Likewise.
34802 * fs/fat.c: Likewise.
34803 * fs/fshelp.c: Likewise.
34804 * fs/hfs.c: Likewise.
34805 * fs/hfsplus.c: Likewise.
34806 * fs/iso9660.c: Likewise.
34807 * fs/jfs.c: Likewise.
34808 * fs/minix.c: Likewise.
34809 * fs/sfs.c: Likewise.
34810 * fs/ufs.c: Likewise.
34811 * fs/xfs.c: Likewise.
34812 * hello/hello.c: Likewise.
34813 * include/grub/acorn_filecore.h: Likewise.
34814 * include/grub/arg.h: Likewise.
34815 * include/grub/bitmap.h: Likewise.
34816 * include/grub/boot.h: Likewise.
34817 * include/grub/cache.h: Likewise.
34818 * include/grub/device.h: Likewise.
34819 * include/grub/disk.h: Likewise.
34820 * include/grub/dl.h: Likewise.
34821 * include/grub/elfload.h: Likewise.
34822 * include/grub/env.h: Likewise.
34823 * include/grub/err.h: Likewise.
34824 * include/grub/file.h: Likewise.
34825 * include/grub/font.h: Likewise.
34826 * include/grub/fs.h: Likewise.
34827 * include/grub/fshelp.h: Likewise.
34828 * include/grub/gzio.h: Likewise.
34829 * include/grub/hfs.h: Likewise.
34830 * include/grub/kernel.h: Likewise.
34831 * include/grub/loader.h: Likewise.
34832 * include/grub/lvm.h: Likewise.
34833 * include/grub/misc.h: Likewise.
34834 * include/grub/mm.h: Likewise.
34835 * include/grub/net.h: Likewise.
34836 * include/grub/normal.h: Likewise.
34837 * include/grub/parser.h: Likewise.
34838 * include/grub/partition.h: Likewise.
34839 * include/grub/pc_partition.h: Likewise.
34840 * include/grub/raid.h: Likewise.
34841 * include/grub/rescue.h: Likewise.
34842 * include/grub/script.h: Likewise.
34843 * include/grub/setjmp.h: Likewise.
34844 * include/grub/symbol.h: Likewise.
34845 * include/grub/term.h: Likewise.
34846 * include/grub/terminfo.h: Likewise.
34847 * include/grub/tparm.h: Likewise.
34848 * include/grub/types.h: Likewise.
34849 * include/grub/video.h: Likewise.
34850 * include/grub/efi/api.h: Likewise.
34851 * include/grub/efi/chainloader.h: Likewise.
34852 * include/grub/efi/console.h: Likewise.
34853 * include/grub/efi/console_control.h: Likewise.
34854 * include/grub/efi/disk.h: Likewise.
34855 * include/grub/efi/efi.h: Likewise.
34856 * include/grub/efi/pe32.h: Likewise.
34857 * include/grub/efi/time.h: Likewise.
34858 * include/grub/i386/linux.h: Likewise.
34859 * include/grub/i386/setjmp.h: Likewise.
34860 * include/grub/i386/types.h: Likewise.
34861 * include/grub/i386/efi/kernel.h: Likewise.
34862 * include/grub/i386/efi/loader.h: Likewise.
34863 * include/grub/i386/efi/time.h: Likewise.
34864 * include/grub/i386/pc/biosdisk.h: Likewise.
34865 * include/grub/i386/pc/boot.h: Likewise.
34866 * include/grub/i386/pc/chainloader.h: Likewise.
34867 * include/grub/i386/pc/console.h: Likewise.
34868 * include/grub/i386/pc/init.h: Likewise.
34869 * include/grub/i386/pc/kernel.h: Likewise.
34870 * include/grub/i386/pc/loader.h: Likewise.
34871 * include/grub/i386/pc/memory.h: Likewise.
34872 * include/grub/i386/pc/multiboot.h: Likewise.
34873 * include/grub/i386/pc/serial.h: Likewise.
34874 * include/grub/i386/pc/time.h: Likewise.
34875 * include/grub/i386/pc/vbe.h: Likewise.
34876 * include/grub/i386/pc/vbeblit.h: Likewise.
34877 * include/grub/i386/pc/vbefill.h: Likewise.
34878 * include/grub/i386/pc/vbeutil.h: Likewise.
34879 * include/grub/i386/pc/vga.h: Likewise.
34880 * include/grub/ieee1275/ieee1275.h: Likewise.
34881 * include/grub/ieee1275/ofdisk.h: Likewise.
34882 * include/grub/powerpc/libgcc.h: Likewise.
34883 * include/grub/powerpc/setjmp.h: Likewise.
34884 * include/grub/powerpc/types.h: Likewise.
34885 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
34886 * include/grub/powerpc/ieee1275/console.h: Likewise.
34887 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
34888 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
34889 * include/grub/powerpc/ieee1275/loader.h: Likewise.
34890 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
34891 * include/grub/powerpc/ieee1275/time.h: Likewise.
34892 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
34893 * include/grub/sparc64/libgcc.h: Likewise.
34894 * include/grub/sparc64/setjmp.h: Likewise.
34895 * include/grub/sparc64/types.h: Likewise.
34896 * include/grub/sparc64/ieee1275/console.h: Likewise.
34897 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34898 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34899 * include/grub/sparc64/ieee1275/time.h: Likewise.
34900 * include/grub/util/biosdisk.h: Likewise.
34901 * include/grub/util/getroot.h: Likewise.
34902 * include/grub/util/lvm.h: Likewise.
34903 * include/grub/util/misc.h: Likewise.
34904 * include/grub/util/raid.h: Likewise.
34905 * include/grub/util/resolve.h: Likewise.
34906 * io/gzio.c: Likewise.
34907 * kern/device.c: Likewise.
34908 * kern/disk.c: Likewise.
34909 * kern/dl.c: Likewise.
34910 * kern/elf.c: Likewise.
34911 * kern/env.c: Likewise.
34912 * kern/err.c: Likewise.
34913 * kern/file.c: Likewise.
34914 * kern/fs.c: Likewise.
34915 * kern/loader.c: Likewise.
34916 * kern/main.c: Likewise.
34917 * kern/misc.c: Likewise.
34918 * kern/mm.c: Likewise.
34919 * kern/parser.c: Likewise.
34920 * kern/partition.c: Likewise.
34921 * kern/rescue.c: Likewise.
34922 * kern/term.c: Likewise.
34923 * kern/efi/efi.c: Likewise.
34924 * kern/efi/init.c: Likewise.
34925 * kern/efi/mm.c: Likewise.
34926 * kern/i386/dl.c: Likewise.
34927 * kern/i386/efi/init.c: Likewise.
34928 * kern/i386/efi/startup.S: Likewise.
34929 * kern/i386/pc/init.c: Likewise.
34930 * kern/i386/pc/lzo1x.S: Likewise.
34931 * kern/i386/pc/startup.S: Likewise.
34932 * kern/ieee1275/ieee1275.c: Likewise.
34933 * kern/powerpc/cache.S: Likewise.
34934 * kern/powerpc/dl.c: Likewise.
34935 * kern/powerpc/ieee1275/cmain.c: Likewise.
34936 * kern/powerpc/ieee1275/crt0.S: Likewise.
34937 * kern/powerpc/ieee1275/init.c: Likewise.
34938 * kern/powerpc/ieee1275/openfw.c: Likewise.
34939 * kern/sparc64/cache.S: Likewise.
34940 * kern/sparc64/dl.c: Likewise.
34941 * kern/sparc64/ieee1275/init.c: Likewise.
34942 * kern/sparc64/ieee1275/openfw.c: Likewise.
34943 * loader/efi/chainloader.c: Likewise.
34944 * loader/efi/chainloader_normal.c: Likewise.
34945 * loader/i386/efi/linux.c: Likewise.
34946 * loader/i386/efi/linux_normal.c: Likewise.
34947 * loader/i386/pc/chainloader.c: Likewise.
34948 * loader/i386/pc/chainloader_normal.c: Likewise.
34949 * loader/i386/pc/linux.c: Likewise.
34950 * loader/i386/pc/linux_normal.c: Likewise.
34951 * loader/i386/pc/multiboot.c: Likewise.
34952 * loader/i386/pc/multiboot_normal.c: Likewise.
34953 * loader/powerpc/ieee1275/linux.c: Likewise.
34954 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34955 * normal/arg.c: Likewise.
34956 * normal/cmdline.c: Likewise.
34957 * normal/command.c: Likewise.
34958 * normal/completion.c: Likewise.
34959 * normal/execute.c: Likewise.
34960 * normal/function.c: Likewise.
34961 * normal/lexer.c: Likewise.
34962 * normal/main.c: Likewise.
34963 * normal/menu.c: Likewise.
34964 * normal/menu_entry.c: Likewise.
34965 * normal/misc.c: Likewise.
34966 * normal/parser.y: Likewise.
34967 * normal/script.c: Likewise.
34968 * normal/i386/setjmp.S: Likewise.
34969 * normal/powerpc/setjmp.S: Likewise.
34970 * normal/sparc64/setjmp.S: Likewise.
34971 * partmap/acorn.c: Likewise.
34972 * partmap/amiga.c: Likewise.
34973 * partmap/apple.c: Likewise.
34974 * partmap/gpt.c: Likewise.
34975 * partmap/pc.c: Likewise.
34976 * partmap/sun.c: Likewise.
34977 * term/gfxterm.c: Likewise.
34978 * term/terminfo.c: Likewise.
34979 * term/efi/console.c: Likewise.
34980 * term/i386/pc/console.c: Likewise.
34981 * term/i386/pc/serial.c: Likewise.
34982 * term/i386/pc/vesafb.c: Likewise.
34983 * term/i386/pc/vga.c: Likewise.
34984 * term/ieee1275/ofconsole.c: Likewise.
34985 * util/biosdisk.c: Likewise.
34986 * util/console.c: Likewise.
34987 * util/genmoddep.c: Likewise.
34988 * util/getroot.c: Likewise.
34989 * util/grub-emu.c: Likewise.
34990 * util/grub-mkdevicemap.c: Likewise.
34991 * util/grub-probe.c: Likewise.
34992 * util/lvm.c: Likewise.
34993 * util/misc.c: Likewise.
34994 * util/raid.c: Likewise.
34995 * util/resolve.c: Likewise.
34996 * util/update-grub.in: Likewise.
34997 * util/update-grub_lib.in: Likewise.
34998 * util/grub.d/00_header.in: Likewise.
34999 * util/grub.d/10_hurd.in: Likewise.
35000 * util/grub.d/10_linux.in: Likewise.
35001 * util/i386/efi/grub-install.in: Likewise.
35002 * util/i386/efi/grub-mkimage.c: Likewise.
35003 * util/i386/pc/grub-install.in: Likewise.
35004 * util/i386/pc/grub-mkimage.c: Likewise.
35005 * util/i386/pc/grub-mkrescue.in: Likewise.
35006 * util/i386/pc/grub-setup.c: Likewise.
35007 * util/i386/pc/misc.c: Likewise.
35008 * util/powerpc/ieee1275/grub-install.in: Likewise.
35009 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
35010 * util/powerpc/ieee1275/misc.c: Likewise.
35011 * video/bitmap.c: Likewise.
35012 * video/video.c: Likewise.
35013 * video/i386/pc/vbe.c: Likewise.
35014 * video/i386/pc/vbeblit.c: Likewise.
35015 * video/i386/pc/vbefill.c: Likewise.
35016 * video/i386/pc/vbeutil.c: Likewise.
35017 * video/readers/tga.c: Likewise.
35018
35019 2007-07-02 Robert Millan <rmh@aybabtu.com>
35020
35021 * conf/i386-efi.rmk: Replace obsolete reference to
35022 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
35023 with util/getroot.c.
35024 * conf/powerpc-ieee1275.rmk: Likewise.
35025 * conf/sparc64-ieee1275.rmk: Likewise.
35026
35027 * util/grub-emu.c (main): Fix unchecked pointer handling.
35028
35029 2007-07-02 Robert Millan <rmh@aybabtu.com>
35030
35031 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
35032 invocation to fail, in order to support partition-less media.
35033
35034 * util/i386/pc/grub-install.in: Likewise.
35035
35036 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
35037 which fs or partmap modules are needed (akin to its sister scripts).
35038
35039 Also use grub-probe to get rid of unportable /proc/mounts check.
35040
35041 Print the same informational message that the other scripts do, before
35042 exiting.
35043
35044 2007-06-23 Robert Millan <rmh@aybabtu.com>
35045
35046 * util/update-grub_lib.in (font_path): New function. Determine whether
35047 a font file can be found and, if so, echo the GRUB path to it.
35048
35049 * util/update-grub.in: Handle multiple terminals depending on user
35050 input, platform availability and font file presence. Propagate
35051 variables of our findings to /etc/grub.d/ children.
35052
35053 * util/grub.d/00_header.in: Handle multiple terminals, based on
35054 environment setup by update-grub.
35055
35056 2007-06-23 Robert Millan <rmh@aybabtu.com>
35057
35058 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
35059
35060 2007-06-21 Robert Millan <rmh@aybabtu.com>
35061
35062 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
35063 indicate end of data section in kernel image.
35064 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
35065 GRUB_KERNEL_MACHINE_DATA_END.
35066
35067 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
35068 space for it.
35069 * kern/i386/efi/startup.S: Likewise.
35070
35071 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
35072 during image generation. Implement --prefix option to override this
35073 patch.
35074 * util/i386/efi/grub-mkimage.c: Likewise.
35075
35076 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
35077 code to make path relative to its root into a separate function.
35078
35079 * util/i386/pc/grub-install.in: Use newly provided
35080 make_system_path_relative_to_its_root() to convert ${grubdir}, then
35081 pass the result to grub-install --prefix.
35082
35083 2007-06-13 Robert Millan <rmh@aybabtu.com>
35084
35085 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
35086 DEFAULT_DEVICE_MAP.
35087 * util/grub-emu.c: Use above definitions from misc.h instead of
35088 defining them.
35089 * util/grub-mkdevicemap.c: Likewise.
35090 * util/i386/pc/grub-setup.c: Likewise.
35091 * util/grub-probe.c: Likewise.
35092 (probe): Abort with grub_util_error() when either
35093 grub_guess_root_device or grub_util_get_grub_dev fails.
35094
35095 2007-06-12 Robert Millan <rmh@aybabtu.com>
35096
35097 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
35098 "pager" assignment.
35099 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
35100 "pcdata".
35101 * util/grub-probe.c (probe): Likewise for "drive_name".
35102
35103 2007-06-11 Robert Millan <rmh@aybabtu.com>
35104
35105 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
35106 not just the cdrom one.
35107
35108 2007-06-11 Robert Millan <rmh@aybabtu.com>
35109
35110 * util/i386/pc/grub-mkrescue.in: Add "set -e".
35111 Add --pkglibdir=DIR option to override pkglibdir.
35112 Mention --image-type=TYPE in help output.
35113 Fix --grub-mkimage (it was a no-op).
35114 Abort gracefully when no parameter is given.
35115
35116 2007-06-11 Robert Millan <rmh@aybabtu.com>
35117
35118 * util/i386/pc/grub-mkrescue.in: New file.
35119 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
35120 * Makefile.in: Handle bin_SCRIPTS.
35121
35122 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
35123
35124 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
35125 list of video modes.
35126
35127 2007-06-06 Robert Millan <rmh@aybabtu.com>
35128
35129 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
35130 file doesn't exist, or if it is in a filesystem grub can't read.
35131
35132 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
35133 not abort if GRUB_DRIVE could not be defined. Rearrange generated
35134 header comment to fit in 80 columns when the variables are resolved.
35135
35136 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
35137 could be identified by update-grub. Remove redundant check for
35138 unifont.pff existence (since convert_system_path_to_grub_path now
35139 handles that).
35140
35141 2007-06-04 Robert Millan <rmh@aybabtu.com>
35142
35143 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
35144
35145 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
35146
35147 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
35148
35149 2007-06-04 Robert Millan <rmh@aybabtu.com>
35150
35151 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
35152
35153 * include/grub/partition.h: Declare grub_apple_partition_map_init and
35154 grub_apple_partition_map_fini.
35155
35156 * util/biosdisk.c
35157 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
35158 to access >2 TiB disks).
35159
35160 Print disk->total_sectors with %llu instead of %lu, since this
35161 variable is always 64-bit (prevents wrong disk size from being displayed
35162 on either >2 TiB disk or big-endian CPU).
35163
35164 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
35165 into a generic case that supports all (sane) partition maps.
35166
35167 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
35168 breaks big-endian.
35169
35170 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
35171 and grub_apple_partition_map_fini() after that.
35172
35173 2007-06-01 Robert Millan <rmh@aybabtu.com>
35174
35175 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
35176
35177 * util/grub.d/00_header.in: Only enable gfxterm when
35178 convert_system_path_to_grub_path() succeeds.
35179
35180 2007-05-20 Robert Millan <rmh@aybabtu.com>
35181
35182 * util/update-grub_lib.in: New file.
35183 * DISTLIST: Add update-grub_lib.in.
35184 * conf/common.rmk: Generate update-grub_lib and install it in
35185 $(lib_DATA).
35186 * Makefile.in: Add install routine for $(lib_DATA).
35187
35188 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
35189 function provided by update-grub_lib to support arbitrary paths of
35190 unifont.pff.
35191 * util/update-grub.in: Use convert_system_path_to_grub_path() to
35192 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
35193
35194 2007-05-19 Robert Millan <rmh@aybabtu.com>
35195
35196 * commands/i386/cpuid.c: New module.
35197 * DISTLIST: Add it.
35198 * conf/i386-efi.rmk: Enable cpuid.mod.
35199 * conf/i386-pc.rmk: Likewise.
35200
35201 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35202
35203 * kern/disk.c (grub_disk_read): Check return value of
35204 grub_realloc().
35205
35206 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
35207
35208 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
35209 arrays.
35210 * disk/raid.c (grub_raid_open): Likewise.
35211
35212 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35213
35214 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
35215 stack instead of on the heap.
35216
35217 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
35218 before doing a read on it.
35219
35220 * configure.ac: Only use -fno-stack-protector for the target
35221 environment.
35222
35223 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
35224
35225 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
35226 __attribute_ ((unused)) to mode_type argument.
35227
35228 * util/getroot.c (grub_guess_root_device): Fix #endif.
35229
35230 * kern/misc.c (memcmp): Fix prototype.
35231
35232 * include/grub/partition.h [GRUB_UTIL]
35233 (grub_gpt_partition_map_init): Add prototype.
35234 (grub_gpt_partition_map_fini): Likewise.
35235
35236 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
35237 at the right place.
35238
35239 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
35240 (grub_fat_read_data): Likewise.
35241 (grub_fat_find_dir): Likewise.
35242
35243 * font/manager.c (find_glyph): Make table a const.
35244 (grub_font_get_glyph): Remove bitmap from if statement.
35245
35246 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
35247
35248 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
35249 code, first search for device in /dev/mapper, then in /dev.
35250 (grub_util_get_grub_dev): New function.
35251 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
35252 prototype.
35253 * util/grub-probe.c (probe): Remove check for RAID, call
35254 grub_util_get_grub_dev() instead of
35255 grub_util_biosdisk_get_grub_dev().
35256 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
35257 grub_util_biosdisk_get_grub_dev().
35258 * util/i386/pc/grub-setup.c (main): Likewise.
35259
35260 2007-05-16 Robert Millan <rmh@aybabtu.com>
35261
35262 * DISTLIST: Update for the latest changes.
35263 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
35264 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
35265 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
35266 grub/util/biosdisk.h.
35267 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
35268 grub/util/biosdisk.h.
35269
35270 2007-05-16 Robert Millan <rmh@aybabtu.com>
35271
35272 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
35273
35274 2007-05-16 Robert Millan <rmh@aybabtu.com>
35275
35276 * util/i386/efi/grub-install.in: New.
35277 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
35278 newly added grub-install.
35279 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
35280 include.
35281 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
35282 grub/util/biosdisk.h.
35283 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
35284 grub/util/biosdisk.h.
35285
35286 2007-05-16 Robert Millan <rmh@aybabtu.com>
35287
35288 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
35289 * include/grub/util/biosdisk.h: ... here.
35290 * util/i386/pc/biosdisk.c: Moved to ...
35291 * util/biosdisk.c: ... here.
35292 * util/i386/pc/getroot.c: Moved to ...
35293 * util/getroot.c: ... here.
35294 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
35295 * util/grub-mkdevicemap.c: ... here.
35296 * util/i386/pc/grub-probe.c: Moved to ...
35297 * util/grub-probe.c: ... here.
35298
35299 2007-05-15 Robert Millan <rmh@aybabtu.com>
35300
35301 * util/update-grub.in: Remove duplicated line in grub.cfg header
35302 message.
35303
35304 2007-05-13 Robert Millan <rmh@aybabtu.com>
35305
35306 * util/update-grub.in: Fix a few assumptions about the devices holding
35307 /, /boot and /boot/grub being the same.
35308 * util/grub.d/00_header.in: Likewise.
35309 * util/grub.d/10_hurd.in: Likewise.
35310 * util/grub.d/10_linux.in: Likewise.
35311
35312 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
35313 patterns. Use that to define the `.old' suffix as older than `'.
35314
35315 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
35316
35317 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
35318 the grub.cfg header message.
35319
35320 2007-05-11 Robert Millan <rmh@aybabtu.com>
35321
35322 * util/update-grub.in: Create device.map if it doesn't already exist,
35323 before attempting to run grub-probe.
35324 Check for grub-probe and grub-mkdevicemap with the same code
35325 grub-install is using.
35326 Remove test mode.
35327
35328 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
35329
35330 * Makefile.in: Add the datarootdir autoconf variable.
35331
35332 2007-05-09 Robert Millan <rmh@aybabtu.com>
35333
35334 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
35335 fail gracefully if dev->disk->partition == NULL.
35336
35337 2007-05-07 Robert Millan <rmh@aybabtu.com>
35338
35339 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
35340 determine partition map module.
35341 * util/i386/pc/grub-install.in: Use this feature to decide which
35342 partition module to load, instead of hardcoding pc and gpt.
35343
35344 2007-05-07 Robert Millan <rmh@aybabtu.com>
35345
35346 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
35347 source directory differs from build directory.
35348
35349 2007-05-05 Robert Millan <rmh@aybabtu.com>
35350
35351 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
35352 initialisation.
35353
35354 2007-05-05 Robert Millan <rmh@aybabtu.com>
35355
35356 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
35357
35358 2007-05-05 Robert Millan <rmh@aybabtu.com>
35359
35360 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
35361 command-line arguments via ${GRUB_CMDLINE_LINUX}.
35362
35363 2007-05-05 Robert Millan <rmh@aybabtu.com>
35364
35365 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
35366 (grub_probe_SOURCES): Likewise.
35367 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
35368 GPT and initialize dos_part and bsd_part accordingly.
35369 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
35370 install_bsd_part.
35371 (main): Activate gpt module for use during partition identification,
35372 and deactivate it afterwards.
35373 * util/i386/pc/grub-install.in: Add gpt module to core.img.
35374 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
35375 partition identification, and deactivate it afterwards.
35376
35377 2007-05-05 Robert Millan <rmh@aybabtu.com>
35378
35379 * term/i386/pc/console.c (grub_console_fini): Call
35380 grub_term_set_current() before grub_term_unregister().
35381
35382 2007-05-04 Robert Millan <rmh@aybabtu.com>
35383
35384 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
35385 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
35386 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
35387 and update-grub_DATA.
35388 * conf/common.rmk: Build and install update-grub components.
35389 * conf/common.mk: Regenerate.
35390 * util/update-grub.in: New. Core of update-grub.
35391 * util/grub.d/00_header.in: New. Generates grub.cfg header.
35392 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
35393 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
35394 * util/grub.d/README: New. Document grub.d directory layout.
35395
35396 2007-05-01 Robert Millan <rmh@aybabtu.com>
35397
35398 * util/grub-emu.c: Move initialization functions
35399 grub_util_biosdisk_init() and grub_init_all() before
35400 grub_util_biosdisk_get_grub_dev(), which relies on them.
35401
35402 2007-04-19 Robert Millan <rmh@aybabtu.com>
35403
35404 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
35405 it is used later.
35406
35407 2007-04-18 Jerone Young <jerone@gmail.com>
35408
35409 * kernel/elf.c: Add missing parenthesis for conditional statement
35410 stanza.
35411
35412 2007-04-10 Jerone Young <jerone@gmail.com>
35413
35414 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
35415 continue on and look for device node with real device name.
35416
35417 2007-04-10 Jerone Young <jerone@gmail.com>
35418
35419 * configure.ac: Add argument for autoconf to use transformation
35420 ability.
35421 * Makefile.in: Add autoconf package transformation code.
35422 * util/i386/pc/grub-install.in: Likewise.
35423 * util/powerpc/ieee1275/grub-install.in: Likewise.
35424
35425 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35426
35427 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
35428 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
35429 (EXT2_REVISION): Likewise.
35430 (EXT2_INODE_SIZE): Likewise.
35431 (struct grub_ext2_block_group): Added a missing member
35432 "used_dirs".
35433 (grub_ext2_read_inode): Divide by the inode size in a superblock
35434 instead of 128 to obtain INODES_PER_BLOCK.
35435 Use the macro EXT2_INODE_SIZE instead of directly using
35436 SBLOCK->INODE_SIZE.
35437
35438 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35439
35440 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
35441 superblock instead of the structure size to compute an
35442 offset. This fixes the problem that GRUB could not read a
35443 filesystem when inode size is different from 128-byte.
35444
35445 2007-03-05 Marco Gerards <marco@gnu.org>
35446
35447 * normal/main.c (read_config_file): When "menu" is not set, create
35448 an initial context.
35449
35450 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35451
35452 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
35453 (HEAP_LIMIT): New macro.
35454 (grub_claim_heap): Claim memory up to `heaplimit'.
35455
35456 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
35457
35458 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
35459 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
35460 (_start): Likewise.
35461 (grub_arch_modules_addr): Return address after `_end'.
35462 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
35463 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
35464 (add_segments): Calculate `_end' from phdr size and location.
35465 (ALIGN_UP): Moved to ...
35466 * include/grub/misc.h: here.
35467 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
35468 New macro.
35469 (GRUB_IEEE1275_MODULE_BASE): Removed.
35470
35471 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35472
35473 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
35474 loop boundary.
35475
35476 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35477
35478 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
35479 All users updated.
35480 (grub_elf64_load_hook_t): Likewise.
35481 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
35482 debug output.
35483
35484 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
35485
35486 * kern/mm.c: Update copyright.
35487 (grub_mm_debug): Correct syntax error.
35488 (grub_mm_dump_free): New function.
35489 (grub_debug_free): Call `grub_free'.
35490 * include/grub/mm.h: Update copyright.
35491 (grub_mm_dump_free): Add declaration.
35492
35493 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35494
35495 * include/grub/ieee1275/ieee1275.h: Update copyright.
35496 * kern/powerpc/ieee1275/init.c: Likewise.
35497 * kern/powerpc/ieee1275/openfw.c: Likewise.
35498
35499 * loader/powerpc/ieee1275/linux.c: Likewise.
35500 * include/grub/elfload.h: Likewise.
35501 * kern/elf.c: Likewise.
35502 (grub_elf32_load): Pass `base' and `size' parameters. Update all
35503 callers.
35504 (grub_elf64_load): Likewise.
35505 (grub_elf32_load_segment): Move to a nested function.
35506 (grub_elf64_load_segment): Likewise.
35507
35508 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
35509
35510 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
35511 prototype.
35512 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
35513 (grub_heap_len): Likewise.
35514 (HEAP_SIZE): New macro.
35515 (grub_claim_heap): New function.
35516 (grub_machine_init): Don't claim heap directly. Call
35517 `grub_claim_heap'.
35518 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
35519 (grub_available_iterate): New function.
35520
35521 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
35522
35523 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
35524 * configure.ac: Use it for testing the HOST and TARGET compilers.
35525
35526 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
35527
35528 * Makefile.in (enable_grub_emu): New variable.
35529 * configure.ac (--enable-grub-emu): New option.
35530 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
35531 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
35532 * conf/i386-pc.rmk: Likewise.
35533 * conf/powerpc-ieee1275.rmk: Likewise.
35534 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
35535
35536 2006-12-12 Marco Gerards <marco@gnu.org>
35537
35538 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
35539
35540 * kern/env.c (grub_env_unset): Don't free the member `value' when
35541 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
35542 pointer.
35543
35544 * normal/main.c (current_menu): Removed.
35545 (free_menu): Unset the `menu' environment variable.
35546 (grub_normal_menu_addentry): Make use of the environment variable
35547 `menu', instead of using the global `current_menu'. Allocate
35548 memory for the sourcecode of this entry.
35549 (read_config_file): New argument `nested', changed all callers.
35550 Only in the case of a new context, initialize a new menu. Set the
35551 `menu' environment variable.
35552 (grub_normal_execute): Don't set and unset the environment
35553 variable `menu' here anymore. Only free the menu when leaving the
35554 context.
35555
35556 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
35557 leak.
35558
35559 2006-12-11 Marco Gerards <marco@gnu.org>
35560
35561 * normal/menu_entry.c (run): Fix off by one bug so the last line
35562 is executed. Move the loader check to outside the loop.
35563
35564 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
35565
35566 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
35567
35568 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
35569
35570 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
35571 the number of sectors. Reported by Andrey Shuvikov
35572 <mr_hyro@yahoo.com>.
35573
35574 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
35575
35576 * kern/disk.c (grub_disk_read): When there is a read error, always
35577 try to read only the necessary data.
35578
35579 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
35580 disk/raid.c.
35581 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
35582 prototype.
35583 [GRUB_UTIL] (grub_raid_fini): Likewise.
35584 [GRUB_UTIL] (grub_lvm_init): Likewise.
35585 [GRUB_UTIL] (grub_lvm_fini): Likewise.
35586 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
35587 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
35588 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
35589 and grub_raid_fini().
35590
35591 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
35592
35593 * include/grub/types.h (__unused): Rename to UNUSED.
35594 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
35595 (grub_elf64_size): Likewise.
35596
35597 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35598
35599 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
35600 grub_error_push and grub_error_pop in the error-handling path.
35601 (grub_elf32_load_segment): Only call grub_file_read with non-zero
35602 length.
35603
35604 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
35605
35606 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
35607 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35609 (kernel_elf_SOURCES): Likewise.
35610 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
35611 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
35612 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35613 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
35614 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
35615 (elf_mod_SOURCES): New variable.
35616 (elf_mod_CFLAGS): Likewise.
35617 (elf_mod_LDFLAGS): Likewise.
35618 * include/grub/types.h (__unused): New macro.
35619 * include/grub/elfload.h: New file.
35620 * kern/elf.c: Likewise.
35621 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
35622 (ELF32_LOADMASK): New macro.
35623 (ELF64_LOADMASK): Likewise.
35624 (vmlinux): Removed.
35625 (grub_linux_load32): New function.
35626 (grub_linux_load64): Likewise.
35627 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
35628 Use grub_elf_t instead of grub_file_t.
35629
35630 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
35631
35632 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
35633 `catch_result' to struct set_color_args.
35634
35635 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35636
35637 * normal/menu.c: Include grub/script.h.
35638 * normal/menu_entry.c: Likewise.
35639 * include/grub/normal.h: Do not include grub/script.h.
35640
35641 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35642
35643 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
35644
35645 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35646
35647 * kern/disk.c (grub_disk_open): Print debug messages when opening a
35648 disk.
35649 (grub_disk_close): Print debug messages when closing a disk.
35650 (grub_disk_read): Print debug messages when disk read fails.
35651 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
35652 filesystem type.
35653 * kern/partition.c: Include misc.h.
35654 (grub_partition_iterate): Print debug messages when detecting
35655 partition type.
35656
35657 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
35658
35659 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
35660 is negative.
35661 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
35662
35663 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
35664
35665 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
35666 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
35667
35668 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
35669
35670 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
35671 instead of sizeof(lv). Patch by Michael Guntsche.
35672
35673 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
35674
35675 * disk/lvm.c: Rename VGS to VG_LIST.
35676 (grub_lvm_iterate): Change VGS->LV to VG-LV.
35677 (grub_lvm_open): Likewise.
35678 Thanks to Michael Guntsche for finding this bug.
35679
35680 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35681
35682 * configure.ac (AC_INIT): Bumped to 1.95.
35683
35684 2006-10-14 Robert Millan <rmh@aybabtu.com>
35685
35686 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
35687 with "/dev/.static/dev/md".
35688
35689 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35690
35691 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
35692 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
35693 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
35694 DRIVE_NAME are always freed.
35695
35696 * util/i386/pc/biosdisk.c (make_device_name): Add one into
35697 DOS_PART, as a DOS partition is counted from one instead of zero
35698 now. Reported by Robert Millan.
35699
35700 2006-10-14 Robert Millan <rmh@aybabtu.com>
35701
35702 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
35703 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
35704 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
35705 string returned by grub_guess_root_device.
35706 * util/i386/pc/grub-setup.c: Likewise.
35707 * util/i386/pc/grub-probefs.c: Likewise.
35708
35709 * util/i386/pc/grub-probefs.c: Rename to ...
35710 * util/i386/pc/grub-probe.c: ... this.
35711 * DISTLIST: Remove grub-probefs, add grub-probe.
35712 * conf/i386-efi.rmk: Likewise.
35713 * conf/i386-pc.rmk: Likewise.
35714 * util/i386/pc/grub-install.in: Likewise.
35715
35716 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
35717 choose which information we want to print.
35718
35719 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
35720
35721 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
35722 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
35723 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
35724 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
35725 video/readers/tga.c and video/i386/pc/vbeutil.c.
35726
35727 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
35728
35729 Added support for RAID and LVM.
35730
35731 * disk/lvm.c: New file.
35732 * disk/raid.c: Likewise.
35733 * include/grub/lvm.h: Likewise.
35734 * include/grub/raid.h: Likewise.
35735 * include/grub/util/lvm.h: Likewise.
35736 * include/grub/util/raid.h: Likewise.
35737 * util/lvm.c: Likewise.
35738 * util/raid.c: Likewise.
35739
35740 * include/grub/disk.h (grub_disk_dev_id): Add
35741 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
35742 (grub_disk_get_size): New prototype.
35743 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
35744 returns a partition.
35745 (grub_disk_get_size): New function.
35746
35747 * kern/i386/pc/init.c (make_install_device): Copy the prefix
35748 verbatim if grub_install_dos_part is -2.
35749
35750 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
35751 and LVM devices.
35752
35753 * util/i386/pc/grub-setup.c (setup): New argument
35754 MUST_EMBED. Force embedding of GRUB when the argument is
35755 true. Close FILE before returning.
35756 (main): Add support for RAID and LVM.
35757
35758 * conf/common.rmk: Add RAID and LVM modules.
35759 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
35760 util/lvm.c.
35761 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
35762
35763 * kern/misc.c (grub_strstr): New function.
35764 * include/grub/misc.h (grub_strstr): New prototype.
35765
35766 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
35767
35768 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
35769
35770 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
35771
35772 * kern/misc.c (grub_strtoull): Guess the base only if not
35773 specified.
35774
35775 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
35776
35777 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
35778 PowerMac support.
35779
35780 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
35781
35782 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
35783
35784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
35785 Remove `flags' argument. All callers changed.
35786 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
35787 (IEEE1275_IHANDLE_INVALID): New variable.
35788 (IEEE1275_CELL_INVALID): New variable.
35789 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
35790 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
35791 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
35792 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
35793 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
35794 codes from Open Firmware. All callers updated.
35795 (grub_ieee1275_next_property): Directly return Open Firmware return
35796 code.
35797 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
35798 Standardize error checking from `grub_ieee1275_get_property'.
35799 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
35800 `devalias' to `aliases'. Correct comments. Consolidate error paths.
35801
35802 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
35803
35804 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
35805 `instance_to_package_args' to `instance_to_path_args'.
35806
35807 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
35808 `grub_ieee1275_chosen'.
35809
35810 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
35811 `grub_ieee1275_interpret'.
35812
35813 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
35814
35815 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
35816
35817 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
35818
35819 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
35820 (__cmpdi): Likewise.
35821
35822 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
35823 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
35824 `grub_ssize_t'.
35825
35826 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
35827
35828 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
35829 to type `grub_ssize_t'.
35830 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
35831
35832 2006-09-22 Marco Gerards <marco@gnu.org>
35833
35834 * normal/script.c (grub_script_create_cmdmenu): Skip leading
35835 newlines.
35836
35837 2006-09-22 Marco Gerards <marco@gnu.org>
35838
35839 * commands/echo.c: New file.
35840
35841 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
35842
35843 * conf/common.rmk (echo_mod_SOURCES): New variable.
35844 (echo_mod_CFLAGS): Likewise.
35845 (echo_mod_LDFLAGS): Likewise.
35846
35847 2006-09-22 Marco Gerards <marco@gnu.org>
35848
35849 * normal/main.c (get_line): Malloc memory instead of using
35850 preallocated memory. Removed the arguments `cmdline' and
35851 `max_len'. Updated all callers.
35852
35853 2006-09-22 Marco Gerards <marco@gnu.org>
35854
35855 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
35856 (normal_mod_DEPENDENCIES): Likewise.
35857
35858 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
35859 (normal_mod_DEPENDENCIES): Likewise.
35860
35861 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
35862
35863 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
35864
35865 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
35866 programs.
35867 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
35868 (normal_mod_DEPENDENCIES): Likewise.
35869 * conf/i386-pc.mk: Regenerate.
35870 * conf/i386-efi.mk: Likewise
35871 * conf/common.mk: Likewise.
35872 * conf/powerpc-ieee1275.mk: Likewise.
35873 * conf/sparc64-ieee1275.mk: Likewise.
35874
35875 2006-09-22 Robert Millan <rmh@aybabtu.com>
35876
35877 Sync with i386 version.
35878 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
35879 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
35880
35881 2006-09-21 Robert Millan <rmh@aybabtu.com>
35882
35883 Import from GRUB Legacy (lib/device.c):
35884 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
35885 (init_device_map) [__linux__]: Add support for I2O devices.
35886
35887 2006-09-14 Marco Gerards <marco@gnu.org>
35888
35889 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
35890 `-melf_i386'.
35891
35892 2006-09-14 Robert Millan <rmh@aybabtu.com>
35893
35894 * util/i386/pc/grub-install.in: Skip menu.lst when removing
35895 /boot/grub/*.lst.
35896
35897 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
35898
35899 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
35900 before adding it to device.map.
35901
35902 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
35903
35904 * genmk.rb: Let GCC generate dependencies the first time it
35905 compiles a file; using the -MD option.
35906 * conf/common.mk: Regenerate.
35907 * conf/i386-pc.mk: Likewise.
35908 * conf/i386-efi.mk: Likewise.
35909 * conf/powerpc-ieee1275.mk: Likewise.
35910 * conf/sparc64-ieee1275.mk: Likewise.
35911
35912 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
35913
35914 Move the prototypes of grub_setjmp and grub_longjmp to
35915 cpu/setjmp.h, so that each architecture may specify different
35916 attributes.
35917
35918 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
35919 (grub_longjmp): Likewise.
35920 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
35921 (grub_longjmp): Likewise.
35922 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
35923 (grub_longjmp): Likewise.
35924
35925 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
35926 [!GRUB_UTIL] (grub_longjmp): Removed.
35927
35928 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
35929
35930 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
35931 "color!" method does not return any value.
35932
35933 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
35934
35935 * include/grub/bitmap.h: New file.
35936
35937 * include/grub/i386/pc/vbeutil.h: Likewise.
35938
35939 * video/bitmap.c: Likewise.
35940
35941 * video/readers/tga.c: Likewise.
35942
35943 * video/i386/pc/vbeutil.c: Likewise.
35944
35945 * commands/videotest.c: Code cleanup and updated to reflect to new
35946 video API.
35947
35948 * term/gfxterm.c: Likewise.
35949
35950 * video/video.c: Likewise.
35951
35952 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
35953 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
35954 (bitmap_mod_SOURCES): New entry.
35955 (bitmap_mod_CFLAGS): Likewise.
35956 (bitmap_mod_LDFLAGS): Likewise.
35957 (tga_mod_SOURCES): Likewise.
35958 (tga_mod_CFLAGS): Likewise.
35959 (tga_mod_LDFLAGS): Likewise.
35960
35961 * include/grub/video.h (grub_video_blit_operators): New enum type.
35962 (grub_video_render_target): Changed as forward declaration and moved
35963 actual definition to be video driver specific.
35964 (grub_video_adapter.blit_bitmap): Added blitting operator.
35965 (grub_video_adapter.blit_render_target): Likewise.
35966 (grub_video_blit_bitmap): Likewise.
35967 (grub_video_blit_render_target): Likewise.
35968
35969 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
35970 driver specific render target definition.
35971 (grub_video_vbe_map_rgba): Added driver internal helper.
35972 (grub_video_vbe_unmap_color): Updated to use
35973 grub_video_i386_vbeblit_info.
35974 (grub_video_vbe_get_video_ptr): Likewise.
35975
35976 * include/grub/i386/pc/vbeblit.h
35977 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
35978 grub_video_i386_vbeblit_info.
35979 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
35980 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
35981 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
35982 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
35983 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
35984 (grub_video_i386_vbeblit_index_index): Likewise.
35985 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
35986 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
35987 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
35988 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
35989 operator.
35990 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
35991 operator.
35992
35993 * video/i386/pc/vbeblit.c: Updated to reflect changes on
35994 include/grub/i386/pc/vbeblit.h.
35995
35996 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
35997 Updated to use grub_video_i386_vbeblit_info.
35998 (grub_video_i386_vbefill_R8G8B8): Likewise.
35999 (grub_video_i386_vbefill_index): Likewise.
36000 (grub_video_i386_vbefill): Added generic filler.
36001
36002 * video/i386/pc/vbefill.c: Updated to reflect changes on
36003 include/grub/i386/pc/vbefill.h.
36004
36005 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
36006 grub_video_i386_vbeblit_info.
36007 (grub_video_vbe_unmap_color): Likewise.
36008 (grub_video_vbe_blit_glyph): Likewise.
36009 (grub_video_vbe_scroll): Likewise.
36010 (grub_video_vbe_draw_pixel): Removed function.
36011 (grub_video_vbe_get_pixel): Likewise.
36012 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
36013 updated code to use it.
36014 (common_blitter): Added common blitter for render target and bitmap.
36015 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
36016 (grub_video_vbe_blit_render_target): Likewise.
36017
36018 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
36019
36020 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
36021 is in text mode if there is no console control protocol instance
36022 available.
36023
36024 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36025
36026 * include/grub/video.h: Code cleanup.
36027
36028 * include/grub/i386/pc/vbe.h: Likewise.
36029
36030 * video/i386/pc/vbe.c: Likewise.
36031
36032 * video/i386/pc/vbeblit.c: Likewise.
36033
36034 * video/i386/pc/vbefill.c: Likewise.
36035
36036 * video/video.c: Likewise. Also added more comments.
36037
36038 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
36039
36040 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
36041 (struct grub_biosdisk_dap): Likewise.
36042
36043 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
36044 linkage settings for all functions.
36045
36046 2006-07-12 Marco Gerards <marco@gnu.org>
36047
36048 * configure.ac (--enable-mm-debug): Fix typo.
36049
36050 * genkernsyms.sh.in: Use proper quoting for `CC'.
36051
36052 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
36053
36054 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
36055 (normal_mod_ASFLAGS): Remove "-m32".
36056
36057 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
36058
36059 * util/misc.c: Include config.h.
36060 [!HAVE_MEMALIGN]: Do not include malloc.h.
36061 (grub_memalign): Use posix_memalign, if present. Then, use
36062 memalign, if present. Otherwise, emit an error.
36063
36064 * util/grub-emu.c: Do not include malloc.h.
36065
36066 * include/grub/util/misc.h: Include unistd.h. This is required for
36067 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
36068 D. Eades III <hde@foobar-qux.org>.
36069
36070 * configure.ac (AC_GNU_SOURCE): Added.
36071 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
36072 type.
36073
36074 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
36075
36076 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
36077 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
36078
36079 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
36080
36081 * include/grub/types.h (grub_host_addr_t): Rename to
36082 grub_target_addr_t.
36083 (grub_host_off_t): Rename to grub_target_off_t.
36084 (grub_host_size_t): Rename to grub_target_size_t.
36085 (grub_host_ssize_t): Rename to grub_target_ssize_t.
36086 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
36087
36088 * include/grub/kernel.h (struct grub_module_header): Change type
36089 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
36090 (grub_module_info): Likewise.
36091
36092 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36093
36094 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
36095 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
36096 Velazquez <jesus.velazquez@gmail.com>.
36097
36098 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
36099
36100 Count partitions from 1 instead of 0 in the string representation
36101 of partitions. Still use 0-based internally.
36102
36103 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
36104 (sun_partition_map_iterate): Use grub_partition_t instead of
36105 struct grub_partition *. Cast DESC->START_CYLINDER to
36106 grub_uint64_t after converting the endian.
36107 (sun_partition_map_probe): Subtract 1 for PARTNUM.
36108 (sun_partition_map_get_name): Add 1 to P->INDEX.
36109
36110 * partmap/pc.c (grub_partition_parse): Subtract 1 for
36111 PCDATA->DOS_PART.
36112 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
36113
36114 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
36115 zero instead of one.
36116 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
36117 (gpt_partition_map_get_name): Add 1 into P->INDEX.
36118
36119 * partmap/apple.c (apple_partition_map_iterate): Change the type
36120 of POS to unsigned.
36121 (apple_partition_map_probe): Subtract 1 for PARTNUM.
36122 (apple_partition_map_get_name): Add 1 into P->INDEX.
36123
36124 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
36125 of POS to unsigned.
36126 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
36127 calculate the offset of a partition.
36128 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
36129 (amiga_partition_map_get_name): Add 1 into P->INDEX.
36130
36131 * partmap/acorn.c (acorn_partition_map_find): Change the type of
36132 SECTOR to grub_disk_addr_t.
36133 (acorn_partition_map_iterate): Likewise.
36134 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
36135 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
36136 top.
36137 (acorn_partition_map_get_name): Add 1 into P->INDEX.
36138
36139 * kern/i386/pc/init.c (make_install_device): Add 1 into
36140 GRUB_INSTALL_DOS_PART.
36141
36142 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
36143 conditional.
36144
36145 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36146
36147 Clean up the code to support 64-bit addressing in disks and
36148 files. This change is not enough for filesystems yet.
36149
36150 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
36151 type of "start" to grub_uint64_t.
36152 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
36153 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
36154 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
36155 convert addresses.
36156
36157 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
36158 to grub_disk_addr_t.
36159
36160 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
36161 string.
36162
36163 * partmap/pc.c (pc_partition_map_iterate): Likewise.
36164
36165 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
36166 to char *.
36167
36168 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
36169
36170 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
36171
36172 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
36173
36174 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
36175 to grub_off_t, to detect an error from grub_file_seek.
36176 (grub_multiboot_load_elf32): Likewise.
36177
36178 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
36179 maximum unsigned long value when an overflow is detected.
36180 (grub_strtoull): New function.
36181 (grub_divmod64): Likewise.
36182 (grub_lltoa): use grub_divmod64.
36183
36184 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
36185 grub_disk_addr_t.
36186 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
36187 the pointer to next character. Use grub_strtoull instead of
36188 grub_strtoul.
36189 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
36190 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
36191 respectively.
36192
36193 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
36194 return value is signed.
36195 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
36196 test if OFFSET is less than zero, as OFFSET is unsigned now.
36197
36198 * kern/disk.c (struct grub_disk_cache): Change the type of
36199 "sector" to grub_disk_addr_t.
36200 (grub_disk_cache_get_index): Change the type of SECTOR to
36201 grub_disk_addr_t. Calculate the hash with SECTOR casted to
36202 unsigned after shifting.
36203 (grub_disk_cache_invalidate): Change the type of SECTOR to
36204 grub_disk_addr_t.
36205 (grub_disk_cache_unlock): Likewise.
36206 (grub_disk_cache_store): Likewise.
36207 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
36208 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
36209 grub_disk_addr_t and grub_uint64_t, respectively.
36210 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
36211 body, as the value of OFFSET is tweaked by
36212 grub_disk_check_range. Change the types of START_SECTOR, LEN and
36213 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
36214 respectively.
36215 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
36216 body, as the value of OFFSET is tweaked by
36217 grub_disk_check_range. Change the types of LEN and N to
36218 grub_size_t.
36219
36220 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
36221 and "saved_offset" to grub_off_t.
36222 (test_header): Cast BUF to char *.
36223 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
36224 to char *.
36225 (grub_gzio_read): Change the types of OFFSET and SIZE to
36226 grub_off_t and grub_size_t, respectively.
36227
36228 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
36229 Removed.
36230 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
36231 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
36232 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
36233 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
36234 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
36235
36236 * include/grub/types.h (grub_off_t): Unconditionally set to
36237 grub_uint64_t.
36238 (grub_disk_addr_t): Changed to grub_uint64_t.
36239
36240 * include/grub/partition.h (struct grub_partition): Change the
36241 types of "start", "len" and "offset" to grub_disk_addr_t,
36242 grub_uint64_t and grub_disk_addr_t, respectively.
36243 (grub_partition_get_start): Return grub_disk_addr_t.
36244 (grub_partition_get_len): Return grub_uint64_t.
36245
36246 * include/grub/misc.h (grub_strtoull): New prototype.
36247 (grub_divmod64): Likewise.
36248
36249 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
36250 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
36251 grub_off_t, respectively.
36252 All callers and references changed.
36253
36254 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
36255 grub_size_t in "read".
36256 All callers and references changed.
36257
36258 * include/grub/file.h (struct grub_file): Change the types of
36259 "offset" and "size" to grub_off_t and grub_off_t,
36260 respectively. Change the type of SECTOR to grub_disk_addr_t in
36261 "read_hook".
36262 (grub_file_read): Change the type of LEN to grub_size_t.
36263 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
36264 grub_off_t.
36265 (grub_file_size): Return grub_off_t.
36266 (grub_file_tell): Likewise.
36267 All callers and references changed.
36268
36269 * include/grub/disk.h (struct grub_disk_dev): Change the types of
36270 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
36271 "write".
36272 (struct grub_disk): Change the type of "total_sectors" to
36273 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
36274 "read_hook".
36275 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
36276 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
36277 (grub_disk_write): Likewise.
36278 All callers and references changed.
36279
36280 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
36281 char * for grub_strncmp to silence gcc.
36282 (grub_iso9660_mount): Likewise.
36283 (grub_iso9660_mount): Likewise.
36284 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
36285 return statement.
36286 (grub_iso9660_iterate_dir): Likewise.
36287 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
36288
36289 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
36290 LEN to grub_disk_addr_t and grub_size_t, respectively.
36291
36292 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
36293
36294 * fs/jfs.c (grub_jfs_read_file): Likewise.
36295
36296 * fs/minix.c (grub_jfs_read_file): Likewise.
36297
36298 * fs/sfs.c (grub_jfs_read_file): Likewise.
36299
36300 * fs/ufs.c (grub_jfs_read_file): Likewise.
36301
36302 * fs/xfs.c (grub_jfs_read_file): Likewise.
36303
36304 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
36305 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
36306 respectively.
36307
36308 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
36309 BLKNR to -1 instead of returning GRUB_ERRNO.
36310 (grub_ext2_read_file): Change the types of SECTOR and
36311 LEN to grub_disk_addr_t and grub_size_t, respectively.
36312
36313 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
36314 LEN to grub_disk_addr_t and grub_size_t, respectively.
36315
36316 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
36317 grub_file_read.
36318
36319 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
36320 string. Do not cast SECTOR explicitly.
36321
36322 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
36323 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
36324 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
36325 grub_disk_addr_t and grub_size_t, respectively. If the sector is
36326 over 2TB and LBA mode is not supported, raise an error.
36327 (get_safe_sectors): New function.
36328 (grub_biosdisk_read): Use get_safe_sectors.
36329 (grub_biosdisk_write): Likewise.
36330
36331 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
36332 (grub_efidisk_write): Likewise.
36333
36334 * disk/loopback.c (delete_loopback): Cosmetic changes.
36335 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
36336 correctly.
36337 (grub_loopback_open): Likewise.
36338 (grub_loopback_read): Likewise. Also, change the type of POS to
36339 grub_off_t, and fix the usage of grub_memset.
36340
36341 * commands/i386/pc/play.c: Include grub/machine/time.h.
36342
36343 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
36344 print FILE->SIZE.
36345
36346 * commands/configfile.c: Include grub/env.h.
36347
36348 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
36349 GRUB_ERRNO directly instead. Change the type of POS to
36350 grub_off_t. Follow the coding standard.
36351
36352 * commands/blocklist.c: Include grub/partition.h.
36353 (grub_cmd_blocklist): Return an error if the underlying device is
36354 not a disk. Take the starting sector of a partition into account,
36355 if a partition is used.
36356
36357 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
36358 a length field.
36359 (lba_mode): Support 64-bit addresses.
36360 (chs_mode): Likewise.
36361 (copy_buffer): Adapted to the new offsets of a length field and a
36362 segment field.
36363 (blocklist_default_start): Allocate 64-bit space.
36364
36365 * boot/i386/pc/boot.S (force_lba): Removed.
36366 (boot_drive): Moved to under KERNEL_SECTOR.
36367 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
36368 space.
36369 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
36370 is useless.
36371 (lba_mode): Refactored to support a 64-bit address. More size
36372 optimization.
36373 (setup_sectors): Likewise.
36374
36375 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
36376
36377 * DISTLIST: Added include/grub/i386/linux.h. Removed
36378 include/grub/i386/pc/linux.h
36379
36380 * configure.ac (AC_INIT): Bumped to 1.94.
36381
36382 * config.guess: Updated from gnulib.
36383 * config.sub: Likewise.
36384 * install-sh: Likewise.
36385 * mkinstalldirs: Likewise.
36386
36387 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36388
36389 * conf/common.rmk (grub_modules_init.lst): Depended on
36390 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
36391 MODSRCFILES.
36392
36393 * genmk.rb (PModule::rule): Reverted the previous change.
36394
36395 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
36396
36397 * conf/common.rmk (grub_modules_init.lst): Depends on
36398 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
36399 that the target does not exist before producing.
36400 (grub_modules_init.h): Remove the target before generating.
36401 (grub_emu_init.c): Likewise.
36402
36403 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
36404
36405 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
36406
36407 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
36408 for the target-specific tests. Make sure that we also have the
36409 up-to-date target variables for those tests.
36410
36411 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36412
36413 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
36414 (PModule::rule): Likewise.
36415
36416 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
36417
36418 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
36419 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
36420 target-specific flags should be prefixed.
36421 (PModule::rule): Likewise.
36422
36423 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
36424
36425 * configure.ac (CMP): Check if cmp is available explicitly.
36426
36427 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
36428
36429 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
36430 (target_cpu): New variable.
36431 (pkglibdir): Use target_cpu instead of host_cpu.
36432
36433 * util/i386/pc/grub-install.in (host_cpu): Removed.
36434 (target_cpu): New variable.
36435 (pkglibdir): Use target_cpu instead of host_cpu.
36436
36437 * util/genmoddep.c: Removed.
36438
36439 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
36440 instead of GRUB_HOST_SIZEOF_VOID_P.
36441 * kern/dl.c: Likewise.
36442
36443 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
36444 ...
36445 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36446 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36447 (GRUB_TARGET_SIZEOF_LONG): ... this.
36448 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36449 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36450 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36451 to ...
36452 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36453 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36454 (GRUB_TARGET_SIZEOF_LONG): ... this.
36455 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36456 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36457 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
36458 to ...
36459 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
36460 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
36461 (GRUB_TARGET_SIZEOF_LONG): ... this.
36462 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
36463 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
36464
36465 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
36466 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
36467 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
36468 instead of GRUB_HOST_SIZEOF_LONG.
36469 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
36470 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
36471 GRUB_CPU_WORDS_BIGENDIAN.
36472 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
36473 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
36474 grub_host_ssize_t.
36475
36476 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
36477 (genmoddep_SOURCES): Likewise.
36478 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
36479 (genmoddep_SOURCES): Likewise.
36480 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
36481 (genmoddep_SOURCES): Likewise.
36482 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
36483 Likewise.
36484 (genmoddep_SOURCES): Likewise.
36485
36486 * genmoddep.awk: New file.
36487
36488 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
36489 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
36490 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
36491 (PModule::rule): Likewise.
36492 (Program::rule): Likewise.
36493 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
36494 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
36495 respectively.
36496
36497 * configure.ac: Rewritten intensively to use host and target
36498 instead of build and host, respectively.
36499
36500 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
36501 (host_cpu): Removed.
36502 (target_cpu): New variable.
36503 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
36504 (BUILD_CC): Removed.
36505 (BUILD_CFLAGS): Likewise.
36506 (BUILD_CPPFLAGS): Likewise.
36507 (TARGET_CC): New variable.
36508 (TARGET_CFLAGS): Likewise.
36509 (TARGET_CPPFLAGS): Likewise.
36510 (TARGET_LDFLAGS): Likewise.
36511 (AWK): Likewise.
36512 (include): Use target_cpu instead of host_cpu.
36513 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
36514
36515 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
36516
36517 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
36518
36519 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
36520 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
36521 field 'false' to 'exec_on_false'.
36522 (grub_script_create_cmdif): Renamed argument names to reflect above
36523 changes.
36524
36525 * normal/execute.c (grub_script_execute_cmdif): Likewise.
36526
36527 * normal/script.c (grub_script_create_cmdif): Likewise.
36528
36529 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
36530
36531 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
36532 top.
36533 (grub_hfsplus_btree_recptr): Likewise.
36534 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
36535 FILEBLOCK both to pass a block number and store next block
36536 number.
36537 (grub_hfsplus_read_block): Rewritten heavily to support an extent
36538 overflow file correctly. Specify errors appropriately, because
36539 fshelp expects that GRUB_ERRNO is set when fails. Reuse
36540 grub_hfsplus_btree_recptr to get the pointer to a found key.
36541 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
36542 is found.
36543
36544 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
36545 linux.mod.
36546 (_linux_mod_SOURCES): New variable.
36547 (_linux_mod_CFLAGS): Likewise.
36548 (_linux_mod_LDFLAGS): Likewise.
36549 (linux_mod_SOURCES): Likewise.
36550 (linux_mod_CFLAGS): Likewise.
36551 (linux_mod_LDFLAGS): Likewise.
36552
36553 * DISTLIST: Added loader/i386/efi/linux.c,
36554 loader/i386/efi/linux_normal.c and
36555 include/grub/i386/efi/loader.h.
36556
36557 * loader/i386/efi/linux.c: New file.
36558 * loader/i386/efi/linux_normal.c: Likewise.
36559 * include/grub/i386/efi/loader.h: Likewise.
36560
36561 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
36562
36563 * commands/blocklist.c: New file.
36564
36565 * DISTLIST: Added commands/blocklist.c.
36566
36567 * term/efi/console.c (grub_console_highlight_color): Use a lighter
36568 color for the background, and a darker color for the foreground.
36569 (grub_console_checkkey): Return READ_KEY.
36570 (grub_console_cls): Set the background to
36571 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
36572
36573 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
36574
36575 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
36576 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
36577
36578 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
36579 prototype.
36580
36581 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
36582 BG. The spec is wrong again.
36583
36584 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
36585 prototype.
36586 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
36587
36588 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36589 commands/blocklist.c.
36590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36591
36592 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
36593 (blocklist_mod_SOURCES): New variable.
36594 (blocklist_mod_CFLAGS): Likewise.
36595 (blocklist_mod_LDFLAGS): Likewise.
36596
36597 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
36598
36599 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
36600 duplication.
36601 (lba_mode): Use %eax more intensively to reduce the code size.
36602
36603 2006-05-20 Marco Gerards <marco@gnu.org>
36604
36605 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
36606
36607 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
36608 for `menuentry'.
36609 (script): Accept leading newlines.
36610 (newlines): New rule to describe 0 or more newlines.
36611 (commands): Accept `command' with trailing newline. Fixed the
36612 order in which arguments were passed to `grub_script_add_cmd'.
36613 Accept commands separated by newlines.
36614 (function): Changed to accept newlines.
36615 (menuentry) Rewritten.
36616
36617 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
36618 front of the list, instead of to the end.
36619
36620 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
36621
36622 * util/i386/pc/grub-install.in (bindir): New variable.
36623 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
36624 Shaver <lbgwjl@gmail.com>.
36625
36626 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
36627
36628 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
36629 grub/machine/linux.h
36630 * loader/i386/pc/linux.c: Likewise.
36631
36632 * include/grub/i386/pc/linux.h: Moved to ...
36633 * include/grub/i386/linux.h: ... here.
36634
36635 * include/grub/i386/linux.h (struct linux_kernel_params): New
36636 struct.
36637
36638 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
36639
36640 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
36641 checking.
36642 (grub_video_vbe_blit_glyph): Likewise.
36643 (grub_video_vbe_blit_bitmap): Likewise.
36644 (grub_video_vbe_blit_render_target): Likewise.
36645
36646 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
36647
36648 * configure.ac (--with-platform): Properly quote the square
36649 brackets.
36650
36651 2006-05-08 Marco Gerards <marco@gnu.org>
36652
36653 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
36654 this...
36655 (kernel_elf_HEADERS): ...to this. Updated all users.
36656 (grubof_symlist.c): Renamed from this...
36657 (kernel_elf_symlist.c): ...to this. Updated all users.
36658 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36659 (grubof_SOURCES): Renamed from this...
36660 (kernel_elf_SOURCES): ...to this.
36661 (grubof_HEADERS): Renamed from this...
36662 (kernel_elf_HEADERS): ...to this.
36663 (grubof_CFLAGS): Renamed from this...
36664 (kernel_elf_CFLAGS): ...to this.
36665 (grubof_ASFLAGS): Renamed from this...
36666 (kernel_elf_ASFLAGS): ...to this.
36667 (grubof_LDFLAGS): Renamed from this...
36668 (kernel_elf_LDFLAGS): ...to this.
36669
36670 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
36671 this...
36672 (kernel_elf_HEADERS): ...to this. Updated all users.
36673 (grubof_symlist.c): Renamed from this...
36674 (kernel_elf_symlist.c): ...to this. Updated all users.
36675 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
36676 (grubof_SOURCES): Renamed from this...
36677 (kernel_elf_SOURCES): ...to this.
36678 (grubof_HEADERS): Renamed from this...
36679 (kernel_elf_HEADERS): ...to this.
36680 (grubof_CFLAGS): Renamed from this...
36681 (kernel_elf_CFLAGS): ...to this.
36682 (grubof_ASFLAGS): Renamed from this...
36683 (kernel_elf_ASFLAGS): ...to this.
36684 (grubof_LDFLAGS): Renamed from this...
36685 (kernel_elf_LDFLAGS): ...to this.
36686
36687 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
36688 `kernel.elf' instead of `grubof'.
36689
36690 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
36691
36692 Add --with-platform to configure. Use pkglibdir instead of
36693 pkgdatadir. This is reported by Roger Leigh.
36694
36695 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
36696 (host_vendor): Likewise.
36697 (host_os): Likewise.
36698 (pkgdatadir): Likewise.
36699 (platform): New variable.
36700 (pkglibdir): Likewise.
36701 Use PKGLIBDIR instead of PKGDATADIR.
36702
36703 * util/i386/pc/grub-install.in (datadir): Removed.
36704 (host_vendor): Likewise.
36705 (host_os): Likewise.
36706 (pkgdatadir): Likewise.
36707 (platform): New variable.
36708 (pkglibdir): Likewise.
36709 Use PKGLIBDIR instead of PKGDATADIR.
36710
36711 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
36712 instead of GRUB_DATADIR.
36713 (main): Likewise.
36714 * util/i386/pc/grub-mkimage.c (usage): Likewise.
36715 (main): Likewise.
36716 * util/i386/efi/grub-mkimage.c (usage): Likewise.
36717 (main): Likewise.
36718
36719 * configure.ac (--with-platform): New option.
36720 Use PLATFORM instead of HOST_VENDOR to specify a platform.
36721
36722 * Makefile.in: Include a makefile based on PLATFORM instead of
36723 HOST_VENDOR.
36724 (pkgdatadir): Not appended by the machine type.
36725 (pkglibdir): Appended by the machine type.
36726 (host_vendor): Removed.
36727 (platform): New variable.
36728 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
36729 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
36730 (uninstall): Likewise.
36731
36732 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
36733
36734 Use the environment context in the menu. Remove the commands
36735 "default" and "timeout", and use variables instead.
36736
36737 * normal/menu.c: Include grub/env.h.
36738 (print_entry): Cast TITLE to silence gcc.
36739 (get_timeout): New function.
36740 (set_timeout): Likewise.
36741 (get_entry_number): Likewise.
36742 (run_menu): Use a default entry, a fallback entry and a timeout
36743 in the environment variables "default", "fallback" and
36744 "timeout". Also, tweak the default entry if it is not within the
36745 current menu entries.
36746 (grub_menu_run): Use a fallback entry in the environment variable
36747 "fallback".
36748
36749 * normal/main.c (read_config_file): Do not initialize
36750 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
36751 NEWMENU->TIMEOUT.
36752 (grub_normal_execute): Use a data slot to store the menu.
36753
36754 * include/grub/normal.h (struct grub_menu): Removed default_entry,
36755 fallback_entry and timeout.
36756 (struct grub_menu_list): Removed.
36757 (grub_menu_list_t): Likewise.
36758 (struct grub_context): Likewise.
36759 (grub_context_t): Likewise.
36760 (grub_context_get): Likewise.
36761 (grub_context_get_current_menu): Likewise.
36762 (grub_context_push_menu): Likewise.
36763 (grub_context_pop_menu): Likewise.
36764 (grub_default_init): Likewise.
36765 (grub_default_fini): Likewise.
36766 (grub_timeout_init): Likewise.
36767 (grub_timeout_fini): Likewise.
36768
36769 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
36770 and timeout.mod.
36771 (normal_mod_SOURCES): Removed normal/context.c.
36772
36773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
36774 commands/default.c, commands/timeout.c and normal/context.c.
36775 (normal_mod_SOURCES): Removed normal/context.c.
36776
36777 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
36778 commands/timeout.c and normal/context.c.
36779 (normal_mod_SOURCES): Removed normal/context.c.
36780
36781 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
36782 commands/default.c, commands/timeout.c and normal/context.c.
36783 (normal_mod_SOURCES): Removed normal/context.c.
36784
36785 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
36786 timeout.mod.
36787 (default_mod_SOURCES): Removed.
36788 (default_mod_CFLAGS): Likewise.
36789 (default_mod_LDFLAGS): Likewise.
36790 (timeout_mod_SOURCES): Removed.
36791 (timeout_mod_CFLAGS): Likewise.
36792 (timeout_mod_LDFLAGS): Likewise.
36793
36794 * DISTLIST: Removed commands/default.c, commands/timeout.c and
36795 normal/context.c.
36796
36797 * commands/default.c: Removed.
36798 * commands/timeout.c: Likewise.
36799 * normal/context.c: Likewise.
36800
36801 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
36802
36803 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
36804
36805 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
36806
36807 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
36808 "next" to "prev" for readability.
36809 (struct grub_env_sorted_var): New struct.
36810 (grub_env_context): Renamed to ...
36811 (initial_context): ... this.
36812 (grub_env_var_context): Renamed to ...
36813 (current_context): ... this.
36814 (grub_env_find): Look only at CURRENT_CONTEXT.
36815 (grub_env_context_open): Rewritten to copy exported variables from
36816 previous context.
36817 (grub_env_context_close): Rewritten according to the new
36818 scheme. Also, add an assertion to prevent the initial context from
36819 removed.
36820 (grub_env_insert): Removed the code for the sorted list.
36821 (grub_env_remove): Likewise.
36822 (grub_env_export): Simply mark the variable with
36823 GRUB_ENV_VAR_GLOBAL.
36824 (grub_env_set): A cosmetic change for naming consistency.
36825 (grub_env_get): Likewise.
36826 (grub_env_unset): Likewise.
36827 (grub_env_iterate): Rewritten to sort variables within this
36828 function.
36829 (grub_register_variable_hook): Fixed for naming consistency. Call
36830 grub_env_find again, only if NAME is not found at the first time.
36831 (mangle_data_slot_name): New function.
36832 (grub_env_set_data_slot): Likewise.
36833 (grub_env_get_data_slot): Likewise.
36834 (grub_env_unset_data_slot): Likewise.
36835
36836 * include/grub/env.h (grub_env_var_type): New enum.
36837 (GRUB_ENV_VAR_LOCAL): New constant.
36838 (GRUB_ENV_VAR_GLOBAL): Likewise.
36839 (GRUB_ENV_VAR_DATA): Likewise.
36840 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
36841 "type".
36842 (grub_env_set): Replace VAR with NAME for consistency.
36843 (grub_register_variable_hook): Likewise.
36844 (grub_env_export): Specify the name of the argument.
36845 (grub_env_set_data_slot): New prototype.
36846 (grub_env_get_data_slot): Likewise.
36847 (grub_env_unset_data_slot): Likewise.
36848
36849 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36850
36851 Extend the loader so that GRUB can accept a loader which comes
36852 back to GRUB when a loaded image exits. Also, this change adds
36853 support for a chainloader on EFI.
36854
36855 * term/efi/console.c: Include grub/misc.h.
36856 (grub_console_checkkey): Display a scan code on the top for
36857 debugging. This will be removed once the EFI port gets stable.
36858 Correct the scan code mapping.
36859
36860 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
36861 allocate memory from larger regions, in order to reduce the number
36862 of allocated regions. Otherwise, the MacOSX loader panics.
36863 (filter_memory_map): Avoid less than 1MB for compatibility with
36864 other loaders.
36865 (add_memory_regions): Allocate from the tail of a region, if
36866 possible, to avoid allocating a region near to 1MB, for the MacOSX
36867 loader.
36868
36869 * kern/efi/init.c (grub_efi_set_prefix): Specify
36870 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
36871
36872 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
36873 argument IMAGE_HANDLE and specify it to get a loaded image.
36874 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
36875 grub_efi_get_loaded_image.
36876 (grub_efi_get_filename): Divide the length by the size of
36877 grub_efi_char16_t.
36878 (grub_efi_get_device_path): New function.
36879 (grub_efi_print_device_path): Print End Device Path nodes. Divide
36880 the length by the size of grub_efi_char16_t for a file path device
36881 path node.
36882
36883 * kern/loader.c (grub_loader_noreturn): New variable.
36884 (grub_loader_set): Accept a new argument NORETURN. Set
36885 GRUB_LOADER_NORETURN to NORETURN.
36886 All callers changed.
36887 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
36888 grub_machine_fini.
36889
36890 * include/grub/efi/efi.h (grub_efi_get_device_path): New
36891 prototype.
36892 (grub_efi_get_loaded_image): Take an argument to specify an image
36893 handle.
36894
36895 * include/grub/loader.h (grub_loader_set): Added one more argument
36896 NORETURN.
36897
36898 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
36899 instead of grub_efi_open_protocol.
36900 (grub_efidisk_get_device_name): Likewise.
36901 (grub_efidisk_close): Print a newline.
36902 (grub_efidisk_get_device_handle): Fixed to use
36903 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
36904 GRUB_EFI_DEVICE_PATH_TYPE.
36905
36906 * disk/efi/efidisk.c (device_path_guid): Moved to ...
36907 * kern/efi/efi.c (device_path_guid): ... here.
36908
36909 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
36910 chain.mod.
36911 (kernel_mod_HEADERS): Added efi/disk.h.
36912 (_chain_mod_SOURCES): New variable.
36913 (_chain_mod_CFLAGS): Likewise.
36914 (_chain_mod_LDFLAGS): Likewise.
36915 (chain_mod_SOURCES): Likewise.
36916 (chain_mod_CFLAGS): Likewise.
36917 (chain_mod_LDFLAGS): Likewise.
36918
36919 * DISTLIST: Added include/grub/efi/chainloader.h,
36920 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
36921
36922 * include/grub/efi/chainloader.h: New file.
36923 * loader/efi/chainloader.c: Likewise.
36924 * loader/efi/chainloader_normal.c: Likewise.
36925
36926 2006-04-30 Marco Gerards <marco@gnu.org>
36927
36928 * commands/configfile.c (grub_cmd_source): New function.
36929 (GRUB_MOD_INIT): Register the commands `source' and `.'.
36930 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
36931
36932 2006-04-30 Marco Gerards <marco@gnu.org>
36933
36934 * normal/execute.c (grub_script_execute_cmd): Change the return
36935 type to `grub_err_t'. Correctly return the error.
36936 (grub_script_execute_cmdline): In case a command line is not a
36937 command or a function, try to interpret it as an assignment.
36938
36939 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
36940
36941 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
36942 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
36943 skip a node whose name is obviously invalid as UTF-16,
36944 i.e. contains a NUL character. Stop the iteration when the last
36945 directory entry is found. Instead of using the return value of
36946 grub_hfsplus_btree_iterate_node, store the value in RET and use
36947 it, because the iterator can be stopped by the last directory
36948 entry.
36949
36950 2006-04-30 Marco Gerards <marco@gnu.org>
36951
36952 * include/grub/env.h (grub_env_export): New prototype. Reported
36953 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
36954
36955 2006-04-30 Marco Gerards <marco@gnu.org>
36956
36957 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
36958 size of the extents in a catalog file record.
36959
36960 2006-04-29 Marco Gerards <marco@gnu.org>
36961
36962 * commands/configfile.c (grub_cmd_configfile): Execute the
36963 configfile within its own context.
36964
36965 * include/grub/env.h (grub_env_context_open): New prototype.
36966 (grub_env_context_close): Likewise.
36967
36968 * kern/env.c (grub_env): Removed.
36969 (grub_env_sorted): Likewise.
36970 (grub_env_context): New variable.
36971 (grub_env_var_context): Likewise.
36972 (grub_env_find): Search both the active context and the global
36973 context.
36974 (grub_env_context_open): New function.
36975 (grub_env_context_close): Likewise.
36976 (grub_env_insert): Likewise.
36977 (grub_env_remove): Likewise.
36978 (grub_env_export): Likewise.
36979 (grub_env_set): Changed to use helper functions to avoid code
36980 duplication.
36981 (grub_env_iterate): Rewritten so both the current context and the
36982 global context are being used.
36983
36984 * normal/command.c (export_command): New function.
36985 (grub_command_init): Register the `export' function.
36986
36987 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
36988
36989 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
36990 explicitly to suppress gcc's warnings.
36991 * fs/fat.c (grub_fat_find_dir): Likewise.
36992 (grub_fat_label): Likewise.
36993 * fs/xfs.c (grub_xfs_read_inode): Likewise.
36994 (grub_xfs_mount): Likewise.
36995 (grub_xfs_label): Likewise.
36996 * fs/affs.c (grub_affs_mount): Likewise.
36997 (grub_affs_label): Likewise.
36998 (grub_affs_iterate_dir): Likewise.
36999 * fs/sfs.c (grub_sfs_mount): Likewise.
37000 (grub_sfs_iterate_dir): Likewise.
37001 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
37002 * fs/hfs.c (grub_hfs_mount): Likewise.
37003 (grub_hfs_cmp_catkeys): Likewise.
37004 (grub_hfs_find_dir): Likewise.
37005 (grub_hfs_dir): Likewise.
37006 (grub_hfs_label): Likewise.
37007 * fs/jfs.c (grub_jfs_mount): Likewise.
37008 (grub_jfs_opendir): Likewise.
37009 (grub_jfs_getent): Likewise.
37010 (grub_jfs_lookup_symlink): Likewise.
37011 (grub_jfs_label): Likewise.
37012 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
37013 (grub_hfsplus_iterate_dir): Likewise.
37014 (grub_hfsplus_btree_iterate_node): Made static.
37015
37016 * util/grub-emu.c (prefix): New variable.
37017 (grub_machine_set_prefix): New function.
37018 (main): Do not set the environment variable "prefix" here. Only
37019 set PREFIX, which is used later by grub_machine_set_prefix.
37020
37021 * include/grub/video.h: Do not include grub/symbol.h.
37022 (grub_video_register): Not exported. This symbol is not defined in
37023 the kernel.
37024 (grub_video_unregister): Likewise.
37025 (grub_video_iterate): Likewise.
37026 (grub_video_setup): Likewise.
37027 (grub_video_restore): Likewise.
37028 (grub_video_get_info): Likewise.
37029 (grub_video_get_blit_format): Likewise.
37030 (grub_video_set_palette): Likewise.
37031 (grub_video_get_palette): Likewise.
37032 (grub_video_set_viewport): Likewise.
37033 (grub_video_get_viewport): Likewise.
37034 (grub_video_map_color): Likewise.
37035 (grub_video_map_rgb): Likewise.
37036 (grub_video_map_rgba): Likewise.
37037 (grub_video_fill_rect): Likewise.
37038 (grub_video_blit_glyph): Likewise.
37039 (grub_video_blit_bitmap): Likewise.
37040 (grub_video_blit_render_target): Likewise.
37041 (grub_video_scroll): Likewise.
37042 (grub_video_swap_buffers): Likewise.
37043 (grub_video_create_render_target): Likewise.
37044 (grub_video_delete_render_target): Likewise.
37045 (grub_video_set_active_render_target): Likewise.
37046
37047 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
37048 Undefined.
37049 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
37050
37051 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
37052 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37053 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37054 instead of $(srcdir)/genkernsyms.sh.
37055
37056 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
37057 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37058 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37059 instead of $(srcdir)/genkernsyms.sh.
37060
37061 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
37062 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37063 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37064 instead of $(srcdir)/genkernsyms.sh.
37065
37066 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
37067 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
37068 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
37069 instead of $(srcdir)/genkernsyms.sh.
37070
37071 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
37072 genkernsyms.sh.
37073
37074 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
37075 genkernsyms.sh.
37076 (gensymlist.sh): New target.
37077 (genkernsyms.sh): Likewise.
37078
37079 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
37080 genkernsyms.sh.in and gensymlist.sh.in.
37081
37082 * genkernsyms.sh: Removed.
37083 * gensymlist.sh: Likewise.
37084
37085 * genkernsyms.sh.in: New file.
37086 * gensymlist.sh.in: Likewise.
37087
37088 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37089
37090 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
37091 clobber "prefix", since we may have already set it manually.
37092
37093 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
37094
37095 * kern/misc.c (abort): New alias for grub_abort.
37096
37097 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
37098
37099 A new machine-specific function "grub_machine_set_prefix" is
37100 defined. This is called after loading modules, so that a prefix
37101 initialization can use modules. Also, this change adds an
37102 intensive debugging feature for the memory manager via the
37103 configure option "--enable-mm-debug".
37104
37105 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
37106 PART.LEN.
37107
37108 * kern/sparc64/ieee1275/init.c (abort): Removed.
37109 (grub_stop): Likewise.
37110 (grub_exit): New function.
37111 (grub_set_prefix): Renamed to ...
37112 (grub_machine_set_prefix): ... this.
37113 (grub_machine_init): Do not call grub_set_prefix.
37114
37115 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
37116 (grub_machine_set_prefix): ... this.
37117 (grub_machine_init): Do not call grub_set_prefix.
37118
37119 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
37120 (grub_machine_init): Do not set the prefix here.
37121
37122 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
37123
37124 * kern/efi/init.c: Include grub/mm.h.
37125 (grub_efi_set_prefix): New function.
37126
37127 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
37128 (grub_efi_get_filename): New function.
37129 (grub_print_device_path): Renamed to ...
37130 (grub_efi_print_device_path): ... this.
37131
37132 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
37133 [MM_DEBUG] (grub_realloc): Likewise.
37134 [MM_DEBUG] (grub_free): Likewise.
37135 [MM_DEBUG] (grub_memalign): Likewise.
37136 [MM_DEBUG] (grub_mm_debug): New variable.
37137 [MM_DEBUG] (grub_debug_malloc): New function.
37138 [MM_DEBUG] (grub_debug_free): New function.
37139 [MM_DEBUG] (grub_debug_realloc): New function.
37140 [MM_DEBUG] (grub_debug_memalign): New function.
37141
37142 * kern/misc.c (grub_abort): Print a newline to distinguish
37143 the message.
37144
37145 * kern/main.c (grub_main): Call grub_machine_set_prefix and
37146 grub_set_root_dev after loading modules. This is necessary when
37147 setting a prefix depends on modules.
37148
37149 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
37150 (grub_efi_print_device_path): ... this.
37151 (grub_efi_get_filename): New prototype.
37152 (grub_efi_set_prefix): Likewise.
37153
37154 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
37155 and grub/disk.h.
37156 (grub_efidisk_get_device_handle): New prototype.
37157 (grub_efidisk_get_device_name): Likewise.
37158
37159 * include/grub/mm.h: Include config.h.
37160 (MM_DEBUG): Removed.
37161 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
37162 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
37163 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
37164 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
37165 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
37166 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
37167 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
37168 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
37169 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
37170
37171 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
37172
37173 * disk/efi/efidisk.c: Include grub/partition.h.
37174 (iterate_child_devices): New function.
37175 (add_device): First, compare only last device path nodes, so that
37176 devices are sorted by the types.
37177 (grub_efidisk_get_device_handle): New function.
37178 (grub_efidisk_get_device_name): Likewise.
37179
37180 * configure.ac (--enable-mm-debug): New option to enable the
37181 memory manager debugging feature. This makes the binary much
37182 bigger, so is disabled by default.
37183
37184 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
37185
37186 Use grub_abort instead of grub_stop, and grub_exit must be
37187 define in each architecture now. Also, this change adds support
37188 for EFI disks.
37189
37190 * util/i386/pc/grub-probefs.c: Include grub/term.h.
37191 (grub_getkey): New function.
37192 (grub_term_get_current): Likewise.
37193
37194 * util/i386/pc/grub-setup.c: Include grub/term.h.
37195 (grub_getkey): New function.
37196 (grub_term_get_current): Likewise.
37197
37198 * util/misc.c (grub_stop): Renamed to ...
37199 (grub_exit): ... this.
37200
37201 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
37202 (grub_exit): ... this.
37203 (grub_machine_init): Use grub_abort instead of abort.
37204 (grub_stop): Removed.
37205
37206 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
37207 abort.
37208
37209 * kern/i386/pc/startup.S (grub_exit): New function.
37210 (cold_reboot): New label.
37211
37212 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
37213 (grub_efi_init): Call grub_efidisk_init.
37214 (grub_efi_fini): Call grub_efidisk_fini.
37215
37216 * kern/efi/efi.c: Include grub/mm.h.
37217 (grub_efi_console_control_guid): Renamed to ...
37218 (console_control_guid): ... this.
37219 (grub_efi_loaded_image_guid): Renamed to ...
37220 (loaded_image_guid): ... this.
37221 (grub_efi_locate_handle): New function.
37222 (grub_efi_open_protocol): Likewise.
37223 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
37224 GRUB_EFI_CONSOLE_CONTROL_GUID.
37225 (grub_efi_exit): Removed.
37226 (grub_stop): Likewise.
37227 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
37228 (grub_exit): New function.
37229 (grub_print_device_path): Likewise.
37230
37231 * kern/rescue.c (grub_rescue_cmd_exit): New function.
37232 (grub_enter_rescue_mode): Register "exit".
37233
37234 * kern/misc.c (grub_real_dprintf): A cosmetic change.
37235 (grub_abort): New function.
37236
37237 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
37238
37239 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
37240
37241 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
37242
37243 * include/grub/efi/efi.h (grub_efi_exit): Removed.
37244 (grub_print_device_path): New prototype.
37245 (grub_efi_locate_handle): Likewise.
37246 (grub_efi_open_protocol): Likewise.
37247
37248 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
37249 * disk/efi/efidisk.c: Likewise.
37250
37251 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
37252
37253 * include/grub/efi/console_control.h
37254 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
37255
37256 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
37257 last 8 bytes as an array.
37258 (GRUB_EFI_DISK_IO_GUID): New macro.
37259 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
37260 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
37261 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
37262 grub_uint8_t.
37263 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
37264 (struct grub_efi_device_path): Rename the member "sub_type" to
37265 "subtype".
37266 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
37267 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
37268 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
37269 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
37270 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
37271 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
37272 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
37273 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
37274 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
37275 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
37276 (struct grub_efi_pci_device_path): New structure.
37277 (grub_efi_pci_device_path_t): New type.
37278 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
37279 (struct grub_efi_pccard_device_path): New structure.
37280 (grub_efi_pccard_device_path_t): New type.
37281 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
37282 (struct grub_efi_memory_mapped_device_path): New structure.
37283 (grub_efi_memory_mapped_device_path_t): New type.
37284 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
37285 (struct grub_efi_vendor_device_path): New structure.
37286 (grub_efi_vendor_device_path_t): New type.
37287 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
37288 (struct grub_efi_controller_device_path): New structure.
37289 (grub_efi_controller_device_path_t): New type.
37290 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
37291 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
37292 (struct grub_efi_acpi_device_path): New structure.
37293 (grub_efi_acpi_device_path_t): New type.
37294 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
37295 (struct grub_efi_expanded_acpi_device_path): New structure.
37296 (grub_efi_expanded_acpi_device_path_t): New type.
37297 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
37298 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
37299 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
37300 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
37301 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
37302 (struct grub_efi_atapi_device_path): New structure.
37303 (grub_efi_atapi_device_path_t): New type.
37304 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
37305 (struct grub_efi_fibre_channel_device_path): New structure.
37306 (grub_efi_fibre_channel_device_path_t): New type.
37307 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
37308 (struct grub_efi_1394_device_path): New structure.
37309 (grub_efi_1394_device_path_t): New type.
37310 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
37311 (struct grub_efi_usb_device_path): New structure.
37312 (grub_efi_usb_device_path_t): New type.
37313 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
37314 (struct grub_efi_usb_class_device_path): New structure.
37315 (grub_efi_usb_class_device_path_t): New type.
37316 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
37317 (struct grub_efi_i2o_device_path): New structure.
37318 (grub_efi_i2o_device_path_t): New type.
37319 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
37320 (struct grub_efi_mac_address_device_path): New structure.
37321 (grub_efi_mac_address_device_path_t): New type.
37322 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
37323 (struct grub_efi_ipv4_device_path): New structure.
37324 (grub_efi_ipv4_device_path_t): New type.
37325 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
37326 (struct grub_efi_ipv6_device_path): New structure.
37327 (grub_efi_ipv6_device_path_t): New type.
37328 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
37329 (struct grub_efi_infiniband_device_path): New structure.
37330 (grub_efi_infiniband_device_path_t): New type.
37331 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
37332 (struct grub_efi_uart_device_path): New structure.
37333 (grub_efi_uart_device_path_t): New type.
37334 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
37335 (struct grub_efi_vendor_messaging_device_path): New structure.
37336 (grub_efi_vendor_messaging_device_path_t): New type.
37337 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
37338 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
37339 (struct grub_efi_hard_drive_device_path): New structure.
37340 (grub_efi_hard_drive_device_path_t): New type.
37341 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
37342 (struct grub_efi_cdrom_device_path): New structure.
37343 (grub_efi_cdrom_device_path_t): New type.
37344 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
37345 (struct grub_efi_vendor_media_device_path): New structure.
37346 (grub_efi_vendor_media_device_path_t): New type.
37347 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
37348 (struct grub_efi_file_path_device_path): New structure.
37349 (grub_efi_file_path_device_path_t): New type.
37350 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
37351 (struct grub_efi_protocol_device_path): New structure.
37352 (grub_efi_protocol_device_path_t): New type.
37353 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
37354 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
37355 (struct grub_efi_bios_device_path): New structure.
37356 (grub_efi_bios_device_path_t): New type.
37357 (struct grub_efi_disk_io): New structure.
37358 (grub_efi_disk_io_t): New type.
37359 (struct grub_efi_block_io_media): New structure.
37360 (grub_efi_block_io_media_t): New type.
37361 (struct grub_efi_block_io): New structure.
37362 (grub_efi_block_io_t): New type.
37363
37364 * include/grub/misc.h (grub_stop): Removed.
37365 (grub_exit): New prototype.
37366 (grub_abort): Likewise.
37367
37368 * include/grub/disk.h (enum grub_disk_dev_id): Added
37369 GRUB_DISK_DEVICE_EFIDISK_ID.
37370
37371 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
37372 disk/efi/efidisk.c.
37373 (kernel_syms.lst): Remove the target if an error occurs.
37374
37375 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
37376
37377 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
37378 as it was simply too buggy.
37379
37380 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
37381
37382 * kern/misc.c (grub_lltoa): New function.
37383 (grub_vsprintf): Added support for the long long suffix,
37384 i.e. "ll".
37385
37386 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
37387
37388 * Makefile.in (LDFLAGS): Add variable.
37389 (LD): Remove variable.
37390 * configure.ac: Add -m32 to LDFLAGS.
37391 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
37392 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
37393 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
37394 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
37395 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
37396 variables.
37397 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
37398 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
37399 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
37400
37401 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
37402
37403 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
37404 length for unknown glyph.
37405
37406 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37407
37408 Add support for pre-loaded modules into the EFI port.
37409
37410 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
37411 completely. Accept one more argument DIR. The caller has changed.
37412
37413 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
37414
37415 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
37416 (grub_efi_loaded_image_guid): New variable.
37417 (grub_efi_get_loaded_image): New function.
37418 (grub_arch_modules_addr): Likewise.
37419
37420 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
37421 prototype.
37422
37423 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
37424 (struct grub_efi_loaded_image): New structure.
37425 (grub_efi_loaded_image_t): New type.
37426
37427 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
37428
37429 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
37430 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
37431 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
37432
37433 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
37434
37435 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
37436
37437 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
37438
37439 * DISTLIST: Added include/grub/efi/console.h,
37440 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
37441 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37442
37443 * include/grub/efi/console.h: New file.
37444 * include/grub/efi/time.h: Likewise.
37445 * include/grub/i386/efi/kernel.h: Likewise.
37446 * kern/efi/init.c: Likewise.
37447 * kern/efi/mm.c: Likewise.
37448 * term/efi/console.c: Likewise.
37449
37450 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
37451 (grub_stop): Removed.
37452 (grub_get_rtc): Likewise.
37453 (grub_machine_init): Simply call grub_efi_init.
37454 (grub_machine_fini): Call grub_efi_fini.
37455
37456 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
37457 (grub_efi_output_string): Removed.
37458 (grub_efi_stall): New function.
37459 (grub_stop): Likewise.
37460 (grub_get_rtc): Likewise.
37461
37462 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
37463 (grub_efi_stall): New prototype.
37464 (grub_efi_allocate_pages): Likewise.
37465 (grub_efi_free_pages): Likewise.
37466 (grub_efi_get_memory_map): Likewise.
37467 (grub_efi_mm_init): Likewise.
37468 (grub_efi_mm_fini): Likewise.
37469 (grub_efi_init): Likewise.
37470 (grub_efi_fini): Likewise.
37471
37472 * include/grub/i386/efi/time.h: Do not include
37473 grub/symbol.h. Include grub/efi/time.h.
37474 (GRUB_TICKS_PER_SECOND): Removed.
37475 (grub_get_rtc): Likewise.
37476
37477 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
37478 Added padding. The EFI spec is buggy.
37479 (GRUB_EFI_BLACK): New macro.
37480 (GRUB_EFI_BLUE): Likewise.
37481 (GRUB_EFI_GREEN): Likewise.
37482 (GRUB_EFI_CYAN): Likewise.
37483 (GRUB_EFI_RED): Likewise.
37484 (GRUB_EFI_MAGENTA): Likewise.
37485 (GRUB_EFI_BROWN): Likewise.
37486 (GRUB_EFI_LIGHTGRAY): Likewise.
37487 (GRUB_EFI_BRIGHT): Likewise.
37488 (GRUB_EFI_DARKGRAY): Likewise.
37489 (GRUB_EFI_LIGHTBLUE): Likewise.
37490 (GRUB_EFI_LIGHTGREEN): Likewise.
37491 (GRUB_EFI_LIGHTCYAN): Likewise.
37492 (GRUB_EFI_LIGHTRED): Likewise.
37493 (GRUB_EFI_LIGHTMAGENTA): Likewise.
37494 (GRUB_EFI_YELLOW): Likewise.
37495 (GRUB_EFI_WHITE): Likewise.
37496 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
37497 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
37498 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
37499 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
37500 (GRUB_EFI_BACKGROUND_RED): Likewise.
37501 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
37502 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
37503 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
37504 (GRUB_EFI_TEXT_ATTR): Likewise.
37505
37506 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
37507 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
37508 (kernel_mod_HEADERS): Added efi/time.h.
37509
37510 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
37511
37512 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
37513 include/grub/efi/api.h, include/grub/efi/console_control.h,
37514 include/grub/efi/efi.h, include/grub/efi/pe32.h,
37515 include/grub/i386/efi/time.h, kern/efi/efi.c,
37516 kern/i386/efi/init.c, kern/i386/efi/startup.S,
37517 and util/i386/efi/grub-mkimage.c.
37518
37519 * Makefile.in (RMKFILES): Added i386-efi.rmk.
37520
37521 * genmk.rb (PModule#rule): Do not export symbols if
37522 #{prefix}_EXPORTS is set to "no".
37523
37524 * conf/i386-efi.mk: New file.
37525 * conf/i386-efi.rmk: Likewise.
37526 * include/grub/efi/api.h: Likewise.
37527 * include/grub/efi/console_control.h: Likewise.
37528 * include/grub/efi/efi.h: Likewise.
37529 * include/grub/efi/pe32.h: Likewise.
37530 * include/grub/i386/efi/time.h: Likewise.
37531 * kern/efi/efi.c: Likewise.
37532 * kern/i386/efi/init.c: Likewise.
37533 * kern/i386/efi/startup.S: Likewise.
37534 * util/i386/efi/grub-mkimage.c: Likewise.
37535
37536 2006-04-17 Marco Gerards <marco@gnu.org>
37537
37538 * include/grub/script.h: Include <grub/parser.h> and
37539 "grub_script.tab.h".
37540 (struct grub_lexer_param): New struct.
37541 (struct grub_parser_param): Likewise.
37542 (grub_script_create_arglist): Pass the state in an argument.
37543 (grub_script_add_arglist): Likewise.
37544 (grub_script_create_cmdline): Likewise.
37545 (grub_script_create_cmdblock): Likewise.
37546 (grub_script_create_cmdif): Likewise.
37547 (grub_script_create_cmdmenu): Likewise.
37548 (grub_script_add_cmd): Likewise.
37549 (grub_script_arg_add): Likewise.
37550 (grub_script_lexer_ref): Likewise.
37551 (grub_script_lexer_deref): Likewise.
37552 (grub_script_lexer_record_start): Likewise.
37553 (grub_script_lexer_record_stop): Likewise.
37554 (grub_script_mem_record): Likewise.
37555 (grub_script_mem_record_stop): Likewise.
37556 (grub_script_malloc): Likewise.
37557 (grub_script_yylex): Likewise.
37558 (grub_script_yyparse): Likewise.
37559 (grub_script_yyerror): Likewise.
37560 (grub_script_yylex): Likewise.
37561 (grub_script_lexer_init): Return the state.
37562
37563 * normal/lexer.c (grub_script_lexer_state): Removed variable.
37564 (grub_script_lexer_done): Likewise.
37565 (grub_script_lexer_getline): Likewise.
37566 (grub_script_lexer_refs): Likewise.
37567 (script): Likewise.
37568 (newscript): Likewise.
37569 (record): Likewise.
37570 (recording): Likewise.
37571 (recordpos): Likewise.
37572 (recordlen): Likewise.
37573 (grub_script_lexer_init): Return the state instead of setting
37574 global variables.
37575 (grub_script_lexer_ref): Use the newly added argument for state
37576 instead of globals.
37577 (grub_script_lexer_deref): Likewise.
37578 (grub_script_lexer_record_start): Likewise.
37579 (grub_script_lexer_record_stop): Likewise.
37580 (recordchar): Likewise.
37581 (nextchar): Likewise.
37582 (grub_script_yylex2): Likewise.
37583 (grub_script_yylex): Likewise.
37584 (grub_script_yyerror): Likewise.
37585
37586 * normal/parser.y (func_mem): Removed variable.
37587 (menu_entry): Likewise.
37588 (err): Likewise.
37589 (%lex-param): New parser option.
37590 (%parse-param): Likewise.
37591 (script): Always return the AST.
37592 (argument): Pass the state around.
37593 (arguments): Likewise.
37594 (grubcmd): Likewise.
37595 (commands): Likewise.
37596 (function): Likewise.
37597 (menuentry): Likewise.
37598 (if_statement): Likewise.
37599 (if): Likewise.
37600
37601 * normal/script.c (grub_script_memused): Removed variable.
37602 (grub_script_parsed): Likewise.
37603 (grub_script_malloc): Added a state argument. Use that instead of
37604 global variables.
37605 (grub_script_mem_record): Likewise.
37606 (grub_script_mem_record_stop): Likewise.
37607 (grub_script_arg_add): Likewise.
37608 (grub_script_add_arglist): Likewise.
37609 (grub_script_create_cmdline): Likewise.
37610 (grub_script_create_cmdif): Likewise.
37611 (grub_script_create_cmdmenu): Likewise.
37612 (grub_script_add_cmd): Likewise.
37613 (grub_script_parse): Setup the state before calling the parser.
37614
37615 2006-04-16 Marco Gerards <marco@gnu.org>
37616
37617 * normal/command.c (grub_command_init): Remove the title command.
37618
37619 * normal/lexer.c (grub_script_yylex): Renamed from this...
37620 (grub_script_yylex2): ... to this.
37621 (grub_script_yylex): New function. Temporary
37622 introduced to filter some tokens.
37623 (grub_script_yyerror): Print a newline.
37624
37625 * normal/main.c (read_config_file): Output information about the
37626 lines that contain errors. Wait for a key after all lines have
37627 been processed. Don't return an empty menu.
37628
37629 * normal/parser.y (func_mem): Don't initialize.
37630 (menu_entry): Likewise.
37631 (err): New variable.
37632 (script): Don't return anything when an error was encountered.
37633 (ws, returns): Removed rules.
37634 (argument): Disabled concatenated variable support.
37635 (arguments): Remove explicit separators.
37636 (grubcmd): Likewise.
37637 (function): Likewise.
37638 (menuentry): Likewise.
37639 (if): Likewise.
37640 (commands): Likewise. Add error handling.
37641
37642 * normal/script.c (grub_script_create_cmdline): If
37643 `grub_script_parsed' is 0, assume the parser encountered an error.
37644
37645 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
37646
37647 * configure.ac: Add support for EFI. Fix the typo
37648 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
37649
37650 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37651
37652 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
37653 foreign multibyte characters should be shown correctly.
37654
37655 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
37656
37657 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
37658 calculation.
37659 (read_config_file): Made it to close file before returning.
37660
37661 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
37662
37663 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
37664 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
37665 video/i386/pc/vbefill.c.
37666
37667 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
37668 video/i386/pc/vbefill.c.
37669
37670 * include/grub/video.h (grub_video_blit_format): New enum.
37671 (grub_video_mode_info): Added new member blit_format.
37672 (grub_video_get_blit_format): New function prototype.
37673
37674 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
37675 function prototype.
37676 (grub_video_vbe_map_rgb): Likewise.
37677 (grub_video_vbe_unmap_color): Likewise.
37678
37679 * include/grub/i386/pc/vbeblit.h: New file.
37680
37681 * include/grub/i386/pc/vbefill.h: New file.
37682
37683 * video/video.c (grub_video_get_blit_format): New function.
37684 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
37685 (grub_video_vbe_map_rgb): Likewise.
37686 (grub_video_vbe_unmap_color): Likewise.
37687
37688 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
37689 optimized fills.
37690 (grub_video_vbe_blit_render_target): Changed to use more optimized
37691 blits.
37692 (grub_video_vbe_setup): Added detection for optimized settings.
37693 (grub_video_vbe_create_render_target): Likewise.
37694
37695 * video/i386/pc/vbeblit.c: New file.
37696
37697 * video/i386/pc/vbefill.c: New file.
37698
37699 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
37700
37701 * font/manager.c (grub_font_get_glyph): Removed font fixup from
37702 here...
37703
37704 * util/unifont2pff.rb: ... and moved it to here. Improved argument
37705 parsing to support both hex and dec ranges. If filename was missing
37706 show usage information.
37707
37708 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
37709
37710 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
37711 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
37712
37713 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
37714 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
37715 (video_mod_SOURCES): Added.
37716 (video_mod_CFLAGS): Likewise.
37717 (video_mod_LDFLAGS): Likewise.
37718 (gfxterm_mod_SOURCES): Likewise.
37719 (gfxterm_mod_CFLAGS): Likewise.
37720 (gfxterm_mod_LDFLAGS): Likewise.
37721 (videotest_mod_SOURCES): Likewise.
37722 (videotest_mod_CFLAGS): Likewise.
37723 (videotest_mod_LDFLAGS): Likewise.
37724 (vesafb_mod_SOURCES): Removed.
37725 (vesafb_mod_CFLAGS): Likewise.
37726 (vesafb_mod_LDFLAGS): Likewise.
37727 (vga_mod_SOURCES): Likewise.
37728 (vga_mod_CFLAGS): Likewise.
37729 (vga_mod_LDFLAGS): Likewise.
37730
37731 * commands/videotest.c: New file.
37732
37733 * font/manager.c (fill_with_default_glyph): Modified to use
37734 grub_font_glyph.
37735 (grub_font_get_glyph): Likewise.
37736 (fontmanager): Renamed from this...
37737 (font_manager): ... to this.
37738
37739 * include/grub/font.h (grub_font_glyph): Added new structure.
37740 (grub_font_get_glyph): Modified to use grub_font_glyph.
37741
37742 * include/grub/misc.h (grub_abs): Added as inline function.
37743
37744 * include/grub/video.h: New file.
37745
37746 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
37747 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
37748 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
37749 (grub_vbe_get_controller_info): Renamed from this...
37750 (grub_vbe_bios_get_controller_info): ... to this.
37751 (grub_vbe_get_mode_info): Renamed from this...
37752 (grub_vbe_bios_get_mode_info): ... to this.
37753 (grub_vbe_set_mode): Renamed from this...
37754 (grub_vbe_bios_set_mode): ... to this.
37755 (grub_vbe_get_mode): Renamed from this...
37756 (grub_vbe_bios_get_mode): ... to this.
37757 (grub_vbe_set_memory_window): Renamed from this...
37758 (grub_vbe_bios_set_memory_window): ... to this.
37759 (grub_vbe_get_memory_window): Renamed from this...
37760 (grub_vbe_bios_get_memory_window): ... to this.
37761 (grub_vbe_set_scanline_length): Renamed from this...
37762 (grub_vbe_set_scanline_length): ... to this.
37763 (grub_vbe_get_scanline_length): Renamed from this...
37764 (grub_vbe_bios_get_scanline_length): ... to this.
37765 (grub_vbe_set_display_start): Renamed from this...
37766 (grub_vbe_bios_set_display_start): ... to this.
37767 (grub_vbe_get_display_start): Renamed from this...
37768 (grub_vbe_bios_get_display_start): ... to this.
37769 (grub_vbe_set_palette_data): Renamed from this...
37770 (grub_vbe_bios_set_palette_data): ... to this.
37771 (grub_vbe_set_pixel_rgb): Removed.
37772 (grub_vbe_set_pixel_index): Likewise.
37773
37774 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
37775 from this...
37776 (grub_vbe_bios_get_controller_info): ... to this.
37777 (grub_vbe_get_mode_info): Renamed from this...
37778 (grub_vbe_bios_get_mode_info): ... to this.
37779 (grub_vbe_set_mode): Renamed from this...
37780 (grub_vbe_bios_set_mode): ... to this.
37781 (grub_vbe_get_mode): Renamed from this...
37782 (grub_vbe_bios_get_mode): ... to this.
37783 (grub_vbe_set_memory_window): Renamed from this...
37784 (grub_vbe_bios_set_memory_window): ... to this.
37785 (grub_vbe_get_memory_window): Renamed from this...
37786 (grub_vbe_bios_get_memory_window): ... to this.
37787 (grub_vbe_set_scanline_length): Renamed from this...
37788 (grub_vbe_set_scanline_length): ... to this.
37789 (grub_vbe_get_scanline_length): Renamed from this...
37790 (grub_vbe_bios_get_scanline_length): ... to this.
37791 (grub_vbe_set_display_start): Renamed from this...
37792 (grub_vbe_bios_set_display_start): ... to this.
37793 (grub_vbe_get_display_start): Renamed from this...
37794 (grub_vbe_bios_get_display_start): ... to this.
37795 (grub_vbe_set_palette_data): Renamed from this...
37796 (grub_vbe_bios_set_palette_data): ... to this.
37797 (grub_vbe_bios_get_controller_info): Fixed problem with registers
37798 getting corrupted after calling it. Added more pushes and pops.
37799 (grub_vbe_bios_set_mode): Likewise.
37800 (grub_vbe_bios_get_mode): Likewise.
37801 (grub_vbe_bios_get_memory_window): Likewise.
37802 (grub_vbe_bios_set_scanline_length): Likewise.
37803 (grub_vbe_bios_get_scanline_length): Likewise.
37804 (grub_vbe_bios_get_display_start): Likewise.
37805 (grub_vbe_bios_set_palette_data): Likewise.
37806
37807 * normal/cmdline.c (cl_set_pos): Refresh the screen.
37808 (cl_insert): Likewise.
37809 (cl_delete): Likewise.
37810
37811 * term/gfxterm.c: New file.
37812
37813 * term/i386/pc/vesafb.c: Removed file.
37814
37815 * video/video.c: New file.
37816
37817 * video/i386/pc/vbe.c (real2pm): Added new function.
37818 (grub_video_vbe_draw_pixel): Likewise.
37819 (grub_video_vbe_get_video_ptr): Likewise.
37820 (grub_video_vbe_get_pixel): Likewise
37821 (grub_video_vbe_init): Likewise.
37822 (grub_video_vbe_fini): Likewise.
37823 (grub_video_vbe_setup): Likewise.
37824 (grub_video_vbe_get_info): Likewise.
37825 (grub_video_vbe_set_palette): Likewise.
37826 (grub_video_vbe_get_palette): Likewise.
37827 (grub_video_vbe_set_viewport): Likewise.
37828 (grub_video_vbe_get_viewport): Likewise.
37829 (grub_video_vbe_map_color): Likewise.
37830 (grub_video_vbe_map_rgb): Likewise.
37831 (grub_video_vbe_map_rgba): Likewise.
37832 (grub_video_vbe_unmap_color): Likewise.
37833 (grub_video_vbe_fill_rect): Likewise.
37834 (grub_video_vbe_blit_glyph): Likewise.
37835 (grub_video_vbe_blit_bitmap): Likewise.
37836 (grub_video_vbe_blit_render_target): Likewise.
37837 (grub_video_vbe_scroll): Likewise.
37838 (grub_video_vbe_swap_buffers): Likewise.
37839 (grub_video_vbe_create_render_target): Likewise.
37840 (grub_video_vbe_delete_render_target): Likewise.
37841 (grub_video_vbe_set_active_render_target): Likewise.
37842 (grub_vbe_set_pixel_rgb): Remove function.
37843 (grub_vbe_set_pixel_index): Likewise.
37844 (index_color_mode): Remove static variable.
37845 (active_mode): Likewise.
37846 (framebuffer): Likewise.
37847 (bytes_per_scan_line): Likewise.
37848 (grub_video_vbe_adapter): Added new static variable.
37849 (framebuffer): Likewise.
37850 (render_target): Likewise.
37851 (initial_mode): Likewise.
37852 (mode_in_use): Likewise.
37853 (mode_list): Likewise.
37854
37855 2006-03-10 Marco Gerards <marco@gnu.org>
37856
37857 * configure.ac (AC_INIT): Bumped to 1.93.
37858
37859 * DISTLIST: Added `include/grub/hfs.h'.
37860
37861 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
37862
37863 * boot/i386/pc/boot.S (general_error): Before looping, try INT
37864 18H, which might help the BIOS falling back to next boot media.
37865
37866 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
37867
37868 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
37869 Poe Chen <poe.poechen@gmail.com>.
37870
37871 2006-01-17 Marco Gerards <marco@gnu.org>
37872
37873 * include/grub/normal.h: Include <grub/script.h>.
37874 (grub_command_list): Removed struct.
37875 (grub_command_list_t): Removed type.
37876 (grub_menu_entry): Remove members `num' and `command_list'. Add
37877 members `commands' and `sourcecode'.
37878 * include/grub/script.h: Add inclusion guards.
37879 (grub_script_cmd_menuentry): New struct.
37880 (grub_script_execute_menuentry): New prototype.
37881 (grub_script_lexer_record_start): Likewise.
37882 (grub_script_lexer_record_stop): Likewise.
37883 * normal/execute.c (grub_script_execute_menuentry): New function.
37884 * normal/lexer.c (record, recording, recordpos, recordlen): New
37885 variables.
37886 (grub_script_lexer_record_start): New function.
37887 (grub_script_lexer_record_stop): Likewise.
37888 (recordchar): Likewise.
37889 (nextchar): Likewise.
37890 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
37891 2048 as the buffer size. Add the tokens `menuentry' and `@'.
37892 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
37893 (current_menu): New variable.
37894 (free_menu): Mainly rewritten.
37895 (grub_normal_menu_addentry): New function.
37896 (read_config_file): Rewritten.
37897 * normal/menu.c (run_menu_entry): Mainly rewritten.
37898 * normal/menu_entry.c (make_screen): Rewritten the code to insert
37899 the menu entry.
37900 (run): Mainly rewritten.
37901 * normal/parser.y (menu_entry): New variable.
37902 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
37903 (menuentry): New rule.
37904 (command): Add `menuentry'.
37905 (if_statement): Allow additional returns before `fi'.
37906 * normal/script.c (grub_script_create_cmdmenu): New function.
37907
37908 2006-01-03 Marco Gerards <marco@gnu.org>
37909
37910 * INSTALL: GNU Bison is required.
37911 * configure.ac: Rewritten the test to detect Bison.
37912 * Makefile.in (YACC): New variable. Reported by Xun Sun
37913 <xun.sun.cn@gmail.com>.
37914
37915 2006-01-03 Marco Gerards <marco@gnu.org>
37916
37917 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
37918 the HFS+ filesystem to filesystem blocks.
37919 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
37920 GCC warning is silenced.
37921
37922 2006-01-03 Marco Gerards <marco@gnu.org>
37923
37924 * partmap/apple.c (apple_partition_map_iterate): Convert the data
37925 read from disk from big endian to host byte order.
37926
37927 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
37928
37929 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
37930 documentation.
37931 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
37932 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
37933 embedded HFS+ filesystem.
37934 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
37935 (grub_hfs_sblock): Move from here...
37936 * include/grub/hfs.h: To here... New file.
37937 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
37938 documentation.
37939 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
37940 New macros.
37941 (grub_hfsplus_volheader): Change type of member `magic' to
37942 `grub_uint16_t'.
37943 (grub_hfsplus_data): Add new member `embedded_offset'.
37944 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
37945 returned block.
37946 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
37947 Calculate the offset.
37948
37949 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37950
37951 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
37952 Removed.
37953 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
37954
37955 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37956
37957 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
37958 ENV->NAME is NULL after allocating ENV->VALUE.
37959
37960 2005-12-25 Marco Gerards <marco@gnu.org>
37961
37962 * kern/env.c (grub_env_set): Rewritten the error handling code.
37963
37964 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37965
37966 * geninit.sh: Made more robust, and more portable.
37967
37968 2005-12-25 Marco Gerards <marco@gnu.org>
37969
37970 Add support for Apple HFS+ filesystems.
37971
37972 * fs/hfsplus.c: New file.
37973
37974 * DISTLIST: Added `fs/hfsplus.c'.
37975
37976 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
37977 (hfsplus_mod_SOURCES): New variable.
37978 (hfsplus_mod_CFLAGS): Likewise.
37979 (hfsplus_mod_LDFLAGS): Likewise.
37980 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
37981 (grub_setup_SOURCES): Likewise.
37982 (grub_mkdevicemap_SOURCES): Likewise.
37983 (grub_emu_SOURCES): Likewise.
37984 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37985
37986 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
37987
37988 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
37989
37990 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
37991
37992 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
37993 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
37994 include/grub/parser.h, include/grub/script.h, kern/parser.c,
37995 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
37996 normal/lexer.c, normal/parser.y, normal/script.c, and
37997 partmap/gpt.c.
37998 Removed kern/sparc64/cache.c.
37999
38000 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
38001 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
38002 grub_emu_init.c.
38003
38004 * configure.ac (AC_INIT): Bumped to 1.92.
38005
38006 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
38007
38008 * kern/err.c (grub_error_push): Added new function to support error
38009 stacks.
38010 (grub_error_pop): Likewise.
38011 (grub_error_stack_items): New local variable to support error stacks.
38012 (grub_error_stack_pos): Likewise.
38013 (grub_error_stack_assert): Likewise.
38014 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
38015 stack depth.
38016 (grub_print_error): Added support to print errors from error stack.
38017
38018 * include/grub/err.h (grub_error_push): Added function prototype.
38019 (grub_error_pop): Likewise.
38020
38021 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
38022
38023 * configure.ac: Accept `powerpc64' as host_cpu.
38024 (amd64): Rename to `biarch32'.
38025
38026 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
38027 non-cacheline-aligned addresses.
38028
38029 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
38030 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
38031 if `size' is non-zero.
38032
38033 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
38034
38035 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
38036 and `cd' to make sure the filename is not prefixed with a
38037 directory name.
38038 (pkgdata_MODULES): Add `gpt.mod'.
38039 (gpt_mod_SOURCES): New variable.
38040 (gpt_mod_CFLAGS): Likewise.
38041 (gpt_mod_LDFLAGS): Likewise.
38042
38043 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
38044
38045 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
38046 New macro.
38047
38048 * partmap/gpt.c: New file.
38049
38050 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
38051 GPT partition map is detected.
38052
38053 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
38054
38055 * commands/i386/pc/play.c: New file.
38056 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
38057 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
38058 macros.
38059
38060 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
38061
38062 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
38063 ((unused))' to silence gcc warning.
38064
38065 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
38066
38067 * configure.ac: Correct `AC_PROG_YACC' test.
38068
38069 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38070
38071 * util/powerpc/ieee1275/grub-install.in: Run the mount point
38072 check before installing files.
38073
38074 2005-11-22 Mike Small <smallm@panix.com>
38075
38076 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
38077 number regex so multidigit numbers are recognized correctly.
38078
38079 2005-11-22 Mike Small <smallm@panix.com>
38080
38081 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
38082 debugging message before attempting to claim memory.
38083 (grub_rescue_cmd_initrd): Add a claim debugging message and try
38084 multiple addresses in case of failure.
38085
38086 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38087
38088 * term/tparm.c (get_space): Remove empty `if' statement.
38089
38090 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
38091
38092 * kern/parser.c (check_varstate): Rename `state' to 's'.
38093
38094 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38095
38096 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
38097 variable definitions to the beginning of each function. Sort stack
38098 variables by size.
38099 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
38100 `buf' argument to `char *'.
38101
38102 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
38103
38104 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
38105 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38106 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38107 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38108 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38109 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38110 configfile.mod, search.mod, gzio.mod and test.mod.
38111 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38112 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38113 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38114 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38115 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38116 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38117 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38118 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38119 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38120 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38121 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38122 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38123 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38124 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38125 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38126 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38127 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38128 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38129 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38130 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38131 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38132 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38133 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
38134
38135 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
38136 `grep --include'.
38137 (pkgdata_MODULES): Add test.mod.
38138
38139 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38140
38141 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
38142 appending to variables with "+=".
38143 (PModule): Use full pathname to generate *.lst filenames.
38144
38145 * Makefile.in: Fixed list rules moved from genmk.rb.
38146 (.DELETE_ON_ERROR): New special target.
38147 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
38148
38149 * conf/i386-pc.rmk: Include conf/common.mk.
38150 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
38151 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
38152 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
38153 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
38154 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
38155 configfile.mod, search.mod, gzio.mod and test.mod.
38156 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
38157 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
38158 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
38159 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
38160 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
38161 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
38162 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
38163 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
38164 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
38165 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
38166 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38167 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38168 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
38169 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
38170 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
38171 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
38172 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38173 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
38174 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
38175 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
38176 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
38177 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
38178 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
38179 here...
38180 * conf/common.rmk: ... to here. New file.
38181
38182 * conf/common.mk: New file.
38183
38184 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
38185
38186 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
38187 (grub_script.tab.c): ... here.
38188
38189 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
38190 (grub_script.tab.c): ... here.
38191
38192 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
38193 (grub_script.tab.c): ... here.
38194
38195 * normal/command.c (grub_command_find): Fixed a memory leak of
38196 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
38197
38198 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38199
38200 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
38201 "@" which marks the start of a comment on ARM.
38202 (VARIABLE): Likewise.
38203
38204 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38205
38206 Add support for Linux/ADFS partition tables.
38207
38208 * partmap/acorn.c: New file.
38209
38210 * include/grub/acorn_filecore.h: Likewise.
38211
38212 * DISTLIST: Added `partmap/acorn.c' and
38213 `include/grub/acorn_filecore.h'.
38214
38215 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38216 `partmap/acorn.c'.
38217 (pkgdata_MODULES): Add `acorn.mod'.
38218 (acorn_mod_SOURCES): New variable.
38219 (acorn_mod_CFLAGS): Likewise.
38220
38221 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38222 `partmap/acorn.c'.
38223 (pkgdata_MODULES): Add `acorn.mod'.
38224 (acorn_mod_SOURCES): New variable.
38225 (acorn_mod_CFLAGS): Likewise.
38226
38227 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
38228 (pkgdata_MODULES): Add `acorn.mod'.
38229 (acorn_mod_SOURCES): New variable.
38230 (acorn_mod_CFLAGS): Likewise.
38231 (acorn_mod_LDFLAGS): Likewise.
38232
38233 * include/types.h (grub_disk_addr_t): New typedef.
38234
38235 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
38236
38237 * geninit.sh: New file.
38238
38239 * geninitheader.sh: Likewise.
38240
38241 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
38242 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
38243 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
38244 * commands/configfile.c (grub_configfile_init)
38245 (grub_configfile_fini): Likewise.
38246 * commands/default.c (grub_default_init, grub_default_fini):
38247 Likewise.
38248 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
38249 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
38250 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
38251 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
38252 Likewise.
38253 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
38254 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
38255 Likewise.
38256 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
38257 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
38258 Likewise.
38259 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
38260 Likewise.
38261 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
38262 Likewise.
38263 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
38264 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
38265 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
38266 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
38267 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
38268 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
38269 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
38270 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
38271 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
38272 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
38273 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
38274 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
38275 * partmap/amiga.c (grub_amiga_partition_map_init)
38276 (grub_amiga_partition_map_fini): Likewise.
38277 * partmap/apple.c (grub_apple_partition_map_init)
38278 (grub_apple_partition_map_fini): Likewise.
38279 * partmap/pc.c (grub_pc_partition_map_init)
38280 (grub_pc_partition_map_fini): Likewise.
38281 * partmap/sun.c (grub_sun_partition_map_init,
38282 grub_sun_partition_map_fini): Likewise.
38283 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
38284 Likewise.
38285
38286 * util/grub-emu.c: Include <grub_modules_init.h>.
38287 (main): Don't initialize and de-initialize any modules directly,
38288 use `grub_init_all' and `grub_fini_all' instead.
38289
38290 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
38291 `grub_vesafb_mod_init'.
38292 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
38293 all users.
38294 * term/i386/pc/vga.c (grub_vga_init): Renamed to
38295 `grub_vga_mod_init'. Updated all users.
38296 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
38297
38298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
38299 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
38300 rules.
38301
38302 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
38303 Generate a function to initialize the module in utilities.
38304 Updated all callers.
38305 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
38306 initialize the module in utilities. Updated all callers.
38307
38308 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38309
38310 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
38311 escape sequence and a literal ^L to clear the screen.
38312
38313 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
38314 when returning from Open Firmware.
38315
38316 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
38317
38318 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
38319 (grub_ofconsole_height): Likewise.
38320 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
38321 manually insert a '\n'.
38322 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
38323 `grub_ofconsole_height'. Return early if these are already set.
38324
38325 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
38326
38327 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
38328 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
38329 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
38330 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
38331 and `normal/script.c'.
38332 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38333 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38334 (test_mod_SOURCES): New variable.
38335 (test_mod_CFLAGS): Likewise.
38336 (test_mod_LDFLAGS): Likewise.
38337 (pkgdata_MODULES): Add `test.mod'.
38338 (grub_script.tab.c): New rule.
38339 (grub_script.tab.h): Likewise.
38340
38341 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
38342
38343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38344 `commands/test.c', `normal/execute.c', `normal/lexer.c',
38345 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38346 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38347 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38348 (test_mod_SOURCES): New variable.
38349 (test_mod_CFLAGS): Likewise.
38350 (pkgdata_MODULES): Add `test.mod'.
38351 (grub_script.tab.c): New rule.
38352 (grub_script.tab.h): Likewise.
38353
38354 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
38355
38356 Add initial scripting support.
38357
38358 * commands/test.c: New file.
38359 * include/grub/script.h: Likewise.
38360 * normal/execute.c: Likewise.
38361 * normal/function.c: Likewise.
38362 * normal/lexer.c: Likewise.
38363 * normal/parser.y: Likewise.
38364 * normal/script.c: Likewise.
38365
38366 * configure.ac: Add `AC_PROG_YACC' test.
38367
38368 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
38369 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
38370 `normal/function.c' and `normal/script.c'.
38371 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
38372 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
38373 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
38374 variables.
38375 (pkgdata_MODULES): Add `test.mod'.
38376 (grub_script.tab.c): New rule.
38377 (grub_script.tab.h): Likewise.
38378
38379 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
38380
38381 * include/grub/normal.h (grub_test_init): New prototype.
38382 (grub_test_fini): Likewise.
38383
38384 * normal/command.c: Include <grub/script.h>.
38385 (grub_command_execute): Rewritten.
38386
38387 * util/grub-emu.c (main): Call `grub_test_init' and
38388 `grub_test_fini'.
38389
38390 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38391
38392 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
38393 to 0.
38394 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
38395 there are no pending characters.
38396
38397 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38398
38399 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
38400 `grub_strndup' to drop device arguments. Replace unnecessary
38401 `grub_strndup' with `grub_strdup'.
38402
38403 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
38404
38405 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
38406 `debug' environment variable has been set.
38407
38408 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
38409
38410 * Makefile.in (install-local): Use $(DATA).
38411 (uninstall): Likewise.
38412 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
38413 (sbin_UTILITIES): ... to here.
38414 (sbin_SCRIPTS): New variable.
38415 (grub_install_SOURCES): New variable.
38416 * util/powerpc/ieee1275/grub-install.in: New file.
38417 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
38418 variable.
38419 (add_segments): Call `grub_util_get_path'.
38420
38421 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
38422
38423 From Timothy Baldwin:
38424 * commands/ls.c (grub_ls_list_files): Close FILE with
38425 grub_file_close.
38426 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
38427
38428 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
38429
38430 * include/grub/parser.h: New file.
38431
38432 * kern/parser.c: Likewise.
38433
38434 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
38435 (grub_setup_SOURCES): Likewise.
38436 (grub_probefs_SOURCES): Likewise.
38437 (grub_emu_SOURCES): Likewise.
38438 (kernel_img_HEADERS): Add `parser.h'.
38439
38440 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38441 (grub_emu_SOURCES): Add `kern/parser.c'.
38442 (grubof_SOURCES): Likewise.
38443
38444 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
38445 (grubof_SOURCES): Add `kern/parser.c'.
38446
38447 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
38448
38449 * kern/misc.c (grub_split_cmdline): Removed function.
38450
38451 * kern/rescue.c: Include <grub/parser.h>.
38452 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
38453 of `grub_split_cmdline'.
38454
38455 * normal/command.c: Include <grub/parser.h>.
38456 (grub_command_execute): Use `grub_parser_split_cmdline' instead
38457 of `grub_split_cmdline'.
38458
38459 * normal/completion.c: Include <grub/parser.h>.
38460 (cmdline_state): New variable.
38461 (iterate_dir): End the filename with a quote depending on the
38462 command line state.
38463 (get_state): new function.
38464 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
38465 split the arguments and determine the current argument. When the
38466 argument string is not quoted, escape all spaces.
38467
38468 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38469
38470 * normal/sparc64/setjmp.S: New file.
38471
38472 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38473
38474 * include/grub/sparc64/libgcc.h: New file.
38475 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
38476 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
38477 normal/sparc64/setjmp.c.
38478
38479 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
38480
38481 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
38482 * kern/sparc64/cache.S: New file.
38483 * kern/sparc64/cache.c: Removed.
38484 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
38485 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
38486 -mtune=ultrasparc.
38487 (COMMON_LDFLAGS): Add -melf64_sparc.
38488 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
38489 (grubof_SOURCES): Use cache.S instead of cache.c.
38490 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
38491 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
38492 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
38493 commented though.
38494 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
38495 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
38496 (linux_mod_CFLAGS): Commented out.
38497 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
38498 out because module isn't built.
38499 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
38500 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
38501 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
38502 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
38503 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
38504 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38505 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38506 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
38507 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
38508 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
38509 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
38510 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
38511 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
38512 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
38513
38514 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
38515
38516 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
38517 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
38518 longer, because HFS should not be used on PC.
38519
38520 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38521
38522 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
38523 consistently within the loop.
38524
38525 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
38526
38527 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
38528 directory can not be read.
38529
38530 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38531
38532 * configure.ac (AC_INIT): Increase the version number to 1.91.
38533
38534 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
38535 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
38536 term/i386/pc/serial.c.
38537
38538 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38539
38540 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
38541 file size must be permitted.
38542
38543 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
38544 between %ah and %al.
38545
38546 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
38547
38548 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
38549 grub_uint64_t.
38550 Call the hook with a NUL-terminated filename.
38551 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
38552 grub_cpu_to_be32.
38553
38554 * kern/term.c (cursor_state): New variable.
38555 (grub_term_set_current): Reset the cursor state on a new
38556 terminal.
38557 (grub_setcursor): Rewritten to use CURSOR_STATE.
38558 (grub_getcursor): New function.
38559
38560 * include/grub/term.h (grub_getcursor): New prototype.
38561
38562 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
38563 integers on ARM. Reported by Timothy Baldwin
38564 <T.E.Baldwin99@members.leeds.ac.uk>.
38565
38566 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
38567
38568 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
38569 allocated.
38570 (grub_sfs_dir): Likewise.
38571
38572 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
38573
38574 Add support for the SFS filesystem.
38575
38576 * fs/sfs.c: New file.
38577
38578 * DISTLIST: Added `fs/sfs.c'.
38579
38580 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
38581 (grub_probefs_SOURCES): Likewise.
38582 (grub_emu_SOURCES): Likewise.
38583 (pkgdata_MODULES): Add `sfs.mod'.
38584 (sfs_mod_SOURCES): New variable.
38585 (sfs_mod_CFLAGS): Likewise.
38586 (sfs_mod_LDFLAGS): Likewise.
38587
38588 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
38589 (pkgdata_MODULES): Add `sfs.mod'.
38590 (sfs_mod_SOURCES): New variable.
38591 (sfs_mod_CFLAGS): Likewise.
38592
38593 * util/grub-emu.c (main): Call `grub_sfs_init' and
38594 `grub_sfs_fini'.
38595
38596 * include/grub/fs.h (grub_sfs_init): New prototype.
38597 (grub_sfs_fini): Likewise.
38598
38599 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
38600
38601 Add support for the AFFS filesystem.
38602
38603 * fs/affs.c: New file.
38604
38605 * DISTLIST: Added `fs/affs.c'.
38606
38607 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
38608 (grub_probefs_SOURCES): Likewise.
38609 (grub_emu_SOURCES): Likewise.
38610 (pkgdata_MODULES): Add `affs.mod'.
38611 (affs_mod_SOURCES): New variable.
38612 (affs_mod_CFLAGS): Likewise.
38613 (affs_mod_LDFLAGS): Likewise.
38614
38615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
38616 (pkgdata_MODULES): Add `affs.mod'.
38617 (affs_mod_SOURCES): New variable.
38618 (affs_mod_CFLAGS): Likewise.
38619
38620 * util/grub-emu.c (main): Call `grub_affs_init' and
38621 `grub_affs_fini'.
38622
38623 * include/grub/fs.h (grub_affs_init): New prototype.
38624 (grub_affs_fini): Likewise.
38625
38626 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
38627
38628 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
38629
38630 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
38631
38632 * configure.ac: Accept `x86_64' as host_cpu. In that case add
38633 `-m32' to CFLAGS.
38634
38635 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
38636 linking.
38637
38638 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
38639 (COMMON_LDFLAGS): New variable.
38640 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
38641 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
38642 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
38643 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
38644 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
38645 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
38646 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
38647 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
38648 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
38649 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
38650 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
38651 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
38652 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
38653 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
38654 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
38655 variables.
38656 (normal_mod_ASFLAGS): Add `-m32'.
38657
38658 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
38659 (grub_host_size_t, grub_host_ssize_t): New types.
38660 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
38661 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
38662 `GRUB_HOST_SIZEOF_VOID_P'.
38663
38664 * include/grub/kernel.h (struct grub_module_header): Type of
38665 member offset changed to `grub_host_off_t'. Type of member size
38666 changed to `grub_host_size_t'.
38667 (struct grub_module_info): Type of member offset changed to
38668 `grub_host_off_t'. Type of member size changed to
38669 `grub_host_size_t'.
38670
38671 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
38672
38673 Make GRUB's kernel compliant to Multiboot Specification.
38674
38675 * kern/i386/pc/startup.S (multiboot_header): New label.
38676 (multiboot_entry): Likewise.
38677 (multiboot_trampoline): Likewise.
38678
38679 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38680 Increased to 0x4A0.
38681
38682 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
38683 put parentheses after a question mark.
38684 [!GRUB_UTIL] (my_mod): New variable.
38685
38686 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
38687
38688 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
38689
38690 Adds support for the XFS filesystem. Btrees are not supported
38691 yet.
38692
38693 * fs/xfs.c: New file.
38694
38695 * DISTLIST: Added `fs/xfs.c'.
38696
38697 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
38698 (grub_probefs_SOURCES): Likewise.
38699 (grub_emu_SOURCES): Likewise.
38700 (pkgdata_MODULES): Add `xfs.mod'.
38701 (xfs_mod_SOURCES): New variable.
38702 (xfs_mod_CFLAGS): Likewise.
38703
38704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
38705 (pkgdata_MODULES): Add `xfs.mod'.
38706 (xfs_mod_SOURCES): New variable.
38707 (xfs_mod_CFLAGS): Likewise.
38708
38709 * util/grub-emu.c (main): Call `grub_xfs_init' and
38710 `grub_xfs_fini'.
38711
38712 * include/grub/fs.h (grub_xfs_init): New prototype.
38713 (grub_xfs_fini): Likewise.
38714
38715
38716 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
38717
38718 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
38719 color modes, allow greater than 16 colors to be configured as
38720 a default palette.
38721
38722 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
38723
38724 * normal/completion.c (complete_arguments): Add the qualifier
38725 const into OPTIONS.
38726
38727 From Omniflux <omniflux+lists@omniflux.com>:
38728 * include/grub/terminfo.h: New file.
38729 * include/grub/tparm.h: Likewise.
38730 * include/grub/i386/pc/serial.h: Likewise.
38731 * term/terminfo.c: Likewise.
38732 * term/tparm.c: Likewise.
38733 * term/i386/pc/serial.c: Likewise.
38734 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
38735 serial.mod.
38736 (terminfo_mod_SOURCES): New variable.
38737 (terminfo_mod_CFLAGS): Likewise.
38738 (serial_mod_SOURCES): Likewise.
38739 (serial_mod_CFLAGS): Likewise.
38740
38741 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
38742
38743 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
38744 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
38745 and kern/powerpc/ieee1275/cmain.c, respectively.
38746
38747 * boot/powerpc/ieee1275/crt0.S: Moved to ...
38748 * kern/powerpc/ieee1275/crt0.S: ... here.
38749
38750 * boot/powerpc/ieee1275/cmain.c: Moved to ...
38751 * kern/powerpc/ieee1275/cmain.c: ... here.
38752
38753 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
38754 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
38755 instead of boot/powerpc/ieee1275/crt0.S and
38756 boot/powerpc/ieee1275/cmain.c, respectively.
38757
38758 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
38759 sectors. It was not used anyway.
38760
38761 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38762
38763 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
38764 `unused parameter' warning.
38765
38766 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
38767
38768 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
38769 function.
38770 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
38771 getcharwidth.
38772
38773 2005-08-28 Marco Gerards <metgerards@student.han.nl>
38774
38775 * include/grub/normal.h (enum grub_completion_type): Added
38776 `GRUB_COMPLETION_TYPE_ARGUMENT'.
38777
38778 * normal/cmdline.c (print_completion): Handle
38779 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
38780 * normal/menu_entry.c (store_completion): Likewise.
38781
38782 * normal/completion.c (complete_arguments): New function.
38783 (grub_normal_do_completion): Call `complete_arguments' when the
38784 current words start with a dash.
38785
38786 2005-08-27 Marco Gerards <metgerards@student.han.nl>
38787
38788 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
38789 `gzio.mod' instead of `io.mod').
38790
38791 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
38792
38793 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
38794 (DISTDIRS): Added io and video.
38795 Rewrite the search routine to make an output consistently.
38796
38797 * DISTLIST: Added conf/sparc64-ieee1275.mk,
38798 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
38799 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
38800 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
38801 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
38802 util/powerpc/ieee1275/misc.c.
38803
38804 * include/grub/gzio.h: New file.
38805 * io/gzio.c: Likewise.
38806
38807 * kern/file.c (grub_file_close): Call grub_device_close only if
38808 FILE->DEVICE is not NULL.
38809
38810 * include/grub/mm.h [!NULL] (NULL): New macro.
38811
38812 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
38813
38814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
38815 (pkgdata_MODULES): Added gzio.mod.
38816 (gzio_mod_SOURCES): New variable.
38817 (gzio_mod_CFLAGS): Likewise.
38818
38819 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
38820 (pkgdata_MODULES): Added gzio.mod.
38821 (gzio_mod_SOURCES): New variable.
38822 (gzio_mod_CFLAGS): Likewise.
38823
38824 * commands/cat.c: Include grub/gzio.h.
38825 (grub_cmd_cat): Use grub_gzfile_open instead of
38826 grub_file_open.
38827
38828 * commands/cmp.c: Include grub/gzio.h.
38829 (grub_cmd_cmp): Use grub_gzfile_open instead of
38830 grub_file_open.
38831
38832 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
38833 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
38834 grub_file_open.
38835 (grub_rescue_cmd_module): Likewise.
38836
38837 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38838
38839 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
38840 kern/sparc64/ieee1275/init.c because it contains _start.
38841 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
38842
38843 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
38844
38845 * configure.ac: Add support for sparc64 host with ieee1275
38846 firmware.
38847 * configure: Generated from configure.ac.
38848 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
38849 instead of int.
38850 (grub_ofdisk_read): Likewise.
38851 (grub_ofdisk_open): Use %p to print pointer values, and cast the
38852 pointers as (void *) to remove a warning.
38853 (grub_ofdisk_close): Likewise.
38854 (grub_ofdisk_read): Likewise.
38855 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
38856 returns, so make it return void to remove a warning.
38857 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
38858 Corresponding prototype change.
38859 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
38860 values, and cast the pointers as (void *) to remove a warning.
38861 (grub_mm_dump): Likewise.
38862 * conf/sparc64-ieee1275.mk: New file.
38863 * conf/sparc64-ieee1275.rmk: Likewise.
38864 * include/grub/sparc64/setjmp.h: Likewise.
38865 * include/grub/sparc64/types.h: Likewise.
38866 * include/grub/sparc64/ieee1275/console.h: Likewise.
38867 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
38868 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
38869 * include/grub/sparc64/ieee1275/time.h: Likewise.
38870 * kern/sparc64/cache.c: Likewise.
38871 * kern/sparc64/dl.c: Likewise.
38872 * kern/sparc64/ieee1275/init.c: Likewise.
38873 * kern/sparc64/ieee1275/openfw.c: Likewise.
38874
38875 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
38876
38877 * util/console.c (grub_ncurses_putchar): If C is greater than
38878 0x7f, set C to a question mark.
38879 (grub_ncurses_getcharwidth): New function.
38880 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
38881 getcharwidth.
38882
38883 * normal/menu.c (print_entry): Made aware of Unicode. First,
38884 convert TITLE to UCS-4, and predict the cursor position by
38885 grub_getcharwidth.
38886
38887 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
38888 const to SRC.
38889 * kern/misc.c (grub_utf16_to_utf8): Likewise.
38890
38891 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38892
38893 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
38894 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38895 grub_strcat.
38896
38897 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
38898 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
38899 grub_strcpy and grub_strlen. Take it into account that a space
38900 character is inserted as a delimiter.
38901
38902 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38903
38904 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
38905 invalid magic in the error.
38906
38907 * commands/search.c: New file.
38908
38909 * util/grub-emu.c (main): Call grub_search_init and
38910 grub_search_fini.
38911
38912 * kern/rescue.c (grub_rescue_print_disks): Removed.
38913 (grub_rescue_print_devices): New function.
38914 (grub_rescue_cmd_ls): Use grub_device_iterate with
38915 grub_rescue_print_devices instead of grub_disk_dev_iterate with
38916 grub_rescue_print_disks.
38917
38918 * kern/partition.c (grub_partition_iterate): Return the result of
38919 PARTMAP->ITERATE instead of GRUB_ERRNO.
38920
38921 * kern/device.c: Include grub/partition.h.
38922 (grub_device_iterate): New function.
38923
38924 * include/grub/partition.h (grub_partition_iterate): Return int
38925 instead of grub_err_t.
38926
38927 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
38928 prototype.
38929 [GRUB_UTIL] (grub_search_fini): Likewise.
38930
38931 * include/grub/device.h (grub_device_iterate): New prototype.
38932
38933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38934 commands/search.c.
38935 (pkgdata_MODULES): Added search.mod.
38936 (search_mod_SOURCES): New variable.
38937 (search_mod_CFLAGS): Likewise.
38938
38939 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
38940 (pkgdata_MODULES): Added search.mod.
38941 (search_mod_SOURCES): New variable.
38942 (search_mod_CFLAGS): Likewise.
38943
38944 * commands/ls.c (grub_ls_list_disks): Renamed to ...
38945 (grub_ls_list_devices): ... this, and use grub_device_iterate.
38946 All callers changed.
38947
38948 * DISTLIST: Added commands/search.c.
38949
38950 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
38951
38952 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
38953 conversion.
38954 (grub_getcharwidth): New function.
38955
38956 * kern/misc.c (grub_utf8_to_ucs4): New function.
38957
38958 * include/grub/term.h (struct grub_term): Added a new member
38959 "getcharwidth".
38960 (grub_getcharwidth): New prototype.
38961
38962 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
38963
38964 * term/i386/pc/console.c (map_char): New function. Segregated from
38965 grub_console_putchar.
38966 (grub_console_putchar): Use map_char.
38967 (grub_console_getcharwidth): New function.
38968 (grub_console_term): Specified grub_console_getcharwidth as
38969 getcharwidth.
38970
38971 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
38972 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
38973
38974 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
38975 GRUB_ERRNO.
38976 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
38977 on grub_strtoul completely.
38978 (write_char): Declare local variables in the beginning of the
38979 function.
38980 (grub_vesafb_getcharwidth): New function.
38981 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
38982 getcharwidth.
38983
38984 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
38985
38986 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
38987 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
38988 commands/i386/pc/vbetest.c.
38989
38990 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
38991 call grub_vbe_get_controller_info again, because the returned
38992 information is volatile.
38993 (grub_vbe_set_video_mode): Mostly rewritten.
38994 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
38995 grub_vbe_status_t correctly.
38996 (grub_vbe_get_video_mode_info): Likewise.
38997 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
38998 several if statements.
38999
39000 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
39001 * commands/i386/pc/vbeinfo.c: ... this.
39002
39003 * commands/i386/pc/vbe_test.c: Renamed to ...
39004 * commands/i386/pc/vbetest.c: ... this.
39005
39006 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
39007 ...
39008 (grub_cmd_vbeinfo): ... this. Save video modes before
39009 iterating. Skip a video mode, if it is not available, not enough
39010 information is given or it is monochrome. Show the memory
39011 model. Leave the interpretation of MODEVAR to grub_strtoul
39012 completely.
39013 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
39014 (GRUB_MOD_FINI): Likewise.
39015
39016 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
39017 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
39018 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
39019 duplicated grub_env_get. Leave the interpretation of MODEVAR to
39020 grub_strtoul completely.
39021 (real2pm): Removed.
39022 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
39023 (GRUB_MOD_FINI): Likewise.
39024
39025 * normal/misc.c: Include grub/mm.h.
39026
39027 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
39028 vbe_list_modes with vbetest.mod and vbeinfo.mod.
39029 (vbe_list_modes_mod_SOURCES): Removed.
39030 (vbe_list_modes_mod_CFLAGS): Likewise.
39031 (vbe_test_mod_SOURCES): Likewise.
39032 (vbe_test_mod_CFLAGS): Likewise.
39033 (vbeinfo_mod_SOURCES): New variable.
39034 (vbeinfo_mod_CFLAGS): Likewise.
39035 (vbetest_mod_SOURCES): Likewise.
39036 (vbetest_mod_CFLAGS): Likewise.
39037
39038 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
39039
39040 * normal/misc.c: New file.
39041
39042 * DISTLIST: Added normal/misc.c.
39043
39044 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
39045 DISK to HOOK. Call HOOK with DISK.
39046 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39047 * partmap/pc.c (pc_partition_map_iterate): Likewise.
39048 * partmap/sun.c (sun_partition_map_iterate): Likewise.
39049
39050 * normal/menu_entry.c (struct screen): Added a new member
39051 "completion_shown".
39052 (completion_buffer): New global variable.
39053 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
39054 (store_completion): New function.
39055 (complete): Likewise.
39056 (clear_completions): Likewise.
39057 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
39058 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
39059 a tab, call complete.
39060
39061 * normal/completion.c (disk_dev): Removed.
39062 (print_simple_completion): Likewise.
39063 (print_partition_completion): Likewise.
39064 (print_func): New global variable.
39065 (add_completion): Do not take the arguments WHAT or PRINT any
39066 longer. Added a new argument TYPE. Instead of printing directly,
39067 call PRINT_FUNC if not NULL.
39068 All callers changed.
39069 (complete_device): Use a local variable DEV instead of
39070 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
39071 (grub_normal_do_completion): Take a new argument HOOK. Do not
39072 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
39073 empty string, return NULL instead.
39074 All callers changed.
39075
39076 * normal/cmdline.c (print_completion): New function.
39077
39078 * kern/partition.c (grub_partition_iterate): Add an argument DISK
39079 to HOOK.
39080 All callers changed.
39081
39082 * kern/disk.c (grub_print_partinfo): Removed.
39083
39084 * include/grub/partition.h (struct grub_partition_map): Add a new
39085 argument DISK into HOOK of ITERATE.
39086 (grub_partition_iterate): Add a new argument DISK to HOOK.
39087
39088 * include/grub/normal.h (enum grub_completion_type): New enum.
39089 (grub_completion_type_t): New type.
39090 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
39091 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
39092 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
39093 (GRUB_COMPLETION_TYPE_FILE): Likewise.
39094 (grub_normal_do_completion): Added a new argument HOOK.
39095 (grub_normal_print_device_info): New prototype.
39096
39097 * include/grub/disk.h (grub_print_partinfo): Removed.
39098
39099 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
39100 (normal_mod_SOURCES): Likewise.
39101 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39102 (normal_mod_SOURCES): Likewise.
39103
39104 * commands/ls.c (grub_ls_list_disks): Use
39105 grub_normal_print_device_info instead of grub_print_partinfo. Free
39106 PNAME.
39107 (grub_ls_list_files): Use grub_normal_print_device_info instead of
39108 duplicating the code.
39109
39110 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39111
39112 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
39113 follow GCS more precisely.
39114 * commands/i386/pc/vbe_test.c: Likewise.
39115 * include/grub/i386/pc/vbe.h: Likewise.
39116 * term/i386/pc/vesafb.c: Likewise.
39117 * video/i386/pc/vbe.c: Likewise.
39118
39119 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
39120
39121 * DISTLIST: Added term/i386/pc/vesafb.c
39122 DISTLIST: Added video/i386/pc/vbe.c
39123 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
39124 DISTLIST: Added commands/i386/pc/vbe_test.c.
39125 * commands/i386/pc/vbe_list_modes.c: New file.
39126 * commands/i386/pc/vbe_test.c: Likewise.
39127 * term/i386/pc/vesafb.c: Likewise.
39128 * video/i386/pc/vbe.c: Likewise.
39129 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
39130 (grub_vbe_probe) Added prototype.
39131 (grub_vbe_set_video_mode) Likewise.
39132 (grub_vbe_get_video_mode) Likewise.
39133 (grub_vbe_get_video_mode_info) Likewise.
39134 (grub_vbe_set_pixel_rgb) Likewise.
39135 (grub_vbe_set_pixel_index) Likewise.
39136 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
39137 (pkgdata_MODULES): Added vesafb.mod.
39138 (pkgdata_MODULES): Added vbe_list_modes.mod.
39139 (pkgdata_MODULES): Added vbe_test.mod.
39140 (vbe_mod_SOURCES): Added.
39141 (vbe_mod_CFLAGS): Likewise.
39142 (vesafb_mod_SOURCES): Likewise.
39143 (vesafb_mod_CFLAGS): Likewise.
39144 (vbe_list_modes_mod_SOURCES): Likewise.
39145 (vbe_list_modes_mod_CFLAGS): Likewise.
39146 (vbe_test_mod_SOURCES): Likewise.
39147 (vbe_test_mod_CFLAGS): Likewise.
39148
39149 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
39150
39151 * normal/command.c (grub_command_execute): If INTERACTIVE is
39152 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
39153 CMDLINE. Disable the pager if INTERACTIVE is true.
39154 All callers are changed.
39155
39156 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
39157 before reading a config file.
39158 * normal/main.c (read_config_file): Even if a command is not
39159 found, register it if it is within an entry.
39160
39161 * util/grub-emu.c: Include sys/types.h and unistd.h.
39162 (options): Added --hold.
39163 (struct arguments): Added a new member "hold".
39164 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
39165 missing.
39166 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
39167 cleared by a debugger, if it is not zero.
39168
39169 * include/grub/normal.h (grub_command_execute): Add an argument
39170 INTERACTIVE.
39171
39172 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
39173
39174 * DISTLIST: Added include/grub/i386/pc/vbe.h.
39175
39176 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
39177
39178 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
39179 program with another one, because the old one didn't detect a bug
39180 in gcc-3.4. Always use regparm 2, because the new test is still
39181 not enough for gcc-4.0. Someone must investigate a simple test
39182 case which detects a bug in gcc-4.0.
39183
39184 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
39185
39186 * DISTLIST: Added normal/completion.c.
39187
39188 * normal/completion.c: New file.
39189
39190 * term/i386/pc/console.c (grub_console_getwh): New function.
39191 (grub_console_term): Assign grub_console_getwh to getwh.
39192
39193 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
39194 function is defined in normal/completion.c as
39195 grub_normal_do_completion.
39196 (grub_cmdline_get): Use grub_normal_do_completion instead of
39197 grub_tab_complete.
39198
39199 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
39200 returns non-zero, otherwise return 0.
39201 (grub_partition_iterate): First, probe the partition map. Then,
39202 call ITERATE only for this partition map.
39203
39204 * kern/misc.c (grub_strncmp): Rewritten.
39205
39206 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
39207 returns non-zero. Otherwise return 0.
39208
39209 * include/grub/partition.h (grub_partition_map_iterate): Return
39210 int instead of void.
39211
39212 * include/grub/normal.h (grub_normal_do_completion): New prototype.
39213
39214 * include/grub/misc.h (grub_strncmp): Change the type of N to
39215 grub_size_t.
39216
39217 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
39218 of void.
39219
39220 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
39221 unsigned explicitly before comparing it with I.
39222
39223 * kern/main.c (grub_env_write_root): Add the attribute unused into
39224 VAR.
39225
39226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39227 normal/completion.c.
39228 (normal_mod_SOURCES): Likewise.
39229 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39230 (normal_mod_SOURCES): Likewise.
39231
39232 * normal/command.c (grub_iterate_commands): If ITERATE returns
39233 non-zero, return one immediately.
39234
39235 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
39236
39237 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
39238 * kern/i386/pc/startup.S: Updated Global Descriptor table's
39239 descriptions.
39240 (grub_vbe_get_controller_info): New function.
39241 (grub_vbe_get_mode_info): Likewise.
39242 (grub_vbe_set_mode): Likewise.
39243 (grub_vbe_get_mode): Likewise.
39244 (grub_vbe_set_memory_window): Likewise.
39245 (grub_vbe_get_memory_window): Likewise.
39246 (grub_vbe_set_scanline_length): Likewise.
39247 (grub_vbe_get_scanline_length): Likewise.
39248 (grub_vbe_set_display_start): Likewise.
39249 (grub_vbe_get_display_start): Likewise.
39250 (grub_vbe_set_palette_data): Likewise.
39251 * include/grub/i386/pc/vbe.h: New file.
39252
39253 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39254
39255 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39256 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
39257 * DISTLIST: Likewise.
39258 * kern/ieee1275/of.c: Moved to ...
39259 * kern/ieee1275/ieee1275.c: ... here.
39260
39261 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39262
39263 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
39264 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
39265 Pass 0 as `end' parameter to grub_strtoul().
39266
39267 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
39268
39269 * include/grub/powerpc/ieee1275/console.h: Do not include
39270 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
39271 ifdef.
39272 (grub_console_cur_color): Remove i386-specific prototype.
39273 (grub_console_real_putchar): Likewise.
39274 (grub_console_checkkey): Likewise.
39275 (grub_console_getkey): Likewise.
39276 (grub_console_getxy): Likewise.
39277 (grub_console_gotoxy): Likewise.
39278 (grub_console_cls): Likewise.
39279 (grub_console_setcursor): Likewise.
39280 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
39281 Include <grub/machine/console.h>.
39282 * term/ieee1275/ofconsole.c: Likewise.
39283
39284 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
39285
39286 * Makefile.in (LIBLZO): New variable.
39287
39288 * configure.ac: Check for LZO version 2.
39289
39290 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
39291 lzo/lzo1x.h instead of lzo1x.h.
39292
39293 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
39294 of -llzo.
39295
39296 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
39297 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
39298
39299 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
39300 copying the data from PARTITION to P.
39301
39302 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39303
39304 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
39305 negative, unload the module.
39306
39307 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
39308 map is "pc_partition_map" but not "pc".
39309 (usage): Fix the description. The options are --boot-image and
39310 --core-image but not --boot-file or --core-file.
39311 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
39312 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
39313 DEFAULT_DIRECTORY.
39314
39315 * util/i386/pc/grub-install.in: Do not specify --boot-file or
39316 --core-file. Specify INSTALL_DEVICE as an argument.
39317
39318 * util/console.c: Include config.h.
39319 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
39320 [HAVE_NCURSES_H]: Include ncurses.h.
39321 [HAVE_CURSES_H]: Include curses.h.
39322 [!A_NORMAL] (A_NORMAL): Defined as zero.
39323 [!A_STANDOUT] (A_STANDOUT): Likewise.
39324
39325 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
39326 -lncurses.
39327 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
39328
39329 * configure.ac: Check for curses libraries and headers.
39330
39331 * Makefile.in (LIBCURSES): New variable.
39332
39333 * genmk.rb (Script::rule): Set the executable bits.
39334
39335 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
39336 name of the PC partition map is "pc_partition_map" but not "pc".
39337
39338 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39339
39340 * util/i386/pc/grub-install.in (grub_probefs): New variable.
39341 (modules): Likewise.
39342 (usage): Added descriptions for --modules and --grub-probefs.
39343 Handle --modules and --grub-probefs. Save the arguments in MODULES
39344 and GRUB_PROBEFS, respectively.
39345 Auto-detect a filesystem module against GRUBDIR. If the result is
39346 empty and modules are not specified explicitly, abort the
39347 installation. Add the result to MODULES.
39348
39349 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
39350 disk/powerpc/ieee1275/ofdisk.c,
39351 include/grub/powerpc/ieee1275/init.h and
39352 term/powerpc/ieee1275/ofconsole.c.
39353 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
39354 term/ieee1275/ofconsole.c.
39355
39356 * include/grub/powerpc/ieee1275/console.h: Resurrected.
39357
39358 * COPYING: Upgraded to the latest version. Only the address of the
39359 FSF office has changed.
39360
39361 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
39362
39363 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
39364 kern/ieee1275.c with kern/ieee1275/of.c.
39365
39366 * kern/ieee1275.c: Moved to ...
39367 * kern/ieee1275/of.c: ... here.
39368
39369 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
39370
39371 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
39372 readability.
39373
39374 * config.guess: Updated to the latest version from gnulib.
39375 * config.sub: Likewise.
39376 * install.sh: Likewise.
39377 * mkinstalldirs: Likewise.
39378
39379 * include/grub/console.h: Removed. This file is arch-specific. Do
39380 not put this in include/grub.
39381
39382 * include/grub/i386/pc/console.h: Resurrected.
39383
39384 * util/console.c: Include grub/machine/console.h instead of
39385 grub/console.h.
39386 * util/grub-emu.c: Likewise.
39387
39388 2005-08-04 Marco Gerards <metgerards@student.han.nl>
39389
39390 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
39391 hardcoded value.
39392
39393 From Vincent Pelletier <subdino2004@yahoo.fr>
39394 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
39395 Redefined to use grub_getwh.
39396 (grub_term): New member named getwh.
39397 (grub_getwh): New prototype.
39398 * kern/term.c (grub_getwh): New function.
39399 * term/i386/pc/console.c (grub_console_getwh): New function.
39400 (grub_console_term): New member `getwh'.
39401 * term/i386/pc/vga.c (grub_vga_getwh): New function.
39402 (grub_vga_term): New member `getwh'.
39403 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
39404 grub_ssize_t.
39405 (grub_ofconsole_getw): New function.
39406 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
39407 (grub_ofconsole_term): New field named getwh and new initial
39408 value.
39409
39410 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
39411
39412 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
39413 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
39414 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
39415 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
39416 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
39417 of <grub/machine/ieee1275.h>.
39418 * commands/ieee1275/reboot.c: Likewise.
39419 * boot/powerpc/ieee1275/ieee1275.c: Move ...
39420 * kern/ieee1275.c: ... to here. All users updated. Change all
39421 parameter structs to use new type `grub_ieee1275_cell_t'.
39422 * term/powerpc/ieee1275/ofconsole.c: Move ...
39423 * term/ieee1275/ofconsole.c: ... to here. All users updated.
39424 * disk/powerpc/ieee1275/ofdisk.c: Move ...
39425 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
39426 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
39427 to return int.
39428 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
39429 Remove unused prototypes. All users updated.
39430 * include/grub/powerpc/ieee1275/console.h: Removed.
39431 * include/grub/powerpc/ieee1275/ieee1275.h: Define
39432 `grub_ieee1275_cell_t'.
39433 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
39434 Cast comparisons with -1 to the correct type.
39435 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
39436 type to match `grub_ieee1275_entry_fn'.
39437
39438 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
39439
39440 * DISTLIST: Added util/i386/pc/grub-probefs.c.
39441
39442 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
39443 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
39444 partmap/sun.c.
39445 (grub_probefs_SOURCES): New variable.
39446
39447 * util/i386/pc/grub-probefs.c: New file.
39448
39449 * util/i386/pc/grub-setup.c (main): Call
39450 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
39451 grub_hfs_init and grub_jfs_init to initialize the system. Call
39452 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
39453 grub_pc_partition_map_fini to finish the system.
39454
39455 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
39456
39457 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
39458 function.
39459 (grub_multiboot_load_elf32): Likewise.
39460 (grub_multiboot_is_elf64): Likewise.
39461 (grub_multiboot_load_elf64): Likewise.
39462 (grub_multiboot_load_elf): Likewise.
39463 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
39464 an ELF32 or ELF64 file.
39465 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
39466
39467 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
39468 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
39469 NULL before calling FS->LABEL.
39470 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
39471 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
39472 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
39473 before calling FS->LABEL.
39474
39475 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
39476
39477 * util/i386/pc/grub-install.in (datadir): New variable.
39478 (libdir): Removed.
39479 (pkgdatadir): New variable.
39480 (pkglibdir): Removed.
39481
39482 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
39483
39484 * DISTLIST: Added util/i386/pc/grub-install.in.
39485
39486 * util/i386/pc/grub-install.in: New file.
39487
39488 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
39489 (grub_install_SOURCES): Likewise.
39490
39491 * genmk.rb: Added support for scripts.
39492 (Script): New class.
39493 (scripts): New variable.
39494
39495 * Makefile.in (install-local): Install sbin_SCRIPTS by
39496 INSTALL_SCRIPT.
39497 (uninstall): Remove sbin_SCRIPTS.
39498
39499 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
39500 device, try to get a GRUB device by
39501 grub_util_biosdisk_get_grub_dev.
39502 Free DEST_DEV.
39503
39504 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
39505 description for --device-map.
39506
39507 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39508
39509 Change the semantics of variable hooks. They now return strings
39510 instead of error values.
39511
39512 * util/i386/pc/grub-setup.c: Include grub/env.h.
39513 (setup): Use grub_device_set_root instead of grub_env_set.
39514
39515 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
39516 grub_env_get instead of grub_device_set_root and
39517 grub_device_get_root, respectively.
39518
39519 * kern/main.c (grub_env_write_root): New function.
39520 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
39521 grub_env_set instead of grub_device_set_root.
39522
39523 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
39524 many variables.
39525 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
39526 rather than calling ENV->WRITE_HOOK afterwards.
39527 (grub_env_get): Return the result of ENV->READ_HOOK rather than
39528 passing a pointer of a pointer.
39529 (grub_register_variable_hook): Change the types of "read_hook" and
39530 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
39531 respectively.
39532 Allocate the default empty string on the heap, because this string
39533 may be freed later.
39534
39535 * kern/device.c: Include grub/env.h.
39536 (grub_device_set_root): Removed.
39537 (grub_device_get_root): Likewise.
39538 (grub_device_open): Use grub_env_get instead of
39539 grub_device_get_root.
39540
39541 * include/grub/env.h (grub_env_read_hook_t): New type.
39542 (grub_env_write_hook_t): Likewise.
39543 (grub_env_var): Change the types of "read_hook" and "write_hook"
39544 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
39545 (grub_register_variable_hook): Likewise.
39546
39547 * include/grub/device.h (grub_device_set_root): Removed.
39548 (grub_device_set_root): Likewise.
39549
39550 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
39551 make sure that DIRNAME terminates with '/', so that
39552 grub_fat_find_dir will fail if PATH is not a directory.
39553
39554 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
39555 from DIRNAME.
39556 Use the qualifier auto for print_files and print_files_long.
39557 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
39558 as a regular file.
39559 Put a newline only if there is no error.
39560 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
39561 used.
39562
39563 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
39564
39565 * kern/partition.c (grub_partition_probe): Initialize PART to
39566 NULL. Otherwise, when no partition map is registered, this returns
39567 a garbage.
39568
39569 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
39570
39571 * partmap/apple.c (apple_partition_map_iterate): Check if POS
39572 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
39573 valid.
39574
39575 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
39576
39577 * commands/ls.c (grub_ls_list_disks): Print the filesystem
39578 information on each device, if it does not have partitions. Print
39579 "Device" instead of "Disk", because this function is not specific
39580 to disk devices.
39581
39582 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
39583 static to ensure that it is put on the memory rather than a
39584 register.
39585
39586 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39587
39588 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
39589 (grub_cat_init): Likewise.
39590 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
39591 (options): Likewise.
39592 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
39593 (grub_configfile_init): Likewise.
39594 * font/manager.c (GRUB_MOD_INIT): Likewise.
39595 * commands/help.c (GRUB_MOD_INIT): Likewise.
39596 (grub_help_init): Likewise.
39597 * normal/command.c (grub_command_init): Likewise.
39598 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
39599 * disk/loopback.c (grub_loop_init): Likewise.
39600 (GRUB_MOD_INIT): Likewise.
39601 * commands/ls.c (grub_ls_init): Likewise.
39602 (GRUB_MOD_INIT): Likewise.
39603 (options): Likewise.
39604 * commands/boot.c (grub_boot_init): Likewise.
39605 (GRUB_MOD_INIT): Likewise.
39606 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
39607 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
39608 (GRUB_MOD_INIT): Likewise.
39609 * commands/cmp.c (grub_cmp_init): Likewise.
39610 (GRUB_MOD_INIT): Likewise.
39611
39612 * normal/arg.c: Use <> instead of "" to include header files.
39613 (SHORT_ARG_HELP): New macro.
39614 (SHORT_ARG_USAGE): Likewise.
39615 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
39616 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
39617 descriptions.
39618 (find_short): Check if C is 'h' or 'u' explicitly.
39619 (grub_arg_show_help): Use space characters instead of tabs. Treat
39620 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
39621 are shown with --help and --usage only if they are not used for
39622 the command itself.
39623 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
39624 'h' and 'u'.
39625
39626 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
39627 const into "longarg". Change the type of "shortarg" to int.
39628
39629 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39630
39631 * boot/i386/pc/boot.S (boot_drive_check): New label.
39632
39633 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
39634 macro.
39635
39636 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
39637 which do not pass a boot drive correctly. Copied from GRUB Legacy.
39638
39639 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39640
39641 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
39642 When turning off Gate A20, skip the check and return immediately,
39643 because this is not fatal usually.
39644
39645 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
39646
39647 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
39648 be 0x7C00 instead of 0x8000.
39649
39650 * boot/i386/pc/pxeboot.S: Rewritten.
39651
39652 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
39653 EXT_C.
39654 (gate_a20_check_state): Read a byte from 0x108000. Invert the
39655 result.
39656
39657 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
39658
39659 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
39660 robustness. This routine now supports a BIOS call and System
39661 Control Port A to modify the gate A20.
39662
39663 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
39664 Increased to 0x440.
39665
39666 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
39667
39668 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
39669 device path and resulting ihandle.
39670 (grub_ofdisk_close): dprintf the ihandle being closed.
39671 (grub_ofdisk_read): dprintf function parameters.
39672 * kern/mm.c (grub_mm_init_region): Likewise.
39673 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
39674 (grub_linux_boot): dprintf the Linux entry point, initrd address and
39675 size, and boot arguments.
39676 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
39677 before loading into memory.
39678 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
39679 before loading into memory.
39680
39681 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
39682
39683 * kern/mm.c: Added much documentation.
39684 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
39685 8, set to 5 instead of 8.
39686
39687 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
39688
39689 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
39690
39691 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
39692 (grub_mkdevicemap_SOURCES): New variable.
39693
39694 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
39695 lib/device.c of GRUB Legacy.
39696
39697 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
39698
39699 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
39700 instead of PATH is NULL.
39701
39702 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
39703
39704 * commands/cmp.c (BUFFER_SIZE): New macro.
39705 (grub_cmd_cmp): Close the right file at the right time. Compare
39706 only data just read. Don't report files of different size as
39707 identical. Dynamically allocate buffers. Move variable
39708 declarations at the beginning of function.
39709
39710 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
39711
39712 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
39713 reverse.
39714
39715 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
39716
39717 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
39718 when backspace is pressed at beginning of line.
39719
39720 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
39721
39722 * DISTLIST: Added genfslist.sh.
39723
39724 * normal/main.c (fs_module_list): New variable.
39725 (autoload_fs_module): New function.
39726 (read_fs_list): Likewise.
39727 (grub_normal_execute): Call read_fs_list.
39728
39729 * kern/fs.c (grub_fs_autoload_hook): New variable.
39730 (grub_fs_probe): Added support for auto-loading.
39731
39732 * include/grub/normal.h (struct grub_fs_module_list): New struct.
39733 (grub_fs_module_list_t): New type.
39734
39735 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
39736 (grub_fs_autoload_hook): New prototype.
39737
39738 * genfslist.sh: New file.
39739
39740 * genmk.rb: Added a rule to generate a filesystem list.
39741
39742 2005-06-30 Marco Gerards <metgerards@student.han.nl>
39743
39744 * configure.ac: Fix the test for cross-compiling.
39745
39746 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
39747 define GRUB_UTIL anymore.
39748
39749 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
39750 so this function works on other systems than just big endian.
39751 (load_modules): Likewise.
39752 (add_segments): Likewise.
39753
39754 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
39755
39756 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
39757 contains `l' modifier, get a long from va_arg().
39758
39759 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
39760
39761 * kern/mm.c (grub_free): If the next free block which is being
39762 merged is the first free block, set the first block to the block
39763 being freed.
39764 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
39765
39766 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39767
39768 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
39769 `grub_ieee1275_chosen'.
39770
39771 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
39772
39773 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
39774 (grub_ieee1275_chosen): New variable.
39775 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
39776 `chosen'.
39777 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
39778 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39779 Rename first argument to `phandle' for consistency.
39780 (grub_ieee1275_get_property_length): Likewise.
39781 (grub_ieee1275_next_property): Likewise. Change type of first argument
39782 to grub_ieee1275_phandle_t.
39783 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
39784 Move export next to declaration.
39785 (grub_ieee1275_chosen): New variable.
39786 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
39787 Correct cosmetic typo.
39788 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
39789 `grub_ieee1275_chosen'.
39790 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
39791 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
39792 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
39793 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
39794 `grub_ieee1275_chosen'.
39795
39796 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
39797
39798 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
39799 /chosen/bootargs.
39800 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
39801 /chosen/bootargs as "variable=value" pairs.
39802
39803 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
39804
39805 * include/grub/misc.h (grub_dprintf): New macro.
39806 (grub_real_dprintf): New prototype.
39807 (grub_strword): Likewise.
39808 (grub_iswordseparator): Likewise.
39809 * kern/misc.c (grub_real_dprintf): New function.
39810 (grub_strword): Likewise.
39811 (grub_iswordseparator): Likewise.
39812
39813 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
39814
39815 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
39816 (roundup): Remove macro.
39817 (grub_ieee1275_flags): Make static.
39818 (grub_ieee1275_realmode): Remove.
39819 (grub_ieee1275_test_flag): New function.
39820 (grub_ieee1275_set_flag): Likewise.
39821 (find_options): Rename to `grub_ieee1275_find_options'; update
39822 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
39823 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
39824 (cmain): New prototype.
39825 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
39826 `grub_ieee1275_flags' directly.
39827 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
39828 machine/biosdisk.h.
39829 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
39830 Don't include grub/machine/init.h.
39831 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
39832 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39833 Remove prototype.
39834 (grub_ieee1275_realmode): Likewise.
39835 (grub_ieee1275_flag): New enum.
39836 (grub_ieee1275_test_flag): New prototype.
39837 (grub_ieee1275_set_flag): New prototype.
39838 * include/grub/powerpc/ieee1275/init.h: Remove file.
39839 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
39840 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
39841 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
39842 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
39843 comment.
39844 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
39845 `grub_ieee1275_test_flag'.
39846 (grub_ieee1275_encode_devname): Likewise.
39847
39848 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
39849
39850 * include/grub/powerpc/ieee1275/ieee1275.h
39851 (grub_ieee1275_encode_devname): New prototype.
39852 (grub_ieee1275_get_filename): Likewise.
39853 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
39854 function.
39855 (grub_set_prefix): Likewise.
39856 (grub_machine_init): Call grub_set_prefix.
39857 * kern/powerpc/ieee1275/openfw.c: Fix typos.
39858 (grub_parse_type): New enum.
39859 (grub_ieee1275_get_devargs): New function.
39860 (grub_ieee1275_get_devname): Likewise.
39861 (grub_ieee1275_parse_args): Likewise.
39862 (grub_ieee1275_get_filename): Likewise.
39863 (grub_ieee1275_encode_devname): Likewise.
39864
39865 2005-03-30 Marco Gerards <metgerards@student.han.nl>
39866
39867 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
39868 `grub_loader_unset'.
39869
39870 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
39871
39872 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
39873 instead of grub_ieee1275_interpret.
39874 (grub_halt_init): New function.
39875 (grub_halt_fini): Likewise.
39876 (GRUB_MOD_INIT): Correct message grammar.
39877 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
39878 instead of grub_ieee1275_interpret.
39879 (grub_reboot_init): New function.
39880 (grub_reboot_fini): Likewise.
39881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
39882 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
39883 util/i386/pc/misc.c with commands/ieee1275/halt.c,
39884 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
39885 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
39886 function.
39887 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
39888 Add prototype.
39889 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
39890 prototype.
39891 (grub_halt): Likewise.
39892 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
39893 (cmain): Remove __attribute__((unused)).
39894 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
39895 (grub_heap_len): Likewise.
39896 (grub_machine_fini): New function.
39897 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
39898 (grub_halt): Likewise.
39899 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
39900 function.
39901 * util/powerpc/ieee1275/misc.c: New file.
39902
39903 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39904
39905 * DISTLIST: New file.
39906 * gendistlist.sh: Likewise.
39907
39908 * Makefile.in (COMMON_DISTFILES): Removed.
39909 (BOOT_DISTFILES): Likewise.
39910 (CONF_DISTFILES): Likewise.
39911 (DISK_DISTFILES): Likewise.
39912 (FS_DISTFILES): Likewise.
39913 (INCLUDE_DISTFILES): Likewise.
39914 (KERN_DISTFILES): Likewise.
39915 (LOADER_DISTFILES): Likewise.
39916 (TERM_DISTFILES): Likewise.
39917 (UTIL_DISTFILES): Likewise.
39918 (DISTFILES): Likewise.
39919 (uninstall): Uninstall files in $(pkgdata_DATA).
39920 (DISTLIST): New target.
39921 (distdir): Use the contents of the file DISTLIST to get a list of
39922 distributed files.
39923
39924 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
39925
39926 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
39927 descriptor. This is ported from GRUB Legacy.
39928
39929 * gencmdlist.sh: Added an extra semicolon to make it work with
39930 old sed versions. Reported by Robert Bihlmeyer
39931 <robbe@orcus.priv.at>.
39932
39933 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
39934
39935 Automatic loading of commands is supported.
39936
39937 * normal/main.c (read_command_list): New function.
39938 (grub_normal_execute): Call read_command_list.
39939
39940 * normal/command.c (grub_register_command): Return zero or CMD.
39941 Allocate CMD->NAME from the heap.
39942 Initialize CMD->MODULE_NAME to zero.
39943 Find the same name as well. If the same command is found and it is
39944 a dummy command, overwrite members. If it is not a dummy command,
39945 return zero.
39946 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
39947 (grub_command_find): If a dummy command is found, load a module
39948 and retry to find a command only once.
39949
39950 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
39951 make sure that each command is loaded.
39952
39953 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
39954 macro.
39955 (struct grub_command): Remove const from the member `name'.
39956 Add a new member `module_name'.
39957 (grub_register_command): Return grub_command_t.
39958
39959 * commands/help.c (grub_cmd_help): Call grub_command_find to make
39960 sure that each command is loaded.
39961
39962 * genmk.rb (PModule::rule): Specify a module name without the
39963 suffix ".mod" to gencmdlist.sh.
39964
39965 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39966
39967 * gencmdlist.sh: New file.
39968
39969 * genmk.rb (PModule::rule): Generate a rule for a command list.
39970 Clean command.lst.
39971 Generate command.lst from $(COMMANDFILES).
39972
39973 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
39974 (DATA): Added $(pkgdata_DATA).
39975 (install-local): Install files in $(pkgdata_DATA).
39976
39977 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
39978
39979 * term/i386/pc/vga.c (debug_command): Removed.
39980 (GRUB_MOD_INIT): Do not register the command "debug".
39981
39982 From Hollis Blanchard:
39983 * commands/configfile.c: New file.
39984 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39985 commands/configfile.c.
39986 (pkgdata_MODULES): Added configfile.mod.
39987 (configfile_mod_SOURCES): New variable.
39988 (configfile_mod_CFLAGS): Likewise.
39989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
39990 commands/configfile.c.
39991 (pkgdata_MODULES): Added configfile.mod.
39992 (configfile_mod_SOURCES): New variable.
39993 (configfile_mod_CFLAGS): Likewise.
39994 * util/grub-emu.c (main): Call grub_configfile_init and
39995 grub_configfile_fini.
39996 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
39997 prototype.
39998 [GRUB_UTIL] (grub_configfile_fini): Likewise.
39999
40000 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40001
40002 * normal/arg.c (grub_arg_show_help): Do not show the bug report
40003 address.
40004
40005 * commands/help.c (grub_cmd_help): Do not print newlines after
40006 the last command in print_command_help.
40007
40008 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
40009
40010 * commands/default.h: New file.
40011 * commands/timeout.h: Likewise.
40012 * normal/context.c: Likewise.
40013
40014 * util/misc.c: Do not include sys/times.h.
40015 Include sys/time.h and grub/machine/time.h.
40016 (grub_get_rtc): Rewritten with gettimeofday.
40017
40018 * util/grub-emu.c (main): Call grub_default_init and
40019 grub_timeout_init before grub_normal_init, and call
40020 grub_timeout_fini and grub_default_fini after grub_main.
40021
40022 * util/console.c (grub_ncurses_checkkey): Return the read
40023 character or -1.
40024
40025 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
40026 timeouts.
40027
40028 * normal/main.c (read_config_file): Push MENU. If this fails,
40029 print an error and wait for a user input.
40030 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
40031 If a menu is empty or an error occurs, pop MENU.
40032 (grub_normal_execute): Pop and free MENU after grub_menu_run
40033 returns.
40034
40035 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
40036
40037 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
40038 include time.h.
40039 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40040 without GRUB_UTIL.
40041 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
40042 time.h.
40043 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
40044 without GRUB_UTIL.
40045
40046 * include/grub/normal.h (struct grub_menu_list): New struct.
40047 (grub_menu_list_t): New type.
40048 (struct grub_context): New struct.
40049 (grub_context_t): New type.
40050 (grub_register_command): Got rid of EXPORT_FUNC.
40051 (grub_unregister_command): Likewise.
40052 (grub_context_get): New prototype.
40053 (grub_context_get_current_menu): Likewise.
40054 (grub_context_push_menu): Likewise.
40055 (grub_context_pop_menu): Likewise.
40056 [GRUB_UTIL] (grub_default_init): Likewise.
40057 [GRUB_UTIL] (grub_default_fini): Likewise.
40058 [GRUB_UTIL] (grub_timeout_init): Likewise.
40059 [GRUB_UTIL] (grub_timeout_fini): Likewise.
40060
40061 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
40062 commands/timeout.c and normal/context.c.
40063 (pkgdata_MODULES): Added default.mod and timeout.mod.
40064 (normal_mod_SOURCES): Added normal/context.c.
40065 (default_mod_SOURCES): New variable.
40066 (default_mod_CFLAGS): Likewise.
40067 (timeout_mod_SOURCES): Likewise.
40068 (timeout_mod_CFLAGS): Likewise.
40069 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
40070 conf/i386-pc.rmk.
40071 (pkgdata_MODULES): Added default.mod and timeout.mod.
40072 (normal_mod_SOURCES): Added normal/context.c.
40073 (default_mod_SOURCES): New variable.
40074 (default_mod_CFLAGS): Likewise.
40075 (timeout_mod_SOURCES): Likewise.
40076 (timeout_mod_CFLAGS): Likewise.
40077
40078 * Makefile.in (all-local): Added $(MKFILES).
40079
40080 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
40081
40082 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
40083 (grub_emu_SOURCES): Likewise.
40084 (pkgdata_MODULES): Add `sun.mod'.
40085 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40087 `partmap/sun.c'.
40088 (pkgdata_MODULES): Add `sun.mod'.
40089 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
40090 * include/grub/partition.h (grub_sun_partition_map_init): New
40091 prototype.
40092 (grub_sun_partition_map_fini): Likewise.
40093 * partmap/sun.c: New file.
40094 * util/grub-emu.c (main): Initialize and de-initialize the sun
40095 partitionmap support.
40096
40097 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
40098
40099 This implements an Emacs-like menu entry editor.
40100
40101 * normal/menu_entry.c: New file.
40102
40103 * util/console.c (grub_ncurses_putchar): Translate some Unicode
40104 characters to ASCII.
40105 (saved_char): New variable.
40106 (grub_ncurses_checkkey): Rewritten completely.
40107 (grub_ncurses_getkey): Likewise.
40108 (grub_ncurses_init): Call raw instead of cbreak.
40109
40110 * normal/menu.c (print_entry): Do not put a space.
40111 (init_page): Renamed to ...
40112 (grub_menu_init_page): ... this. All callers changed.
40113 (edit_menu_entry): Removed.
40114 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
40115
40116 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
40117
40118 * kern/misc.c (grub_vprintf): Call grub_refresh.
40119
40120 * normal/menu.c (DISP_LEFT): Renamed to ...
40121 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
40122 * normal/menu.c (DISP_UP): Renamed to ...
40123 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
40124 * normal/menu.c (DISP_RIGHT): Renamed to ...
40125 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
40126 * normal/menu.c (DISP_DOWN): Renamed to ...
40127 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
40128 * normal/menu.c (DISP_HLINE): Renamed to ...
40129 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
40130 * normal/menu.c (DISP_VLINE): Renamed to ...
40131 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
40132 * normal/menu.c (DISP_UL): Renamed to ...
40133 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
40134 * normal/menu.c (DISP_UR): Renamed to ...
40135 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
40136 * normal/menu.c (DISP_LL): Renamed to ...
40137 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
40138 * normal/menu.c (DISP_LR): Renamed to ...
40139 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
40140 * normal/menu.c (TERM_WIDTH): Renamed to ...
40141 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
40142 * normal/menu.c (TERM_HEIGHT): Renamed to ...
40143 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
40144 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
40145 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
40146 * normal/menu.c (TERM_MARGIN): Renamed to ...
40147 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
40148 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
40149 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
40150 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
40151 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
40152 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
40153 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
40154 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
40155 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
40156 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
40157 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
40158 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
40159 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
40160 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
40161 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
40162 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
40163 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
40164 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
40165 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
40166 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
40167 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
40168 All callers changed.
40169
40170 * include/grub/normal.h: New prototype.
40171
40172 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40173 normal/menu_entry.c.
40174 (normal_mod_SOURCES): Likewise.
40175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40176 (normal_mod_SOURCES): Likewise.
40177
40178 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
40179
40180 * include/grub/normal.h (grub_halt_init): New prototype.
40181 (grub_halt_fini): Likewise.
40182 (grub_reboot_init): Likewise.
40183 (grub_reboot_fini): Likewise.
40184
40185 * util/grub-emu.c: Include signal.h.
40186 (main_env): New global variable.
40187 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
40188 catch C-c.
40189 (grub_machine_fini): New function.
40190 (main): Call grub_halt_init and grub_reboot_init before
40191 grub_main, and grub_reboot_fini and grub_halt_fini after it.
40192 Call setjmp with MAIN_ENV to go back afterwards.
40193 Call grub_machine_fini right before return.
40194
40195 * include/grub/util/misc.h: Include setjmp.h.
40196 (main_env): New prototype.
40197
40198 * include/grub/kernel.h (grub_machine_fini): New prototype.
40199 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
40200 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
40201
40202 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
40203 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
40204 * term/i386/pc/console.c (grub_console_fini): Likewise.
40205
40206 * util/i386/pc/misc.c: New file.
40207
40208 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
40209 util/i386/pc/misc.c, commands/i386/pc/halt.c and
40210 commands/i386/pc/reboot.c.
40211
40212 2005-02-14 Guillem Jover <guillem@hadrons.org>
40213
40214 * include/grub/dl.h (grub_dl_check_header): New prototype.
40215 (grub_arch_dl_check_header): Change return type to grub_err_t,
40216 remove size parameter and export function. Update all callers.
40217 * kern/dl.c (grub_dl_check_header): New function.
40218 (grub_dl_load_core): Use `grub_dl_check_header' instead of
40219 `grub_arch_dl_check_header'. Check ELF type. Check if sections
40220 are inside the core.
40221 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
40222 independent ELF header checks.
40223 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40224 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
40225 `grub_dl_check_header' instead of explicit checks. Check for the
40226 ELF type.
40227 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
40228 `grub_dl_check_header' instead of explicit checks. Remove arch
40229 specific ELF header checks.
40230
40231 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
40232 argument SIZE.
40233
40234 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
40235
40236 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
40237 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
40238
40239 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
40240
40241 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
40242 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
40243 (part_map_iterate): Clear `grub_errno' and return 0 if
40244 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
40245 * partmap/amiga.c (amiga_partition_map_iterate): Return
40246 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
40247 * partmap/apple.c (apple_partition_map_iterate): Likewise.
40248
40249 2005-02-01 Guillem Jover <guillem@hadrons.org>
40250
40251 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
40252 help info.
40253
40254 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40255
40256 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
40257 Removed prototype.
40258 (grub_rescue_cmd_linux): New prototype.
40259 (grub_rescue_cmd_initrd): Likewise.
40260 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
40261 `bi_rec'.
40262 (grub_linux_release_mem): Release the memory for the initrd.
40263 (grub_load_linux): Renamed from this...
40264 (grub_rescue_cmd_linux): ...To this. Changed all callers.
40265 Changed `entry' not to be static. Loop over memory regions to
40266 find another one when the default fails.
40267 (grub_rescue_cmd_initrd): New function.
40268 (grub_linux_init): Remove function.
40269 (grub_linux_fini): Likewise.
40270 (GRUB_MOD_INIT): Register `initrd'.
40271 (GRUB_MOD_FINI): Unregister `initrd'.
40272 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
40273 Function removed.
40274 (grub_linux_normal_fini): Likewise.
40275 (GRUB_MOD_INIT): Register `initrd'.
40276 (GRUB_MOD_FINI): Unregister `initrd'.
40277
40278 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40279
40280 * commands/help.c: New file.
40281 * normal/arg.c (show_help): Renamed to...
40282 (grub_arg_show_help): ... this.
40283 * commands/i386/pc/halt.c: New file.
40284 * commands/i386/pc/reboot.c: Likewise.
40285 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
40286 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
40287 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
40288 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
40289 variables.
40290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40291 `commands/help.c'.
40292 (pkgdata_MODULES): Add `help.mod'.
40293 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
40294 * grub/i386/pc/init.h (grub_reboot): New prototype.
40295 (grub_halt): Likewise.
40296 * include/grub/normal.h (grub_arg_show_help): New prototype.
40297 (grub_help_init): Likewise.
40298 (grub_help_fini): Likewise.
40299 * util/grub-emu.c (main): Initialize and deinitialize the help
40300 command.
40301
40302 * normal/cmdline.c (grub_cmdline_get): Doc fix.
40303
40304 * normal/command.c (grub_command_init): Fixed the description of
40305 the `set' and `unset' commands.
40306
40307 2005-01-31 Marco Gerards <metgerards@student.han.nl>
40308
40309 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
40310 function.
40311 * commands/ieee1275/halt.c: New file.
40312 * commands/ieee1275/reboot.c: Likewise.
40313 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
40314 `__attribute__ ((unused))'. Some GCS related fixed.
40315 (grub_suspend_init) [GRUB_UTIL]: Function removed.
40316 (grub_suspend_fini): Likewise.
40317 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
40318 and `halt.mod'.
40319 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
40320 (halt_mod_CFLAGS): New variables.
40321 * include/grub/powerpc/ieee1275/ieee1275.h
40322 (grub_ieee1275_interpret): New prototype.
40323
40324 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
40325
40326 * include/grub/misc.h (memmove): New prototype.
40327 (memcpy): Likewise.
40328
40329 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
40330
40331 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
40332 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
40333
40334 2005-01-22 Marco Gerards <metgerards@student.han.nl>
40335
40336 * kern/misc.c (grub_strndup): Function rewritten.
40337
40338 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
40339
40340 * normal/menu.c (TERM_WIDTH): Macro redefined.
40341 (TERM_TOP_BORDER_Y): Likewise.
40342 (draw_border): Replaced while-loop by a for-loop. Make the number
40343 of lines consistent with the number of lines displayed in
40344 print_entries. Added a margin below the rectangle.
40345 (print_entry): Make the entry fit in the rectangle.
40346 (print_entries): Display the scroll arrows next to the right
40347 border.
40348
40349 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40350
40351 * fs/minix.c (grub_minix_find_file): Reserve more space for
40352 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
40353 `grub_strncpy' to copy `path' into it.
40354
40355 2005-01-21 Marco Gerards <metgerards@student.han.nl>
40356
40357 Add the loopback device, a device via which files can be accessed
40358 as devices.
40359
40360 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
40361 (pkgdata_MODULES): Add loopback.mod.
40362 (loopback_mod_SOURCES): New variable.
40363 (loopback_mod_CFLAGS): Likewise.
40364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
40365 `disk/loopback.c'.
40366 (pkgdata_MODULES): Add loopback.mod.
40367 (loopback_mod_SOURCES): New variable.
40368 (loopback_mod_CFLAGS): Likewise.
40369 * disk/loopback.c: new file.
40370 * include/grub/normal.h (grub_loop_init): New prototype.
40371 (grub_loop_fini): New prototype.
40372 * util/grub-emu.c (main): Initialize and de-initialize loopback
40373 support.
40374 * include/grub/disk.h (grub_disk_dev_id): Add
40375 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
40376
40377 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
40378
40379 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
40380 function.
40381 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
40382 (suspend_mod_SOURCES): New variable.
40383 (suspend_mod_CFLAGS): Likewise.
40384 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
40385 New prototype.
40386 * commands/ieee1275/suspend.c: New file.
40387
40388 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
40389
40390 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
40391 ((unused))' to `__attribute__ ((used))'.
40392 (GRUB_MOD_FINI): Likewise.
40393 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
40394 * genmk.rb (PModule): Assign space to common symbols when linking
40395 modules.
40396
40397 2005-01-20 Marco Gerards <metgerards@student.han.nl>
40398
40399 * include/grub/mm.h (grub_mm_init_region): Change the type of the
40400 `unsigned' arguments to `grub_size_t'.
40401 (grub_malloc): Likewise.
40402 (grub_realloc): Likewise.
40403 (grub_memalign): Likewise.
40404 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
40405 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
40406 * util/misc.c (grub_malloc): Likewise.
40407 (grub_realloc): Likewise.
40408 * kern/mm.c (get_header_from_pointer): Change the casts to
40409 `unsigned' into a cast to `grub_size_t'.
40410
40411 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
40412 point to `currnode' when `currnode' is changed.
40413
40414 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
40415 Schottelius <nico-linux@schottelius.org>.
40416
40417 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
40418
40419 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
40420 (note_path): Remove variable.
40421 (GRUB_IEEE1275_NOTE_NAME): New macro.
40422 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
40423 (grub_ieee1275_note_hdr): New structure.
40424 (grub_ieee1275_note_desc): Likewise.
40425 (grub_ieee1275_note): Likewise.
40426 (load_note): Remove `dir' argument. All callers updated. Remove
40427 `note_img' and `path'. Do not load a file from `note_path'.
40428 Initialize a struct grub_ieee1275_note and write that to `out'.
40429 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
40430
40431 2005-01-05 Marco Gerards <metgerards@student.han.nl>
40432
40433 * util/misc.c (grub_util_read_image): Revert last change. It
40434 called `grub_util_read_at', which seeks from the beginning of the
40435 file.
40436
40437 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
40438
40439 * TODO: Add note about endianness in grub-mkimage.
40440 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
40441 section.
40442 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
40443 (grub_mkimage_SOURCES): New target.
40444 * include/grub/kernel.h (grub_start_addr): Remove variable.
40445 (grub_end_addr): Likewise.
40446 (grub_total_module_size): Likewise.
40447 (grub_kernel_image_size): Likewise.
40448 (GRUB_MODULE_MAGIC): New constant.
40449 (grub_module_info): New structure.
40450 (grub_arch_modules_addr): New prototype.
40451 (grub_get_end_addr): Remove prototype.
40452 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
40453 * include/grub/powerpc/ieee1275/kernel.h: New file.
40454 * include/grub/util/misc.h (grub_util_get_fp_size): New
40455 prototype.
40456 (grub_util_read_at): Likewise.
40457 (grub_util_write_image_at): Likewise.
40458 * kern/main.c (grub_get_end_addr): Remove function.
40459 (grub_load_modules): Call grub_arch_modules_addr instead of using
40460 grub_end_addr. Look for a grub_module_info struct in memory. Use
40461 the grub_module_info fields instead of calling grub_get_end_addr
40462 as loop conditions. Move grub_add_unused_region code here.
40463 (grub_add_unused_region): Remove function.
40464 * kern/i386/pc/init.c: Include grub/cache.h.
40465 (grub_machine_init): Remove call to grub_get_end_addr. Remove
40466 one call to add_mem_region.
40467 (grub_arch_modules_addr): New function.
40468 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
40469 (grub_total_module_size): Likewise.
40470 Include grub/machine/kernel.h.
40471 (grub_arch_modules_addr): New function.
40472 * util/grub-emu.c (grub_end_addr): Remove variable.
40473 (grub_total_module_size): Likewise.
40474 (grub_arch_modules_addr): New function.
40475 * util/misc.c: Include unistd.h.
40476 (grub_util_get_fp_size): New function.
40477 (grub_util_read_at): Likewise.
40478 (grub_util_write_image_at): Likewise.
40479 (grub_util_read_image): Call grub_util_read_at.
40480 (grub_util_write_image): Call grub_util_write_image_at.
40481 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
40482 additional memory in kernel_img for a struct grub_module_info.
40483 Fill in that grub_module_info.
40484 * util/powerpc/ieee1275/grub-mkimage.c: New file.
40485
40486 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40487
40488 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
40489 New function.
40490 * include/grub/powerpc/ieee1275/ieee1275.h
40491 (grub_ieee1275_milliseconds): New prototype.
40492 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
40493 Change to 1000.
40494 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
40495 grub_ieee1275_milliseconds.
40496
40497 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
40498
40499 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
40500 variable.
40501 (find_options): New function.
40502 (cmain): Call find_options.
40503 * include/grub/powerpc/ieee1275/ieee1275.h
40504 (grub_ieee1275_realmode): New extern variable.
40505 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
40506 grub_map if grub_ieee1275_realmode is false.
40507
40508 2004-12-29 Marco Gerards <metgerards@student.han.nl>
40509
40510 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
40511 lines are inserted and make it work like readline. Reported by
40512 Vincent Pelletier <subdino2004@yahoo.fr>.
40513
40514 2004-12-28 Marco Gerards <metgerards@student.han.nl>
40515
40516 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
40517
40518 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
40519 `kern/powerpc/cache.S'.
40520
40521 2004-12-27 Marco Gerards <metgerards@student.han.nl>
40522
40523 * genmk.rb: Handle the `Program' class in the main loop. Written
40524 by Johan Rydberg <jrydberg@gnu.org>.
40525 (Program): New class.
40526 (programs): New variable.
40527 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
40528 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
40529 instead of "grub/kernel.h". Include <grub/machine/init.h>.
40530 (help_arch): Function removed.
40531 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
40532 `powerpc/libgcc.h' and `loader.h'.
40533 (pkgdata_PROGRAMS): New variable.
40534 (sbin_UTILITIES): Variable removed.
40535 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
40536 (grubof_SOURCES): Variable re-defined so it only includes the
40537 core functionality.
40538 (grubof_CFLAGS): Remove `-DGRUBOF'.
40539 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
40540 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
40541 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
40542 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
40543 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
40544 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
40545 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
40546 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
40547 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
40548 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
40549 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
40550 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
40551 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
40552 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
40553 (pc_mod_CFLAGS): New variables.
40554 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
40555 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
40556 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
40557 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
40558 Moved from here...
40559 * include/grub/i386/pc/init.h (grub_os_area_addr)
40560 (rub_os_area_size): ... to here.
40561 * include/grub/powerpc/ieee1275/ieee1275.h
40562 (grub_ieee1275_entry_fn): Export symbol.
40563 * include/grub/powerpc/ieee1275/init.h: New file.
40564 * include/grub/powerpc/libgcc.h: Likewise.
40565 * include/grub/cache.h: Likewise.
40566 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
40567 <hollis@penguinppc.org>.
40568 * kern/dl.c: Include <grub/cache.h>.
40569 (grub_dl_flush_cache): New function.
40570 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
40571 for this module.
40572 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
40573 (grub_console_init): Removed prototypes.
40574 (grub_machine_init): Don't initialize the modules anymore.
40575 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
40576 static.
40577 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
40578 Macro undef removed.
40579 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
40580 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
40581 relocation `R_PPC_REL32'. Return an error when the relocation is
40582 unknown.
40583 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
40584 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
40585 * util/misc.c (grub_arch_sync_caches): Likewise.
40586
40587 2004-12-19 Marco Gerards <metgerards@student.han.nl>
40588
40589 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
40590 `symlist.c', add `grubof_symlist.c'.
40591 (symlist.c): Variable removed.
40592 (grubof_HEADERS): Variable added.
40593 (grubof_symlist.c): New target.
40594 (kernel_syms.lst): Use `grubof_HEADERS' instead of
40595 `kernel_img_HEADERS'.
40596 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
40597 * kern/powerpc/dl.c: New file.
40598 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
40599 Function removed.
40600 (grub_arch_dl_relocate_symbols): Likewise.
40601 (grub_register_exported_symbols): Likewise.
40602
40603 2004-12-13 Marco Gerards <metgerards@student.han.nl>
40604
40605 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
40606 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
40607 to fail instead. Reported by Vincent Pelletier
40608 <subdino2004@yahoo.fr>.
40609
40610 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
40611 it is not allocated. Reported by Vincent Pelletier
40612 <subdino2004@yahoo.fr>.
40613
40614 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
40615 output so the output looks better.
40616
40617 2004-12-04 Marco Gerards <metgerards@student.han.nl>
40618
40619 Modulize the partition map support and add support for the amiga
40620 partition map.
40621
40622 * commands/ls.c: Include <grub/partition.h> instead of
40623 <grub/machine/partition.h>.
40624 * kern/disk.c: Likewise.
40625 * kern/rescue.c: Likewise.
40626 * loader/i386/pc/chainloader.c: Likewise.
40627 * normal/cmdline.c: Likewise.
40628 * kern/powerpc/ieee1275/init.c: Likewise.
40629 (grub_machine_init): Call `grub_pc_partition_map_init',
40630 `grub_amiga_partition_map_init' and
40631 `grub_apple_partition_map_init'.
40632 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
40633 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
40634 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
40635 `partition.h' and `pc_partition.h'.
40636 (grub_setup_SOURCES): Remove
40637 `disk/i386/pc/partition.c'. Add `kern/partition.c',
40638 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40639 (grub_emu_SOURCES): Likewise.
40640 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
40641 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
40642 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
40643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40644 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
40645 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
40646 (grubof_SOURCES): Likewise.
40647 * disk/i386/pc/partition.c: File removed.
40648 * disk/powerpc/ieee1275/partition.c: Likewise.
40649 * include/grub/powerpc/ieee1275/partition.h: Likewise.
40650 * include/grub/i386/pc/partition.h: Likewise.
40651 * kern/partition.c: New file.
40652 * partmap/amiga.c: Likewise.
40653 * partmap/apple.c: Likewise.
40654 * partmap/pc.c: Likewise.
40655 * include/grub/partition.h: Likewise..
40656 * include/grub/pc_partition.h: Likewise.
40657 * util/grub-emu.c: Include <grub/partition.h> instead of
40658 <grub/machine/partition.h>.
40659 (main): Call `grub_pc_partition_map_init',
40660 `grub_amiga_partition_map_init' and
40661 `grub_apple_partition_map_init' and deinitialize afterwards.
40662 * util/i386/pc/biosdisk.c: Include `#include
40663 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40664 `<grub/machine/partition.h>'.
40665 * util/i386/pc/grub-setup.c: Likewise.
40666 * util/i386/pc/biosdisk.c: Likewise.
40667 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
40668 partition information in case of a PC partition.
40669 * util/i386/pc/grub-setup.c: Include `#include
40670 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
40671 `<grub/machine/partition.h>'.
40672 (setup): Only access the PC specific partition information in case
40673 of a PC partition.
40674
40675 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
40676
40677 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
40678 (grub_longjmp): Likewise.
40679 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
40680 20.
40681 * normal/powerpc/setjmp.S: New file.
40682 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
40683 `normal/powerpc/setjmp.S'.
40684 (grubof_CFLAGS): Add `-DGRUBOF'.
40685 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
40686 [GRUB_UTIL && !GRUBOF].
40687
40688 2004-11-16 Marco Gerards <metgerards@student.han.nl>
40689
40690 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
40691 property named `name'. Correctly handle the error returned by
40692 `grub_ieee1275_finddevice' if a device can not be opened.
40693
40694 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
40695
40696 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
40697 `actual' for negativity.
40698 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
40699 kern/fshelp.c.
40700
40701 2004-11-01 Marco Gerards <metgerards@student.han.nl>
40702
40703 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
40704 (PAGE_OFFSET): New macro.
40705 (CRTC_ADDR_PORT): Likewise.
40706 (CRTC_DATA_PORT): Likewise.
40707 (START_ADDR_HIGH_REGISTER): Likewise.
40708 (START_ADDR_LOW_REGISTER): Likewise.
40709 (GRAPHICS_ADDR_PORT): Likewise.
40710 (GRAPHICS_DATA_PORT): Likewise.
40711 (READ_MAP_REGISTER): Likewise.
40712 (INPUT_STATUS1_REGISTER): Likewise.
40713 (INPUT_STATUS1_VERTR_BIT): Likewise.
40714 (page): New variable.
40715 (wait_vretrace): New function.
40716 (set_read_map): Likewise.
40717 (set_start_address): Likewise.
40718 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
40719 the right page.
40720 (check_vga_mem): Take the page into account.
40721 (write_char): Likewise.
40722 (write_cursor): Likewise.
40723 (scroll_up): Likewise. Copy the page to the page that is not
40724 shown and switch between both pages.
40725 (grub_vga_putchar): Fix off by one error.
40726 (grub_vga_cls): Wait for the vertical retrace. Take the page into
40727 account.
40728
40729 2004-11-01 Marco Gerards <metgerards@student.han.nl>
40730
40731 Add support for iso9660 (including rockridge).
40732
40733 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40734 (iso9660_mod_SOURCES): New variable.
40735 (iso9660_mod_CFLAGS): Likewise.
40736 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
40737 * include/grub/fs.h (grub_iso9660_init): New prototype.
40738 * util/grub-emu.c (main): Call `grub_iso9660_init'.
40739 * fs/iso9660.c: New file.
40740
40741 * include/grub/misc.h (grub_strncat): New prototype.
40742 * kern/misc.c (grub_strncat): New function.
40743
40744 * fs/hfs.c (grub_hfs_mount): Translate the error
40745 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
40746 * fs/jfs.c (grub_jfs_mount): Likewise.
40747 * fs/ufs.c (grub_ufs_mount): Likewise.
40748
40749 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
40750
40751 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
40752 which initialized BAT registers.
40753 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
40754 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40755 Move from here...
40756 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
40757 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
40758 ... to here.
40759 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
40760 (grub_mapclaim): Likewise.
40761 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
40762 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
40763 hand.
40764
40765 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
40766
40767 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
40768 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
40769 -ffreestanding and -msoft-float.
40770
40771 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
40772
40773 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
40774 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
40775 set in grub_ieee1275_flags.
40776
40777 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
40778
40779 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
40780 prototype.
40781 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
40782 grub_console_init first.
40783 Change the memory range used for grub_ieee1275_claim and
40784 grub_mm_init_region.
40785 Print an error message if the claim fails.
40786 Include <grub/misc.h>.
40787
40788 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
40789
40790 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
40791 Call grub_children_iterate for device nodes of type `scsi',
40792 `ide', or `ata'.
40793 (grub_ofdisk_open): Remove manual device alias resolution.
40794 Fix memory leak when device cannot be opened.
40795 * include/grub/powerpc/ieee1275/ieee1275.h
40796 (grub_children_iterate): New prototype.
40797 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
40798 New function.
40799 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40800 Return -1 if args.size was -1.
40801
40802 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40803
40804 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
40805 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
40806 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
40807 Open Firmware's memory for it; claim memory from _start to _end.
40808 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
40809 (_end): New extern.
40810 (_start): Zero BSS from __bss_start to _end.
40811 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
40812 New extern.
40813 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
40814
40815 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
40816
40817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
40818 -1 if args.base was -1.
40819
40820 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
40821
40822 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
40823 escape sequence instead of a literal ^L. Also call
40824 grub_ofconsole_gotoxy.
40825
40826 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
40827
40828 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
40829 void * arguments to grub_addr_t. All callers updated. Also make
40830 the `result' argument optional.
40831 (grub_ieee1275_release): change void * arguments to grub_addr_t.
40832 All callers updated.
40833
40834 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
40835
40836 * commands/ls.c (grub_ls_list_files): Use the string following the
40837 initial ')', if present, as the filesystem path.
40838 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
40839
40840 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
40841
40842 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
40843
40844 Make the source code of the menu interface more readable.
40845
40846 * normal/menu.c: Include grub/mm.h.
40847 (TERM_WIDTH): New macro.
40848 (TERM_HEIGHT): Likewise.
40849 (TERM_INFO_HEIGHT): Likewise.
40850 (TERM_MARGIN): Likewise.
40851 (TERM_SCROLL_WIDTH): Likewise.
40852 (TERM_TOP_BORDER_Y): Likewise.
40853 (TERM_LEFT_BORDER_X): Likewise.
40854 (TERM_BORDER_WIDTH): Likewise.
40855 (TERM_MESSAGE_HEIGHT): Likewise.
40856 (TERM_BORDER_HEIGHT): Likewise.
40857 (TERM_NUM_ENTRIES): Likewise.
40858 (TERM_FIRST_ENTRY_Y): Likewise.
40859 (TERM_ENTRY_WIDTH): Likewise.
40860 (TERM_CURSOR_X): Likewise.
40861 (draw_border): Use macros instead of magic numbers.
40862 (print_entry): Likewise.
40863 (print_entries): Likewise.
40864 (run_menu): Likewise. Also, handle the key 'e'.
40865 (run_menu_entry): Ignore empty command lines.
40866 (print_message): Added a new argument EDIT. If EDIT is true,
40867 print a different message.
40868 (init_page): Likewise.
40869 (edit_menu_entry): New function. Not implemented yet.
40870
40871 2004-09-17 Marco Gerards <metgerards@student.han.nl>
40872
40873 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
40874 can be loaded from normal mode.
40875
40876 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
40877 `multiboot.mod'.
40878 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
40879 (multiboot_mod_CFLAGS): New variables.
40880 * loader/i386/pc/linux_normal.c: New file.
40881 * loader/i386/pc/multiboot_normal.c: Likewise.
40882
40883 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
40884 attribute `unused'.
40885
40886 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
40887 `fdiro' to read the mode information from instead of `diro'.
40888
40889 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
40890 looking up a symlink.
40891
40892 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
40893 macro.
40894 * normal/command.c (grub_command_execute): Don't parse the
40895 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
40896 flags of the command.
40897
40898 * normal/menu.c (grub_menu_run): Fix typo.
40899
40900 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
40901
40902 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
40903
40904 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
40905 `y + 1' instead of `y - 1'.
40906
40907 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
40908
40909 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
40910
40911 From Hollis Blanchard <hollis@penguinppc.org>:
40912 * kern/misc.c (memmove): New alias for grub_memmove.
40913 (memcmp): New alias for grub_memcmp.
40914 (memset): New alias for grub_memset.
40915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
40916 Change "int handle" to "grub_ieee1275_phandle_t handle".
40917 * include/grub/powerpc/ieee1275/ieee1275.h
40918 (grub_ieee1275_get_property): Likewise.
40919
40920 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
40921
40922 Added normal mode command `chainloader' as module chain.mod, which
40923 depends on normal.mod and _chain.mod.
40924
40925 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
40926 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
40927 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
40928 Deleted prototype.
40929 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
40930 but arguments parsing moved to ...
40931 (grub_chainloader_cmd): ... here. New function.
40932 * include/grub/i386/pc/chainloader.h: New file.
40933 * loader/i386/pc/chainloader_normal.c: Likewise.
40934
40935 2004-09-11 Marco Gerards <metgerards@student.han.nl>
40936
40937 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
40938 (grub_mkimage_LDFLAGS): Likewise.
40939 (grub_emu_SOURCES): Likewise.
40940 (kernel_img_HEADERS): Added fshelp.h.
40941 * fs/ext2.c: Include <grub/fshelp.h>.
40942 (FILETYPE_REG): New macro.
40943 (FILETYPE_INO_REG): Likewise.
40944 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
40945 Changed all users.
40946 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
40947 all users.
40948 (grub_fshelp_node): New struct.
40949 (grub_ext2_data): Added member `diropen'. Changed member `inode'
40950 to a pointer.
40951 (grub_ext2_get_file_block): Removed function.
40952 (grub_ext2_read_block): New function.
40953 (grub_ext2_read_file): Replaced parameter `data' by `node'.
40954 This function was written.
40955 (grub_ext2_mount): Read the root inode. Create a diropen struct.
40956 (grub_ext2_find_file): Removed function.
40957 (grub_ext2_read_symlink): New function.
40958 (grub_ext2_iterate_dir): Likewise.
40959 (grub_ext2_open): Rewritten.
40960 (grub_ext2_dir): Rewritten.
40961 * include/grub/fshelp.h: New file.
40962 * fs/fshelp.c: Likewise.
40963
40964 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
40965
40966 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
40967 (print_message): Add a missing newline.
40968 (run_menu): Added timeout support.
40969 (run_menu_entry): New local function.
40970 (grub_menu_run): Added support for booting.
40971
40972 * kern/loader.c (grub_loader_is_loaded): New function.
40973
40974 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
40975 (grub_get_rtc): Exported.
40976
40977 * include/grub/i386/pc/time.h: Include grub/symbol.h.
40978 (grub_get_rtc): Exported.
40979
40980 * include/grub/normal.h (struct grub_command_list): Remove
40981 constant from the member `command'.
40982
40983 * include/grub/loader.h (grub_loader_is_loaded): Declared.
40984
40985 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
40986
40987 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
40988
40989 2004-08-28 Marco Gerards <metgerards@student.han.nl>
40990
40991 Add support for the JFS filesystem.
40992
40993 * fs/jfs.c: New file.
40994 * include/grub/fs.h (grub_jfs_init): New prototype.
40995 (grub_jfs_fini): New prototype.
40996 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
40997 (grub_emu_SOURCES): Likewise.
40998 (pkgdata_MODULES): Add jfs.mod.
40999 (jfs_mod_SOURCES): New variable.
41000 (jfs_mod_CFLAGS): Likewise.
41001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
41002 (grubof_SOURCES): Likewise.
41003 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
41004
41005 * fs/fat.c (grub_fat_find_dir): Convert the filename little
41006 endian to the host endian.
41007 (grub_fat_utf16_to_utf8): Move function from there...
41008 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
41009 the endianness of the source string anymore.
41010 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
41011
41012 2004-08-24 Marco Gerards <metgerards@student.han.nl>
41013
41014 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
41015 (grub_boot_fini) [GRUB_UTIL]: Likewise.
41016 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
41017 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
41018
41019 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
41020 (grub_hfs_iterate_dir): Make the function static. Add prototypes
41021 for `node_found' and `it_dir'.
41022 (grub_hfs_dir): Add prototype for `dir_hook'.
41023
41024 * fs/minix.c (grub_minix_get_file_block): Add prototype for
41025 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
41026 and `indir32' to silence a gcc warning.
41027
41028 * include/grub/fs.h (grub_hfs_init): New prototype.
41029 (grub_hfs_fini): Likewise.
41030
41031
41032 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
41033
41034 Each disk device has its own id now. This is useful to make use
41035 of multiple disk devices.
41036
41037 * include/grub/disk.h (grub_disk_dev_id): New enum.
41038 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
41039 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
41040
41041 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
41042 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41043
41044 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
41045 GRUB_DISK_DEVICE_OFDISK_ID as an id.
41046
41047 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
41048 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
41049
41050 * include/grub/disk.h (struct grub_disk_dev): Added a new member
41051 "id" which is used by the cache manager.
41052
41053 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
41054 of just "GRUB".
41055
41056 2004-08-18 Marco Gerards <metgerards@student.han.nl>
41057
41058 * fs/hfs.c: New file.
41059 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
41060 (grub_emu_SOURCES): Likewise.
41061 (pkgdata_MODULES): Add hfs.mod.
41062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
41063 (grubof_SOURCES): Likewise.
41064 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
41065
41066 * include/grub/misc.h (grub_strncasecmp): Add prototype.
41067 * kern/misc.c (grub_strncasecmp): Add function.
41068
41069 2004-08-14 Marco Gerards <metgerards@student.han.nl>
41070
41071 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
41072 with parentheses.
41073
41074 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
41075 (grub_ext2_dir): In case the directory entry type is unknown, read
41076 it from the inode.
41077
41078 2004-08-02 Peter Bruin <pjbruin@dds.nl>
41079
41080 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
41081 grub_load_linux instead of grub_rescue_cmd_linux as second
41082 argument of grub_rescue_register_command.
41083
41084 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
41085
41086 2004-07-27 Marco Gerards <metgerards@student.han.nl>
41087
41088 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
41089 function.
41090 * commands/boot.c: Remove the check for `GRUB_UTIL'.
41091 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
41092 `loader/powerpc/ieee1275/linux.c',
41093 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
41094 * include/grub/powerpc/ieee1275/ieee1275.h
41095 (grub_ieee1275_release): New prototype.
41096 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
41097 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
41098 normal, boot, linux and linux_normal.
41099 * loader/powerpc/ieee1275/linux.c: New file.
41100 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
41101
41102 2004-07-12 Marco Gerards <metgerards@student.han.nl>
41103
41104 * normal/arg.c (grub_arg_parse): Correct error handling after
41105 reallocating the argumentlist (check if `argl' is not null instead
41106 of checking if `args' is not null).
41107 * kern/mm.c (grub_realloc): Return the same pointer when using the
41108 same region, instead of returning the header address.
41109
41110 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41111
41112 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
41113 one block instead of two when looking for the initial partition.
41114 (grub_partition_probe): Initialize the local variable `p' with 0.
41115 Use base 10 for the grub_strtoul call.
41116 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
41117 need for one local variable.
41118 (grub_strtoul): Don't add the new value to `num', instead of that
41119 just assign it.
41120
41121 2004-07-11 Marco Gerards <metgerards@student.han.nl>
41122
41123 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
41124 (pxeboot_img_SOURCES): New variable.
41125 (pxeboot_img_ASFLAGS): Likewise.
41126 (pxeboot_img_LDFLAGS): Likewise.
41127 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
41128 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
41129 <lode_leroy@hotmail.com>.
41130
41131 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41132
41133 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
41134 there was no input.
41135
41136 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41137
41138 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
41139 the history buffer logic.
41140
41141 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
41142
41143 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
41144 (FILETYPE_INO_SYMLINK): New macros.
41145 (grub_ext2_find_file): Check if the node is a directory using the
41146 inode stat information instead of using the filetype in the
41147 dirent. Exclude the first character of an absolute symlink.
41148 (grub_ext2_dir): Mask out the filetype part of the mode member of
41149 the inode.
41150
41151 2004-05-24 Marco Gerards <metgerards@student.han.nl>
41152
41153 Add support for UFS version 1 and 2. Add support for the minix
41154 filesystem version 1 and 2, both the variants with 14 and 30 long
41155 filenames.
41156
41157 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
41158 fs/minix.c.
41159 (grub_emu_SOURCES): Likewise.
41160 (pkgdata_MODULES): Add ufs.mod and minix.mod.
41161 (ufs_mod_SOURCES): New variable.
41162 (ufs_mod_CFLAGS): Likewise.
41163 (minix_mod_SOURCES): Likewise.
41164 (minix_mod_CFLAGS): Likewise.
41165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
41166 fs/minix.c.
41167 (grubof_SOURCES): Likewise.
41168 * fs/ufs.c: New file.
41169 * fs/minix.c: New file.
41170 * include/grub/fs.h (grub_ufs_init): New prototype.
41171 (grub_ufs_fini): Likewise.
41172 (grub_minix_init): Likewise.
41173 (grub_minix_fini): Likewise.
41174 * util/grub-emu.c (main): Initialize and deinitialize UFS and
41175 minix fs.
41176
41177 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
41178
41179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
41180 commands/ls.c, commands/terminal.c, commands/boot.c,
41181 commands/cmp.c and commands/cat.c.
41182 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
41183
41184 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
41185 "env.h"
41186
41187 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41188
41189 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
41190 and grub_, respectively. Because the conversion is trivial and
41191 mechanical, I omit the details here. Please refer to the CVS
41192 if you need more information.
41193
41194 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
41195
41196 * include/pupa: Renamed to ...
41197 * include/grub: ... this.
41198 * util/i386/pc/pupa-mkimage.c: Renamed to ...
41199 * util/i386/pc/grub-mkimage.c: ... this.
41200 * util/i386/pc/pupa-setup.c: Renamed to ...
41201 * util/i386/pc/grub-setup.c: ... this.
41202 * util/pupa-emu.c: Renamed to ...
41203 * util/grub-emu.c: ... this.
41204
41205 2004-03-29 Marco Gerards <metgerards@student.han.nl>
41206
41207 Add support for the newworld apple macintosh (PPC). This has been
41208 tested on the powerbook 2000 only. It only adds support for
41209 generic ieee1275 functions, console and disk support. This should
41210 be easy to port to other architectures with support for Open
41211 Firmware.
41212
41213 * configure.ac: Accept the powerpc as host_cpu. In the case of
41214 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
41215 specific tests are only executed while building for the i386.
41216 Inverse test for crosscompile.
41217 * genmk.rb (Utility): Allow assembler files.
41218 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
41219 * conf/powerpc-ieee1275.rmk: New file.
41220 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
41221 * disk/powerpc/ieee1275/partition.c: Likewise.
41222 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
41223 * include/pupa/powerpc/ieee1275/console.h: Likewise.
41224 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
41225 * include/pupa/powerpc/ieee1275/time.h: Likewise.
41226 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
41227 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
41228 * include/pupa/powerpc/ieee1275/loader.h
41229 * include/pupa/powerpc/setjmp.h: Likewise.
41230 * include/pupa/powerpc/types.h: Likewise.
41231 * kern/powerpc/ieee1275/init.c: Likewise.
41232 * kern/powerpc/ieee1275/openfw.c: Likewise.
41233 * term/powerpc/ieee1275/ofconsole.c: Likewise.
41234
41235 These files were written by Johan Rydberg
41236 (jrydberg@night.trouble.net) and I only modified them slightly.
41237
41238 * boot/powerpc/ieee1275/cmain.c: New file.
41239 * boot/powerpc/ieee1275/crt0.S: Likewise.
41240 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
41241 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
41242
41243 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
41244
41245 * Makefile.in: Update copyright.
41246 * genmodsrc.sh: Likewise.
41247 * gensymlist.sh: Likewise.
41248 * term/i386/pc/vga.c: Indent correctly.
41249
41250 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
41251 bugreporting address.
41252 * util/i386/pc/pupa-setup.c (usage): Likewise,
41253 (main): Call pupa_ext2_init and pupa_ext2_fini.
41254
41255 * fs/fat.c (log2): Renamed to ...
41256 (fat_log2): ... this.
41257 All callers changed.
41258 * kern/misc.c (memcpy): Alias to pupa_memmove.
41259 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
41260 lvalue cast.
41261 * util/console.c (pupa_ncurses_fini): Return 0.
41262
41263 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
41264 Move fail label here.
41265 [__GNU__]: Don't warn when using stat.
41266 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
41267 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
41268 long int. Use strtol instead of strtoul.
41269
41270 2004-03-14 Marco Gerards <metgerards@student.han.nl>
41271
41272 * commands/boot.c: New file.
41273 * commands/cat.c: Likewise.
41274 * commands/cmp.c: Likewise.
41275 * commands/ls.c: Likewise.
41276 * commands/terminal.c: Likewise.
41277 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
41278 (pupa_register_command): Changed interface to match the new
41279 argument parser.
41280 (pupa_command_execute): Changed (almost rewritten) so it uses
41281 pupa_split_command. Added support for setting variables using the
41282 syntax `foo=bar'.
41283 (rescue_command): Changed to work with the new argument parser.
41284 (terminal_command): Moved from here to commands/terminal.c.
41285 (set_command): New function.
41286 (unset_command): New function.
41287 (insmod_command): New function.
41288 (rmmod_command): New function.
41289 (lsmod_command): New function.
41290 (pupa_command_init): Don't initialize the command terminal
41291 anymore. Initialize the commands set, unset, insmod, rmmod and
41292 lsmod.
41293 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
41294 (kernel_img_HEADERS): Add arg.h and env.h.
41295 (pupa_mkimage_LDFLAGS): Add kern/env.c.
41296 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
41297 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
41298 normal/arg.c.
41299 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
41300 terminal.mod.
41301 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
41302 (boot_mod_SOURCES): New variable.
41303 (terminal_mod_SOURCES): Likewise.
41304 (ls_mod_SOURCES): Likewise.
41305 (cmp_mod_SOURCES): Likewise.
41306 (cat_mod_SOURCES): Likewise.
41307
41308 * normal/arg.c: New file.
41309 * kern/env.c: Likewise.
41310 * include/pupa/arg.h: Likewise.
41311 * include/pupa/env.h: Likewise.
41312 * font/manager.c (font_command): Changed to match argument parsing
41313 interface changes.
41314 (PUPA_MOD_INIT): Likewise.
41315 * hello/hello.c (pupa_cmd_hello): Likewise.
41316 (PUPA_MOD_INIT): Likewise.
41317 * include/pupa/disk.h: Include <pupa/device.h>.
41318 (pupa_print_partinfo): New prototype.
41319 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
41320 (pupa_dl_get_prefix): Likewise.
41321 * include/pupa/misc.h: Include <pupa/err.h>.
41322 (pupa_isgraph): New prototype.
41323 (pupa_isdigit): Likewise.
41324 (pupa_split_cmdline): Likewise.
41325 * include/pupa/normal.h: Include <pupa/arg.h>.
41326 (pupa_command): Changed the prototype of the member `func' to
41327 match the argument parsing interface. Added member `options'.
41328 (pupa_register_command): Updated to match function.
41329 (pupa_arg_parse): New prototype.
41330 (pupa_hello_init) [PUPA_UTIL]: New prototype.
41331 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
41332 (pupa_ls_init) [PUPA_UTIL]: Likewise.
41333 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
41334 (pupa_cat_init) [PUPA_UTIL]: Likewise.
41335 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
41336 (pupa_boot_init) [PUPA_UTIL]: Likewise.
41337 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
41338 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
41339 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
41340 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
41341 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
41342 * kern/disk.c: Include <pupa/file.h>.
41343 (pupa_print_partinfo): New function.
41344 * kern/dl.c: Include <pupa/env.h>.
41345 (pupa_dl_dir): Variable removed.
41346 (pupa_dl_load): Use the environment variable `prefix' instead of
41347 the variable pupa_dl_dir.
41348 (pupa_dl_set_prefix): Function removed.
41349 (pupa_dl_get_prefix): Likewise.
41350 * kern/i386/pc/init.c: Include <pupa/env.h>.
41351 (pupa_machine_init): Use the environment variable `prefix' instead of
41352 using pupa_dl_set_prefix to set the prefix.
41353 * kern/main.c: Include <pupa/env.h>.
41354 (pupa_set_root_dev): Use the environment variable `prefix' instead of
41355 using pupa_dl_get_prefix to get the prefix.
41356 * kern/misc.c: Include <pupa/env.h>.
41357 (pupa_isdigit): New function.
41358 (pupa_isgraph): Likewise.
41359 (pupa_ftoa): Likewise.
41360 (pupa_vsprintf): Added support for printing values of the type
41361 `double'. Make it possible to format variable output when using
41362 formatting like `%1.2%f'.
41363 (pupa_split_cmdline): New function.
41364 * kern/rescue.c: Include <pupa/env.h>.
41365 (next_word): Removed function.
41366 (pupa_rescue_cmd_prefix): Likewise.
41367 (pupa_rescue_cmd_set): New function.
41368 (pupa_rescue_cmd_unset): New function.
41369 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
41370 split the command line instead of splitting it here. Added
41371 support for setting variables using the syntax `foo=bar'. Don't
41372 initialize the prefix command anymore. Initialized the set and
41373 unset commands.
41374 * normal/cmdline.c: Include <pupa/env.h>.
41375 (pupa_tab_complete): Added prototypes for print_simple_completion,
41376 print_partition_completion, add_completion, iterate_commands,
41377 iterate_dev, iterate_part and iterate_dir. Moved code to print
41378 partition information from here to kern/disk.c.
41379 (pupa_cmdline_run): Don't check if the function exists anymore.
41380 * normal/main.c: Include <pupa/env.h>.
41381 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
41382 instead of using pupa_dl_get_prefix to get the prefix.
41383 * term/i386/pc/vga.c: Include <pupa/arg.h>.
41384 (check_vga_mem): Cast pointers to `void *' to silence a gcc
41385 warning.
41386 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
41387 (pupa_vga_setcolor): Declare unused variables with `__attribute__
41388 ((unused))' to silence a gcc warning.
41389 (pupa_vga_setcolor): Likewise.
41390 (debug_command): Changed to match argument parsing
41391 interface changes.
41392 * util/pupa-emu.c: Include <pupa/env.h>.
41393 (options): Added 0's for unused fields to silence a gcc warning.
41394 (argp): Likewise.
41395 (main): Use the environment variable `prefix' instead of using
41396 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
41397 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
41398 and terminal.
41399
41400 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
41401 * util/misc.c: Include <malloc.h>.
41402 (pupa_malloc): Rewritten so errors are correctly reported.
41403 (pupa_realloc): Likewise.
41404 (pupa_memalign): Likewise.
41405 (pupa_mm_init_region): Declare unused variables with
41406 `__attribute__ ((unused))' to silence a gcc warning.
41407 * normal/i386/setjmp.S: Remove tab at the end of the file to
41408 silence a gcc warning.
41409 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
41410 variables with `__attribute__ ((unused))' to silence a gcc
41411 warning.
41412 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
41413 local variable i unsigned to silence a gcc warning.
41414
41415 * kern/term.c: Include <pupa/misc.h>.
41416 (pupa_more_lines): New variable.
41417 (pupa_more): Likewise.
41418 (pupa_putcode): When the pager is active pause at the end of every
41419 screen.
41420 (pupa_set_more): New function.
41421 * include/pupa/term.h (pupa_set_more): New prototype.
41422
41423
41424 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
41425
41426 Now this project is GRUB 2 rather than PUPA. The location of
41427 the CVS repository was moved to GRUB's.
41428
41429 * configure.ac: Use bug-grub as the reporting address.
41430 Use GRUB instead of PUPA.
41431 Change the version number to 1.90.
41432
41433 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
41434
41435 * genkernsyms.sh: Updated copyright information.
41436 * genmk.rb: Likewise.
41437 * genmodsrc.sh: Likewise.
41438 * gensymlist.sh: Likewise.
41439 * boot/i386/pc/boot.S: Likewise.
41440 * boot/i386/pc/diskboot.S: Likewise.
41441 * disk/i386/pc/biosdisk.c: Likewise.
41442 * disk/i386/pc/partition.c: Likewise.
41443 * font/manager.c: Likewise.
41444 * fs/ext2.c: Likewise.
41445 * fs/fat.c: Likewise.
41446 * include/pupa/boot.h: Likewise.
41447 * include/pupa/device.h: Likewise.
41448 * include/pupa/disk.h: Likewise.
41449 * include/pupa/dl.h: Likewise.
41450 * include/pupa/elf.h: Likewise.
41451 * include/pupa/err.h: Likewise.
41452 * include/pupa/file.h: Likewise.
41453 * include/pupa/font.h: Likewise.
41454 * include/pupa/fs.h: Likewise.
41455 * include/pupa/kernel.h: Likewise.
41456 * include/pupa/loader.h: Likewise.
41457 * include/pupa/misc.h: Likewise.
41458 * include/pupa/mm.h: Likewise.
41459 * include/pupa/net.h: Likewise.
41460 * include/pupa/normal.h: Likewise.
41461 * include/pupa/rescue.h: Likewise.
41462 * include/pupa/setjmp.h: Likewise.
41463 * include/pupa/symbol.h: Likewise.
41464 * include/pupa/term.h: Likewise.
41465 * include/pupa/types.h: Likewise.
41466 * include/pupa/i386/setjmp.h: Likewise.
41467 * include/pupa/i386/types.h: Likewise.
41468 * include/pupa/i386/pc/biosdisk.h: Likewise.
41469 * include/pupa/i386/pc/boot.h: Likewise.
41470 * include/pupa/i386/pc/console.h: Likewise.
41471 * include/pupa/i386/pc/init.h: Likewise.
41472 * include/pupa/i386/pc/kernel.h: Likewise.
41473 * include/pupa/i386/pc/linux.h: Likewise.
41474 * include/pupa/i386/pc/loader.h: Likewise.
41475 * include/pupa/i386/pc/memory.h: Likewise.
41476 * include/pupa/i386/pc/multiboot.h: Likewise.
41477 * include/pupa/i386/pc/partition.h: Likewise.
41478 * include/pupa/i386/pc/time.h: Likewise.
41479 * include/pupa/i386/pc/vga.h: Likewise.
41480 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
41481 * include/pupa/util/getroot.h: Likewise.
41482 * include/pupa/util/misc.h: Likewise.
41483 * include/pupa/util/resolve.h: Likewise.
41484 * kern/device.c: Likewise.
41485 * kern/disk.c: Likewise.
41486 * kern/dl.c: Likewise.
41487 * kern/err.c: Likewise.
41488 * kern/file.c: Likewise.
41489 * kern/fs.c: Likewise.
41490 * kern/loader.c: Likewise.
41491 * kern/main.c: Likewise.
41492 * kern/misc.c: Likewise.
41493 * kern/mm.c: Likewise.
41494 * kern/rescue.c: Likewise.
41495 * kern/term.c: Likewise.
41496 * kern/i386/dl.c: Likewise.
41497 * kern/i386/pc/init.c: Likewise.
41498 * kern/i386/pc/lzo1x.S: Likewise.
41499 * kern/i386/pc/startup.S: Likewise.
41500 * loader/i386/pc/chainloader.c: Likewise.
41501 * loader/i386/pc/linux.c: Likewise.
41502 * loader/i386/pc/multiboot.c: Likewise.
41503 * normal/cmdline.c: Likewise.
41504 * normal/command.c: Likewise.
41505 * normal/main.c: Likewise.
41506 * normal/menu.c: Likewise.
41507 * normal/i386/setjmp.S: Likewise.
41508 * term/i386/pc/console.c: Likewise.
41509 * term/i386/pc/vga.c: Likewise.
41510 * util/console.c: Likewise.
41511 * util/genmoddep.c: Likewise.
41512 * util/misc.c: Likewise.
41513 * util/pupa-emu.c: Likewise.
41514 * util/resolve.c: Likewise.
41515 * util/unifont2pff.rb: Likewise.
41516 * util/i386/pc/biosdisk.c: Likewise.
41517 * util/i386/pc/getroot.c: Likewise.
41518 * util/i386/pc/pupa-mkimage.c: Likewise.
41519 * util/i386/pc/pupa-setup.c: Likewise.
41520
41521 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
41522
41523 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
41524 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
41525 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
41526 reading and reset it after reading.
41527 (pupa_ext2_close): Return PUPA_ERR_NONE.
41528
41529 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
41530 Correct value.
41531 (struct linux_kernel_header): Add kernel_version and
41532 initrd_addr_max.
41533 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
41534 pupa_file_read succeeds.
41535 (pupa_rescue_cmd_initrd): Implement.
41536
41537 2003-12-03 Marco Gerards <metgerards@student.han.nl>
41538
41539 * fs/ext2.c (pupa_ext2_label): New function.
41540 (pupa_ext2_fs): Added label.
41541 * fs/fat.c (pupa_fat_label): New function.
41542 (pupa_fat_fs): Added label.
41543 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
41544
41545 * kern/misc.c (pupa_strndup): New function.
41546 * include/pupa/misc.h (pupa_strndup): New prototype.
41547
41548 * include/pupa/normal.h: Include <pupa/err.h>.
41549 (pupa_set_history): New prototype.
41550 (pupa_iterate_commands): New prototype.
41551 * normal/cmdline.c: Include <pupa/machine/partition.h>,
41552 <pupa/disk.h>, <pupa/file.h>.
41553 (hist_size): New variable.
41554 (hist_lines): Likewise.
41555 (hist_end): Likewise.
41556 (hist_used): Likewise.
41557 (pupa_set_history): New function.
41558 (pupa_history_get): Likewise.
41559 (pupa_history_add): Likewise.
41560 (pupa_history_replace): Likewise.
41561 (pupa_tab_complete): Likewise.
41562 (pupa_cmdline_run): Added tab completion and history buffer. Tab
41563 completion shows partitionnames while completing partitions, this
41564 feature was suggested by Jeff Bailey.
41565 * normal/command.c (pupa_iterate_commands): New function.
41566 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
41567 (pupa_normal_init): Initialize history buffer.
41568 (PUPA_MOD_INIT): Likewise.
41569 (pupa_normal_fini): Free the history buffer.
41570 (PUPA_MOD_FINI): Likewise.
41571
41572 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
41573 key.
41574
41575 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
41576 * configure.ac [i386]: Check for regparam bug.
41577 (NESTED_FUNC_ATTR) [! i386]: Defined.
41578
41579 2003-11-17 Marco Gerards <metgerards@student.han.nl>
41580
41581 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
41582 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
41583 (pupa_emu_SOURCES): New variable.
41584 (pupa_emu_LDFLAGS): Likewise.
41585 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
41586 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
41587 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
41588 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41589 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
41590 (pupa_jmp_buf): New typedef.
41591 (pupa_setjmp) [PUPA_UTIL]: New macro.
41592 (pupa_longjmp) [PUPA_UTIL]: Likewise.
41593 * include/pupa/term.h (struct pupa_term): New member `refresh'.
41594 (pupa_refresh): New prototype.
41595 * include/pupa/util/getroot.h: New file.
41596 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
41597 it.
41598 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
41599 (pupa_rescue_cmd_cat): Likewise.
41600 (pupa_rescue_cmd_ls): Likewise.
41601 (pupa_rescue_cmd_testload): Likewise.
41602 (pupa_rescue_cmd_lsmod): Likewise.
41603 * normal/cmdline.c (pupa_cmdline_get): Likewise.
41604 * normal/menu.c (run_menu): Likewise.
41605 * kern/term.c (pupa_cls): Likewise.
41606 (pupa_refresh): New function.
41607 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
41608 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
41609 * util/console.c: New file.
41610
41611 * util/i386/pc/getroot.c: New file.
41612 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
41613 (pupa_putchar): New function.
41614 (pupa_refresh): Likewise.
41615 (xgetcwd): Function moved to ...
41616 (strip_extra_slashes): Likewise.
41617 (get_prefix): Likewise.
41618 * util/i386/pc/getroot.c: ... here.
41619 (find_root_device): Function moved and renamed to...
41620 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
41621 Changed all callers.
41622 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
41623 and renamed to...
41624 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
41625 Changed all callers.
41626 * util/misc.c (pupa_memalign): New function.
41627 (pupa_mm_init_region): Likewise.
41628 (pupa_register_exported_symbols): Likewise.
41629 (pupa_putchar): Function removed.
41630 * util/pupa-emu.c: New file.
41631
41632 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
41633
41634 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
41635 (_multiboot_mod_SOURCES): New variable.
41636 (_multiboot_mod_CFLAGS): Likewise.
41637 * loader/i386/pc/multiboot.c: New file.
41638 * include/pupa/i386/pc/multiboot.h: Likewise.
41639 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
41640 (pupa_multiboot_real_boot): New function.
41641 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
41642 (pupa_multiboot_real_boot): New prototype.
41643 (pupa_rescue_cmd_multiboot): Likewise
41644 (pupa_rescue_cmd_module): Likewise.
41645
41646 * kern/loader.c (pupa_loader_set): Continue when
41647 pupa_loader_unload_func() fails.
41648 (pupa_loader_unset): New function.
41649 * include/pupa/loader.h (pupa_loader_unset): New prototype.
41650
41651 * kern/misc.c (pupa_stpcpy): New function.
41652 * include/pupa/misc.h (pupa_stpcpy): New prototype.
41653
41654 2003-11-12 Marco Gerards <metgerards@student.han.nl>
41655
41656 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
41657 for available extensions.
41658
41659 * include/pupa/i386/pc/time.h: New file.
41660 * kern/disk.c: Include <pupa/machine/time.h>.
41661 (PUPA_CACHE_TIMEOUT): New macro.
41662 (pupa_last_time): New variable.
41663 (pupa_disk_open): Flush the cache when there was a timeout.
41664 (pupa_disk_close): Reset the timer.
41665 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
41666 pupa_currticks.
41667 * util/misc.c: Include <sys/times.h>
41668 (pupa_get_rtc): New function.
41669
41670 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
41671
41672 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
41673 as blocks.
41674 (pupa_ext2_get_file_block): Use blocks member.
41675
41676 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
41677 first block. Return -1 instead of pupa_errno on error.
41678
41679 2003-10-27 Marco Gerards <metgerards@student.han.nl>
41680
41681 * README: In the pupa-mkimage example use _chain instead of chain
41682 and ext2 instead of fat.
41683 * TODO: Replace ext2fs with jfs as an example. Add an item for
41684 adding journal playback for ext2fs.
41685 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
41686 (pkgdata_MODULES): Added ext2.mod.
41687 (ext2_mod_SOURCES): New variable.
41688 (ext2_mod_CFLAGS): Likewise.
41689 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
41690 * include/pupa/misc.h (pupa_strncpy): New prototype.
41691 (pupa_strcat): Likewise.
41692 (pupa_strncmp): Likewise.
41693 * kern/misc.c (pupa_strcat): Enable function.
41694 (pupa_strncpy): New function.
41695 (pupa_strncmp): Likewise.
41696 * fs/ext2.c: New file.
41697
41698 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
41699 when the read failed before retrying.
41700 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
41701 (_FILE_OFFSET_BITS): Likewise.
41702 * configure.ac: Added AC_SYS_LARGEFILE.
41703
41704 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41705
41706 * genmk.rb (PModule#rule): Make sure to get only symbol names
41707 from the output of nm.
41708 Reported by Robert Millan <rmh.grub@aybabtu.com>.
41709
41710 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
41711
41712 I forgot to check in these changes for a long time. This adds
41713 incomplete support for VGA console, and this is still very
41714 buggy. Also, a lot of consideration is required for I18N,
41715 UNICODE, and VGA font issues. Therefore, assume that this is
41716 such that "better than nothing".
41717
41718 * font/manager.c: New file.
41719 * include/pupa/font.h: Likewise.
41720 * include/pupa/i386/pc/vga.h: Likewise.
41721 * term/i386/pc/vga.c: Likewise.
41722 * util/unifont2pff.rb: Likewise.
41723
41724 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
41725 (pkgdata_MODULES): Added vga.mod and font.mod.
41726 (vga_mod_SOURCES): New variables.
41727 (vga_mod_CFLAGS): Likewise.
41728 (font_mod_SOURCES): Likewise.
41729 (font_mod_CFLAGS): Likewise.
41730
41731 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
41732
41733 * include/pupa/term.h: Include pupa/err.h.
41734 (struct pupa_term): Added init and fini.
41735 Changed the argument of putchar to pupa_uint32_t.
41736
41737 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
41738 (pupa_console_real_putchar): New prototype.
41739 (pupa_console_putchar): Removed.
41740 (pupa_console_checkkey): Exported.
41741 (pupa_console_getkey): Likewise.
41742
41743 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
41744 characters.
41745
41746 * kern/term.c (pupa_term_set_current): Rewritten.
41747 (pupa_putchar): Likewise.
41748 (pupa_putcode): New function.
41749
41750 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
41751 (pupa_console_real_putchar): ... this.
41752 (pupa_vga_set_mode): New function.
41753 (pupa_vga_get_font): Likewise.
41754
41755 * normal/command.c: Include pupa/term.h.
41756 (terminal_command): New function.
41757 (pupa_command_init): Register the command "terminal".
41758
41759 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
41760 (DISP_UP): Likewise.
41761 (DISP_RIGHT): Likewise.
41762 (DISP_DOWN): Likewise.
41763 (DISP_HLINE): Likewise.
41764 (DISP_VLINE): Likewise.
41765 (DISP_UL): Likewise.
41766 (DISP_UR): Likewise.
41767 (DISP_LL): Likewise.
41768 (DISP_LR): Likewise.
41769
41770 * term/i386/pc/console.c (pupa_console_putchar): New function.
41771
41772 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
41773
41774 * util/resolve.c (pupa_util_resolve_dependencies): BUG
41775 FIX. Reverse the path_list.
41776
41777 * include/pupa/normal.h: Export pupa_register_command and
41778 pupa_unregister_command.
41779
41780 * hello/hello.c (pupa_cmd_hello): New module.
41781 * conf/i386-pc.rmk: Added hello.mod.
41782
41783 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
41784
41785 * kern/i386/pc/lzo1x.S: New file.
41786
41787 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
41788 (compress_kernel): New variable.
41789 (generate_image): Heavily modified to support compressing a
41790 large part of the core image.
41791
41792 * util/misc.c (pupa_util_read_image): Fix a file descriptor
41793 leak.
41794 (pupa_util_load_image): New function.
41795
41796 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
41797 (pupa_compressed_size): New variable.
41798 (codestart): Enable Gate A20 here.
41799 Decompress the compressed part of the core image.
41800 Rearrange the code to put functions and variables which are
41801 required for initialization in the non-compressed part.
41802 Include lzo1x.S.
41803
41804 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
41805 here.
41806
41807 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
41808
41809 * include/pupa/i386/pc/kernel.h
41810 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
41811 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
41812 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
41813 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
41814 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
41815
41816 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
41817
41818 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
41819 (Utility#rule): Likewise.
41820
41821 * configure.ac: Check if LZO is available.
41822
41823 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
41824
41825 * include/pupa/normal.h: New file.
41826 * include/pupa/setjmp.h: Likewise.
41827 * include/pupa/i386/setjmp.h: Likewise.
41828 * normal/cmdline.c: Likewise.
41829 * normal/command.c: Likewise.
41830 * normal/main.c: Likewise.
41831 * normal/menu.c: Likewise.
41832 * normal/i386/setjmp.S: Likewise.
41833
41834 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
41835 (pupa_rescue_cmd_initrd): Likewise.
41836
41837 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
41838 Likewise.
41839
41840 * kern/i386/pc/startup.S (translation_table): New variable.
41841 (translate_keycode): New function.
41842 (pupa_console_getkey): Call translate_keycode.
41843
41844 * kern/rescue.c (attempt_normal_mode): New function.
41845 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
41846 it failed, print a message.
41847
41848 * kern/mm.c (pupa_real_malloc): Print more information when a
41849 free magic is broken.
41850 (pupa_free): If the first free header is not free actually, set
41851 it to P.
41852
41853 * kern/main.c (pupa_load_normal_mode): Just load the module
41854 "normal".
41855 (pupa_main): Don't print the message
41856 "Entering into rescue mode..." here.
41857
41858 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
41859 Declared.
41860 (pupa_rescue_cmd_initrd): Likewise.
41861 (pupa_rescue_cmd_initrd): Likewise.
41862
41863 * include/pupa/symbol.h (FUNCTION): Specify the type.
41864 (VARIABLE): Likewise.
41865
41866 * include/pupa/err.h (pupa_err_t): Added
41867 PUPA_ERR_UNKNOWN_COMMAND.
41868
41869 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
41870 (pupa_dl_get_prefix): Likewise.
41871
41872 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
41873 Added _chain.mod and _linux.mod instead of chain.mod and
41874 linux.mod.
41875 (chain_mod_SOURCES): Renamed to ...
41876 (_chain_mod_SOURCES): ... this.
41877 (chain_mod_CFLAGS): Renamed to ...
41878 (_chain_mod_CFLAGS): ... this.
41879 (linux_mod_SOURCES): Renamed to ...
41880 (_linux_mod_SOURCES): ... this.
41881 (linux_mod_CFLAGS): Renamed to ...
41882 (_linux_mod_CFLAGS): ... this.
41883 (normal_mod_SOURCES): New variable.
41884 (normal_mod_CFLAGS): Likewise.
41885 (normal_mod_ASFLAGS): Likewise.
41886
41887 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
41888
41889 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
41890 possible.
41891
41892 * kern/dl.c (pupa_dl_ref): Refer depending modules
41893 recursively.
41894 (pupa_dl_unref): Unrefer depending modules recursively.
41895 Don't call pupa_dl_unload implicitly, because PUPA can crash if
41896 a module is unloaded before one depending on that module is
41897 unloaded.
41898 (pupa_dl_unload): Unload depending modules explicitly,
41899 if possible.
41900
41901 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
41902
41903 * include/pupa/i386/pc/linux.h: New file.
41904 * loader/i386/pc/linux.c: Likewise.
41905
41906 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
41907 Removed.
41908 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
41909 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
41910 of PUPA_CHAINLOADER_BOOT_SECTOR.
41911
41912 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
41913 (pupa_linux_prot_size): New variable.
41914 (pupa_linux_tmp_addr): Likewise.
41915 (pupa_linux_real_addr): Likewise.
41916 (pupa_linux_boot_zimage): New function.
41917 (pupa_linux_boot_bzimage): Likewise.
41918
41919 * kern/i386/pc/init.c (struct mem_region): New structure.
41920 (MAX_REGIONS): New macro.
41921 (mem_regions): New variable.
41922 (num_regions): Likewise.
41923 (pupa_os_area_addr): Likewise.
41924 (pupa_os_area_size): Likewise.
41925 (pupa_lower_mem): Likewise.
41926 (pupa_upper_mem): Likewise.
41927 (add_mem_region): New function.
41928 (compact_mem_regions): Likewise.
41929 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
41930 the size of the conventional memory and that of so-called upper
41931 memory (before the first memory hole).
41932 Instead of adding each found region to free memory, use
41933 add_mem_region and add them after removing overlaps.
41934 Also, add only 1/4 of the upper memory to free memory. The rest
41935 is used for loading OS images. Maybe this is ad hoc, but this
41936 makes it much easier to relocate OS images when booting.
41937
41938 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
41939 (pupa_enter_rescue_mode): Don't register initrd and module.
41940
41941 * kern/mm.c: Include pupa/dl.h.
41942
41943 * kern/main.c: Include pupa/file.h and pupa/device.h.
41944
41945 * kern/loader.c (pupa_loader_load_module_func): Removed.
41946 (pupa_loader_load_module): Likewise.
41947
41948 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
41949 ``.o''.
41950
41951 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
41952 (pupa_linux_tmp_addr): Likewise.
41953 (pupa_linux_real_addr): Likewise.
41954 (pupa_linux_boot_zimage): Likewise.
41955 (pupa_linux_boot_bzimage): Likewise.
41956
41957 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
41958 (pupa_upper_mem): Likewise.
41959 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
41960 module is too dangerous.
41961
41962 * include/pupa/loader.h (pupa_os_area_addr): Declared.
41963 (pupa_os_area_size): Likewise.
41964 (pupa_loader_set): Remove the first argument. Loader doesn't
41965 manage modules or initrd any longer.
41966 (pupa_loader_load_module): Removed.
41967
41968 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
41969 (linux_mod_SOURCES): New variable.
41970 (linux_mod_CFLAGS): Likewise.
41971
41972 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
41973
41974 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
41975 the length of a blocklist correctly.
41976
41977 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
41978 Use ioctl only if the OS file is a block device.
41979 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
41980 not very useful for normal files.
41981
41982 * kern/main.c (pupa_set_root_dev): New function.
41983 (pupa_load_normal_mode): Likewise.
41984 (pupa_main): Call those above.
41985
41986 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
41987 pupa_uint16_t.
41988
41989 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
41990
41991 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
41992
41993 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
41994 (setup): Configure the installed partition information and the
41995 dl prefix.
41996
41997 * loader/i386/pc/chainloader.c (my_mod): New variable.
41998 (pupa_chainloader_unload): New function.
41999 (pupa_rescue_cmd_chainloader): Refer itself.
42000 (PUPA_MOD_INIT): Save its own module in MY_MOD.
42001
42002 * kern/i386/pc/startup.S (install_partition): Removed.
42003 (version_string): Likewise.
42004 (config_file): Likewise.
42005 (pupa_install_dos_part): New variable.
42006 (pupa_install_bsd_part): Likewise.
42007 (pupa_prefix): Likewise.
42008 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
42009
42010 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
42011 and pupa/misc.h.
42012 (make_install_device): New function.
42013 (pupa_machine_init): Set the dl prefix.
42014
42015 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
42016 (buf): Renamed to ...
42017 (linebuf): ... this.
42018 (pupa_rescue_cmd_prefix): New function.
42019 (pupa_rescue_cmd_insmod): Likewise.
42020 (pupa_rescue_cmd_rmmod): Likewise.
42021 (pupa_rescue_cmd_lsmod): Likewise.
42022 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
42023 rmmod and lsmod.
42024
42025 * kern/mm.c (pupa_memalign): If failed even after invalidating
42026 disk caches, unload unneeded modules and retry.
42027
42028 * kern/misc.c (pupa_memmove): New function.
42029 (pupa_memcpy): Removed.
42030 (pupa_strcpy): New function.
42031 (pupa_itoa): Made static.
42032
42033 * kern/dl.c (pupa_dl_iterate): New function.
42034 (pupa_dl_ref): Likewise.
42035 (pupa_dl_unref): Likewise.
42036 (pupa_dl_unload): Return if succeeded or not.
42037 (pupa_dl_unload_unneeded): New function.
42038 (pupa_dl_unload_all): Likewise.
42039 (pupa_dl_init): Renamed to ...
42040 (pupa_dl_set_prefix): ... this.
42041 (pupa_dl_get_prefix): New function.
42042
42043 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
42044 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
42045 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
42046 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
42047 (pupa_install_dos_part): Declared.
42048 (pupa_install_bsd_part): Likewise.
42049 (pupa_prefix): Likewise.
42050 (pupa_boot_drive): Likewise.
42051
42052 * include/pupa/types.h: Fix a typo.
42053
42054 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
42055 pupa_memmove.
42056 (pupa_memmove): Declared.
42057 (pupa_strcpy): Likewise.
42058
42059 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
42060 pupa_mod_init takes one argument, its own module.
42061 (pupa_dl_unload_unneeded): Declared.
42062 (pupa_dl_unload_all): Likewise.
42063 (pupa_dl_ref): Likewise.
42064 (pupa_dl_unref): Likewise.
42065 (pupa_dl_iterate): Likewise.
42066 (pupa_dl_init): Renamed to ...
42067 (pupa_dl_set_prefix): ... this.
42068 (pupa_dl_get_prefix): Declared.
42069
42070 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
42071 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
42072 unloaded.
42073 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
42074 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
42075
42076 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
42077 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
42078
42079 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42080
42081 * util/i386/pc/pupa-setup.c (setup): Define the internal
42082 function find_first_partition_start at the top level, because GCC
42083 3.0.x cannot compile internal functions in deeper scopes
42084 correctly.
42085 (find_root_device): Use lstat instead of stat.
42086 Don't follow symbolic links.
42087 Fix the path-constructing code.
42088
42089 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
42090 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
42091 by a BLKGETSIZE ioctl first, because block devices don't fill
42092 the member st_mode of the structure stat on Linux.
42093 [__linux__] (linux_find_partition): Use a temporary buffer
42094 REAL_DEV for the working space. Copy it to DEV before returning.
42095 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
42096 buffer cache consistent.
42097 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
42098 strncmp. The previous value was merely wrong.
42099 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
42100
42101 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
42102 FAT size is 12. The previous value was merely wrong.
42103
42104 * kern/main.c (pupa_main): Don't split the starting message from
42105 newlines.
42106
42107 * kern/term.c (pupa_putchar): Put CR after LF instead of before
42108 LF, because BIOS goes crazy about character attributes in this
42109 case.
42110
42111 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
42112
42113 * include/i386/pc/util/biosdisk.h: New file.
42114 * util/i386/pc/biosdisk.c: Likewise.
42115 * util/i386/pc/pupa-setup.c: Likewise.
42116
42117 * Makefile.in (INCLUDE_DISTFILES): Added
42118 include/pupa/i386/pc/util/biosdisk.h.
42119 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
42120 directory util/i386/pc.
42121 (install-local): Added a rule for sbin_UTILITIES.
42122 (uninstall): Likewise.
42123
42124 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
42125
42126 * util/misc.c (xrealloc): New function.
42127 (pupa_malloc): Likewise.
42128 (pupa_free): Likewise.
42129 (pupa_realloc): Likewise.
42130 (pupa_stop): Likewise.
42131 (pupa_putchar): Likewise.
42132
42133 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
42134
42135 * include/pupa/util/misc.h (xrealloc): Declared.
42136
42137 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
42138 macro.
42139 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
42140 (PUPA_BOOT_MACHINE_BPB_END): ... this.
42141
42142 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
42143 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42144
42145 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
42146 way should be implemented.
42147 [PUPA_UTIL] (pupa_fat_fini): Likewise.
42148
42149 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
42150 the size of NAME for safety.
42151 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
42152 0x88.
42153
42154 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
42155 (pupa_setup_SOURCES): Likewise.
42156
42157 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
42158
42159 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42160
42161 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
42162 bunch of pushl's from pusha, because this destroys the return
42163 value.
42164
42165 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
42166
42167 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
42168 This means that any missing prototypes could be fatal. Also, you
42169 must take care when writing assembly code. See the comments at
42170 the beginning of startup.S, for more details.
42171
42172 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
42173 compilation mechanism.
42174 (pupa_chainloader_real_boot): Likewise.
42175 (pupa_biosdisk_rw_int13_extensions): Likewise.
42176 (pupa_biosdisk_rw_standard): Likewise.
42177 (pupa_biosdisk_check_int13_extensions): Likewise.
42178 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
42179 (pupa_biosdisk_get_diskinfo_standard): Likewise.
42180 (pupa_get_memsize): Likewise.
42181 (pupa_get_mmap_entry): Likewise.
42182 (pupa_console_putchar): Likewise.
42183 (pupa_console_setcursor): Likewise.
42184 (pupa_getrtsecs): Use pushl instead of push.
42185
42186 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
42187 memory instead of the stack for a mmap entry, because some
42188 BIOSes may ignore the maximum size and overflow.
42189
42190 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
42191
42192 * genmk.rb (PModule#rule): Compile automatically generated
42193 sources with module-specific CFLAGS as well as other sources.
42194
42195 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42196
42197 * configure.ac: Check ld.
42198 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
42199 respectively, before checking endianness and sizes.
42200
42201 * Makefile.in (LD): New variable.
42202
42203 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42204
42205 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
42206
42207 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
42208
42209 * Changelog: New file.
42210